@caelo-cms/provisioning 0.10.55 → 0.10.57

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 (209) hide show
  1. package/dist/agent-db.js +76 -19
  2. package/dist/cli-routing.js +1 -1
  3. package/dist/cli-routing.js.map +1 -1
  4. package/dist/cli.js +4 -1
  5. package/dist/cli.js.map +1 -1
  6. package/dist/compose.js +5 -0
  7. package/dist/compose.js.map +1 -1
  8. package/dist/converge-checkpoint.d.ts +66 -0
  9. package/dist/converge-checkpoint.d.ts.map +1 -0
  10. package/dist/converge-checkpoint.js +61 -0
  11. package/dist/converge-checkpoint.js.map +1 -0
  12. package/dist/converge-job-gcp.d.ts +46 -0
  13. package/dist/converge-job-gcp.d.ts.map +1 -0
  14. package/dist/converge-job-gcp.js +368 -0
  15. package/dist/converge-job-gcp.js.map +1 -0
  16. package/dist/converge-job-setup.d.ts +62 -0
  17. package/dist/converge-job-setup.d.ts.map +1 -0
  18. package/dist/converge-job-setup.js +228 -0
  19. package/dist/converge-job-setup.js.map +1 -0
  20. package/dist/converge-job.d.ts +141 -0
  21. package/dist/converge-job.d.ts.map +1 -0
  22. package/dist/converge-job.js +325 -0
  23. package/dist/converge-job.js.map +1 -0
  24. package/dist/gcp-names.d.ts +9 -0
  25. package/dist/gcp-names.d.ts.map +1 -1
  26. package/dist/gcp-names.js +13 -0
  27. package/dist/gcp-names.js.map +1 -1
  28. package/dist/index.d.ts +2 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +2 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/infra-contract.d.ts +1 -1
  33. package/dist/infra-contract.d.ts.map +1 -1
  34. package/dist/infra-contract.js +22 -1
  35. package/dist/infra-contract.js.map +1 -1
  36. package/dist/install-job.d.ts +11 -3
  37. package/dist/install-job.d.ts.map +1 -1
  38. package/dist/install-job.js +22 -12
  39. package/dist/install-job.js.map +1 -1
  40. package/dist/lifecycle.d.ts +13 -1
  41. package/dist/lifecycle.d.ts.map +1 -1
  42. package/dist/lifecycle.js +115 -58
  43. package/dist/lifecycle.js.map +1 -1
  44. package/dist/operator-access.d.ts.map +1 -1
  45. package/dist/operator-access.js +13 -3
  46. package/dist/operator-access.js.map +1 -1
  47. package/dist/release-contract.d.ts +3 -2
  48. package/dist/release-contract.d.ts.map +1 -1
  49. package/dist/release-contract.js +5 -2
  50. package/dist/release-contract.js.map +1 -1
  51. package/dist/release-manifest.d.ts +2 -0
  52. package/dist/release-manifest.d.ts.map +1 -1
  53. package/dist/release-manifest.js.map +1 -1
  54. package/dist/remote-mcp-edge.d.ts +114 -0
  55. package/dist/remote-mcp-edge.d.ts.map +1 -0
  56. package/dist/remote-mcp-edge.js +116 -0
  57. package/dist/remote-mcp-edge.js.map +1 -0
  58. package/dist/remote-mcp.d.ts +117 -0
  59. package/dist/remote-mcp.d.ts.map +1 -0
  60. package/dist/remote-mcp.js +379 -0
  61. package/dist/remote-mcp.js.map +1 -0
  62. package/dist/runtime-secrets.d.ts +12 -0
  63. package/dist/runtime-secrets.d.ts.map +1 -1
  64. package/dist/runtime-secrets.js +32 -4
  65. package/dist/runtime-secrets.js.map +1 -1
  66. package/dist/seal-key-rotation.d.ts +38 -0
  67. package/dist/seal-key-rotation.d.ts.map +1 -0
  68. package/dist/seal-key-rotation.js +206 -0
  69. package/dist/seal-key-rotation.js.map +1 -0
  70. package/dist/stack-contract.d.ts +167 -3
  71. package/dist/stack-contract.d.ts.map +1 -1
  72. package/dist/stack-contract.js +171 -3
  73. package/dist/stack-contract.js.map +1 -1
  74. package/dist/stack-converge.d.ts +38 -1
  75. package/dist/stack-converge.d.ts.map +1 -1
  76. package/dist/stack-converge.js +74 -4
  77. package/dist/stack-converge.js.map +1 -1
  78. package/dist/state-lock-lease.d.ts +142 -0
  79. package/dist/state-lock-lease.d.ts.map +1 -0
  80. package/dist/state-lock-lease.js +347 -0
  81. package/dist/state-lock-lease.js.map +1 -0
  82. package/dist/state-store.d.ts +66 -9
  83. package/dist/state-store.d.ts.map +1 -1
  84. package/dist/state-store.js +249 -30
  85. package/dist/state-store.js.map +1 -1
  86. package/dist/upgrade/app-roll.d.ts +36 -7
  87. package/dist/upgrade/app-roll.d.ts.map +1 -1
  88. package/dist/upgrade/app-roll.js +53 -19
  89. package/dist/upgrade/app-roll.js.map +1 -1
  90. package/dist/upgrade/converge.d.ts.map +1 -1
  91. package/dist/upgrade/converge.js +111 -9
  92. package/dist/upgrade/converge.js.map +1 -1
  93. package/dist/upgrade/gcp-lookup.d.ts +27 -10
  94. package/dist/upgrade/gcp-lookup.d.ts.map +1 -1
  95. package/dist/upgrade/gcp-lookup.js +46 -7
  96. package/dist/upgrade/gcp-lookup.js.map +1 -1
  97. package/dist/upgrade/record-rolled.d.ts +40 -0
  98. package/dist/upgrade/record-rolled.d.ts.map +1 -0
  99. package/dist/upgrade/record-rolled.js +46 -0
  100. package/dist/upgrade/record-rolled.js.map +1 -0
  101. package/dist/upgrade/upgrade.d.ts +45 -1
  102. package/dist/upgrade/upgrade.d.ts.map +1 -1
  103. package/dist/upgrade/upgrade.js +60 -17
  104. package/dist/upgrade/upgrade.js.map +1 -1
  105. package/dist/upgrader-assess.d.ts +15 -1
  106. package/dist/upgrader-assess.d.ts.map +1 -1
  107. package/dist/upgrader-assess.js +36 -6
  108. package/dist/upgrader-assess.js.map +1 -1
  109. package/dist/upgrader-gcp.d.ts +15 -0
  110. package/dist/upgrader-gcp.d.ts.map +1 -1
  111. package/dist/upgrader-gcp.js +42 -7
  112. package/dist/upgrader-gcp.js.map +1 -1
  113. package/dist/upgrader-iam-preflight.d.ts +123 -0
  114. package/dist/upgrader-iam-preflight.d.ts.map +1 -0
  115. package/dist/upgrader-iam-preflight.js +414 -0
  116. package/dist/upgrader-iam-preflight.js.map +1 -0
  117. package/dist/upgrader-job.d.ts +33 -9
  118. package/dist/upgrader-job.d.ts.map +1 -1
  119. package/dist/upgrader-job.js +169 -27
  120. package/dist/upgrader-job.js.map +1 -1
  121. package/dist/upgrader-records.d.ts +58 -0
  122. package/dist/upgrader-records.d.ts.map +1 -0
  123. package/dist/upgrader-records.js +87 -0
  124. package/dist/upgrader-records.js.map +1 -0
  125. package/dist/upgrader-reporter.d.ts +3 -2
  126. package/dist/upgrader-reporter.d.ts.map +1 -1
  127. package/dist/upgrader-reporter.js +10 -2
  128. package/dist/upgrader-reporter.js.map +1 -1
  129. package/dist/upgrader-setup.d.ts +25 -3
  130. package/dist/upgrader-setup.d.ts.map +1 -1
  131. package/dist/upgrader-setup.js +123 -11
  132. package/dist/upgrader-setup.js.map +1 -1
  133. package/dist/wizards/gcp-cost.d.ts.map +1 -1
  134. package/dist/wizards/gcp-cost.js +11 -3
  135. package/dist/wizards/gcp-cost.js.map +1 -1
  136. package/dist/wizards/gcp.d.ts.map +1 -1
  137. package/dist/wizards/gcp.js +99 -4
  138. package/dist/wizards/gcp.js.map +1 -1
  139. package/package.json +2 -2
  140. package/src/agent/run.test.ts +14 -1
  141. package/src/cli-routing.ts +1 -1
  142. package/src/cli.ts +4 -1
  143. package/src/compose.ts +5 -0
  144. package/src/converge-checkpoint.ts +75 -0
  145. package/src/converge-entrypoint.test.ts +213 -0
  146. package/src/converge-job-gcp.test.ts +222 -0
  147. package/src/converge-job-gcp.ts +443 -0
  148. package/src/converge-job-setup.test.ts +152 -0
  149. package/src/converge-job-setup.ts +268 -0
  150. package/src/converge-job.test.ts +486 -0
  151. package/src/converge-job.ts +542 -0
  152. package/src/gateway-env-isolation.test.ts +8 -1
  153. package/src/gcp-names.ts +15 -0
  154. package/src/gcp-url-map.test.ts +9 -1
  155. package/src/index.ts +8 -0
  156. package/src/infra-contract.test.ts +7 -4
  157. package/src/infra-contract.ts +22 -1
  158. package/src/install-job.test.ts +3 -1
  159. package/src/install-job.ts +31 -14
  160. package/src/lifecycle.ts +137 -71
  161. package/src/operator-access.test.ts +14 -0
  162. package/src/operator-access.ts +13 -3
  163. package/src/release-contract.ts +5 -2
  164. package/src/release-manifest.test.ts +42 -0
  165. package/src/release-manifest.ts +2 -0
  166. package/src/remote-mcp-edge.ts +137 -0
  167. package/src/remote-mcp.test.ts +517 -0
  168. package/src/remote-mcp.ts +460 -0
  169. package/src/runtime-secrets.test.ts +31 -6
  170. package/src/runtime-secrets.ts +41 -3
  171. package/src/seal-key-rotation.test.ts +131 -0
  172. package/src/seal-key-rotation.ts +258 -0
  173. package/src/stack-contract-parity.test.ts +20 -3
  174. package/src/stack-contract.test.ts +30 -2
  175. package/src/stack-contract.ts +291 -3
  176. package/src/stack-converge-secrets.test.ts +3 -0
  177. package/src/stack-converge.test.ts +21 -5
  178. package/src/stack-converge.ts +101 -7
  179. package/src/state-attach.test.ts +7 -1
  180. package/src/state-lock-lease.test.ts +302 -0
  181. package/src/state-lock-lease.ts +423 -0
  182. package/src/state-lock.test.ts +568 -0
  183. package/src/state-store.ts +347 -27
  184. package/src/upgrade/app-roll.ts +96 -21
  185. package/src/upgrade/converge.ts +130 -8
  186. package/src/upgrade/gcp-lookup.test.ts +80 -0
  187. package/src/upgrade/gcp-lookup.ts +65 -8
  188. package/src/upgrade/record-rolled.test.ts +105 -0
  189. package/src/upgrade/record-rolled.ts +91 -0
  190. package/src/upgrade/upgrade.test.ts +203 -3
  191. package/src/upgrade/upgrade.ts +120 -24
  192. package/src/upgrader-assess.test.ts +92 -3
  193. package/src/upgrader-assess.ts +58 -9
  194. package/src/upgrader-gcp.ts +47 -8
  195. package/src/upgrader-iam-preflight.test.ts +393 -0
  196. package/src/upgrader-iam-preflight.ts +510 -0
  197. package/src/upgrader-job.test.ts +586 -15
  198. package/src/upgrader-job.ts +237 -53
  199. package/src/upgrader-records.ts +151 -0
  200. package/src/upgrader-reporter.test.ts +6 -0
  201. package/src/upgrader-reporter.ts +7 -2
  202. package/src/upgrader-setup.test.ts +3 -3
  203. package/src/upgrader-setup.ts +128 -11
  204. package/src/wizards/gcp-cost.ts +12 -3
  205. package/src/wizards/gcp.ts +125 -4
  206. package/stacks/aws/index.ts +10 -0
  207. package/stacks/azure/index.ts +9 -0
  208. package/stacks/gcp/index.ts +46 -7
  209. package/stacks/gcp-firebase/index.ts +37 -6
