@homeflare/alchemy 0.19.1 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -0
- package/dist/caddy/access-forward-auth.d.ts +56 -0
- package/dist/caddy/access-forward-auth.d.ts.map +1 -0
- package/dist/caddy/index.d.ts +6 -0
- package/dist/caddy/index.d.ts.map +1 -1
- package/dist/caddy/index.js +169 -75
- package/dist/caddy/index.js.map +10 -7
- package/dist/cloudflare/mcp-server-api.d.ts +135 -0
- package/dist/cloudflare/mcp-server-api.d.ts.map +1 -0
- package/dist/cloudflare/mcp-server-form.d.ts +116 -0
- package/dist/cloudflare/mcp-server-form.d.ts.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/launchd/file-converge.d.ts +70 -0
- package/dist/launchd/file-converge.d.ts.map +1 -0
- package/dist/launchd/file-identity.d.ts +32 -0
- package/dist/launchd/file-identity.d.ts.map +1 -0
- package/dist/launchd/host-file-form.d.ts +2 -0
- package/dist/launchd/host-file-form.d.ts.map +1 -1
- package/dist/launchd/host-file-lifecycle.d.ts +11 -24
- package/dist/launchd/host-file-lifecycle.d.ts.map +1 -1
- package/dist/launchd/host-file.d.ts.map +1 -1
- package/dist/launchd/index.js +173 -120
- package/dist/launchd/index.js.map +12 -10
- package/dist/launchd/local-runner.d.ts.map +1 -1
- package/dist/launchd/runner.d.ts +17 -2
- package/dist/launchd/runner.d.ts.map +1 -1
- package/dist/launchd/sudo-runner.d.ts +11 -0
- package/dist/launchd/sudo-runner.d.ts.map +1 -1
- package/dist/linux/index.js +37 -11
- package/dist/linux/index.js.map +10 -10
- package/dist/linux/region.d.ts +11 -0
- package/dist/linux/region.d.ts.map +1 -1
- package/dist/linux/remote-file-lifecycle.d.ts.map +1 -1
- package/dist/linux/remote-file-plan.d.ts +22 -0
- package/dist/linux/remote-file-plan.d.ts.map +1 -1
- package/dist/linux/remote-file.d.ts +4 -1
- package/dist/linux/remote-file.d.ts.map +1 -1
- package/dist/linux/sudo-listing.d.ts +47 -0
- package/dist/linux/sudo-listing.d.ts.map +1 -0
- package/dist/linux/unit-handlers.d.ts.map +1 -1
- package/dist/linux/unit-preflight.d.ts +10 -1
- package/dist/linux/unit-preflight.d.ts.map +1 -1
- package/dist/proxmox/credential-literals.d.ts +1 -1
- package/dist/proxmox/credential-literals.d.ts.map +1 -1
- package/dist/proxmox/generated/pbs/nodes-node.d.ts +1 -1
- package/dist/proxmox/generated/pbs/nodes-node.d.ts.map +1 -1
- package/dist/proxmox/generated/pbs.d.ts +7 -0
- package/dist/proxmox/generated/pbs.d.ts.map +1 -1
- package/dist/proxmox/generated/pve.d.ts +7 -0
- package/dist/proxmox/generated/pve.d.ts.map +1 -1
- package/dist/proxmox/index.d.ts +16 -4
- package/dist/proxmox/index.d.ts.map +1 -1
- package/dist/proxmox/index.js +5 -2
- package/dist/proxmox/index.js.map +9 -9
- package/dist/proxmox/pbs-notification-target-form.d.ts +1 -1
- package/dist/proxmox/pbs-notification-target-form.d.ts.map +1 -1
- package/dist/proxmox/pbs-notification-target.d.ts +1 -1
- package/dist/proxmox/pbs-notification-target.d.ts.map +1 -1
- package/dist/release/archive.d.ts +11 -0
- package/dist/release/archive.d.ts.map +1 -0
- package/dist/release/binary-claim.d.ts +53 -0
- package/dist/release/binary-claim.d.ts.map +1 -0
- package/dist/release/binary-diff.d.ts +38 -0
- package/dist/release/binary-diff.d.ts.map +1 -0
- package/dist/release/binary-form.d.ts +118 -0
- package/dist/release/binary-form.d.ts.map +1 -0
- package/dist/release/binary-lifecycle.d.ts +55 -0
- package/dist/release/binary-lifecycle.d.ts.map +1 -0
- package/dist/release/binary-read.d.ts +11 -0
- package/dist/release/binary-read.d.ts.map +1 -0
- package/dist/release/binary.d.ts +68 -0
- package/dist/release/binary.d.ts.map +1 -0
- package/dist/release/catalog.d.ts +76 -0
- package/dist/release/catalog.d.ts.map +1 -0
- package/dist/release/checksums.d.ts +22 -0
- package/dist/release/checksums.d.ts.map +1 -0
- package/dist/release/declared-pins.d.ts +4 -0
- package/dist/release/declared-pins.d.ts.map +1 -0
- package/dist/release/download.d.ts +44 -0
- package/dist/release/download.d.ts.map +1 -0
- package/dist/release/fake-deploy.d.ts +48 -0
- package/dist/release/fake-deploy.d.ts.map +1 -0
- package/dist/release/fake-engine.d.ts +8 -0
- package/dist/release/fake-engine.d.ts.map +1 -0
- package/dist/release/fake-install.d.ts +39 -0
- package/dist/release/fake-install.d.ts.map +1 -0
- package/dist/release/fake-provider.d.ts +58 -0
- package/dist/release/fake-provider.d.ts.map +1 -0
- package/dist/release/fake-release.d.ts +95 -0
- package/dist/release/fake-release.d.ts.map +1 -0
- package/dist/release/index.d.ts +24 -0
- package/dist/release/index.d.ts.map +1 -0
- package/dist/release/index.js +1365 -0
- package/dist/release/index.js.map +35 -0
- package/dist/release/providers.d.ts +19 -0
- package/dist/release/providers.d.ts.map +1 -0
- package/dist/release/refused.d.ts +39 -0
- package/dist/release/refused.d.ts.map +1 -0
- package/dist/release/tar.d.ts +14 -0
- package/dist/release/tar.d.ts.map +1 -0
- package/dist/release/victoria.d.ts +36 -0
- package/dist/release/victoria.d.ts.map +1 -0
- package/dist/{proxmox → secrets}/write-only.d.ts.map +1 -1
- package/docs/adopted-deploys.md +13 -0
- package/docs/linux-host.md +5 -1
- package/docs/provider-standard.md +138 -0
- package/docs/release-binary-catalogs.md +113 -0
- package/docs/release-binary-measured.md +163 -0
- package/docs/release-binary-refusals.md +57 -0
- package/docs/release-binary-upstream.md +163 -0
- package/docs/release-binary.md +154 -0
- package/docs/upstream-conformance.md +164 -0
- package/package.json +5 -1
- package/src/caddy/access-forward-auth.test.ts +63 -0
- package/src/caddy/access-forward-auth.ts +120 -0
- package/src/caddy/index.ts +10 -0
- package/src/caddy/providers.test.ts +4 -0
- package/src/cloudflare/mcp-server-api.ts +294 -0
- package/src/cloudflare/mcp-server-form.ts +219 -0
- package/src/index.ts +1 -0
- package/src/launchd/file-converge.ts +233 -0
- package/src/launchd/file-identity.ts +69 -0
- package/src/launchd/host-file-alias.test.ts +65 -0
- package/src/launchd/host-file-form.ts +2 -1
- package/src/launchd/host-file-lifecycle.ts +25 -144
- package/src/launchd/host-file.ts +8 -2
- package/src/launchd/local-runner.test.ts +12 -1
- package/src/launchd/local-runner.ts +2 -0
- package/src/launchd/runner.ts +17 -2
- package/src/launchd/sudo-runner.ts +11 -0
- package/src/linux/region.ts +15 -0
- package/src/linux/remote-file-lifecycle.test.ts +0 -88
- package/src/linux/remote-file-lifecycle.ts +25 -7
- package/src/linux/remote-file-plan.ts +37 -1
- package/src/linux/remote-file-region.test.ts +181 -0
- package/src/linux/remote-file.ts +4 -1
- package/src/linux/sudo-listing.ts +122 -0
- package/src/linux/unit-handlers.ts +12 -5
- package/src/linux/unit-preflight.ts +20 -4
- package/src/linux/unit-rename.test.ts +76 -0
- package/src/proxmox/ceph-adopt.test.ts +210 -0
- package/src/proxmox/credential-literals.ts +1 -1
- package/src/proxmox/generated/pbs/nodes-node.ts +1 -1
- package/src/proxmox/generated/pbs.ts +7 -0
- package/src/proxmox/generated/pve.ts +7 -0
- package/src/proxmox/index.test.ts +7 -4
- package/src/proxmox/index.ts +16 -4
- package/src/proxmox/pbs-notification-target-form.ts +1 -1
- package/src/proxmox/pbs-notification-target-lifecycle.ts +1 -1
- package/src/proxmox/pbs-notification-target-wire.ts +1 -1
- package/src/proxmox/pbs-notification-target.ts +1 -1
- package/src/release/adopt-parity.test.ts +106 -0
- package/src/release/apply-pins.test.ts +128 -0
- package/src/release/archive.ts +94 -0
- package/src/release/binary-alias.test.ts +109 -0
- package/src/release/binary-claim.ts +80 -0
- package/src/release/binary-claims.test.ts +47 -0
- package/src/release/binary-diff.ts +73 -0
- package/src/release/binary-form.ts +229 -0
- package/src/release/binary-lifecycle.test.ts +90 -0
- package/src/release/binary-lifecycle.ts +202 -0
- package/src/release/binary-read.ts +55 -0
- package/src/release/binary-refusals.test.ts +192 -0
- package/src/release/binary-sudo.test.ts +93 -0
- package/src/release/binary.ts +181 -0
- package/src/release/catalog.test.ts +96 -0
- package/src/release/catalog.ts +175 -0
- package/src/release/checksums.test.ts +35 -0
- package/src/release/checksums.ts +43 -0
- package/src/release/declared-pins.ts +39 -0
- package/src/release/download.test.ts +138 -0
- package/src/release/download.ts +110 -0
- package/src/release/error-channel.test.ts +69 -0
- package/src/release/fake-deploy.ts +87 -0
- package/src/release/fake-engine.ts +50 -0
- package/src/release/fake-install.ts +59 -0
- package/src/release/fake-provider.ts +68 -0
- package/src/release/fake-release.ts +185 -0
- package/src/release/fixtures/victoria/darwin-arm64-assets.txt +22 -0
- package/src/release/fixtures/victoria/victoria-logs-darwin-arm64-v1.52.0_checksums.txt +2 -0
- package/src/release/fixtures/victoria/victoria-metrics-darwin-arm64-v1.151.0_checksums.txt +2 -0
- package/src/release/fixtures/victoria/victoria-traces-darwin-arm64-v0.10.0_checksums.txt +2 -0
- package/src/release/fixtures/victoria/vmutils-darwin-arm64-v1.151.0_checksums.txt +8 -0
- package/src/release/index.ts +41 -0
- package/src/release/plan.test.ts +189 -0
- package/src/release/provider-refusals.test.ts +48 -0
- package/src/release/providers.test.ts +174 -0
- package/src/release/providers.ts +24 -0
- package/src/release/recovery-read.test.ts +44 -0
- package/src/release/refused.ts +40 -0
- package/src/release/tar.test.ts +142 -0
- package/src/release/tar.ts +195 -0
- package/src/release/victoria.test.ts +108 -0
- package/src/release/victoria.ts +154 -0
- package/src/{proxmox → secrets}/write-only.ts +6 -0
- /package/dist/{proxmox → secrets}/write-only.d.ts +0 -0
- /package/src/{proxmox → secrets}/write-only.test.ts +0 -0
package/dist/linux/region.d.ts
CHANGED
|
@@ -23,6 +23,17 @@ export type RegionSpec = {
|
|
|
23
23
|
readonly comment?: string;
|
|
24
24
|
};
|
|
25
25
|
export declare const DEFAULT_COMMENT = "#";
|
|
26
|
+
/**
|
|
27
|
+
* Whether two declarations name the SAME block.
|
|
28
|
+
*
|
|
29
|
+
* ⛔ THE COMMENT TOKEN IS PART OF THE IDENTITY, not a formatting preference. The markers are
|
|
30
|
+
* matched as literal whole lines, so `# BEGIN pf` and `// BEGIN pf` are two different blocks:
|
|
31
|
+
* changing the token leaves the old block invisible to every later read, exactly as renaming
|
|
32
|
+
* does. A resource that treated either as a mere content change would splice a second block in
|
|
33
|
+
* and never be able to find the first one again.
|
|
34
|
+
* ★ Whole-file mode is its own identity: `undefined` equals only `undefined`.
|
|
35
|
+
*/
|
|
36
|
+
export declare const sameRegion: (a: RegionSpec | undefined, b: RegionSpec | undefined) => boolean;
|
|
26
37
|
export declare const regionProblems: (spec: RegionSpec) => string[];
|
|
27
38
|
/**
|
|
28
39
|
* The file's bytes with the block set to `body`, appended at the end when it is not there yet.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"region.d.ts","sourceRoot":"","sources":["../../src/linux/region.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,UAAU,GAAG;IACvB,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,eAAe,MAAM,CAAC;AAUnC,eAAO,MAAM,cAAc,SAAU,UAAU,KAAG,MAAM,EAYvD,CAAC;AA8BF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,SAAU,MAAM,QAAQ,UAAU,QAAQ,MAAM,KAAG,MAW3E,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,UAAU,SAAU,MAAM,QAAQ,UAAU,KAAG,MAAM,GAAG,SAMpE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,SAAU,MAAM,QAAQ,UAAU,KAAG,MAK7D,CAAC"}
|
|
1
|
+
{"version":3,"file":"region.d.ts","sourceRoot":"","sources":["../../src/linux/region.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,UAAU,GAAG;IACvB,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,eAAe,MAAM,CAAC;AAUnC;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,MAAO,UAAU,GAAG,SAAS,KAAK,UAAU,GAAG,SAAS,KAAG,OAGU,CAAC;AAE7F,eAAO,MAAM,cAAc,SAAU,UAAU,KAAG,MAAM,EAYvD,CAAC;AA8BF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,SAAU,MAAM,QAAQ,UAAU,QAAQ,MAAM,KAAG,MAW3E,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,UAAU,SAAU,MAAM,QAAQ,UAAU,KAAG,MAAM,GAAG,SAMpE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,SAAU,MAAM,QAAQ,UAAU,KAAG,MAK7D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-file-lifecycle.d.ts","sourceRoot":"","sources":["../../src/linux/remote-file-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"remote-file-lifecycle.d.ts","sourceRoot":"","sources":["../../src/linux/remote-file-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAa/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAM,QAAQ,WACX,UAAU,QACZ,eAAe,UACb,oBAAoB,KAC3B,OAAO,CAAC,IAAI,CAgBd,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,WAChB,UAAU,SACX,eAAe,WACb,oBAAoB,sBAE5B,OAAO,CAAC,oBAAoB,CA6E9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,WACb,UAAU,UACV,oBAAoB,KAC3B,OAAO,CAAC,IAAI,CAkBd,CAAC"}
|
|
@@ -11,6 +11,28 @@ export type Identity = {
|
|
|
11
11
|
/** Validate, then resolve owner and group names to ids through the runner. */
|
|
12
12
|
export declare const identity: (runner: HostRunner, props: RemoteFileProps) => Promise<Identity>;
|
|
13
13
|
export declare const digestOf: (text: string) => string;
|
|
14
|
+
/** What this declaration now owns, compared with what the last deploy owned. */
|
|
15
|
+
export type Move = 'none' | 'path' | 'region';
|
|
16
|
+
/**
|
|
17
|
+
* Has the thing this resource owns MOVED since the last deploy — and if so, how?
|
|
18
|
+
*
|
|
19
|
+
* 🔴 WHY THIS EXISTS (found by review, reproduced against the fake host, 2026-09-22). Without it,
|
|
20
|
+
* only `path` was identity and both of these read as a routine `update`:
|
|
21
|
+
* - RENAMING THE REGION left the old block in the file FOREVER. The new markers were spliced in,
|
|
22
|
+
* the old ones were never touched, and `delete` — which can only look for the name in state,
|
|
23
|
+
* now the new one — could never remove them. Two `anchor` lines in a packet filter, two
|
|
24
|
+
* entries in a host table, and nothing in the stack able to take either back.
|
|
25
|
+
* - DROPPING `region` TOOK OVER THE WHOLE FILE. The plan said `update`; the apply replaced every
|
|
26
|
+
* byte of a file belonging to a vendor package with this resource's four lines. That is the
|
|
27
|
+
* one thing the managed-region design exists to make impossible.
|
|
28
|
+
* ⛔ A FLIP BETWEEN THE TWO MODES IS A REFUSAL, NOT A MOVE. Neither order is safe: writing the
|
|
29
|
+
* whole file first destroys the other owner's bytes before anything can be undone, and removing
|
|
30
|
+
* the block first destroys our own claim and then refuses. The operator destroys the resource
|
|
31
|
+
* and declares a new one, which is the only sequence with a reviewable diff at each step.
|
|
32
|
+
* ★ A region-to-region rename IS safe as a move, because both blocks can exist at once: write the
|
|
33
|
+
* new one, verify it, then take the old one out (remote-file-lifecycle.ts reconcileFile).
|
|
34
|
+
*/
|
|
35
|
+
export declare const relocation: (props: RemoteFileProps, output: RemoteFileAttributes) => Move;
|
|
14
36
|
/** The digest of the part this resource owns, or `undefined` when that part is not there. */
|
|
15
37
|
export declare const ownedDigest: (file: string | undefined, region: RegionSpec | undefined) => string | undefined;
|
|
16
38
|
/** The file as it is now, plus the digest of the part this resource owns. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-file-plan.d.ts","sourceRoot":"","sources":["../../src/linux/remote-file-plan.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAY,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"remote-file-plan.d.ts","sourceRoot":"","sources":["../../src/linux/remote-file-plan.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAY,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,KAAK,UAAU,EAAwC,MAAM,aAAa,CAAC;AACpF,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,eAAe,EAErB,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,OAAO,aAAoB,CAAC;AACzC,eAAO,MAAM,OAAO,aAAoB,CAAC;AAEzC,eAAO,MAAM,MAAM,SAAU,MAAM,WAAW,MAAM,KAAG,KACT,CAAC;AAK/C,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAExE,8EAA8E;AAC9E,eAAO,MAAM,QAAQ,WAAkB,UAAU,SAAS,eAAe,KAAG,OAAO,CAAC,QAAQ,CAc3F,CAAC;AAEF,eAAO,MAAM,QAAQ,SAAU,MAAM,KAAG,MAAyC,CAAC;AAElF,gFAAgF;AAChF,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE9C;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,UAAU,UAAW,eAAe,UAAU,oBAAoB,KAAG,IAYjF,CAAC;AAEF,6FAA6F;AAC7F,eAAO,MAAM,WAAW,SAChB,MAAM,GAAG,SAAS,UAChB,UAAU,GAAG,SAAS,KAC7B,MAAM,GAAG,SAKX,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB,WACrB,UAAU,QACZ,MAAM,UACJ,UAAU,GAAG,SAAS,KAC7B,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAe1C,CAAC;AAQF,MAAM,MAAM,IAAI,GAAG;IACjB,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,gGAAgG;IAChG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,WACZ,UAAU,SACX,eAAe,QAChB,QAAQ,KACb,OAAO,CAAC,IAAI,CA+Cd,CAAC"}
|
|
@@ -6,10 +6,13 @@
|
|
|
6
6
|
* the host already says what we declare; then read back and compared.
|
|
7
7
|
* - read — lstat plus the SHA-256 of the file and of the part this resource owns.
|
|
8
8
|
* - diff — the declared digest against the stored AND the on-disk one, plus mode and owner.
|
|
9
|
-
* - replace — only when `path` changes; create-before-delete.
|
|
9
|
+
* - replace — only when `path` changes; create-before-delete. A region renamed inside one file
|
|
10
|
+
* is an update that writes the new block, verifies it, then takes the old one out.
|
|
10
11
|
* - delete — removes the file, or in region mode only the block.
|
|
11
12
|
*
|
|
12
13
|
* ⛔ NEVER A SECRET — see remote-file-form.ts.
|
|
14
|
+
* ⛔ THE REGION IS PART OF THE IDENTITY. Renaming it, or changing its comment token, moves the block;
|
|
15
|
+
* swapping between owning the whole file and owning a block is refused (remote-file-plan.ts).
|
|
13
16
|
* ⚠️ NOTHING IS ADOPTED WITHOUT `--adopt` (docs/ownership.md): a file already at the path, or a
|
|
14
17
|
* block already carrying the markers, reads as `Unowned`.
|
|
15
18
|
* ★ IT IS A SEPARATE RESOURCE FROM `Host.File`, not a flag on it: the two have different attributes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-file.d.ts","sourceRoot":"","sources":["../../src/linux/remote-file.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"remote-file.d.ts","sourceRoot":"","sources":["../../src/linux/remote-file.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAQnF,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAEnF,MAAM,WAAW,UAAW,SAAQ,QAAQ,CAC1C,aAAa,EACb,eAAe,EACf,oBAAoB,CACrB;CAAG;AAEJ,eAAO,MAAM,UAAU,6CAAsC,CAAC;AAE9D,eAAO,MAAM,kBAAkB,6FA0C5B,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ONE READ OF `ls -ldn --` FOR A WHOLE LIST OF PATHS, parsed into the same FileStat the seam uses
|
|
3
|
+
* plus the one thing `stat` cannot say on Linux: whether the path carries a POSIX ACL.
|
|
4
|
+
*
|
|
5
|
+
* ★ WHY `ls` AND NOT `stat`, AND WHY ONE CALL. The Mac guard lstats every directory from `/` down
|
|
6
|
+
* with a local syscall each; over ssh each of those is a TCP connection with no multiplexing
|
|
7
|
+
* (ssh-runner.ts), so a five-deep chain would be five handshakes per check and per plan. `ls -ldn`
|
|
8
|
+
* takes every path as an operand and answers in one connection, and its mode column carries the
|
|
9
|
+
* ACL flag the chain check needs anyway.
|
|
10
|
+
* ★ MEASURED 2026-09-22, read-only over ssh, on two host classes — an unprivileged LXC container
|
|
11
|
+
* and a Proxmox VE node, both Debian 13 / coreutils 9.7, LANG=C, ssh user uid 1001 and 1000:
|
|
12
|
+
* $ ls -ldn / /etc /etc/systemd /etc/systemd/system /usr /usr/lib /usr/lib/systemd …
|
|
13
|
+
* drwxr-xr-x 18 0 0 4096 Sep 22 10:12 /etc (all ten root:root 0755, no flag)
|
|
14
|
+
* $ ls -ld /var/log/journal
|
|
15
|
+
* drwxr-sr-x+ 3 root systemd-journal … (the `+` IS the POSIX ACL flag here)
|
|
16
|
+
* $ ls -lden … → ls: invalid option -- 'e' (the Mac's spelling does not exist)
|
|
17
|
+
* $ command -v getfacl → absent on both Debian classes (present on the NixOS class)
|
|
18
|
+
* ⛔ SO THE ACL SIGNAL IS THE `+` FLAG, NOT `getfacl`: the tool that would enumerate the entries
|
|
19
|
+
* is not installed on the hosts this runner is for, and a guard that shells out to a missing
|
|
20
|
+
* program and fails closed would refuse every write on them. `ls` is coreutils, always there.
|
|
21
|
+
* ⚠️ THE PRICE, STATED: we learn THAT a directory has an ACL, never WHAT it grants, so any ACL on
|
|
22
|
+
* the chain is a refusal — including a read-only one the Mac guard would allow. Fail closed and
|
|
23
|
+
* say so; the remedy is a prefix without one.
|
|
24
|
+
* ⚠️ `.` in that column is an SELinux context, not an ACL, and is not a grant. `@` is macOS's.
|
|
25
|
+
* ⛔ FAIL CLOSED ON ANYTHING WE DO NOT UNDERSTAND. A line that does not parse, a path that no line
|
|
26
|
+
* named, two lines for one path, or a non-zero exit is an error — never "nothing is there".
|
|
27
|
+
*/
|
|
28
|
+
import type { FileStat, HostRunner } from '../launchd/runner.ts';
|
|
29
|
+
/** What one `ls -ldn` line says: the lstat fields, plus whether the path carries an ACL. */
|
|
30
|
+
export type Listed = FileStat & {
|
|
31
|
+
readonly acl: boolean;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* `rwxr-x---` → 0o750, with the three special bits `ls` hides in the execute columns:
|
|
35
|
+
* `s`/`S` = setuid (user) or setgid (group), `t`/`T` = sticky; the capital is the bit without
|
|
36
|
+
* execute. ⚠️ Anything else in a column is a shape we do not know, and returns undefined.
|
|
37
|
+
*/
|
|
38
|
+
export declare const permBits: (perms: string) => number | undefined;
|
|
39
|
+
/** Every requested path's entry, or `undefined` when the listing is not exactly that. */
|
|
40
|
+
export declare const parseListing: (stdout: string, paths: readonly string[]) => Map<string, Listed> | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Read every path in one call, as the deploying user — no sudo, the same read at plan time and
|
|
43
|
+
* before the write. ⛔ Anything but a complete, understood listing is a SudoRefusedError: a chain
|
|
44
|
+
* we could not read is a chain we cannot say is root's alone.
|
|
45
|
+
*/
|
|
46
|
+
export declare const readListing: (base: HostRunner, ls: string, what: string, paths: readonly string[]) => Promise<Map<string, Listed>>;
|
|
47
|
+
//# sourceMappingURL=sudo-listing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sudo-listing.d.ts","sourceRoot":"","sources":["../../src/linux/sudo-listing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGjE,4FAA4F;AAC5F,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC;AAQ1D;;;;GAIG;AACH,eAAO,MAAM,QAAQ,UAAW,MAAM,KAAG,MAAM,GAAG,SAgBjD,CAAC;AAgBF,yFAAyF;AACzF,eAAO,MAAM,YAAY,WACf,MAAM,SACP,SAAS,MAAM,EAAE,KACvB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAmBxB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,SAChB,UAAU,MACZ,MAAM,QACJ,MAAM,SACL,SAAS,MAAM,EAAE,KACvB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAU7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-handlers.d.ts","sourceRoot":"","sources":["../../src/linux/unit-handlers.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"unit-handlers.d.ts","sourceRoot":"","sources":["../../src/linux/unit-handlers.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAI9E,eAAO,MAAM,WAAW,WACd,UAAU,QACZ,gBAAgB,UACd,qBAAqB,GAAG,SAAS,KACxC,MAAM,CAAC,MAAM,CAAC,qBAAqB,GAAG,SAAS,EAAE,KAAK,CAKrD,CAAC;AAEL,eAAO,MAAM,WAAW,WACd,UAAU,cACN,MAAM,QACZ,KAAK,CAAC,gBAAgB,CAAC,UACrB,qBAAqB,GAAG,SAAS,WAChC,MAAM,KACd,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,EAAE,KAAK,CAsBvC,CAAC;AAEF,eAAO,MAAM,gBAAgB,WACnB,UAAU,QACZ;IACJ,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,qBAAqB,GAAG,SAAS,CAAC;CAC3C,WACQ,MAAM,KACd,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,KAAK,CAG1C,CAAC;AAEJ,eAAO,MAAM,aAAa,WAChB,UAAU,UACV,qBAAqB,KAC5B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAA2C,CAAC"}
|
|
@@ -24,7 +24,7 @@ export declare const assertMayWrite: (runner: HostRunner, name: string) => void;
|
|
|
24
24
|
* ⛔ A MASKED UNIT IS SOMEONE'S DECISION, NOT DRIFT. `systemctl mask` survives reboots and makes
|
|
25
25
|
* start fail; unmasking here would silently overrule whoever masked it.
|
|
26
26
|
*/
|
|
27
|
-
export declare const assertUsable: (props: SystemdUnitProps, status: UnitStatus) => void;
|
|
27
|
+
export declare const assertUsable: (props: Pick<SystemdUnitProps, 'name'>, status: UnitStatus) => void;
|
|
28
28
|
/**
|
|
29
29
|
* ⛔ A UNIT THIS RESOURCE DOES NOT OWN IS NEVER OVERWRITTEN. Alchemy's adoption probe guards a
|
|
30
30
|
* create, but NOT the new name of a replace — the engine reads nothing there — so a rename onto
|
|
@@ -33,6 +33,15 @@ export declare const assertUsable: (props: SystemdUnitProps, status: UnitStatus)
|
|
|
33
33
|
* that died between write and reload), and rewriting it changes nothing.
|
|
34
34
|
*/
|
|
35
35
|
export declare const assertUnclaimed: (runner: HostRunner, props: SystemdUnitProps) => Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* The half of a rename check that needs only the NEW NAME: the old unit deletable, the new one
|
|
38
|
+
* writable and not masked.
|
|
39
|
+
* ★ ON ITS OWN it is for the rename unit-handlers.ts `diffHandler` spots while `content` is still
|
|
40
|
+
* an Output. That plan is a delete-first replace too, so a masked target refused only in
|
|
41
|
+
* reconcile would again arrive after the old unit was stopped. The unit file itself cannot be
|
|
42
|
+
* compared until `content` resolves, so `assertUnclaimed` stays reconcile's job there.
|
|
43
|
+
*/
|
|
44
|
+
export declare const assertRenameTarget: (runner: HostRunner, old: SystemdUnitAttributes, name: string) => Promise<void>;
|
|
36
45
|
/**
|
|
37
46
|
* A rename, checked at plan time: the new identity must be valid, writable, not masked and free,
|
|
38
47
|
* and the old one deletable — before the plan may promise a delete-first replace.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-preflight.d.ts","sourceRoot":"","sources":["../../src/linux/unit-preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,KAAK,UAAU,EAAY,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EAMtB,MAAM,gBAAgB,CAAC;AAKxB,qEAAqE;AACrE,eAAO,MAAM,WAAW,UAAW,gBAAgB,WAAW,MAAM,KAAG,IAGtE,CAAC;AAEF,sGAAsG;AACtG,eAAO,MAAM,cAAc,WAAY,UAAU,QAAQ,MAAM,KAAG,IAOjE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,UAAW,gBAAgB,UAAU,UAAU,KAAG,
|
|
1
|
+
{"version":3,"file":"unit-preflight.d.ts","sourceRoot":"","sources":["../../src/linux/unit-preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,KAAK,UAAU,EAAY,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EAMtB,MAAM,gBAAgB,CAAC;AAKxB,qEAAqE;AACrE,eAAO,MAAM,WAAW,UAAW,gBAAgB,WAAW,MAAM,KAAG,IAGtE,CAAC;AAEF,sGAAsG;AACtG,eAAO,MAAM,cAAc,WAAY,UAAU,QAAQ,MAAM,KAAG,IAOjE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,UAAW,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,UAAU,UAAU,KAAG,IAQxF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,WAClB,UAAU,SACX,gBAAgB,KACtB,OAAO,CAAC,IAAI,CAWd,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,WACrB,UAAU,OACb,qBAAqB,QACpB,MAAM,KACX,OAAO,CAAC,IAAI,CAId,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,WACpB,UAAU,QACZ,gBAAgB,OACjB,qBAAqB,WACjB,MAAM,KACd,OAAO,CAAC,IAAI,CAKd,CAAC"}
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* it from the template. docs/pbs-notifications.md says the same to the reader.
|
|
24
24
|
* ⛔ A REFUSAL NAMES THE FIELD, NEVER THE VALUE — the message lands in a terminal and a CI log.
|
|
25
25
|
*/
|
|
26
|
-
import type { FromEnv } from '
|
|
26
|
+
import type { FromEnv } from '../secrets/write-only.ts';
|
|
27
27
|
export declare const isCredentialName: (name: string) => boolean;
|
|
28
28
|
/** Plain header values that are credentials by their header's name. `{ fromEnv }` is never one. */
|
|
29
29
|
export declare const literalCredentialHeaders: (header: Readonly<Record<string, FromEnv | string>> | undefined) => string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-literals.d.ts","sourceRoot":"","sources":["../../src/proxmox/credential-literals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"credential-literals.d.ts","sourceRoot":"","sources":["../../src/proxmox/credential-literals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAUxD,eAAO,MAAM,gBAAgB,SAAU,MAAM,KAAG,OACY,CAAC;AAI7D,mGAAmG;AACnG,eAAO,MAAM,wBAAwB,WAC3B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC,GAAG,SAAS,KAC7D,MAAM,EAKE,CAAC;AAEZ;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,QAAS,MAAM,GAAG,SAAS,KAAG,MAAM,EAkBvE,CAAC"}
|
|
@@ -162,5 +162,5 @@ export type NodesNodeDisksZfsPostParams = {
|
|
|
162
162
|
/** POST /nodes/{node}/disks/zfs — `data` payload after client unwrap. */
|
|
163
163
|
export type NodesNodeDisksZfsPostReturn = string;
|
|
164
164
|
/** GET /nodes/{node}/disks/zfs/{name} — `data` payload after client unwrap. */
|
|
165
|
-
export type NodesNodeDisksZfsNameGetReturn =
|
|
165
|
+
export type NodesNodeDisksZfsNameGetReturn = Record<string, unknown>;
|
|
166
166
|
//# sourceMappingURL=nodes-node.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodes-node.d.ts","sourceRoot":"","sources":["../../../../src/proxmox/generated/pbs/nodes-node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nodes-node.d.ts","sourceRoot":"","sources":["../../../../src/proxmox/generated/pbs/nodes-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,13 @@
|
|
|
13
13
|
* ⚠️ 151 request parameters are typed `\`${number}\`` because the vendor calls them
|
|
14
14
|
* integer or number. They were `string` before, which accepted 'banana'. A caller holding a
|
|
15
15
|
* number writes \`${n}\` — `String(n)` is a plain `string` and will not typecheck, deliberately.
|
|
16
|
+
*
|
|
17
|
+
* ⛔ 135 OF THESE NAMES ARE ALSO EXPORTED BY `pve.ts`, MEANING SOMETHING ELSE. Both
|
|
18
|
+
* products document a `/nodes/{node}` subtree, so a name like `NodesNodeCertificatesGetReturn`
|
|
19
|
+
* exists on each side — here an array of objects, there `null`. Nothing stops a pve call
|
|
20
|
+
* importing the pbs spelling: it compiles, and the type is simply wrong about the payload.
|
|
21
|
+
* Import from the barrel that names your product. tests/schema-types.test.ts pins this count, so
|
|
22
|
+
* a vendor upgrade that adds a collision fails there rather than at runtime.
|
|
16
23
|
*/
|
|
17
24
|
export * from './pbs/access.ts';
|
|
18
25
|
export * from './pbs/access-users.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pbs.d.ts","sourceRoot":"","sources":["../../../src/proxmox/generated/pbs.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pbs.d.ts","sourceRoot":"","sources":["../../../src/proxmox/generated/pbs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
|
|
@@ -13,6 +13,13 @@
|
|
|
13
13
|
* ⚠️ 480 request parameters are typed `\`${number}\`` because the vendor calls them
|
|
14
14
|
* integer or number. They were `string` before, which accepted 'banana'. A caller holding a
|
|
15
15
|
* number writes \`${n}\` — `String(n)` is a plain `string` and will not typecheck, deliberately.
|
|
16
|
+
*
|
|
17
|
+
* ⛔ 135 OF THESE NAMES ARE ALSO EXPORTED BY `pbs.ts`, MEANING SOMETHING ELSE. Both
|
|
18
|
+
* products document a `/nodes/{node}` subtree, so a name like `NodesNodeCertificatesGetReturn`
|
|
19
|
+
* exists on each side — here an array of objects, there `null`. Nothing stops a pbs call
|
|
20
|
+
* importing the pve spelling: it compiles, and the type is simply wrong about the payload.
|
|
21
|
+
* Import from the barrel that names your product. tests/schema-types.test.ts pins this count, so
|
|
22
|
+
* a vendor upgrade that adds a collision fails there rather than at runtime.
|
|
16
23
|
*/
|
|
17
24
|
export * from './pve/access.ts';
|
|
18
25
|
export * from './pve/access-roles.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pve.d.ts","sourceRoot":"","sources":["../../../src/proxmox/generated/pve.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pve.d.ts","sourceRoot":"","sources":["../../../src/proxmox/generated/pve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yCAAyC,CAAC;AACxD,cAAc,iDAAiD,CAAC;AAChE,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AACrD,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
|
package/dist/proxmox/index.d.ts
CHANGED
|
@@ -21,6 +21,18 @@
|
|
|
21
21
|
* ★ THE VENDOR CONSTRAINT READER JOINED 2026-09-22 (codegen/README.md). `constraintsFor` and
|
|
22
22
|
* `violations` are exported so a CONSUMING stack can assert its own declarations offline — the
|
|
23
23
|
* `deploy:pbs` that failed on a 128-character comment had no way to ask that question.
|
|
24
|
+
* ★ THE CEPH DAEMON, FILESYSTEM AND OSD RESOURCES JOINED 2026-09-22, BECAUSE EACH IS ALREADY
|
|
25
|
+
* ADOPT-ONLY BY SHAPE and a live cluster measured that way was waiting on nothing but this line.
|
|
26
|
+
* `ProxmoxCephDaemon` (mon/mgr/mds) and `ProxmoxCephFs` compare nothing, so no edit can plan a
|
|
27
|
+
* replace; `ProxmoxCephOsd` never POSTs unless `dev` is declared. All three default to `retain`,
|
|
28
|
+
* so deleting a declaration drops a state row and leaves the quorum member, the filesystem or
|
|
29
|
+
* the replica alone. ceph-adopt.test.ts pins adopting each as reads only, and removing each as
|
|
30
|
+
* no DELETE, through Alchemy's own Plan and Apply.
|
|
31
|
+
* ⛔ `ProxmoxCephFlag` STAYS PROVIDER-ONLY, AND ON PURPOSE. A flag is a hand on the brake, not
|
|
32
|
+
* configuration: a declared `noout: false` clears an operator's `noout` on EVERY deploy,
|
|
33
|
+
* including one run for an unrelated resource in the middle of a maintenance window
|
|
34
|
+
* (ceph-flag.ts has the whole argument). A stack that wants a flag set must reach for the
|
|
35
|
+
* Provider deliberately; the barrel does not offer the sentence by default.
|
|
24
36
|
* ★ Anything else unlisted is still reachable by path if you genuinely need
|
|
25
37
|
* it — that is a deliberate, visible act rather than an accident of barrelling.
|
|
26
38
|
*/
|
|
@@ -28,10 +40,10 @@ export { ProxmoxAcl, ProxmoxAclProvider } from './acl.ts';
|
|
|
28
40
|
export { type AlertmanagerBodyOptions, alertmanagerAlertBody } from './alertmanager-body.ts';
|
|
29
41
|
export { ProxmoxApiTokenProvider } from './api-token.ts';
|
|
30
42
|
export { ProxmoxBackupJob, ProxmoxBackupJobProvider } from './backup-job.ts';
|
|
31
|
-
export { ProxmoxCephDaemonProvider } from './ceph-daemon.ts';
|
|
43
|
+
export { ProxmoxCephDaemon, ProxmoxCephDaemonProvider } from './ceph-daemon.ts';
|
|
32
44
|
export { ProxmoxCephFlagProvider } from './ceph-flag.ts';
|
|
33
|
-
export { ProxmoxCephFsProvider } from './ceph-fs.ts';
|
|
34
|
-
export { ProxmoxCephOsdProvider } from './ceph-osd.ts';
|
|
45
|
+
export { ProxmoxCephFs, ProxmoxCephFsProvider } from './ceph-fs.ts';
|
|
46
|
+
export { ProxmoxCephOsd, ProxmoxCephOsdProvider } from './ceph-osd.ts';
|
|
35
47
|
export { ProxmoxCephPool, ProxmoxCephPoolProvider } from './ceph-pool.ts';
|
|
36
48
|
export { constraintsFor, formViolations } from './constraint-guard.ts';
|
|
37
49
|
export { type EndpointConstraints, type EndpointKey, type ParamConstraint, violations, } from './constraints.ts';
|
|
@@ -64,6 +76,6 @@ export { ProxmoxSdnVnet, ProxmoxSdnVnetProvider } from './sdn-vnet.ts';
|
|
|
64
76
|
export { ProxmoxSdnZone, ProxmoxSdnZoneProvider } from './sdn-zone.ts';
|
|
65
77
|
export { ProxmoxStorage, ProxmoxStorageProvider } from './storage.ts';
|
|
66
78
|
export { ProxmoxUser, ProxmoxUserProvider } from './user.ts';
|
|
67
|
-
export { type FromEnv } from '
|
|
79
|
+
export { type FromEnv } from '../secrets/write-only.ts';
|
|
68
80
|
export { ProxmoxZfsPoolProvider } from './zfs-pool.ts';
|
|
69
81
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proxmox/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proxmox/index.ts"],"names":[],"mappings":"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"}
|
package/dist/proxmox/index.js
CHANGED
|
@@ -3696,7 +3696,7 @@ var literalCredentialsInUrl = (url) => {
|
|
|
3696
3696
|
// src/proxmox/pbs-notification-target-wire.ts
|
|
3697
3697
|
import { Buffer as Buffer2 } from "node:buffer";
|
|
3698
3698
|
|
|
3699
|
-
// src/
|
|
3699
|
+
// src/secrets/write-only.ts
|
|
3700
3700
|
import { Buffer } from "node:buffer";
|
|
3701
3701
|
import { randomBytes, scryptSync, timingSafeEqual } from "node:crypto";
|
|
3702
3702
|
var resolveAll = (refs, env = process.env) => {
|
|
@@ -4998,9 +4998,12 @@ export {
|
|
|
4998
4998
|
ProxmoxApiTokenProvider,
|
|
4999
4999
|
ProxmoxBackupJob,
|
|
5000
5000
|
ProxmoxBackupJobProvider,
|
|
5001
|
+
ProxmoxCephDaemon,
|
|
5001
5002
|
ProxmoxCephDaemonProvider,
|
|
5002
5003
|
ProxmoxCephFlagProvider,
|
|
5004
|
+
ProxmoxCephFs,
|
|
5003
5005
|
ProxmoxCephFsProvider,
|
|
5006
|
+
ProxmoxCephOsd,
|
|
5004
5007
|
ProxmoxCephOsdProvider,
|
|
5005
5008
|
ProxmoxCephPool,
|
|
5006
5009
|
ProxmoxCephPoolProvider,
|
|
@@ -5049,5 +5052,5 @@ export {
|
|
|
5049
5052
|
violations
|
|
5050
5053
|
};
|
|
5051
5054
|
|
|
5052
|
-
//# debugId=
|
|
5055
|
+
//# debugId=917FA0CD3BD7B9E964756E2164756E21
|
|
5053
5056
|
//# sourceMappingURL=index.js.map
|