@caelo-cms/provisioning 0.10.43 → 0.10.46

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.
Files changed (141) hide show
  1. package/dist/adapter.d.ts +1 -1
  2. package/dist/adc-impersonation.d.ts +28 -0
  3. package/dist/adc-impersonation.d.ts.map +1 -0
  4. package/dist/adc-impersonation.js +126 -0
  5. package/dist/adc-impersonation.js.map +1 -0
  6. package/dist/caddy.js +1 -1
  7. package/dist/checkpoint-secrets.d.ts.map +1 -1
  8. package/dist/checkpoint-secrets.js +2 -1
  9. package/dist/checkpoint-secrets.js.map +1 -1
  10. package/dist/cli.js +208 -43
  11. package/dist/cli.js.map +1 -1
  12. package/dist/compose.d.ts +45 -0
  13. package/dist/compose.d.ts.map +1 -1
  14. package/dist/compose.js +112 -29
  15. package/dist/compose.js.map +1 -1
  16. package/dist/gcloud-retry.d.ts +5 -1
  17. package/dist/gcloud-retry.d.ts.map +1 -1
  18. package/dist/gcloud-retry.js.map +1 -1
  19. package/dist/gcloud.d.ts +2 -1
  20. package/dist/gcloud.d.ts.map +1 -1
  21. package/dist/gcloud.js +11 -13
  22. package/dist/gcloud.js.map +1 -1
  23. package/dist/index.d.ts +3 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +3 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/infra-contract.d.ts +24 -0
  28. package/dist/infra-contract.d.ts.map +1 -0
  29. package/dist/infra-contract.js +25 -0
  30. package/dist/infra-contract.js.map +1 -0
  31. package/dist/install-state.d.ts +68 -2
  32. package/dist/install-state.d.ts.map +1 -1
  33. package/dist/install-state.js +166 -22
  34. package/dist/install-state.js.map +1 -1
  35. package/dist/lifecycle.d.ts +6 -0
  36. package/dist/lifecycle.d.ts.map +1 -1
  37. package/dist/lifecycle.js +185 -819
  38. package/dist/lifecycle.js.map +1 -1
  39. package/dist/mcp-iap.js +1 -1
  40. package/dist/migration-runner.d.ts +3 -0
  41. package/dist/migration-runner.d.ts.map +1 -1
  42. package/dist/migration-runner.js +7 -5
  43. package/dist/migration-runner.js.map +1 -1
  44. package/dist/ops-backend.d.ts +46 -0
  45. package/dist/ops-backend.d.ts.map +1 -0
  46. package/dist/ops-backend.js +370 -0
  47. package/dist/ops-backend.js.map +1 -0
  48. package/dist/provisioner-identity.d.ts +103 -0
  49. package/dist/provisioner-identity.d.ts.map +1 -0
  50. package/dist/provisioner-identity.js +323 -0
  51. package/dist/provisioner-identity.js.map +1 -0
  52. package/dist/regions.d.ts.map +1 -1
  53. package/dist/regions.js +2 -1
  54. package/dist/regions.js.map +1 -1
  55. package/dist/release-contract.d.ts +37 -0
  56. package/dist/release-contract.d.ts.map +1 -0
  57. package/dist/release-contract.js +55 -0
  58. package/dist/release-contract.js.map +1 -0
  59. package/dist/release-manifest.d.ts +140 -0
  60. package/dist/release-manifest.d.ts.map +1 -0
  61. package/dist/release-manifest.js +319 -0
  62. package/dist/release-manifest.js.map +1 -0
  63. package/dist/self-command.d.ts +16 -0
  64. package/dist/self-command.d.ts.map +1 -0
  65. package/dist/self-command.js +20 -0
  66. package/dist/self-command.js.map +1 -0
  67. package/dist/self-hosted-release.d.ts +81 -0
  68. package/dist/self-hosted-release.d.ts.map +1 -0
  69. package/dist/self-hosted-release.js +148 -0
  70. package/dist/self-hosted-release.js.map +1 -0
  71. package/dist/self-hosted-upgrade.d.ts +91 -0
  72. package/dist/self-hosted-upgrade.d.ts.map +1 -0
  73. package/dist/self-hosted-upgrade.js +355 -0
  74. package/dist/self-hosted-upgrade.js.map +1 -0
  75. package/dist/stack-contract.js +2 -2
  76. package/dist/stack-converge.d.ts.map +1 -1
  77. package/dist/stack-converge.js +2 -1
  78. package/dist/stack-converge.js.map +1 -1
  79. package/dist/staging-admin.js +3 -3
  80. package/dist/state-backend.d.ts +103 -0
  81. package/dist/state-backend.d.ts.map +1 -0
  82. package/dist/state-backend.js +180 -0
  83. package/dist/state-backend.js.map +1 -0
  84. package/dist/state-store.d.ts +55 -0
  85. package/dist/state-store.d.ts.map +1 -0
  86. package/dist/state-store.js +140 -0
  87. package/dist/state-store.js.map +1 -0
  88. package/dist/upgrade/app-roll.d.ts +164 -0
  89. package/dist/upgrade/app-roll.d.ts.map +1 -0
  90. package/dist/upgrade/app-roll.js +270 -0
  91. package/dist/upgrade/app-roll.js.map +1 -0
  92. package/dist/upgrade/backup.d.ts +48 -0
  93. package/dist/upgrade/backup.d.ts.map +1 -0
  94. package/dist/upgrade/backup.js +71 -0
  95. package/dist/upgrade/backup.js.map +1 -0
  96. package/dist/upgrade/converge.d.ts +45 -0
  97. package/dist/upgrade/converge.d.ts.map +1 -0
  98. package/dist/upgrade/converge.js +287 -0
  99. package/dist/upgrade/converge.js.map +1 -0
  100. package/dist/upgrade/gcp-lookup.d.ts +23 -0
  101. package/dist/upgrade/gcp-lookup.d.ts.map +1 -0
  102. package/dist/upgrade/gcp-lookup.js +95 -0
  103. package/dist/upgrade/gcp-lookup.js.map +1 -0
  104. package/dist/upgrade/health.d.ts +99 -0
  105. package/dist/upgrade/health.d.ts.map +1 -0
  106. package/dist/upgrade/health.js +214 -0
  107. package/dist/upgrade/health.js.map +1 -0
  108. package/dist/upgrade/release-images.d.ts +125 -0
  109. package/dist/upgrade/release-images.d.ts.map +1 -0
  110. package/dist/upgrade/release-images.js +315 -0
  111. package/dist/upgrade/release-images.js.map +1 -0
  112. package/dist/upgrade/reporter.d.ts +17 -0
  113. package/dist/upgrade/reporter.d.ts.map +1 -0
  114. package/dist/upgrade/reporter.js +28 -0
  115. package/dist/upgrade/reporter.js.map +1 -0
  116. package/dist/upgrade/upgrade.d.ts +79 -0
  117. package/dist/upgrade/upgrade.d.ts.map +1 -0
  118. package/dist/upgrade/upgrade.js +105 -0
  119. package/dist/upgrade/upgrade.js.map +1 -0
  120. package/dist/wizard.d.ts.map +1 -1
  121. package/dist/wizard.js +7 -3
  122. package/dist/wizard.js.map +1 -1
  123. package/dist/wizards/gcp-cost.d.ts.map +1 -1
  124. package/dist/wizards/gcp-cost.js +7 -1
  125. package/dist/wizards/gcp-cost.js.map +1 -1
  126. package/dist/wizards/gcp-pulumi.d.ts +99 -8
  127. package/dist/wizards/gcp-pulumi.d.ts.map +1 -1
  128. package/dist/wizards/gcp-pulumi.js +157 -50
  129. package/dist/wizards/gcp-pulumi.js.map +1 -1
  130. package/dist/wizards/gcp.d.ts.map +1 -1
  131. package/dist/wizards/gcp.js +185 -61
  132. package/dist/wizards/gcp.js.map +1 -1
  133. package/package.json +4 -3
  134. package/stacks/aws/README.md +1 -1
  135. package/stacks/gcp/Pulumi.yaml +1 -1
  136. package/stacks/gcp/README.md +1 -1
  137. package/stacks/gcp/index.ts +1 -1
  138. package/stacks/gcp-firebase/Pulumi.yaml +1 -1
  139. package/stacks/gcp-firebase/index.ts +2 -2
  140. package/stacks/self-hosted/README.md +4 -0
  141. package/stacks/self-hosted/index.ts +10 -2