@@ -1 +1 @@
1
- {"version":3,"file":"gcp.js","sourceRoot":"","sources":["../../src/wizards/gcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gcp.js","sourceRoot":"","sources":["../../src/wizards/gcp.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@caelo-cms/provisioning",
3
- "version": "0.10.55",
3
+ "version": "0.10.57",
4
4
  "private": false,
5
5
  "license": "MPL-2.0",
6
6
  "description": "Pulumi-driven provisioning for Caelo CMS — `bunx @caelo-cms/provisioning --provider <self-hosted|gcp|aws|azure>` brings up a TLS-served install with Postgres + storage + secrets manager + the admin + the API gateway.",
@@ -40,7 +40,7 @@
40
40
  "prepublishOnly": "tsc -b --force && bun build ../platform-updater/src/agent-db.ts --target=bun --outfile=dist/agent-db.js && tsc --project stacks/gcp/tsconfig.json && tsc --project stacks/gcp-firebase/tsconfig.json"
41
41
  },
42
42
  "dependencies": {
43
- "@caelo-cms/shared": "^0.10.55",
43
+ "@caelo-cms/shared": "^0.10.57",
44
44
  "@clack/prompts": "1.8.1",
45
45
  "@pulumi/command": "^1",
46
46
  "@pulumi/gcp": "^10",
@@ -240,10 +240,23 @@ describe("runAgentOnce", () => {
240
240
  {
241
241
  name: "the registry is unreachable",
242
242
  over: {
243
- fetchManifest: async () => ({ ok: false, error: { code: "registry", message: "dns" } }),
243
+ fetchManifest: async () => ({
244
+ ok: false,
245
+ error: { code: "registry", message: "dns", transient: true },
246
+ }),
244
247
  },
245
248
  expect: "failed/registry",
246
249
  },
250
+ {
251
+ name: "the target has no signed manifest (404)",
252
+ over: {
253
+ fetchManifest: async () => ({
254
+ ok: false,
255
+ error: { code: "registry", message: "no release manifest (HTTP 404)" },
256
+ }),
257
+ },
258
+ expect: "refused/manifest-missing",
259
+ },
247
260
  {
248
261
  name: "a downgrade",
249
262
  over: { readInstalled: () => ({ ...INSTALLED, version: "0.12.0" }) },
@@ -111,7 +111,7 @@ export const CLI_COMMANDS: readonly CliCommandDoc[] = [
111
111
  },
112
112
  {
113
113
  name: "rotate-secret",
114
- args: "<name>",
114
+ args: "<name> [--finish [--now]]",
115
115
  summary: "Rotate one of the install's runtime secrets; run without a name to list them.",
116
116
  },
117
117
  {
package/src/cli.ts CHANGED
@@ -1216,7 +1216,10 @@ async function lifecycleBackup(): Promise<void> {
1216
1216
  }
1217
1217
  async function lifecycleRotateSecret(): Promise<void> {
1218
1218
  const { rotateSecretCommand } = await import("./lifecycle.js");
1219
- await rotateSecretCommand(process.argv[3]);
1219
+ await rotateSecretCommand(process.argv[3], {
1220
+ finish: process.argv.includes("--finish"),
1221
+ now: process.argv.includes("--now"),
1222
+ });
1220
1223
  }
1221
1224
  async function lifecycleDestroy(): Promise<void> {
1222
1225
  const { destroyCommand } = await import("./lifecycle.js");
package/src/compose.ts CHANGED
@@ -400,6 +400,11 @@ ${serviceRuntime(spec.images, "gateway", "bun run apps/api-gateway/src/server.ts
400
400
  GATEWAY_PORT: "${COMPOSE_GATEWAY_PORT}"
401
401
  # Caddy is the one proxy in front (client-ip.ts in the gateway).
402
402
  ${TRUSTED_PROXY_HOPS_ENV}: "${GATEWAY_TRUSTED_PROXY_HOPS["self-hosted"]}"
403
+ # #806 — no remote MCP here: it rides Google IAP, which this install
404
+ # does not have. CAELO_ADMIN_URL / CAELO_MCP_PUBLIC_URL /
405
+ # CAELO_MCP_OAUTH_CLIENT_FILE stay unset, so the gateway's /api/mcp/*
406
+ # answers 503 remote_mcp_not_configured and Settings → MCP says
407
+ # "not available on this install".
403
408
  NODE_ENV: production`;
404
409
  }
405
410
 
@@ -0,0 +1,75 @@
1
+ // SPDX-License-Identifier: MPL-2.0
2
+
3
+ /**
4
+ * The converge job's checkpoint (#819): `converge/converge-job.json` in the
5
+ * install's ops bucket. NOT under `install/` next to install.json: the
6
+ * upgrader's service account may write `install/` (its object grant is
7
+ * conditioned on that prefix, upgrader-setup.ts), and this file steers a
8
+ * run as the provisioner — its backup and rollback targets would be
9
+ * tamperable from there (#883 review). Only the provisioner and the
10
+ * operator, who hold the whole bucket, can write `converge/`. It has the
11
+ * install job's status shape
12
+ * (install-job.ts {@link InstallJobStatusSchema}: which execution runs, its
13
+ * phase, whether it finished) plus what a killed run's successor must
14
+ * reuse instead of recomputing:
15
+ *
16
+ * - `targetVersion` / `fromVersion`: the update it belongs to. A run for
17
+ * another target starts fresh; a run for the same target resumes;
18
+ * - `backup`: the pre-upgrade backup (a new one could hold the
19
+ * half-migrated schema);
20
+ * - `priorRevisions`: the revisions that served before the update (the
21
+ * rollback targets; the serving one may already be the new release's).
22
+ *
23
+ * Whether a successor starts, attaches or is done is {@link decideInstallJob}'s
24
+ * call, as for the install job. No secret ever lands here (assertNoSecrets).
25
+ */
26
+
27
+ import { z } from "zod";
28
+ import { InstallJobStatusSchema, readJobStatusDoc, writeJobStatusDoc } from "./install-job.js";
29
+ import type { SyncGcloud } from "./state-store.js";
30
+
31
+ const VERSION = /^[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z.-]+)?$/;
32
+
33
+ export const ConvergeCheckpointSchema = InstallJobStatusSchema.extend({
34
+ /** The release this converge installs. */
35
+ targetVersion: z.string().regex(VERSION),
36
+ /** install.json's release when the update first started (the version it is judged from). */
37
+ fromVersion: z.string().regex(VERSION),
38
+ /** The update request it serves (the last one that ran it). */
39
+ requestId: z.string().uuid(),
40
+ backup: z
41
+ .object({
42
+ projectId: z.string().min(1),
43
+ instance: z.string().min(1),
44
+ backupId: z.string().min(1),
45
+ })
46
+ .optional(),
47
+ priorRevisions: z.object({ admin: z.string().min(1), gateway: z.string().min(1) }).optional(),
48
+ });
49
+ /**
50
+ * The ops-bucket prefix of the converge job's own files — outside the
51
+ * upgrader's `install/` grant on purpose (see the file comment).
52
+ */
53
+ export const CONVERGE_STATE_PREFIX = "converge";
54
+
55
+ /** What `converge/converge-job.json` records. */
56
+ export type ConvergeCheckpoint = z.infer<typeof ConvergeCheckpointSchema>;
57
+
58
+ /** `gs://<bucket>/converge/converge-job.json`. */
59
+ export function convergeCheckpointUrl(bucket: string): string {
60
+ return `gs://${bucket}/${CONVERGE_STATE_PREFIX}/converge-job.json`;
61
+ }
62
+
63
+ /** The checkpoint as the bucket holds it now (never cached), or null. */
64
+ export function readConvergeCheckpoint(bucket: string, run: SyncGcloud): ConvergeCheckpoint | null {
65
+ return readJobStatusDoc(convergeCheckpointUrl(bucket), ConvergeCheckpointSchema, run);
66
+ }
67
+
68
+ /** Replace the checkpoint. */
69
+ export function writeConvergeCheckpoint(
70
+ bucket: string,
71
+ checkpoint: ConvergeCheckpoint,
72
+ run: SyncGcloud,
73
+ ): void {
74
+ writeJobStatusDoc(convergeCheckpointUrl(bucket), ConvergeCheckpointSchema, checkpoint, run);
75
+ }
@@ -0,0 +1,213 @@
1
+ // SPDX-License-Identifier: MPL-2.0
2
+
3
+ /**
4
+ * #883 review — the converge job runs as caelo-provisioner, so an
5
+ * execution override must be useless even if someone held
6
+ * run.jobs.runWithOverrides:
7
+ *
8
+ * - the job's entry point (ops/caelo-converge-job) refuses every argument
9
+ * but `converge-job` before any code runs;
10
+ * - it starts the job with an empty environment plus a fixed allowlist,
11
+ * so CLOUDSDK_*, PULUMI_*, BUN_*, LD_* overrides never reach gcloud,
12
+ * Pulumi or Bun;
13
+ * - and nobody is granted a role that carries runWithOverrides: not the
14
+ * upgrader (anywhere), not the admin (on the converge or upgrader job).
15
+ *
16
+ * The script runs here under /bin/sh with its final `bun …` target swapped
17
+ * for `env`, so the test sees exactly the environment the job would get.
18
+ */
19
+
20
+ import { describe, expect, it } from "bun:test";
21
+ import { chmodSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
22
+ import { tmpdir } from "node:os";
23
+ import { join, resolve } from "node:path";
24
+ import { CONVERGE_ADMIN_ROLES, convergeJobDeployArgs } from "./converge-job-setup.js";
25
+ import type { GcloudResult } from "./gcloud.js";
26
+ import {
27
+ ensureUpgraderJob,
28
+ RUN_WITH_OVERRIDES_ROLES,
29
+ UPGRADER_FORBIDDEN_ROLES,
30
+ UPGRADER_PROJECT_ROLES,
31
+ UPGRADER_RUN_ROLE,
32
+ } from "./upgrader-setup.js";
33
+
34
+ const SCRIPT = resolve(import.meta.dir, "..", "ops", "caelo-converge-job");
35
+ const TARGET_LINE = "bun /opt/caelo-ops/packages/platform-updater/src/converge-main.ts";
36
+
37
+ /** The entry point with its final target replaced by `env` (prints the environment). */
38
+ function scriptPrintingEnv(dir: string): string {
39
+ const text = readFileSync(SCRIPT, "utf8");
40
+ expect(text.split(TARGET_LINE).length).toBe(2);
41
+ const path = join(dir, "caelo-converge-job");
42
+ writeFileSync(path, text.replace(TARGET_LINE, "env"));
43
+ chmodSync(path, 0o755);
44
+ return path;
45
+ }
46
+
47
+ function runScript(path: string, args: string[], env: Record<string, string>) {
48
+ const r = Bun.spawnSync(["/bin/sh", path, ...args], {
49
+ env,
50
+ stdout: "pipe",
51
+ stderr: "pipe",
52
+ });
53
+ return { code: r.exitCode, out: r.stdout.toString(), err: r.stderr.toString() };
54
+ }
55
+
56
+ describe("ops/caelo-converge-job (the converge job's entry point)", () => {
57
+ it("refuses every argument list but exactly `converge-job`, before any code runs", () => {
58
+ const dir = mkdtempSync(join(tmpdir(), "caelo-entry-"));
59
+ try {
60
+ const path = scriptPrintingEnv(dir);
61
+ for (const args of [
62
+ [],
63
+ ["destroy"],
64
+ ["owner-reset", "--email", "evil@example.com"],
65
+ ["rotate-secret"],
66
+ ["converge-job", "--extra"],
67
+ ["upgrader"],
68
+ ]) {
69
+ const r = runScript(path, args, { PATH: "/usr/bin:/bin" });
70
+ expect(r.code).toBe(64);
71
+ expect(r.err).toContain("refused");
72
+ expect(r.out).toBe("");
73
+ }
74
+ } finally {
75
+ rmSync(dir, { recursive: true, force: true });
76
+ }
77
+ });
78
+
79
+ it("starts the job with a scrubbed environment: overrides never reach gcloud, Pulumi or Bun", () => {
80
+ const dir = mkdtempSync(join(tmpdir(), "caelo-entry-"));
81
+ try {
82
+ const r = runScript(scriptPrintingEnv(dir), ["converge-job"], {
83
+ PATH: "/usr/bin:/bin",
84
+ CLOUDSDK_API_ENDPOINT_OVERRIDES_RUN: "https://evil.example/",
85
+ CLOUDSDK_AUTH_ACCESS_TOKEN: "stolen",
86
+ PULUMI_BACKEND_URL: "gs://evil",
87
+ PULUMI_CONFIG_PASSPHRASE: "x",
88
+ BUN_OPTIONS: "--preload=/tmp/x.ts",
89
+ LD_PRELOAD: "/tmp/x.so",
90
+ NODE_OPTIONS: "--require=/tmp/x.js",
91
+ CLOUD_RUN_EXECUTION: "caelo-production-converge-abc12",
92
+ CLOUD_RUN_JOB: "caelo-production-converge",
93
+ });
94
+ expect(r.code).toBe(0);
95
+ const env = Object.fromEntries(
96
+ r.out
97
+ .trim()
98
+ .split("\n")
99
+ .map((l) => [l.slice(0, l.indexOf("=")), l.slice(l.indexOf("=") + 1)]),
100
+ );
101
+ expect(Object.keys(env).sort()).toEqual(
102
+ [
103
+ "CLOUDSDK_COMPONENT_MANAGER_DISABLE_UPDATE_CHECK",
104
+ "CLOUDSDK_CORE_DISABLE_PROMPTS",
105
+ "CLOUD_RUN_EXECUTION",
106
+ "CLOUD_RUN_JOB",
107
+ "CLOUD_RUN_TASK_ATTEMPT",
108
+ "CLOUD_RUN_TASK_COUNT",
109
+ "CLOUD_RUN_TASK_INDEX",
110
+ "HOME",
111
+ "PATH",
112
+ "PULUMI_SKIP_UPDATE_CHECK",
113
+ ].sort(),
114
+ );
115
+ expect(env.CLOUD_RUN_EXECUTION).toBe("caelo-production-converge-abc12");
116
+ expect(env.PATH).toBe("/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin");
117
+ } finally {
118
+ rmSync(dir, { recursive: true, force: true });
119
+ }
120
+ });
121
+
122
+ it("the deployed job runs exactly that entry point with that one argument", () => {
123
+ const args = convergeJobDeployArgs({
124
+ projectId: "acme",
125
+ region: "europe-west1",
126
+ env: "production",
127
+ opsImageRef: `x/ops@sha256:${"c".repeat(64)}`,
128
+ network: "n",
129
+ subnet: "s",
130
+ });
131
+ expect(args).toContain("--command=caelo-converge-job");
132
+ expect(args).toContain("--args=converge-job");
133
+ expect(args).toContain("--clear-env-vars");
134
+ });
135
+ });
136
+
137
+ describe("no upgrader or admin role carries run.jobs.runWithOverrides (#883 review)", () => {
138
+ it("the forbidden list covers every predefined role that does", () => {
139
+ for (const role of [
140
+ "roles/run.developer",
141
+ "roles/run.admin",
142
+ "roles/run.invoker",
143
+ "roles/run.jobsExecutorWithOverrides",
144
+ "roles/editor",
145
+ "roles/owner",
146
+ ]) {
147
+ expect(RUN_WITH_OVERRIDES_ROLES).toContain(role as (typeof RUN_WITH_OVERRIDES_ROLES)[number]);
148
+ expect(UPGRADER_FORBIDDEN_ROLES.some((f) => role.startsWith(f))).toBe(true);
149
+ }
150
+ });
151
+
152
+ it("the upgrader's own Cloud Run role leaves it out", () => {
153
+ expect(UPGRADER_RUN_ROLE.permissions).not.toContain("run.jobs.runWithOverrides");
154
+ expect(UPGRADER_RUN_ROLE.permissions.some((p) => /setIamPolicy|actAs/.test(p))).toBe(false);
155
+ for (const role of UPGRADER_PROJECT_ROLES) {
156
+ expect(RUN_WITH_OVERRIDES_ROLES as readonly string[]).not.toContain(role);
157
+ }
158
+ });
159
+
160
+ it("setup grants the upgrader no such role, and removes the run.developer an earlier setup gave it", async () => {
161
+ const calls: string[][] = [];
162
+ const ok = (stdout = ""): GcloudResult => ({ ok: true, stdout, stderr: "", exitCode: 0 });
163
+ const fail = (stderr: string): GcloudResult => ({ ok: false, stdout: "", stderr, exitCode: 1 });
164
+ const upgrader = "serviceAccount:caelo-production-upgrader@acme.iam.gserviceaccount.com";
165
+ const rules: [RegExp, GcloudResult][] = [
166
+ [/^iam roles describe/, fail("NOT_FOUND")],
167
+ [/^iam service-accounts describe/, ok("x")],
168
+ [
169
+ /^projects get-iam-policy/,
170
+ ok(JSON.stringify({ bindings: [{ role: "roles/run.developer", members: [upgrader] }] })),
171
+ ],
172
+ [/^sql instances list/, ok("caelo-production-pg-abc\n")],
173
+ [/^sql instances describe/, ok('{"settings":{"databaseFlags":[]}}')],
174
+ [/^sql users list/, ok("")],
175
+ ];
176
+ const run = async (args: string[]) => {
177
+ calls.push(args);
178
+ return rules.find(([re]) => re.test(args.join(" ")))?.[1] ?? ok("");
179
+ };
180
+ const r = await ensureUpgraderJob(
181
+ {
182
+ projectId: "acme",
183
+ region: "europe-west1",
184
+ env: "production",
185
+ opsImageRef: `x/ops@sha256:${"c".repeat(64)}`,
186
+ network: "n",
187
+ subnet: "s",
188
+ },
189
+ { run, sleep: async () => {} },
190
+ );
191
+ expect(r.ok).toBe(true);
192
+ const roleOf = (c: string[]) => c.find((a) => a.startsWith("--role="))?.slice(7) ?? "";
193
+ const granted = calls.filter((c) => c.includes("add-iam-policy-binding")).map(roleOf);
194
+ for (const role of granted) {
195
+ expect(RUN_WITH_OVERRIDES_ROLES as readonly string[]).not.toContain(role);
196
+ }
197
+ const removed = calls.filter((c) => c.includes("remove-iam-policy-binding"));
198
+ expect(removed.map((c) => `${roleOf(c)} ${c.find((a) => a.startsWith("--member="))}`)).toEqual([
199
+ `roles/run.developer --member=${upgrader}`,
200
+ ]);
201
+ // The custom role is bound before the old one is removed.
202
+ const bindRun = calls.findIndex((c) => roleOf(c) === "projects/acme/roles/caeloUpgraderRun");
203
+ const removeDev = calls.findIndex((c) => c.includes("remove-iam-policy-binding"));
204
+ expect(bindRun).toBeGreaterThan(-1);
205
+ expect(bindRun).toBeLessThan(removeDev);
206
+ });
207
+
208
+ it("the admin's roles on the converge job carry none", () => {
209
+ for (const role of CONVERGE_ADMIN_ROLES) {
210
+ expect(RUN_WITH_OVERRIDES_ROLES as readonly string[]).not.toContain(role);
211
+ }
212
+ });
213
+ });