@caelo-cms/provisioning 0.10.29 → 0.10.30
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/dist/admin-domain.d.ts +54 -0
- package/dist/admin-domain.d.ts.map +1 -0
- package/dist/admin-domain.js +122 -0
- package/dist/admin-domain.js.map +1 -0
- package/dist/cli.js +65 -6
- package/dist/cli.js.map +1 -1
- package/dist/compose.d.ts +7 -9
- package/dist/compose.d.ts.map +1 -1
- package/dist/compose.js +17 -1
- package/dist/compose.js.map +1 -1
- package/dist/deployed-release.d.ts +67 -0
- package/dist/deployed-release.d.ts.map +1 -0
- package/dist/deployed-release.js +144 -0
- package/dist/deployed-release.js.map +1 -0
- package/dist/gcloud-retry.d.ts +16 -0
- package/dist/gcloud-retry.d.ts.map +1 -0
- package/dist/gcloud-retry.js +17 -0
- package/dist/gcloud-retry.js.map +1 -0
- package/dist/gcloud.d.ts.map +1 -1
- package/dist/gcloud.js +2 -0
- package/dist/gcloud.js.map +1 -1
- package/dist/gcp-names.d.ts +58 -0
- package/dist/gcp-names.d.ts.map +1 -0
- package/dist/gcp-names.js +88 -0
- package/dist/gcp-names.js.map +1 -0
- package/dist/install-state.d.ts +31 -0
- package/dist/install-state.d.ts.map +1 -1
- package/dist/install-state.js +38 -0
- package/dist/install-state.js.map +1 -1
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/lifecycle.js +314 -46
- package/dist/lifecycle.js.map +1 -1
- package/dist/mcp-iap.d.ts +5 -26
- package/dist/mcp-iap.d.ts.map +1 -1
- package/dist/mcp-iap.js +6 -18
- package/dist/mcp-iap.js.map +1 -1
- package/dist/migration-runner.d.ts +25 -0
- package/dist/migration-runner.d.ts.map +1 -1
- package/dist/migration-runner.js +60 -19
- package/dist/migration-runner.js.map +1 -1
- package/dist/operator-access.d.ts +83 -0
- package/dist/operator-access.d.ts.map +1 -0
- package/dist/operator-access.js +562 -0
- package/dist/operator-access.js.map +1 -0
- package/dist/runtime-secrets.d.ts +128 -0
- package/dist/runtime-secrets.d.ts.map +1 -0
- package/dist/runtime-secrets.js +444 -0
- package/dist/runtime-secrets.js.map +1 -0
- package/dist/stack-contract.d.ts +231 -0
- package/dist/stack-contract.d.ts.map +1 -0
- package/dist/stack-contract.js +455 -0
- package/dist/stack-contract.js.map +1 -0
- package/dist/stack-converge.d.ts +183 -0
- package/dist/stack-converge.d.ts.map +1 -0
- package/dist/stack-converge.js +513 -0
- package/dist/stack-converge.js.map +1 -0
- package/dist/wizard.d.ts.map +1 -1
- package/dist/wizard.js +8 -1
- package/dist/wizard.js.map +1 -1
- package/dist/wizards/gcp-cost.d.ts +6 -10
- package/dist/wizards/gcp-cost.d.ts.map +1 -1
- package/dist/wizards/gcp-cost.js +34 -2
- package/dist/wizards/gcp-cost.js.map +1 -1
- package/dist/wizards/gcp-pulumi.d.ts +32 -1
- package/dist/wizards/gcp-pulumi.d.ts.map +1 -1
- package/dist/wizards/gcp-pulumi.js +60 -5
- package/dist/wizards/gcp-pulumi.js.map +1 -1
- package/dist/wizards/gcp.d.ts.map +1 -1
- package/dist/wizards/gcp.js +79 -16
- package/dist/wizards/gcp.js.map +1 -1
- package/package.json +3 -3
- package/stacks/aws/Pulumi.yaml +4 -0
- package/stacks/aws/index.ts +11 -0
- package/stacks/azure/Pulumi.yaml +4 -0
- package/stacks/azure/index.ts +10 -1
- package/stacks/gcp/Pulumi.yaml +4 -3
- package/stacks/gcp/README.md +13 -2
- package/stacks/gcp/index.ts +200 -140
- package/stacks/gcp-firebase/Pulumi.yaml +4 -0
- package/stacks/gcp-firebase/index.ts +165 -75
- package/stacks/self-hosted/Pulumi.yaml +4 -0
- package/stacks/self-hosted/index.ts +3 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `cms-provision admin-domain enable` — serve a gcp-firebase admin at
|
|
3
|
+
* `admin.<domain>` instead of its `*.run.app` URL.
|
|
4
|
+
*
|
|
5
|
+
* The gcp-firebase stack only creates that Cloud Run domain mapping behind
|
|
6
|
+
* `provisionAdminDomain=true`, off by default: Google refuses a mapping
|
|
7
|
+
* unless the CALLER is a verified owner of the domain in Search Console, and
|
|
8
|
+
* the stack runs as the provisioner service account, which never is. So the
|
|
9
|
+
* mapping is created here, as the operator's own gcloud identity — the one
|
|
10
|
+
* that verified (or now verifies) the domain:
|
|
11
|
+
*
|
|
12
|
+
* 1. find the admin Cloud Run service (`caelo-production-admin*`);
|
|
13
|
+
* 2. if the mapping exists already, just report its DNS records;
|
|
14
|
+
* 3. check `gcloud domains list-user-verified`; if neither the apex nor
|
|
15
|
+
* `admin.<domain>` is verified, start `gcloud domains verify <apex>`
|
|
16
|
+
* (opens Search Console) and stop — verifying means adding a TXT record,
|
|
17
|
+
* the one step only the domain's owner can take;
|
|
18
|
+
* 4. create the mapping and print the DNS records to add.
|
|
19
|
+
*
|
|
20
|
+
* The mapping is then owned by this command, not by Pulumi: leave
|
|
21
|
+
* `provisionAdminDomain` false, or the next `pulumi up` tries to create a
|
|
22
|
+
* second one and fails with "already exists".
|
|
23
|
+
*
|
|
24
|
+
* `gcp` installs need none of this — the load balancer serves admin.<domain>
|
|
25
|
+
* from the start.
|
|
26
|
+
*/
|
|
27
|
+
import { type GcloudResult } from "./gcloud.js";
|
|
28
|
+
type Run = (args: string[]) => Promise<GcloudResult>;
|
|
29
|
+
export interface DnsRecordToAdd {
|
|
30
|
+
readonly name: string;
|
|
31
|
+
readonly type: string;
|
|
32
|
+
readonly value: string;
|
|
33
|
+
}
|
|
34
|
+
export type AdminDomainResult = {
|
|
35
|
+
status: "mapped";
|
|
36
|
+
hostname: string;
|
|
37
|
+
created: boolean;
|
|
38
|
+
records: DnsRecordToAdd[];
|
|
39
|
+
} | {
|
|
40
|
+
status: "needs-verification";
|
|
41
|
+
hostname: string;
|
|
42
|
+
verifyDomain: string;
|
|
43
|
+
} | {
|
|
44
|
+
status: "failed";
|
|
45
|
+
error: string;
|
|
46
|
+
};
|
|
47
|
+
export declare function enableAdminDomain(opts: {
|
|
48
|
+
projectId: string;
|
|
49
|
+
region: string;
|
|
50
|
+
domain: string;
|
|
51
|
+
run?: Run;
|
|
52
|
+
}): Promise<AdminDomainResult>;
|
|
53
|
+
export {};
|
|
54
|
+
//# sourceMappingURL=admin-domain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-domain.d.ts","sourceRoot":"","sources":["../src/admin-domain.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEzE,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,cAAc,EAAE,CAAA;CAAE,GACnF;IAAE,MAAM,EAAE,oBAAoB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACxE;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAexC,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,GAAG,CAAC;CACX,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAyF7B"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MPL-2.0
|
|
2
|
+
/**
|
|
3
|
+
* `cms-provision admin-domain enable` — serve a gcp-firebase admin at
|
|
4
|
+
* `admin.<domain>` instead of its `*.run.app` URL.
|
|
5
|
+
*
|
|
6
|
+
* The gcp-firebase stack only creates that Cloud Run domain mapping behind
|
|
7
|
+
* `provisionAdminDomain=true`, off by default: Google refuses a mapping
|
|
8
|
+
* unless the CALLER is a verified owner of the domain in Search Console, and
|
|
9
|
+
* the stack runs as the provisioner service account, which never is. So the
|
|
10
|
+
* mapping is created here, as the operator's own gcloud identity — the one
|
|
11
|
+
* that verified (or now verifies) the domain:
|
|
12
|
+
*
|
|
13
|
+
* 1. find the admin Cloud Run service (`caelo-production-admin*`);
|
|
14
|
+
* 2. if the mapping exists already, just report its DNS records;
|
|
15
|
+
* 3. check `gcloud domains list-user-verified`; if neither the apex nor
|
|
16
|
+
* `admin.<domain>` is verified, start `gcloud domains verify <apex>`
|
|
17
|
+
* (opens Search Console) and stop — verifying means adding a TXT record,
|
|
18
|
+
* the one step only the domain's owner can take;
|
|
19
|
+
* 4. create the mapping and print the DNS records to add.
|
|
20
|
+
*
|
|
21
|
+
* The mapping is then owned by this command, not by Pulumi: leave
|
|
22
|
+
* `provisionAdminDomain` false, or the next `pulumi up` tries to create a
|
|
23
|
+
* second one and fails with "already exists".
|
|
24
|
+
*
|
|
25
|
+
* `gcp` installs need none of this — the load balancer serves admin.<domain>
|
|
26
|
+
* from the start.
|
|
27
|
+
*/
|
|
28
|
+
import { gcloud as defaultGcloud } from "./gcloud.js";
|
|
29
|
+
function recordsOf(json, hostname) {
|
|
30
|
+
const parsed = JSON.parse(json);
|
|
31
|
+
return (parsed.status?.resourceRecords ?? []).map((r) => ({
|
|
32
|
+
name: r.name ? `${r.name}.${hostname.split(".").slice(1).join(".")}` : hostname,
|
|
33
|
+
type: r.type ?? "CNAME",
|
|
34
|
+
value: r.rrdata ?? "",
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
export async function enableAdminDomain(opts) {
|
|
38
|
+
const run = opts.run ?? defaultGcloud;
|
|
39
|
+
const hostname = `admin.${opts.domain}`;
|
|
40
|
+
const scope = [`--region=${opts.region}`, `--project=${opts.projectId}`];
|
|
41
|
+
const services = await run([
|
|
42
|
+
"run",
|
|
43
|
+
"services",
|
|
44
|
+
"list",
|
|
45
|
+
...scope,
|
|
46
|
+
"--filter=metadata.name~^caelo-production-admin",
|
|
47
|
+
"--format=value(metadata.name)",
|
|
48
|
+
]);
|
|
49
|
+
if (!services.ok) {
|
|
50
|
+
return { status: "failed", error: `list Cloud Run services: ${services.stderr.trim()}` };
|
|
51
|
+
}
|
|
52
|
+
const matches = services.stdout
|
|
53
|
+
.split("\n")
|
|
54
|
+
.map((s) => s.trim())
|
|
55
|
+
.filter(Boolean);
|
|
56
|
+
// Fail closed like the other admin lookups: with a leftover service from a
|
|
57
|
+
// failed deploy, picking one would bind the domain to the wrong revision.
|
|
58
|
+
const service = matches.length === 1 ? matches[0] : undefined;
|
|
59
|
+
if (!service) {
|
|
60
|
+
return {
|
|
61
|
+
status: "failed",
|
|
62
|
+
error: matches.length === 0
|
|
63
|
+
? "admin Cloud Run service not found: no caelo-production-admin* service"
|
|
64
|
+
: `expected exactly one caelo-production-admin* Cloud Run service, found ${matches.length} (${matches.join(", ")}); delete the stale one first`,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
const describeArgs = [
|
|
68
|
+
"beta",
|
|
69
|
+
"run",
|
|
70
|
+
"domain-mappings",
|
|
71
|
+
"describe",
|
|
72
|
+
`--domain=${hostname}`,
|
|
73
|
+
...scope,
|
|
74
|
+
"--format=json",
|
|
75
|
+
];
|
|
76
|
+
const existing = await run(describeArgs);
|
|
77
|
+
if (existing.ok) {
|
|
78
|
+
return {
|
|
79
|
+
status: "mapped",
|
|
80
|
+
hostname,
|
|
81
|
+
created: false,
|
|
82
|
+
records: recordsOf(existing.stdout, hostname),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
const verified = await run(["domains", "list-user-verified", "--format=value(id)"]);
|
|
86
|
+
if (!verified.ok) {
|
|
87
|
+
// Expired credentials or a missing gcloud component — not "unverified".
|
|
88
|
+
return { status: "failed", error: `list verified domains: ${verified.stderr.trim()}` };
|
|
89
|
+
}
|
|
90
|
+
const verifiedIds = verified.stdout.split("\n").map((s) => s.trim());
|
|
91
|
+
if (!verifiedIds.includes(opts.domain) && !verifiedIds.includes(hostname)) {
|
|
92
|
+
const verify = await run(["domains", "verify", opts.domain]);
|
|
93
|
+
if (!verify.ok) {
|
|
94
|
+
return {
|
|
95
|
+
status: "failed",
|
|
96
|
+
error: `start domain verification for ${opts.domain}: ${verify.stderr.trim()}`,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
return { status: "needs-verification", hostname, verifyDomain: opts.domain };
|
|
100
|
+
}
|
|
101
|
+
const create = await run([
|
|
102
|
+
"beta",
|
|
103
|
+
"run",
|
|
104
|
+
"domain-mappings",
|
|
105
|
+
"create",
|
|
106
|
+
`--service=${service}`,
|
|
107
|
+
`--domain=${hostname}`,
|
|
108
|
+
...scope,
|
|
109
|
+
"--quiet",
|
|
110
|
+
]);
|
|
111
|
+
if (!create.ok) {
|
|
112
|
+
return { status: "failed", error: `create domain mapping: ${create.stderr.trim()}` };
|
|
113
|
+
}
|
|
114
|
+
const created = await run(describeArgs);
|
|
115
|
+
return {
|
|
116
|
+
status: "mapped",
|
|
117
|
+
hostname,
|
|
118
|
+
created: true,
|
|
119
|
+
records: created.ok ? recordsOf(created.stdout, hostname) : [],
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=admin-domain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-domain.js","sourceRoot":"","sources":["../src/admin-domain.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -192,12 +192,12 @@ async function init() {
|
|
|
192
192
|
writeFileSync(PENDING_TOKEN_PATH, JSON.stringify(tok, null, 2));
|
|
193
193
|
// P15.1 — mint the shared HMAC secret for /api/internal/* endpoints.
|
|
194
194
|
// Same secret is read by:
|
|
195
|
-
// - admin app (process.env.CAELO_INTERNAL_SECRET,
|
|
196
|
-
// or the Pulumi cloud stack via secret env var),
|
|
195
|
+
// - admin app (process.env.CAELO_INTERNAL_SECRET),
|
|
197
196
|
// - cms-provision pulumi-output-sync (when running in CI / by hand),
|
|
198
197
|
// - any future internal-only orchestration.
|
|
199
|
-
// Long enough to defeat brute-force
|
|
200
|
-
//
|
|
198
|
+
// Long enough to defeat brute-force. GCP installs keep their own copy in
|
|
199
|
+
// Secret Manager (runtime-secrets.ts), rotated by `rotate-secret
|
|
200
|
+
// internal-secret`.
|
|
201
201
|
const internalSecret = randomSecret(48);
|
|
202
202
|
const internalSecretPath = resolve(CAELO_DIR, "internal-secret.json");
|
|
203
203
|
writeFileSync(internalSecretPath, JSON.stringify({ secret: internalSecret }, null, 2));
|
|
@@ -538,7 +538,7 @@ async function pulumiOutputSync() {
|
|
|
538
538
|
const internalSecret = process.env.CAELO_INTERNAL_SECRET;
|
|
539
539
|
const adminBaseUrl = process.env.CAELO_ADMIN_URL;
|
|
540
540
|
if (!internalSecret || internalSecret.length < 32) {
|
|
541
|
-
console.error("CAELO_INTERNAL_SECRET not set or too short (need ≥32 chars).
|
|
541
|
+
console.error("CAELO_INTERNAL_SECRET not set or too short (need ≥32 chars). Self-hosted: `cms-provision init` writes it to .caelo/internal-secret.json. GCP: it lives in Secret Manager — export CAELO_INTERNAL_SECRET=$(gcloud secrets versions access latest --secret=caelo-production-internal-secret --project=<project>) and re-run.");
|
|
542
542
|
process.exit(2);
|
|
543
543
|
}
|
|
544
544
|
if (!adminBaseUrl) {
|
|
@@ -593,6 +593,7 @@ const handlers = {
|
|
|
593
593
|
"rotate-secret": lifecycleRotateSecret,
|
|
594
594
|
destroy: lifecycleDestroy,
|
|
595
595
|
truncate: lifecycleTruncate,
|
|
596
|
+
"admin-domain": adminDomain,
|
|
596
597
|
// Misc
|
|
597
598
|
"pulumi-output-sync": pulumiOutputSync,
|
|
598
599
|
version,
|
|
@@ -642,6 +643,64 @@ async function lifecycleTruncate() {
|
|
|
642
643
|
const { truncateCommand } = await import("./lifecycle.js");
|
|
643
644
|
await truncateCommand();
|
|
644
645
|
}
|
|
646
|
+
/**
|
|
647
|
+
* `admin-domain enable` — bind admin.<domain> to a gcp-firebase admin
|
|
648
|
+
* (see admin-domain.ts for why this runs as the operator, not Pulumi).
|
|
649
|
+
*/
|
|
650
|
+
async function adminDomain() {
|
|
651
|
+
const sub = process.argv[3];
|
|
652
|
+
if (sub !== "enable") {
|
|
653
|
+
console.log("Usage: cms-provision admin-domain enable [--install <install-id>]");
|
|
654
|
+
process.exit(2);
|
|
655
|
+
}
|
|
656
|
+
const { listInstalls } = await import("./install-state.js");
|
|
657
|
+
const { enableAdminDomain } = await import("./admin-domain.js");
|
|
658
|
+
const flag = process.argv.indexOf("--install");
|
|
659
|
+
const wanted = flag >= 0 ? process.argv[flag + 1] : undefined;
|
|
660
|
+
const cloud = listInstalls().filter((m) => m.projectId);
|
|
661
|
+
const candidates = wanted ? cloud.filter((m) => m.installId === wanted) : cloud;
|
|
662
|
+
if (candidates.length !== 1) {
|
|
663
|
+
// Guessing among several installs could map the domain in the wrong project.
|
|
664
|
+
console.error(candidates.length === 0
|
|
665
|
+
? `No cloud install${wanted ? ` "${wanted}"` : ""} found on this machine (~/.caelo-<install-id>/install.json).`
|
|
666
|
+
: `Several installs on this machine: ${candidates.map((m) => `${m.installId} (${m.domain})`).join(", ")}.\nPick one with --install <install-id>.`);
|
|
667
|
+
process.exit(1);
|
|
668
|
+
}
|
|
669
|
+
const meta = candidates[0];
|
|
670
|
+
if (!meta?.projectId)
|
|
671
|
+
process.exit(1);
|
|
672
|
+
if (!meta.region) {
|
|
673
|
+
console.error(`install ${meta.installId} has no region recorded in install.json; re-run the wizard to record it.`);
|
|
674
|
+
process.exit(1);
|
|
675
|
+
}
|
|
676
|
+
if (meta.provider !== "gcp-firebase") {
|
|
677
|
+
console.log(meta.provider === "gcp"
|
|
678
|
+
? `Nothing to do: on gcp the load balancer already serves admin.${meta.domain}.`
|
|
679
|
+
: `admin-domain is for gcp-firebase installs; this one is ${meta.provider}.`);
|
|
680
|
+
return;
|
|
681
|
+
}
|
|
682
|
+
const r = await enableAdminDomain({
|
|
683
|
+
projectId: meta.projectId,
|
|
684
|
+
region: meta.region,
|
|
685
|
+
domain: meta.domain,
|
|
686
|
+
});
|
|
687
|
+
if (r.status === "failed") {
|
|
688
|
+
console.error(`admin-domain: ${r.error}`);
|
|
689
|
+
process.exit(1);
|
|
690
|
+
}
|
|
691
|
+
if (r.status === "needs-verification") {
|
|
692
|
+
console.log(`Google only maps ${r.hostname} for a verified owner of ${r.verifyDomain}.\n` +
|
|
693
|
+
"Search Console was opened for you: add the TXT record it shows at your registrar,\n" +
|
|
694
|
+
"click Verify, then run `cms-provision admin-domain enable` again.");
|
|
695
|
+
process.exit(3);
|
|
696
|
+
}
|
|
697
|
+
console.log(`${r.hostname} ${r.created ? "is now mapped" : "was already mapped"} to the admin.` +
|
|
698
|
+
(r.records.length > 0
|
|
699
|
+
? `\nAdd at your registrar (TLS is issued once DNS resolves, typically 15-60 min):\n${r.records
|
|
700
|
+
.map((d) => ` ${d.type.padEnd(6)} ${d.name} -> ${d.value}`)
|
|
701
|
+
.join("\n")}`
|
|
702
|
+
: "\nGoogle has not published the DNS records yet; run the command again in a minute."));
|
|
703
|
+
}
|
|
645
704
|
/**
|
|
646
705
|
* §11.C — interactive wizard. Loaded lazily so the bare-CLI startup
|
|
647
706
|
* cost stays small (clack + kleur are pulled in only when needed).
|
|
@@ -669,7 +728,7 @@ else if (route.kind === "wizard") {
|
|
|
669
728
|
await wizardCommand();
|
|
670
729
|
}
|
|
671
730
|
else {
|
|
672
|
-
console.log("Usage: cms-provision [wizard] [--provider <name> --domain <d> --owner-email <e>] | <init|up|status|upgrade|backup|restore|rotate-secret|truncate|destroy|regenerate-caddy|pulumi-output-sync|version> [options]\n" +
|
|
731
|
+
console.log("Usage: cms-provision [wizard] [--provider <name> --domain <d> --owner-email <e>] | <init|up|status|upgrade|backup|restore|rotate-secret|truncate|destroy|regenerate-caddy|admin-domain|pulumi-output-sync|version> [options]\n" +
|
|
673
732
|
"Pass --no-wizard with no sub-command to print this usage instead of the wizard.");
|
|
674
733
|
process.exit(cmd && !cmd.startsWith("-") ? 2 : 0);
|
|
675
734
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/compose.d.ts
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* P14 — production docker-compose.yml generator.
|
|
3
|
-
*
|
|
4
|
-
* Emits the production stack: Postgres + pgBackRest sidecar + Caddy +
|
|
5
|
-
* MinIO + four Caelo services (admin, gateway, orchestrator, runner).
|
|
6
|
-
* Idempotent: same input → byte-identical output. The CLI's `up`
|
|
7
|
-
* sub-command writes this to `<repo>/.caelo/docker-compose.yml` and
|
|
8
|
-
* runs `docker compose up -d`.
|
|
9
|
-
*/
|
|
10
1
|
export interface ComposeSpec {
|
|
11
2
|
readonly domain: string;
|
|
12
3
|
readonly postgresPassword: string;
|
|
@@ -22,6 +13,13 @@ export interface ComposeSpec {
|
|
|
22
13
|
readonly anthropicApiKey?: string;
|
|
23
14
|
readonly resendApiKey?: string;
|
|
24
15
|
readonly diskSize: string;
|
|
16
|
+
/**
|
|
17
|
+
* #553 — memory reserved for the admin (it runs the Lighthouse quality
|
|
18
|
+
* audit). Same `adminMemory` knob + default as every adapter
|
|
19
|
+
* (stack-contract.ts); compose reserves it rather than capping it, so a
|
|
20
|
+
* busy host never OOM-kills the admin at the limit.
|
|
21
|
+
*/
|
|
22
|
+
readonly adminMemory?: string;
|
|
25
23
|
}
|
|
26
24
|
export declare function generateDockerCompose(spec: ComposeSpec): string;
|
|
27
25
|
//# sourceMappingURL=compose.d.ts.map
|
package/dist/compose.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../src/compose.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../src/compose.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAwG/D"}
|
package/dist/compose.js
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MPL-2.0
|
|
2
|
+
/**
|
|
3
|
+
* P14 — production docker-compose.yml generator.
|
|
4
|
+
*
|
|
5
|
+
* Emits the production stack: Postgres + pgBackRest sidecar + Caddy +
|
|
6
|
+
* MinIO + four Caelo services (admin, gateway, orchestrator, runner).
|
|
7
|
+
* Idempotent: same input → byte-identical output. The CLI's `up`
|
|
8
|
+
* sub-command writes this to `<repo>/.caelo/docker-compose.yml` and
|
|
9
|
+
* runs `docker compose up -d`.
|
|
10
|
+
*/
|
|
11
|
+
import { ADMIN_MEMORY_DEFAULT, memoryQuantityMiB, publicSiteUrl } from "./stack-contract.js";
|
|
2
12
|
export function generateDockerCompose(spec) {
|
|
13
|
+
const adminMemory = spec.adminMemory ?? ADMIN_MEMORY_DEFAULT;
|
|
14
|
+
const adminMemoryMiB = memoryQuantityMiB(adminMemory);
|
|
15
|
+
if (adminMemoryMiB === null) {
|
|
16
|
+
throw new Error(`adminMemory "${adminMemory}" is not a memory quantity (e.g. 2Gi)`);
|
|
17
|
+
}
|
|
3
18
|
const env = (k, v) => v ? ` ${k}: "${escapeYaml(v)}"` : "";
|
|
4
19
|
return `# SPDX-License-Identifier: MPL-2.0
|
|
5
20
|
# Generated by cms-provision — do not edit; re-run \`bunx cms-provision up\`.
|
|
@@ -64,11 +79,12 @@ services:
|
|
|
64
79
|
volumes:
|
|
65
80
|
- ../..:/app
|
|
66
81
|
command: bun run --filter @caelo-cms/admin start
|
|
82
|
+
mem_reservation: ${adminMemoryMiB}m
|
|
67
83
|
environment:
|
|
68
84
|
ADMIN_DATABASE_URL: "postgres://caelo:${escapeYaml(spec.postgresPassword)}@postgres:5432/cms_admin"
|
|
69
85
|
PUBLIC_ADMIN_DATABASE_URL: "postgres://caelo:${escapeYaml(spec.postgresPassword)}@postgres:5432/cms_public"
|
|
70
86
|
CAELO_SECRET_KEK: "${escapeYaml(spec.caeloSecretKek)}"
|
|
71
|
-
CAELO_SITE_URL: "
|
|
87
|
+
CAELO_SITE_URL: "${escapeYaml(publicSiteUrl(spec.domain))}"
|
|
72
88
|
NODE_ENV: production
|
|
73
89
|
${env("ANTHROPIC_API_KEY", spec.anthropicApiKey)}
|
|
74
90
|
${env("RESEND_API_KEY", spec.resendApiKey)}
|
package/dist/compose.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../src/compose.ts"],"names":[],"mappings":"AAAA,mCAAmC;
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../src/compose.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAEnC;;;;;;;;GAQG;AAEH,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AA0B7F,MAAM,UAAU,qBAAqB,CAAC,IAAiB;IACrD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,oBAAoB,CAAC;IAC7D,MAAM,cAAc,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACtD,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,gBAAgB,WAAW,uCAAuC,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAqB,EAAU,EAAE,CACvD,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,OAAO;;YAEG,IAAI,CAAC,MAAM;;;;;;;;4BAQK,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA2BnC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC;8BAC1B,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;uBAyBzC,cAAc;;8CAES,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC;qDAC1B,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC;2BAC3D,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC;yBACjC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;EAE7D,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,eAAe,CAAC;EAC9C,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC;;;;;;;;;;;;;8CAaI,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC;+CAChC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC;;;;;;;;;;CAU/E,CAAC;AACF,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,sDAAsD;IACtD,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { GcloudRunner } from "./gcloud-retry.js";
|
|
2
|
+
import type { ImageDigests } from "./install-state.js";
|
|
3
|
+
/** The `sha256:…` digest an image reference pins, or null for a tag reference. */
|
|
4
|
+
export declare function digestFromImageRef(ref: string): string | null;
|
|
5
|
+
/**
|
|
6
|
+
* Whether the deployed services already run on the Secret Manager runtime
|
|
7
|
+
* env (password-less database URLs + `*_PASSWORD` secret references).
|
|
8
|
+
*
|
|
9
|
+
* The stacks deploy that env; a release from before it can't use it (it
|
|
10
|
+
* reads the password from the URL). The wizard keeps the release an install
|
|
11
|
+
* runs, so re-running it on an install `upgrade` hasn't moved over yet would
|
|
12
|
+
* pair the old release with env it can't connect with. Such an install has
|
|
13
|
+
* to go through `upgrade` first, which moves the image and the env in one
|
|
14
|
+
* revision.
|
|
15
|
+
*/
|
|
16
|
+
export declare function checkDeployedRuntimeEnv(opts: {
|
|
17
|
+
projectId: string;
|
|
18
|
+
region: string;
|
|
19
|
+
run?: GcloudRunner;
|
|
20
|
+
}): Promise<{
|
|
21
|
+
ok: true;
|
|
22
|
+
} | {
|
|
23
|
+
ok: false;
|
|
24
|
+
error: string;
|
|
25
|
+
}>;
|
|
26
|
+
/**
|
|
27
|
+
* Read the image digests the admin and gateway services run. Fails, naming
|
|
28
|
+
* what is missing, when a service can't be found unambiguously or doesn't
|
|
29
|
+
* run a digest-pinned image.
|
|
30
|
+
*/
|
|
31
|
+
export declare function readDeployedImageDigests(opts: {
|
|
32
|
+
projectId: string;
|
|
33
|
+
region: string;
|
|
34
|
+
run?: GcloudRunner;
|
|
35
|
+
}): Promise<{
|
|
36
|
+
ok: true;
|
|
37
|
+
digests: ImageDigests;
|
|
38
|
+
} | {
|
|
39
|
+
ok: false;
|
|
40
|
+
error: string;
|
|
41
|
+
}>;
|
|
42
|
+
/** Where the digests a wizard run deploys come from. */
|
|
43
|
+
export type DigestChoice = {
|
|
44
|
+
readonly ok: true;
|
|
45
|
+
readonly source: "recorded" | "live" | "latest";
|
|
46
|
+
readonly digests: ImageDigests;
|
|
47
|
+
} | {
|
|
48
|
+
readonly ok: false;
|
|
49
|
+
readonly error: string;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Pick the release a wizard run deploys. A re-run never changes versions —
|
|
53
|
+
* that is `upgrade`'s job, which migrates the database before shifting
|
|
54
|
+
* traffic:
|
|
55
|
+
*
|
|
56
|
+
* - digests recorded in install.json win;
|
|
57
|
+
* - an install that was provisioned (`deployed`) but predates the record
|
|
58
|
+
* keeps what its services run;
|
|
59
|
+
* - only a new install resolves the floating release tag.
|
|
60
|
+
*/
|
|
61
|
+
export declare function chooseImageDigests(opts: {
|
|
62
|
+
readonly recorded: ImageDigests | null;
|
|
63
|
+
readonly deployed: boolean;
|
|
64
|
+
readonly readLive: () => ReturnType<typeof readDeployedImageDigests>;
|
|
65
|
+
readonly resolveLatest: () => Promise<ImageDigests>;
|
|
66
|
+
}): Promise<DigestChoice>;
|
|
67
|
+
//# sourceMappingURL=deployed-release.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployed-release.d.ts","sourceRoot":"","sources":["../src/deployed-release.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIvD,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE7D;AAgCD;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,YAAY,CAAC;CACpB,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA6BvD;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,YAAY,CAAC;CACpB,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA0B9E;AAED,wDAAwD;AACxD,MAAM,MAAM,YAAY,GACpB;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;CAChC,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;IACrE,QAAQ,CAAC,aAAa,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;CACrD,GAAG,OAAO,CAAC,YAAY,CAAC,CAWxB"}
|