package/dist/cli.js CHANGED
@@ -5,10 +5,16 @@
5
5
  *
6
6
  * Sub-commands:
7
7
  * init [--domain D --owner-email E] — first-time setup; generates
8
- * secrets, writes .caelo/, runs
9
- * `docker compose up -d`, prints
10
- * the bootstrap token URL.
8
+ * secrets, resolves + cosign-verifies
9
+ * the release images, writes .caelo/,
10
+ * prints the start steps + the
11
+ * bootstrap token URL. `--dev` runs a
12
+ * Caelo checkout instead (contributors).
11
13
  * up — re-runs against existing config.
14
+ * migrate — applies DB migrations with the
15
+ * admin image the install runs.
16
+ * upgrade [--version X] — verified, backed-up, health-checked
17
+ * image roll with rollback.
12
18
  * regenerate-caddy — re-emits Caddyfile from the
13
19
  * domains table; runs `caddy reload`.
14
20
  * backup --to <path> — pgBackRest full + MinIO mirror →
@@ -22,19 +28,38 @@
22
28
  */
23
29
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
24
30
  import { resolve } from "node:path";
25
- import { defaultStagingHost, normalizeStagingHost, stagingHostProblem } from "@caelo-cms/shared";
31
+ import { CAELO_VERSION, defaultStagingHost, normalizeStagingHost, stagingHostProblem, } from "@caelo-cms/shared";
26
32
  import { generateBootstrapToken } from "./bootstrap-token.js";
27
33
  import { generateCaddyfile } from "./caddy.js";
28
34
  import { redactCredentials } from "./checkpoint-secrets.js";
29
35
  import { initDelegatesToWizard, resolveCliRoute } from "./cli-routing.js";
30
- import { generateDockerCompose } from "./compose.js";
36
+ import { BOOTSTRAP_DIR, generateDockerCompose, } from "./compose.js";
37
+ import { selfCommand } from "./self-command.js";
38
+ import { bunHostRunner, readRelease, recordRelease, releaseImages, resolveVerifiedRelease, } from "./self-hosted-release.js";
31
39
  import { convergeSelfHostedRoles, decideUp } from "./self-hosted-roles.js";
32
40
  const REPO_ROOT = resolve(import.meta.dir, "../../..");
33
- const CAELO_DIR = resolve(REPO_ROOT, ".caelo");
41
+ /**
42
+ * Whether this CLI runs from a Caelo source checkout (contributor) rather
43
+ * than from an installed package (`bunx @caelo-cms/provisioning` puts it in
44
+ * a package cache, where `../../..` is a `node_modules` dir).
45
+ */
46
+ const IN_REPO_CHECKOUT = existsSync(resolve(REPO_ROOT, "packages/provisioning/package.json")) &&
47
+ existsSync(resolve(REPO_ROOT, "bun.lock"));
48
+ /**
49
+ * The install's `.caelo/` dir: `$CAELO_SELF_HOSTED_DIR` when set; in a
50
+ * checkout the repo's own `.caelo/` (dev mode bind-mounts `../..` from it);
51
+ * otherwise `./.caelo` in the working directory — never inside a package
52
+ * cache, which `bunx` may wipe.
53
+ */
54
+ const CAELO_DIR = process.env.CAELO_SELF_HOSTED_DIR
55
+ ? resolve(process.env.CAELO_SELF_HOSTED_DIR)
56
+ : resolve(IN_REPO_CHECKOUT ? REPO_ROOT : process.cwd(), ".caelo");
34
57
  const CONFIG_PATH = resolve(CAELO_DIR, "config.json");
35
58
  const COMPOSE_PATH = resolve(CAELO_DIR, "docker-compose.yml");
36
59
  const CADDYFILE_PATH = resolve(CAELO_DIR, "Caddyfile");
37
- const PENDING_TOKEN_PATH = resolve(CAELO_DIR, "pending-token.json");
60
+ // The admin container mounts only `.caelo/bootstrap/` (compose.ts), never the
61
+ // secrets next to it, and consumes the token from there on first boot.
62
+ const PENDING_TOKEN_PATH = resolve(CAELO_DIR, BOOTSTRAP_DIR, "pending-token.json");
38
63
  // P15 — `cms-provision init --provider <name>` writes here so subsequent
39
64
  // commands route to the right Pulumi stack. Defaults to "self-hosted"
40
65
  // when missing (preserves the P14 path).
@@ -110,25 +135,9 @@ function emitConfig(cfg, extraDomains = []) {
110
135
  cfg.stagingDomain = defaultStagingHost(cfg.domain);
111
136
  saveConfig(cfg);
112
137
  }
113
- if (!cfg.rolePasswords) {
114
- // `init` sets them and `up` back-fills + applies them before calling here.
115
- throw new Error("config has no rolePasswords — run `cms-provision up`");
116
- }
117
- // Generate compose + Caddyfile from the canonical config.
118
- const compose = generateDockerCompose({
119
- domain: cfg.domain,
120
- postgresPassword: cfg.postgresPassword,
121
- rolePasswords: cfg.rolePasswords,
122
- minioRootUser: cfg.minioRootUser,
123
- minioRootPassword: cfg.minioRootPassword,
124
- caeloSecretKek: cfg.caeloSecretKek,
125
- anthropicApiKey: cfg.anthropicApiKey,
126
- resendApiKey: cfg.resendApiKey,
127
- diskSize: "20Gi",
128
- });
129
- writeFileSync(COMPOSE_PATH, compose);
138
+ writeFileSync(COMPOSE_PATH, renderCompose(cfg, installImages(cfg)), { mode: 0o600 });
130
139
  // Seed the install with the operator's primary domain plus a staging
131
- // sibling. Extra domains added via /security/domains are appended by
140
+ // sibling. Extra domains added via /settings/domains are appended by
132
141
  // regenerate-caddy when it queries the live domains table.
133
142
  const baseDomains = [
134
143
  { hostname: cfg.domain, kind: "admin", env: "production" },
@@ -145,6 +154,44 @@ function emitConfig(cfg, extraDomains = []) {
145
154
  });
146
155
  writeFileSync(CADDYFILE_PATH, caddy);
147
156
  }
157
+ /** The Compose file for `cfg` running `images` (secrets come from config.json). */
158
+ function renderCompose(cfg, images) {
159
+ if (!cfg.rolePasswords) {
160
+ // `init` sets them and `up` back-fills + applies them before calling here.
161
+ throw new Error("config has no rolePasswords — run `cms-provision up`");
162
+ }
163
+ if (!cfg.caeloSecretKek)
164
+ throw new Error("config has no caeloSecretKek — run `cms-provision up`");
165
+ return generateDockerCompose({
166
+ domain: cfg.domain,
167
+ postgresPassword: cfg.postgresPassword,
168
+ rolePasswords: cfg.rolePasswords,
169
+ minioRootUser: cfg.minioRootUser,
170
+ minioRootPassword: cfg.minioRootPassword,
171
+ caeloSecretKek: cfg.caeloSecretKek,
172
+ anthropicApiKey: cfg.anthropicApiKey,
173
+ resendApiKey: cfg.resendApiKey,
174
+ diskSize: "20Gi",
175
+ images,
176
+ });
177
+ }
178
+ /**
179
+ * The admin + gateway images the install runs: the checkout in dev mode,
180
+ * else the digests recorded in release.json. An install with neither (made
181
+ * before #696, still running the repo bind mount) is moved to the prebuilt
182
+ * images by `upgrade` — no silent fallback to the bind mount.
183
+ */
184
+ function installImages(cfg) {
185
+ if (cfg.imageMode === "dev")
186
+ return { mode: "dev" };
187
+ const release = readRelease(CAELO_DIR);
188
+ if (!release) {
189
+ throw new Error(`${CAELO_DIR}/release.json records no release images. This install predates the prebuilt\n` +
190
+ `images (it ran the repo bind mount): run \`${selfCommand("upgrade")}\` to move it to the signed\n` +
191
+ 'release images. (A contributor checkout that wants the bind mount sets "imageMode": "dev" in config.json.)');
192
+ }
193
+ return releaseImages(release);
194
+ }
148
195
  function dedupeDomains(list) {
149
196
  // Two domain entries with the same (hostname, kind) collapse to the
150
197
  // first occurrence — the seed wins over operator additions on a
@@ -178,7 +225,7 @@ async function init() {
178
225
  return;
179
226
  }
180
227
  if (!domain || !ownerEmail) {
181
- console.error("Usage: cms-provision init [--provider self-hosted] --domain example.com [--staging-domain staging.example.com] --owner-email me@example.com\n" +
228
+ console.error("Usage: cms-provision init [--provider self-hosted] --domain example.com [--staging-domain staging.example.com] --owner-email me@example.com [--version x.y.z] [--skip-verify] [--dev]\n" +
182
229
  "Cloud providers (gcp | gcp-firebase | aws | azure) run the wizard: cms-provision --provider <name>");
183
230
  process.exit(2);
184
231
  }
@@ -197,6 +244,33 @@ async function init() {
197
244
  console.error(`--staging-domain: ${stagingProblem}`);
198
245
  process.exit(2);
199
246
  }
247
+ // #696 — the prebuilt release images, resolved to digests and
248
+ // cosign-verified BEFORE anything is written, so a failed check leaves no
249
+ // half-made install. `--dev` (contributors only) runs this checkout instead.
250
+ const dev = process.argv.includes("--dev");
251
+ if (dev && !IN_REPO_CHECKOUT) {
252
+ console.error("--dev runs the admin + gateway from a Caelo source checkout and only works from one\n" +
253
+ "(bun packages/provisioning/src/cli.ts init --dev …). End-user installs omit it.");
254
+ process.exit(2);
255
+ }
256
+ const version = (arg("version") ?? CAELO_VERSION).replace(/^v/, "");
257
+ const skipVerify = process.argv.includes("--skip-verify");
258
+ let images = { mode: "dev" };
259
+ if (!dev) {
260
+ console.log(`Resolving + verifying the Caelo ${version} release images …`);
261
+ const resolved = await resolveVerifiedRelease(version, {
262
+ runner: bunHostRunner,
263
+ skipVerify,
264
+ onProgress: (m) => console.log(` ${m}`),
265
+ });
266
+ if (!resolved.ok) {
267
+ console.error(resolved.error);
268
+ process.exit(1);
269
+ }
270
+ if (skipVerify)
271
+ console.warn("--skip-verify set — image signatures NOT verified.");
272
+ images = resolved.images;
273
+ }
200
274
  saveProvider(providerArg);
201
275
  const cfg = {
202
276
  domain,
@@ -211,8 +285,12 @@ async function init() {
211
285
  caeloSecretKek: randomSecret(32),
212
286
  anthropicApiKey: process.env.ANTHROPIC_API_KEY,
213
287
  resendApiKey: process.env.RESEND_API_KEY,
288
+ imageMode: dev ? "dev" : "release",
214
289
  };
215
290
  saveConfig(cfg);
291
+ if (images.mode === "release") {
292
+ recordRelease(CAELO_DIR, { version, images }, { from: null, to: version, outcome: "installed" });
293
+ }
216
294
  emitConfig(cfg);
217
295
  // Mint the bootstrap token and stage it for hooks.server.ts to insert
218
296
  // on first request. The CLI doesn't talk to Postgres directly because
@@ -220,7 +298,8 @@ async function init() {
220
298
  // first boot, calls owner_bootstrap_tokens.insert, then deletes the
221
299
  // staging file.
222
300
  const tok = generateBootstrapToken();
223
- writeFileSync(PENDING_TOKEN_PATH, JSON.stringify(tok, null, 2));
301
+ mkdirSync(resolve(CAELO_DIR, BOOTSTRAP_DIR), { recursive: true, mode: 0o700 });
302
+ writeFileSync(PENDING_TOKEN_PATH, JSON.stringify(tok, null, 2), { mode: 0o600 });
224
303
  // P15.1 — mint the shared HMAC secret for /api/internal/* endpoints.
225
304
  // Same secret is read by:
226
305
  // - admin app (process.env.CAELO_INTERNAL_SECRET),
@@ -236,10 +315,15 @@ async function init() {
236
315
  console.log(`Wrote ${CADDYFILE_PATH}`);
237
316
  console.log(`Wrote ${PENDING_TOKEN_PATH} (admin will insert on first boot)`);
238
317
  console.log("");
318
+ console.log(images.mode === "release"
319
+ ? `Images: Caelo ${version}, pinned by digest (${images.admin.split("@")[1]?.slice(0, 19)}…)`
320
+ : "Images: DEV MODE — admin + gateway run this checkout (contributors only).");
321
+ console.log("");
239
322
  console.log("Next steps:");
240
- console.log(` cd ${CAELO_DIR}`);
241
- console.log(" docker compose up -d");
242
- console.log(" # Wait ~30s for Postgres + Caddy + ACME");
323
+ console.log(` docker compose -f ${COMPOSE_PATH} up -d postgres`);
324
+ console.log(` ${selfCommand("migrate")} # applies the database migrations`);
325
+ console.log(` docker compose -f ${COMPOSE_PATH} up -d`);
326
+ console.log(" # Wait ~30s for Caddy + ACME");
243
327
  console.log("");
244
328
  console.log("Then visit:");
245
329
  console.log(` https://${domain}/setup?token=${tok.token}`);
@@ -410,7 +494,7 @@ async function status() {
410
494
  if (provider !== "self-hosted") {
411
495
  console.log(`Stack dir: packages/provisioning/stacks/${provider}`);
412
496
  console.log(`State + outputs: pulumi stack output (run from the stack dir)`);
413
- console.log(`Cert + DNS: visit /security/dns in the admin`);
497
+ console.log(`Cert + DNS: visit /settings/dns in the admin`);
414
498
  return;
415
499
  }
416
500
  const cfg = loadConfig();
@@ -422,7 +506,7 @@ async function status() {
422
506
  console.log(`Owner email: ${cfg.ownerEmail}`);
423
507
  console.log(`Config path: ${CONFIG_PATH}`);
424
508
  console.log("Container health: run `docker compose -f .caelo/docker-compose.yml ps`");
425
- console.log("Cert status: visit /security/domains in the admin");
509
+ console.log("Cert status: visit /settings/domains in the admin");
426
510
  }
427
511
  async function backup() {
428
512
  requireSelfHosted("backup");
@@ -579,12 +663,81 @@ async function restore() {
579
663
  }).exited;
580
664
  console.log("Restore complete.");
581
665
  }
666
+ /**
667
+ * #696 — `migrate`: apply the database migrations with the admin image the
668
+ * install runs (a one-off `docker compose run` of its migration entrypoint,
669
+ * as the GCP migrate job does). Postgres must be up; idempotent.
670
+ */
671
+ async function migrate() {
672
+ requireSelfHosted("migrate");
673
+ if (!existsSync(COMPOSE_PATH)) {
674
+ console.error(`no Compose file — run \`${selfCommand("init")}\` first`);
675
+ process.exit(2);
676
+ }
677
+ const { runMigrations } = await import("./self-hosted-upgrade.js");
678
+ const r = await runMigrations(CAELO_DIR, bunHostRunner);
679
+ if (!r.ok) {
680
+ console.error(r.error);
681
+ process.exit(1);
682
+ }
683
+ console.log("Migrations applied (cms_admin + cms_public).");
684
+ }
685
+ /**
686
+ * Whether `upgrade` targets this directory's self-hosted Compose install.
687
+ * `--install <id|domain|all>` always names cloud installs (install.json),
688
+ * so it goes to the lifecycle selector even where a `.caelo/` exists.
689
+ */
690
+ function selfHostedInstallPresent() {
691
+ return (arg("install") === undefined && existsSync(CONFIG_PATH) && loadProvider() === "self-hosted");
692
+ }
693
+ /**
694
+ * #696 — `upgrade` for a self-hosted install: verified digests, pg_dump
695
+ * backup, pull, migrations, admin-then-gateway roll with health checks and
696
+ * rollback (self-hosted-upgrade.ts).
697
+ */
698
+ async function upgradeSelfHostedCommand(opts) {
699
+ const cfg = loadConfig();
700
+ if (!cfg) {
701
+ console.error("no config — run `cms-provision init` first");
702
+ process.exit(2);
703
+ }
704
+ if (cfg.imageMode === "dev") {
705
+ console.error("This is a DEV MODE install: the admin + gateway run your Caelo checkout, so there are\n" +
706
+ "no images to upgrade. Update the checkout (git pull), then `bun packages/provisioning/src/cli.ts migrate` and\n" +
707
+ `\`docker compose -f ${COMPOSE_PATH} restart caelo-admin caelo-gateway\`.`);
708
+ process.exit(2);
709
+ }
710
+ const { upgradeSelfHosted } = await import("./self-hosted-upgrade.js");
711
+ const result = await upgradeSelfHosted(opts, {
712
+ caeloDir: CAELO_DIR,
713
+ runner: bunHostRunner,
714
+ renderCompose: (images) => renderCompose(cfg, images),
715
+ log: {
716
+ step: (m) => console.log(`\n==> ${m}`),
717
+ info: (m) => console.log(` ${m}`),
718
+ warn: (m) => console.warn(` ! ${m}`),
719
+ error: (m) => console.error(` x ${m}`),
720
+ },
721
+ });
722
+ if (result.ok) {
723
+ if (result.status === "upgraded" && cfg.imageMode !== "release") {
724
+ cfg.imageMode = "release";
725
+ saveConfig(cfg);
726
+ }
727
+ return;
728
+ }
729
+ console.error(`\nUpgrade failed at "${result.stage}":\n${result.error}`);
730
+ console.error(result.previousRunning
731
+ ? "The previous release is still the one running."
732
+ : "The install may be degraded — see above.");
733
+ process.exit(1);
734
+ }
582
735
  const cmd = process.argv[2];
583
736
  /**
584
737
  * P15 — `pulumi-output-sync`. Reads `pulumi stack output --json` from
585
738
  * the active stack (cwd or --stack-dir), writes the rendered outputs
586
739
  * into cms_admin.provisioning_outputs via the local `psql` shell-out.
587
- * Run after every `pulumi up` so the admin's /security/dns page picks
740
+ * Run after every `pulumi up` so the admin's /settings/dns page picks
588
741
  * up the latest snapshot.
589
742
  *
590
743
  * Self-hosted installs auto-skip — there's nothing useful to sync since
@@ -667,6 +820,7 @@ const handlers = {
667
820
  init,
668
821
  up,
669
822
  "regenerate-caddy": regenerateCaddy,
823
+ migrate,
670
824
  // §11.C lifecycle dispatchers route by provider via install metadata.
671
825
  // Self-hosted bodies remain reachable as `<command>-self-hosted` for
672
826
  // back-compat scripts that bypassed the dispatcher.
@@ -695,7 +849,6 @@ async function lifecycleStatus() {
695
849
  await statusCommand();
696
850
  }
697
851
  async function lifecycleUpgrade() {
698
- const { upgradeCommand } = await import("./lifecycle.js");
699
852
  // P20 — version + channel flags. Default = latest stable.
700
853
  // bunx @caelo-cms/provisioning upgrade
701
854
  // bunx @caelo-cms/provisioning upgrade --version 0.5.3
@@ -708,14 +861,27 @@ async function lifecycleUpgrade() {
708
861
  ? channelArg
709
862
  : undefined;
710
863
  const skipVerify = process.argv.includes("--skip-verify");
864
+ if (selfHostedInstallPresent()) {
865
+ await upgradeSelfHostedCommand({
866
+ ...(version ? { version } : {}),
867
+ ...(channel ? { channel } : {}),
868
+ ...(skipVerify ? { skipVerify: true } : {}),
869
+ });
870
+ return;
871
+ }
872
+ // #696 — `--skip-health-check` rolls without the post-roll deep health
873
+ // check (Cloud Run readiness only), e.g. for a release that predates it.
874
+ const skipHealthCheck = process.argv.includes("--skip-health-check");
711
875
  // #607 — optional; must match the install's recorded region (upgrade
712
876
  // never moves an install between regions).
713
877
  const region = arg("region");
878
+ const { upgradeCommand } = await import("./lifecycle.js");
714
879
  await upgradeCommand({
715
880
  ...(region ? { region } : {}),
716
881
  ...(version ? { version } : {}),
717
882
  ...(channel ? { channel } : {}),
718
883
  ...(skipVerify ? { skipVerify: true } : {}),
884
+ ...(skipHealthCheck ? { skipHealthCheck: true } : {}),
719
885
  });
720
886
  }
721
887
  async function lifecycleBackup() {
@@ -754,8 +920,6 @@ async function adminDomain() {
754
920
  async function stagingDomain() {
755
921
  await domainMappingCommand("staging");
756
922
  }
757
- /** A bare host name, as `staging_access.staging_host` stores it (migration 0251). */
758
- const STAGING_HOST_SHAPE = /^[a-z0-9.-]{4,253}$/;
759
923
  async function domainMappingCommand(kind) {
760
924
  const command = `${kind}-domain`;
761
925
  const sub = process.argv[3];
@@ -763,7 +927,7 @@ async function domainMappingCommand(kind) {
763
927
  console.log(`Usage: cms-provision ${command} enable [--install <install-id>]${kind === "staging" ? " [--staging-domain <host>] [--rotate-staging-password] [--show-staging-password]" : ""}`);
764
928
  process.exit(2);
765
929
  }
766
- const { installFlag, installStagingHost, listInstalls, selectInstall, writeMetadata } = await import("./install-state.js");
930
+ const { installFlag, installStagingHost, currentMetadata, listInstalls, recordableStagingHost, selectInstall, writeMetadata, } = await import("./install-state.js");
767
931
  const { enableAdminDomain, enableStagingDomain } = await import("./admin-domain.js");
768
932
  // Guessing among several installs could map the domain in the wrong project.
769
933
  const selected = selectInstall(listInstalls().filter((m) => m.projectId), installFlag(process.argv));
@@ -771,7 +935,7 @@ async function domainMappingCommand(kind) {
771
935
  console.error(selected.message);
772
936
  process.exit(1);
773
937
  }
774
- let meta = selected.meta;
938
+ let meta = currentMetadata(selected.meta);
775
939
  // The command to re-run after a stop before the admin was updated: an
776
940
  // explicitly requested host must survive it, or the retry would map the
777
941
  // admin's old host (codex review on #681).
@@ -783,7 +947,7 @@ async function domainMappingCommand(kind) {
783
947
  // #678 — the admin's stored host is the truth; `--staging-domain` is the
784
948
  // operator's explicit change of it. Without the flag a gcp-firebase
785
949
  // install maps the host the admin actually renders (and records it in
786
- // install.json), so a host changed under Security → Domains is never
950
+ // install.json), so a host changed under Settings → Domains is never
787
951
  // undone here. Validated either way: the recorded/default host may
788
952
  // predate a check (e.g. a long default a Cloud Run mapping refuses).
789
953
  const requested = arg("staging-domain");
@@ -815,12 +979,13 @@ async function domainMappingCommand(kind) {
815
979
  retry = domainEnableRetryCommand(command, recorded);
816
980
  // The host may come from the admin's answer (inspect): only a bare host
817
981
  // name — already checked by stagingHostProblem above — reaches
818
- // install.json (the same shape the database column enforces).
819
- if (!STAGING_HOST_SHAPE.test(recorded)) {
982
+ // install.json, and only the value the allow-list hands back is written.
983
+ const stagingDomain = recordableStagingHost(recorded);
984
+ if (stagingDomain === null) {
820
985
  console.error(`${command}: refusing to record staging host ${JSON.stringify(recorded)}.`);
821
986
  process.exit(1);
822
987
  }
823
- meta = { ...meta, stagingDomain: STAGING_HOST_SHAPE.exec(recorded)?.[0] ?? "" };
988
+ meta = { ...meta, stagingDomain };
824
989
  writeMetadata(meta.installId, meta);
825
990
  }
826
991
  if (!meta.projectId)
@@ -982,7 +1147,7 @@ if (route.kind === "handler" || route.kind === "wizard") {
982
1147
  }
983
1148
  }
984
1149
  else {
985
- console.log("Usage: cms-provision [wizard] [--provider <name> --domain <d> [--staging-domain <host>] --owner-email <e> --region <r>] | <init|up|status|upgrade|backup|restore|rotate-secret|truncate|destroy|regenerate-caddy|admin-domain|staging-domain|pulumi-output-sync|version> [options]\n" +
1150
+ console.log("Usage: cms-provision [wizard] [--provider <name> --domain <d> [--staging-domain <host>] --owner-email <e> --region <r>] | <init|up|migrate|status|upgrade|backup|restore|rotate-secret|truncate|destroy|regenerate-caddy|admin-domain|staging-domain|pulumi-output-sync|version> [options]\n" +
986
1151
  "With several installs on this machine, pick one with --install <install-id or domain> (status, upgrade and backup also take --install all); in a terminal you are asked otherwise.\n" +
987
1152
  "Pass --no-wizard with no sub-command to print this usage instead of the wizard.");
988
1153
  process.exit(cmd && !cmd.startsWith("-") ? 2 : 0);
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,3 +1,46 @@
1
+ import { type ReleaseService } from "./upgrade/release-images.js";
2
+ /** The admin + gateway release images, each `ghcr.io/caelo-cms/<svc>@sha256:…`. */
3
+ export interface ReleaseImages {
4
+ readonly mode: "release";
5
+ readonly admin: string;
6
+ readonly gateway: string;
7
+ }
8
+ /**
9
+ * Contributor-only: run the admin + gateway from the Caelo checkout the
10
+ * `.caelo/` dir lives in (bind mount on `oven/bun`). Never for an end-user
11
+ * install — it needs the repo and builds nothing reproducible.
12
+ */
13
+ export interface DevImages {
14
+ readonly mode: "dev";
15
+ }
16
+ export type ComposeImages = ReleaseImages | DevImages;
17
+ /** The admin's HTTP port inside the Compose network (the Caddyfile proxies to it). */
18
+ export declare const COMPOSE_ADMIN_PORT = 5173;
19
+ /** `.caelo/<this>/` holds the pending Owner-bootstrap token the admin consumes. */
20
+ export declare const BOOTSTRAP_DIR = "bootstrap";
21
+ /**
22
+ * Where the host's `.caelo/output/` appears in the admin (read-write, the
23
+ * generator's output root) and in Caddy (read-only). The seeded deploy
24
+ * targets' `out_dir` (`output/<env>`) resolves below it, which is where the
25
+ * Caddyfile's site roots point (`/srv/caelo/output/<env>/current`).
26
+ */
27
+ export declare const SITE_OUTPUT_ROOT = "/srv/caelo";
28
+ /** `.caelo/<this>/` holds the uploaded media (the admin's local media adapter root). */
29
+ export declare const MEDIA_DIR = "media";
30
+ /** Where {@link MEDIA_DIR} appears in the admin container (its `MEDIA_ROOT_DIR`). */
31
+ export declare const MEDIA_ROOT = "/data/media";
32
+ /** The gateway's HTTP port inside the Compose network. */
33
+ export declare const COMPOSE_GATEWAY_PORT = 8090;
34
+ /**
35
+ * `ghcr.io/caelo-cms/<service>@<digest>` — the only image reference shape a
36
+ * release-mode Compose file accepts.
37
+ */
38
+ export declare function ghcrImageRef(service: ReleaseService, digest: string): string;
39
+ /**
40
+ * The digest of a release image reference, or null when `ref` is not a
41
+ * digest-pinned reference to that service's Caelo repository.
42
+ */
43
+ export declare function ghcrImageDigest(service: ReleaseService, ref: string): string | null;
1
44
  /**
2
45
  * The application roles' passwords (bootstrap.sh creates the roles with
3
46
  * them). One per role, so the gateway — which gets only the public and
@@ -32,6 +75,8 @@ export interface ComposeSpec {
32
75
  * busy host never OOM-kills the admin at the limit.
33
76
  */
34
77
  readonly adminMemory?: string;
78
+ /** Which admin + gateway images run (see {@link ComposeImages}). */
79
+ readonly images: ComposeImages;
35
80
  }
36
81
  export declare function generateDockerCompose(spec: ComposeSpec): string;
37
82
  //# sourceMappingURL=compose.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../src/compose.ts"],"names":[],"mappings":"AAcA;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,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,CA4G/D"}
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../src/compose.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAiC,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAEjG,mFAAmF;AACnF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,SAAS,CAAC;AAEtD,sFAAsF;AACtF,eAAO,MAAM,kBAAkB,OAAO,CAAC;AACvC,mFAAmF;AACnF,eAAO,MAAM,aAAa,cAAc,CAAC;AAEzC;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAE7C,wFAAwF;AACxF,eAAO,MAAM,SAAS,UAAU,CAAC;AACjC,qFAAqF;AACrF,eAAO,MAAM,UAAU,gBAAgB,CAAC;AAExC,0DAA0D;AAC1D,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAG5E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKnF;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,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;IAC9B,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAChC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CA2E/D"}