@caelo-cms/provisioning 0.10.53 → 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.
- package/dist/agent-db.js +272 -128
- package/dist/audit-job-setup.d.ts +69 -0
- package/dist/audit-job-setup.d.ts.map +1 -0
- package/dist/audit-job-setup.js +317 -0
- package/dist/audit-job-setup.js.map +1 -0
- package/dist/caddy.d.ts +9 -0
- package/dist/caddy.d.ts.map +1 -1
- package/dist/caddy.js +38 -0
- package/dist/caddy.js.map +1 -1
- package/dist/cli-routing.js +1 -1
- package/dist/cli-routing.js.map +1 -1
- package/dist/cli.js +36 -9
- package/dist/cli.js.map +1 -1
- package/dist/compose.js +5 -0
- package/dist/compose.js.map +1 -1
- package/dist/converge-checkpoint.d.ts +66 -0
- package/dist/converge-checkpoint.d.ts.map +1 -0
- package/dist/converge-checkpoint.js +61 -0
- package/dist/converge-checkpoint.js.map +1 -0
- package/dist/converge-job-gcp.d.ts +46 -0
- package/dist/converge-job-gcp.d.ts.map +1 -0
- package/dist/converge-job-gcp.js +368 -0
- package/dist/converge-job-gcp.js.map +1 -0
- package/dist/converge-job-setup.d.ts +62 -0
- package/dist/converge-job-setup.d.ts.map +1 -0
- package/dist/converge-job-setup.js +228 -0
- package/dist/converge-job-setup.js.map +1 -0
- package/dist/converge-job.d.ts +141 -0
- package/dist/converge-job.d.ts.map +1 -0
- package/dist/converge-job.js +325 -0
- package/dist/converge-job.js.map +1 -0
- package/dist/gcp-names.d.ts +25 -1
- package/dist/gcp-names.d.ts.map +1 -1
- package/dist/gcp-names.js +36 -0
- package/dist/gcp-names.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/infra-contract.d.ts +1 -1
- package/dist/infra-contract.d.ts.map +1 -1
- package/dist/infra-contract.js +28 -1
- package/dist/infra-contract.js.map +1 -1
- package/dist/install-job.d.ts +11 -3
- package/dist/install-job.d.ts.map +1 -1
- package/dist/install-job.js +22 -12
- package/dist/install-job.js.map +1 -1
- package/dist/lifecycle.d.ts +13 -1
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/lifecycle.js +115 -58
- package/dist/lifecycle.js.map +1 -1
- package/dist/operator-access.d.ts.map +1 -1
- package/dist/operator-access.js +13 -3
- package/dist/operator-access.js.map +1 -1
- package/dist/private-file.d.ts +26 -0
- package/dist/private-file.d.ts.map +1 -0
- package/dist/private-file.js +49 -0
- package/dist/private-file.js.map +1 -0
- package/dist/release-contract.d.ts +3 -2
- package/dist/release-contract.d.ts.map +1 -1
- package/dist/release-contract.js +8 -2
- package/dist/release-contract.js.map +1 -1
- package/dist/release-manifest.d.ts +2 -0
- package/dist/release-manifest.d.ts.map +1 -1
- package/dist/release-manifest.js.map +1 -1
- package/dist/remote-mcp-edge.d.ts +114 -0
- package/dist/remote-mcp-edge.d.ts.map +1 -0
- package/dist/remote-mcp-edge.js +116 -0
- package/dist/remote-mcp-edge.js.map +1 -0
- package/dist/remote-mcp.d.ts +117 -0
- package/dist/remote-mcp.d.ts.map +1 -0
- package/dist/remote-mcp.js +379 -0
- package/dist/remote-mcp.js.map +1 -0
- package/dist/runtime-secrets.d.ts +12 -0
- package/dist/runtime-secrets.d.ts.map +1 -1
- package/dist/runtime-secrets.js +32 -4
- package/dist/runtime-secrets.js.map +1 -1
- package/dist/seal-key-rotation.d.ts +38 -0
- package/dist/seal-key-rotation.d.ts.map +1 -0
- package/dist/seal-key-rotation.js +206 -0
- package/dist/seal-key-rotation.js.map +1 -0
- package/dist/stack-contract.d.ts +175 -3
- package/dist/stack-contract.d.ts.map +1 -1
- package/dist/stack-contract.js +183 -3
- package/dist/stack-contract.js.map +1 -1
- package/dist/stack-converge.d.ts +38 -1
- package/dist/stack-converge.d.ts.map +1 -1
- package/dist/stack-converge.js +74 -4
- package/dist/stack-converge.js.map +1 -1
- package/dist/state-lock-lease.d.ts +142 -0
- package/dist/state-lock-lease.d.ts.map +1 -0
- package/dist/state-lock-lease.js +347 -0
- package/dist/state-lock-lease.js.map +1 -0
- package/dist/state-store.d.ts +66 -9
- package/dist/state-store.d.ts.map +1 -1
- package/dist/state-store.js +249 -30
- package/dist/state-store.js.map +1 -1
- package/dist/tar-entries.d.ts.map +1 -1
- package/dist/tar-entries.js +84 -9
- package/dist/tar-entries.js.map +1 -1
- package/dist/upgrade/app-roll.d.ts +36 -7
- package/dist/upgrade/app-roll.d.ts.map +1 -1
- package/dist/upgrade/app-roll.js +88 -19
- package/dist/upgrade/app-roll.js.map +1 -1
- package/dist/upgrade/audit-job-roll.d.ts +38 -0
- package/dist/upgrade/audit-job-roll.d.ts.map +1 -0
- package/dist/upgrade/audit-job-roll.js +43 -0
- package/dist/upgrade/audit-job-roll.js.map +1 -0
- package/dist/upgrade/converge.d.ts.map +1 -1
- package/dist/upgrade/converge.js +141 -8
- package/dist/upgrade/converge.js.map +1 -1
- package/dist/upgrade/gcp-lookup.d.ts +27 -10
- package/dist/upgrade/gcp-lookup.d.ts.map +1 -1
- package/dist/upgrade/gcp-lookup.js +46 -7
- package/dist/upgrade/gcp-lookup.js.map +1 -1
- package/dist/upgrade/record-rolled.d.ts +40 -0
- package/dist/upgrade/record-rolled.d.ts.map +1 -0
- package/dist/upgrade/record-rolled.js +46 -0
- package/dist/upgrade/record-rolled.js.map +1 -0
- package/dist/upgrade/upgrade.d.ts +45 -1
- package/dist/upgrade/upgrade.d.ts.map +1 -1
- package/dist/upgrade/upgrade.js +60 -17
- package/dist/upgrade/upgrade.js.map +1 -1
- package/dist/upgrader-assess.d.ts +15 -1
- package/dist/upgrader-assess.d.ts.map +1 -1
- package/dist/upgrader-assess.js +36 -6
- package/dist/upgrader-assess.js.map +1 -1
- package/dist/upgrader-gcp.d.ts +15 -0
- package/dist/upgrader-gcp.d.ts.map +1 -1
- package/dist/upgrader-gcp.js +42 -7
- package/dist/upgrader-gcp.js.map +1 -1
- package/dist/upgrader-iam-preflight.d.ts +123 -0
- package/dist/upgrader-iam-preflight.d.ts.map +1 -0
- package/dist/upgrader-iam-preflight.js +414 -0
- package/dist/upgrader-iam-preflight.js.map +1 -0
- package/dist/upgrader-job.d.ts +33 -9
- package/dist/upgrader-job.d.ts.map +1 -1
- package/dist/upgrader-job.js +169 -27
- package/dist/upgrader-job.js.map +1 -1
- package/dist/upgrader-records.d.ts +58 -0
- package/dist/upgrader-records.d.ts.map +1 -0
- package/dist/upgrader-records.js +87 -0
- package/dist/upgrader-records.js.map +1 -0
- package/dist/upgrader-reporter.d.ts +3 -2
- package/dist/upgrader-reporter.d.ts.map +1 -1
- package/dist/upgrader-reporter.js +10 -2
- package/dist/upgrader-reporter.js.map +1 -1
- package/dist/upgrader-setup.d.ts +25 -3
- package/dist/upgrader-setup.d.ts.map +1 -1
- package/dist/upgrader-setup.js +132 -14
- package/dist/upgrader-setup.js.map +1 -1
- package/dist/wizards/gcp-cost.d.ts.map +1 -1
- package/dist/wizards/gcp-cost.js +14 -6
- package/dist/wizards/gcp-cost.js.map +1 -1
- package/dist/wizards/gcp-pulumi.d.ts +6 -0
- package/dist/wizards/gcp-pulumi.d.ts.map +1 -1
- package/dist/wizards/gcp-pulumi.js +7 -0
- package/dist/wizards/gcp-pulumi.js.map +1 -1
- package/dist/wizards/gcp.d.ts.map +1 -1
- package/dist/wizards/gcp.js +130 -4
- package/dist/wizards/gcp.js.map +1 -1
- package/package.json +4 -4
- package/src/agent/run.test.ts +15 -1
- package/src/audit-job-setup.test.ts +234 -0
- package/src/audit-job-setup.ts +360 -0
- package/src/caddy-redirects.docker.test.ts +19 -6
- package/src/caddy.test.ts +30 -0
- package/src/caddy.ts +43 -0
- package/src/cli-init-validation.test.ts +44 -0
- package/src/cli-routing.ts +1 -1
- package/src/cli.ts +40 -8
- package/src/compose.ts +5 -0
- package/src/converge-checkpoint.ts +75 -0
- package/src/converge-entrypoint.test.ts +213 -0
- package/src/converge-job-gcp.test.ts +222 -0
- package/src/converge-job-gcp.ts +443 -0
- package/src/converge-job-setup.test.ts +152 -0
- package/src/converge-job-setup.ts +268 -0
- package/src/converge-job.test.ts +486 -0
- package/src/converge-job.ts +542 -0
- package/src/gateway-env-isolation.test.ts +8 -1
- package/src/gcp-names.ts +43 -1
- package/src/gcp-url-map.test.ts +9 -1
- package/src/index.ts +8 -0
- package/src/infra-contract.test.ts +7 -4
- package/src/infra-contract.ts +28 -1
- package/src/install-job.test.ts +3 -1
- package/src/install-job.ts +31 -14
- package/src/lifecycle.ts +137 -71
- package/src/operator-access.test.ts +14 -0
- package/src/operator-access.ts +13 -3
- package/src/private-file.test.ts +80 -0
- package/src/private-file.ts +50 -0
- package/src/release-contract.ts +8 -2
- package/src/release-manifest.test.ts +42 -0
- package/src/release-manifest.ts +2 -0
- package/src/remote-mcp-edge.ts +137 -0
- package/src/remote-mcp.test.ts +517 -0
- package/src/remote-mcp.ts +460 -0
- package/src/runtime-secrets.test.ts +31 -6
- package/src/runtime-secrets.ts +41 -3
- package/src/seal-key-rotation.test.ts +131 -0
- package/src/seal-key-rotation.ts +258 -0
- package/src/stack-contract-parity.test.ts +20 -3
- package/src/stack-contract.test.ts +34 -2
- package/src/stack-contract.ts +305 -3
- package/src/stack-converge-secrets.test.ts +3 -0
- package/src/stack-converge.test.ts +21 -5
- package/src/stack-converge.ts +101 -7
- package/src/state-attach.test.ts +7 -1
- package/src/state-lock-lease.test.ts +302 -0
- package/src/state-lock-lease.ts +423 -0
- package/src/state-lock.test.ts +568 -0
- package/src/state-store.ts +347 -27
- package/src/tar-entries.test.ts +149 -7
- package/src/tar-entries.ts +90 -9
- package/src/upgrade/app-roll.ts +135 -21
- package/src/upgrade/audit-job-roll.ts +68 -0
- package/src/upgrade/converge.ts +170 -7
- package/src/upgrade/gcp-lookup.test.ts +80 -0
- package/src/upgrade/gcp-lookup.ts +65 -8
- package/src/upgrade/record-rolled.test.ts +105 -0
- package/src/upgrade/record-rolled.ts +91 -0
- package/src/upgrade/upgrade.test.ts +279 -5
- package/src/upgrade/upgrade.ts +120 -24
- package/src/upgrader-assess.test.ts +93 -3
- package/src/upgrader-assess.ts +58 -9
- package/src/upgrader-gcp.ts +47 -8
- package/src/upgrader-iam-preflight.test.ts +393 -0
- package/src/upgrader-iam-preflight.ts +510 -0
- package/src/upgrader-job.test.ts +587 -15
- package/src/upgrader-job.ts +237 -53
- package/src/upgrader-records.ts +151 -0
- package/src/upgrader-reporter.test.ts +6 -0
- package/src/upgrader-reporter.ts +7 -2
- package/src/upgrader-setup.test.ts +4 -3
- package/src/upgrader-setup.ts +137 -13
- package/src/wizards/gcp-cost.ts +15 -6
- package/src/wizards/gcp-pulumi.ts +7 -0
- package/src/wizards/gcp.ts +162 -4
- package/stacks/aws/index.ts +18 -0
- package/stacks/azure/index.ts +18 -0
- package/stacks/gcp/index.ts +59 -7
- package/stacks/gcp-firebase/index.ts +50 -6
package/dist/upgrader-setup.js
CHANGED
|
@@ -16,12 +16,23 @@
|
|
|
16
16
|
* The job's own service account, `caelo-<env>-upgrader`, may do exactly
|
|
17
17
|
* what an app-roll needs (upgrade/app-roll.ts):
|
|
18
18
|
*
|
|
19
|
-
* - `
|
|
20
|
-
*
|
|
21
|
-
*
|
|
19
|
+
* - the custom role `caeloUpgraderRun` on the project
|
|
20
|
+
* ({@link UPGRADER_RUN_ROLE}): deploy admin/gateway revisions, move
|
|
21
|
+
* traffic, recreate and run the migration job, update its own job image.
|
|
22
|
+
* NOT `roles/run.developer`: that role holds `run.jobs.runWithOverrides`
|
|
23
|
+
* on every job of the project, including the converge job and the
|
|
24
|
+
* install job, which run as `caelo-provisioner` — the upgrader could run
|
|
25
|
+
* them with its own args (destroy, owner-reset) or env (CLOUDSDK_*,
|
|
26
|
+
* PULUMI_*) and so act as the provisioner (#883 review). The custom role
|
|
27
|
+
* has no `runWithOverrides` and no `*.setIamPolicy`. Updating another
|
|
28
|
+
* job (the converge job's image, say) additionally needs `actAs` on its
|
|
29
|
+
* service account, which the upgrader holds only on the admin, gateway
|
|
30
|
+
* and its own. A grant of `roles/run.developer` left by an earlier
|
|
31
|
+
* setup is removed.
|
|
22
32
|
* - `roles/iam.serviceAccountUser` on exactly the admin's and the
|
|
23
|
-
* gateway's runtime service accounts (a revision runs as them)
|
|
24
|
-
* itself (its own job)
|
|
33
|
+
* gateway's runtime service accounts (a revision runs as them), on
|
|
34
|
+
* itself (its own job) and on the quality-audit job's account (the
|
|
35
|
+
* app-roll moves that job's image, #875) — not on the project.
|
|
25
36
|
* - the custom role `caeloUpgraderSqlBackup`: create/read Cloud SQL
|
|
26
37
|
* backups and read the instance — no restore, no instance changes.
|
|
27
38
|
* - `roles/cloudsql.instanceUser` + a Cloud SQL IAM database user that
|
|
@@ -44,11 +55,24 @@
|
|
|
44
55
|
* is a converge, which only the operator runs ("Run in Cloud Shell").
|
|
45
56
|
* {@link UPGRADER_FORBIDDEN_ROLES} names that line; the tests assert no
|
|
46
57
|
* grant crosses it.
|
|
58
|
+
*
|
|
59
|
+
* Direct VPC egress (#818): the migration job and both services run with
|
|
60
|
+
* `--network/--subnet`. Google documents the compute permissions that needs
|
|
61
|
+
* (`compute.subnetworks.use`, `compute.addresses.createInternal`, …) on the
|
|
62
|
+
* Cloud Run service agent, which `roles/run.serviceAgent` already gives it
|
|
63
|
+
* (cloud.google.com/run/docs/configuring/vpc-direct-vpc), not on the
|
|
64
|
+
* principal that deploys. So the upgrader gets no compute role; the
|
|
65
|
+
* real-GCP upgrader smoke test (.github/workflows/upgrader-smoke.yml) shows
|
|
66
|
+
* it once a stable release was installed on the smoke install through
|
|
67
|
+
* Settings → Updates (the next tag cannot ship before). Every permission
|
|
68
|
+
* the job needs is checked by the job itself before it changes anything
|
|
69
|
+
* (upgrader-iam-preflight.ts);
|
|
70
|
+
* a grant added or removed here must keep that list in step.
|
|
47
71
|
*/
|
|
48
72
|
import { ensureCloudSqlIamUser } from "./cloudsql-iam-user.js";
|
|
49
73
|
import { gcloud as defaultGcloud } from "./gcloud.js";
|
|
50
74
|
import { realSleep, runWithRetry } from "./gcloud-retry.js";
|
|
51
|
-
import { gatewayServiceAccountEmail, mcpIapServiceAccountEmail, runServiceAccountEmail, upgraderJobName, upgraderServiceAccountEmail, upgraderServiceAccountId, } from "./gcp-names.js";
|
|
75
|
+
import { auditServiceAccountEmail, gatewayServiceAccountEmail, mcpIapServiceAccountEmail, runServiceAccountEmail, upgraderJobName, upgraderServiceAccountEmail, upgraderServiceAccountId, } from "./gcp-names.js";
|
|
52
76
|
import { readAdminConfig } from "./migration-runner.js";
|
|
53
77
|
import { customRoleName, ensureCustomRole } from "./operator-access.js";
|
|
54
78
|
import { OPS_INSTALL_PREFIX, opsBucketName } from "./state-backend.js";
|
|
@@ -75,21 +99,67 @@ export const UPGRADER_OPS_LIST_ROLE = {
|
|
|
75
99
|
description: "Lets the Caelo upgrader job list object names in the install's ops bucket (gcloud storage cp needs it). Names only; object reads/writes stay limited to install/.",
|
|
76
100
|
permissions: ["storage.objects.list"],
|
|
77
101
|
};
|
|
78
|
-
/**
|
|
102
|
+
/**
|
|
103
|
+
* What an app-roll does on Cloud Run (upgrade/app-roll.ts, migration-runner.ts,
|
|
104
|
+
* the self-update, the #815 lock lease) — `roles/run.developer` minus
|
|
105
|
+
* everything else, above all `run.jobs.runWithOverrides` (see the file
|
|
106
|
+
* header). Keep in step with upgrader-iam-preflight.ts.
|
|
107
|
+
*/
|
|
108
|
+
export const UPGRADER_RUN_ROLE = {
|
|
109
|
+
roleId: "caeloUpgraderRun",
|
|
110
|
+
title: "Caelo upgrader: roll Cloud Run",
|
|
111
|
+
description: "Lets the Caelo upgrader job deploy admin/gateway revisions, run the migration job and update its own image. Cannot start any job with changed arguments or env, cannot change IAM.",
|
|
112
|
+
permissions: [
|
|
113
|
+
"run.configurations.get",
|
|
114
|
+
"run.configurations.list",
|
|
115
|
+
"run.executions.get",
|
|
116
|
+
"run.executions.list",
|
|
117
|
+
"run.jobs.create",
|
|
118
|
+
"run.jobs.delete",
|
|
119
|
+
"run.jobs.get",
|
|
120
|
+
"run.jobs.list",
|
|
121
|
+
"run.jobs.run",
|
|
122
|
+
"run.jobs.update",
|
|
123
|
+
"run.operations.get",
|
|
124
|
+
"run.revisions.get",
|
|
125
|
+
"run.revisions.list",
|
|
126
|
+
"run.routes.get",
|
|
127
|
+
"run.routes.list",
|
|
128
|
+
"run.services.get",
|
|
129
|
+
"run.services.list",
|
|
130
|
+
"run.services.update",
|
|
131
|
+
"run.tasks.get",
|
|
132
|
+
"run.tasks.list",
|
|
133
|
+
],
|
|
134
|
+
};
|
|
135
|
+
/** Project-level predefined roles of the upgrader's service account. */
|
|
79
136
|
export const UPGRADER_PROJECT_ROLES = [
|
|
80
|
-
"roles/run.developer",
|
|
81
137
|
"roles/cloudsql.instanceUser",
|
|
82
138
|
"roles/logging.logWriter",
|
|
83
139
|
];
|
|
140
|
+
/**
|
|
141
|
+
* Predefined roles that hold `run.jobs.runWithOverrides`. Neither the
|
|
142
|
+
* upgrader nor the admin may hold any of them anywhere: with it, either
|
|
143
|
+
* could run the converge or install job — which run as caelo-provisioner —
|
|
144
|
+
* with its own arguments or environment (#883 review).
|
|
145
|
+
*/
|
|
146
|
+
export const RUN_WITH_OVERRIDES_ROLES = [
|
|
147
|
+
"roles/owner",
|
|
148
|
+
"roles/editor",
|
|
149
|
+
"roles/run.admin",
|
|
150
|
+
"roles/run.developer",
|
|
151
|
+
"roles/run.invoker",
|
|
152
|
+
"roles/run.jobsExecutorWithOverrides",
|
|
153
|
+
];
|
|
154
|
+
/** A project-level grant an earlier setup gave the upgrader; removed on every setup. */
|
|
155
|
+
const LEGACY_UPGRADER_PROJECT_ROLES = ["roles/run.developer"];
|
|
84
156
|
/**
|
|
85
157
|
* Roles the upgrader must never hold anywhere — they would let it change
|
|
86
158
|
* IAM, manage service accounts or secrets, or touch compute/projects.
|
|
87
159
|
* Prefix matches (`roles/compute.` = every compute role).
|
|
88
160
|
*/
|
|
89
161
|
export const UPGRADER_FORBIDDEN_ROLES = [
|
|
90
|
-
|
|
91
|
-
"roles/editor",
|
|
92
|
-
"roles/run.admin",
|
|
162
|
+
...RUN_WITH_OVERRIDES_ROLES,
|
|
93
163
|
"roles/iam.serviceAccountAdmin",
|
|
94
164
|
"roles/iam.serviceAccountKeyAdmin",
|
|
95
165
|
"roles/iam.securityAdmin",
|
|
@@ -105,8 +175,13 @@ export const UPGRADER_FORBIDDEN_ROLES = [
|
|
|
105
175
|
];
|
|
106
176
|
/** Database role migration 0267 creates for the job. */
|
|
107
177
|
export const UPGRADER_DB_ROLE = "platform_updater";
|
|
108
|
-
/**
|
|
109
|
-
|
|
178
|
+
/**
|
|
179
|
+
* The job's task timeout in minutes: enough for a backup + roll; the job
|
|
180
|
+
* ends within it. It is also the lease on the state lock the job takes
|
|
181
|
+
* (#815, state-lock-lease.ts): after it, Cloud Run has killed the run.
|
|
182
|
+
*/
|
|
183
|
+
export const UPGRADER_TASK_TIMEOUT_MINUTES = 60;
|
|
184
|
+
const JOB_TASK_TIMEOUT = `${UPGRADER_TASK_TIMEOUT_MINUTES}m`;
|
|
110
185
|
/** The ops bucket condition: install.json and progress.json, not the Pulumi state. */
|
|
111
186
|
export function installStateCondition(bucket) {
|
|
112
187
|
return `expression=resource.name.startsWith("projects/_/buckets/${bucket}/objects/${OPS_INSTALL_PREFIX}/"),title=caelo-upgrader-install-state,description=Only the install metadata under ${OPS_INSTALL_PREFIX}/`;
|
|
@@ -154,7 +229,7 @@ export async function ensureUpgraderJob(target, deps = {}) {
|
|
|
154
229
|
};
|
|
155
230
|
}
|
|
156
231
|
// 1. The backup and ops-bucket-list roles.
|
|
157
|
-
for (const role of [UPGRADER_SQL_BACKUP_ROLE, UPGRADER_OPS_LIST_ROLE]) {
|
|
232
|
+
for (const role of [UPGRADER_RUN_ROLE, UPGRADER_SQL_BACKUP_ROLE, UPGRADER_OPS_LIST_ROLE]) {
|
|
158
233
|
const roleError = await ensureCustomRole(run, projectId, role);
|
|
159
234
|
if (roleError)
|
|
160
235
|
return { ok: false, done, error: roleError };
|
|
@@ -186,6 +261,7 @@ export async function ensureUpgraderJob(target, deps = {}) {
|
|
|
186
261
|
// 3. Project-level roles.
|
|
187
262
|
for (const role of [
|
|
188
263
|
...UPGRADER_PROJECT_ROLES,
|
|
264
|
+
customRoleName(projectId, UPGRADER_RUN_ROLE.roleId),
|
|
189
265
|
customRoleName(projectId, UPGRADER_SQL_BACKUP_ROLE.roleId),
|
|
190
266
|
]) {
|
|
191
267
|
const r = await retry([
|
|
@@ -202,6 +278,37 @@ export async function ensureUpgraderJob(target, deps = {}) {
|
|
|
202
278
|
return fail(`grant the upgrader ${role}`, r);
|
|
203
279
|
done.push(`upgrader: ${role} on the project`);
|
|
204
280
|
}
|
|
281
|
+
// 3b. The project-wide roles/run.developer an earlier setup granted holds
|
|
282
|
+
// run.jobs.runWithOverrides on the provisioner's jobs: take it away.
|
|
283
|
+
// Only after the custom role above is bound, so a running upgrade
|
|
284
|
+
// never loses its Cloud Run rights in between.
|
|
285
|
+
const policy = await run(["projects", "get-iam-policy", projectId, "--format=json"]);
|
|
286
|
+
if (!policy.ok)
|
|
287
|
+
return fail("read the project's IAM policy", policy);
|
|
288
|
+
for (const role of LEGACY_UPGRADER_PROJECT_ROLES) {
|
|
289
|
+
let held;
|
|
290
|
+
try {
|
|
291
|
+
held = projectPolicyHas(policy.stdout, role, member);
|
|
292
|
+
}
|
|
293
|
+
catch (e) {
|
|
294
|
+
return { ok: false, done, error: `read the project's IAM policy: ${String(e)}` };
|
|
295
|
+
}
|
|
296
|
+
if (!held)
|
|
297
|
+
continue;
|
|
298
|
+
const r = await retry([
|
|
299
|
+
"projects",
|
|
300
|
+
"remove-iam-policy-binding",
|
|
301
|
+
projectId,
|
|
302
|
+
`--member=${member}`,
|
|
303
|
+
`--role=${role}`,
|
|
304
|
+
"--all",
|
|
305
|
+
"--quiet",
|
|
306
|
+
"--format=none",
|
|
307
|
+
]);
|
|
308
|
+
if (!r.ok)
|
|
309
|
+
return fail(`remove the upgrader's ${role}`, r);
|
|
310
|
+
done.push(`upgrader: removed ${role} on the project`);
|
|
311
|
+
}
|
|
205
312
|
// 4. Resource-level grants on single service accounts.
|
|
206
313
|
const onAccounts = [
|
|
207
314
|
{
|
|
@@ -215,6 +322,11 @@ export async function ensureUpgraderJob(target, deps = {}) {
|
|
|
215
322
|
why: "gateway revisions run as it",
|
|
216
323
|
},
|
|
217
324
|
{ account: sa, role: "roles/iam.serviceAccountUser", why: "the job updates its own image" },
|
|
325
|
+
{
|
|
326
|
+
account: auditServiceAccountEmail(projectId, env),
|
|
327
|
+
role: "roles/iam.serviceAccountUser",
|
|
328
|
+
why: "the app-roll moves the quality-audit job, which runs as it, onto the new image",
|
|
329
|
+
},
|
|
218
330
|
{
|
|
219
331
|
account: mcpIapServiceAccountEmail(projectId),
|
|
220
332
|
role: "roles/iam.serviceAccountTokenCreator",
|
|
@@ -324,6 +436,12 @@ export async function ensureUpgraderJob(target, deps = {}) {
|
|
|
324
436
|
}
|
|
325
437
|
return { ok: true, done };
|
|
326
438
|
}
|
|
439
|
+
/** Whether a gcloud IAM policy (JSON) grants `role` to `member`. */
|
|
440
|
+
export function projectPolicyHas(policyJson, role, member) {
|
|
441
|
+
// Throws on unreadable JSON: the caller reports it, never guesses "absent".
|
|
442
|
+
const policy = JSON.parse(policyJson.trim() || "{}");
|
|
443
|
+
return (policy.bindings ?? []).some((b) => b.role === role && (b.members ?? []).includes(member));
|
|
444
|
+
}
|
|
327
445
|
/**
|
|
328
446
|
* {@link ensureUpgraderJob}'s target, with the VPC read from the deployed
|
|
329
447
|
* admin service (the job reaches Cloud SQL's private IP the same way).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrader-setup.js","sourceRoot":"","sources":["../src/upgrader-setup.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAEnC
|
|
1
|
+
{"version":3,"file":"upgrader-setup.js","sourceRoot":"","sources":["../src/upgrader-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gcp-cost.d.ts","sourceRoot":"","sources":["../../src/wizards/gcp-cost.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,KAAK,GAAG,cAAc,CAAC;IAClC,8FAA8F;IAC9F,MAAM,EAAE,MAAM,CAAC;CAChB;AAmBD,wBAAgB,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG;IAC3D,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;CACpB,
|
|
1
|
+
{"version":3,"file":"gcp-cost.d.ts","sourceRoot":"","sources":["../../src/wizards/gcp-cost.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,KAAK,GAAG,cAAc,CAAC;IAClC,8FAA8F;IAC9F,MAAM,EAAE,MAAM,CAAC;CAChB;AAmBD,wBAAgB,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG;IAC3D,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;CACpB,CAiIA"}
|
package/dist/wizards/gcp-cost.js
CHANGED
|
@@ -57,9 +57,9 @@ export function estimateGcpCost(inputs) {
|
|
|
57
57
|
: `${inputs.adminMinInstances} min-instance${inputs.adminMinInstances > 1 ? "s" : ""} (no cold start)`,
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
|
-
name: "Quality checks (
|
|
61
|
-
monthlyUsd:
|
|
62
|
-
notes: "
|
|
60
|
+
name: "Quality checks (Cloud Run audit job)",
|
|
61
|
+
monthlyUsd: 2,
|
|
62
|
+
notes: "one container per Lighthouse run, all in parallel (up to 5 pages x 3 runs, ~90 s at 2 vCPU each): ~$0.05 per audited Stage, partly in the free tier; results bucket ~$0",
|
|
63
63
|
},
|
|
64
64
|
{
|
|
65
65
|
name: "Cloud Run gateway",
|
|
@@ -92,6 +92,14 @@ export function estimateGcpCost(inputs) {
|
|
|
92
92
|
? "Adaptive protection (ML-based bot mitigation)"
|
|
93
93
|
: "Free tier — rate limit + OWASP basic rules",
|
|
94
94
|
},
|
|
95
|
+
{
|
|
96
|
+
// #806 — the remote-MCP throttle (src/remote-mcp-edge.ts) is one
|
|
97
|
+
// more rule on the gateway's policy; Cloud Armor Standard bills
|
|
98
|
+
// each rule at about $1/mo.
|
|
99
|
+
name: "Cloud Armor rule: remote MCP throttle",
|
|
100
|
+
monthlyUsd: 1,
|
|
101
|
+
notes: "Per-IP throttle for /api/mcp/* (remote MCP clients)",
|
|
102
|
+
},
|
|
95
103
|
]
|
|
96
104
|
: [
|
|
97
105
|
{
|
|
@@ -108,9 +116,9 @@ export function estimateGcpCost(inputs) {
|
|
|
108
116
|
notes: "~5 GB storage + low egress; growth roughly $0.02/GB",
|
|
109
117
|
},
|
|
110
118
|
{
|
|
111
|
-
name: "Secret Manager (
|
|
112
|
-
monthlyUsd: 0,
|
|
113
|
-
notes: "
|
|
119
|
+
name: "Secret Manager (runtime secrets)",
|
|
120
|
+
monthlyUsd: 0.2,
|
|
121
|
+
notes: "6 active versions free, then ~$0.06 each; remote MCP (#806) adds the OAuth client and its seal key",
|
|
114
122
|
},
|
|
115
123
|
{
|
|
116
124
|
name: "BigQuery edge log sink",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gcp-cost.js","sourceRoot":"","sources":["../../src/wizards/gcp-cost.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAEnC;;;;;;;;;GASG;AAEH,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAgC/E,uDAAuD;AACvD,MAAM,aAAa,GAAG,cAAc,CAAC;AAErC,MAAM,YAAY,GAA2B;IAC3C,+CAA+C;IAC/C,aAAa,EAAE,GAAG;IAClB,aAAa,EAAE,EAAE;IACjB,qCAAqC;IACrC,uBAAuB,EAAE,EAAE;IAC3B,uBAAuB,EAAE,EAAE;IAC3B,uBAAuB,EAAE,GAAG;IAC5B,kCAAkC;IAClC,kBAAkB,EAAE,EAAE;IACtB,kBAAkB,EAAE,EAAE;IACtB,mBAAmB,EAAE,GAAG;CACzB,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,MAA0B;IAMxD,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IACxD,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC;IAEvD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC;IAC1C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,oBAAoB,CAAC;IAC/D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAChD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,gBAAgB,WAAW,uCAAuC,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC;IACjC,wEAAwE;IACxE,mDAAmD;IACnD,MAAM,iBAAiB,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;IAE/D,MAAM,KAAK,GAAe;QACxB;YACE,IAAI,EAAE,uBAAuB,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG;YACrF,UAAU,EAAE,UAAU;YACtB,KAAK,EAAE,MAAM,CAAC,UAAU;gBACtB,CAAC,CAAC,6CAA6C;gBAC/C,CAAC,CAAC,wCAAwC;SAC7C;QACD;YACE,IAAI,EAAE,oBAAoB,WAAW,GAAG;YACxC,UAAU,EACR,MAAM,CAAC,iBAAiB,KAAK,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;YAClE,KAAK,EACH,MAAM,CAAC,iBAAiB,KAAK,CAAC;gBAC5B,CAAC,CAAC,2CAA2C;gBAC7C,CAAC,CAAC,GAAG,MAAM,CAAC,iBAAiB,gBAAgB,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,kBAAkB;SAC3G;QACD;YACE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"gcp-cost.js","sourceRoot":"","sources":["../../src/wizards/gcp-cost.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,12 @@ export declare const GCP_STACK_KNOB_DEFAULTS: {
|
|
|
13
13
|
readonly adminMemory: "2Gi";
|
|
14
14
|
readonly gatewayMinInstances: 0;
|
|
15
15
|
readonly wafAdaptiveProtection: false;
|
|
16
|
+
/**
|
|
17
|
+
* #875 — audit tasks at once. Not stack config: the audit job is
|
|
18
|
+
* CLI-owned (audit-job-setup.ts), so the wizard passes it to the job and
|
|
19
|
+
* `upgrade` keeps whatever the job has.
|
|
20
|
+
*/
|
|
21
|
+
readonly auditParallelism: 15;
|
|
16
22
|
};
|
|
17
23
|
export interface PulumiUpInputs {
|
|
18
24
|
installId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gcp-pulumi.d.ts","sourceRoot":"","sources":["../../src/wizards/gcp-pulumi.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"gcp-pulumi.d.ts","sourceRoot":"","sources":["../../src/wizards/gcp-pulumi.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { resolve as resolvePath } from "node:path";
|
|
13
13
|
import * as pulumi from "@pulumi/pulumi/automation";
|
|
14
|
+
import { AUDIT_PARALLELISM_DEFAULT } from "../audit-job-setup.js";
|
|
14
15
|
import { checkpointableOutputs } from "../checkpoint-secrets.js";
|
|
15
16
|
import { GCP_STACK_ENV } from "../gcp-names.js";
|
|
16
17
|
import { AMBIENT_GOOGLE_CREDENTIAL_ENV, withoutAmbientGoogleCredentials, } from "../provisioner-identity.js";
|
|
@@ -28,6 +29,12 @@ export const GCP_STACK_KNOB_DEFAULTS = {
|
|
|
28
29
|
adminMemory: ADMIN_MEMORY_DEFAULT,
|
|
29
30
|
gatewayMinInstances: 0,
|
|
30
31
|
wafAdaptiveProtection: false,
|
|
32
|
+
/**
|
|
33
|
+
* #875 — audit tasks at once. Not stack config: the audit job is
|
|
34
|
+
* CLI-owned (audit-job-setup.ts), so the wizard passes it to the job and
|
|
35
|
+
* `upgrade` keeps whatever the job has.
|
|
36
|
+
*/
|
|
37
|
+
auditParallelism: AUDIT_PARALLELISM_DEFAULT,
|
|
31
38
|
};
|
|
32
39
|
/**
|
|
33
40
|
* Resolve the GCP stack workdir relative to the installed package.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gcp-pulumi.js","sourceRoot":"","sources":["../../src/wizards/gcp-pulumi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gcp-pulumi.js","sourceRoot":"","sources":["../../src/wizards/gcp-pulumi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gcp.d.ts","sourceRoot":"","sources":["../../src/wizards/gcp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gcp.d.ts","sourceRoot":"","sources":["../../src/wizards/gcp.ts"],"names":[],"mappings":"AAyGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAOL,KAAK,eAAe,EAErB,MAAM,qBAAqB,CAAC;AAc7B,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,KAAK,GAAG,cAAc,CAAC;IAClC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA2HrE;AAKD,wCAAwC;AACxC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,cAAc,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,uEAAuE;IACvE,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAC;IACvC,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7D;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAiNzE"}
|
package/dist/wizards/gcp.js
CHANGED
|
@@ -31,8 +31,10 @@ import { join } from "node:path";
|
|
|
31
31
|
import { cancel, confirm, isCancel, log, note, select, spinner } from "@clack/prompts";
|
|
32
32
|
import { bold, cyan, dim, green, red, yellow } from "kleur/colors";
|
|
33
33
|
import { checkAdcImpersonation } from "../adc-impersonation.js";
|
|
34
|
+
import { ensureAuditJob, resolveAdminImage } from "../audit-job-setup.js";
|
|
34
35
|
import { CERT_WAIT_TIMEOUT_MS, lbCertProbe, waitForCert } from "../cert-wait.js";
|
|
35
36
|
import { redactCredentials } from "../checkpoint-secrets.js";
|
|
37
|
+
import { ensureConvergeJob } from "../converge-job-setup.js";
|
|
36
38
|
import { removeDefaultFirewallRules } from "../default-firewall.js";
|
|
37
39
|
import { checkDeployedRuntimeEnv, chooseImageDigests, readDeployedImageDigests, readDeployedRegion, } from "../deployed-release.js";
|
|
38
40
|
import { formatDnsRecordGroups, groupDnsRecords } from "../dns/groups.js";
|
|
@@ -47,10 +49,12 @@ import { ensureOpsBackend } from "../ops-backend.js";
|
|
|
47
49
|
import { convergeKeylessProvisioner, PROVISIONER_ACCOUNT_ID, provisionerServiceAccountEmail, } from "../provisioner-identity.js";
|
|
48
50
|
import { revokePublicRoleMemberships } from "../public-role-isolation.js";
|
|
49
51
|
import { decideRegion, detectCliRegion, installableRegions, suggestRegion } from "../regions.js";
|
|
52
|
+
import { ensureRemoteMcpEdge, ensureRemoteMcpIdentityEnv } from "../remote-mcp.js";
|
|
50
53
|
import { selfCommand } from "../self-command.js";
|
|
51
54
|
import { ABSENT_DEFAULT_FIREWALL_RULES } from "../stack-contract.js";
|
|
52
55
|
import { chooseInstallBackend, describeBackend, gcsBackendRecord, hasLocalPulumiState, installBackend, parseStateBackend, resolveBackend, } from "../state-backend.js";
|
|
53
56
|
import { acquireStateLock, GcsStateStore } from "../state-store.js";
|
|
57
|
+
import { resolveGcpResourceName } from "../upgrade/gcp-lookup.js";
|
|
54
58
|
import { releaseVersionForDigest, resolveOpsImageRef, verifyCosignAll, } from "../upgrade/release-images.js";
|
|
55
59
|
import { ensureUpgraderJob, resolveUpgraderTarget } from "../upgrader-setup.js";
|
|
56
60
|
import { ensureUrlMapRedirectsAccess } from "../url-map-redirects-access.js";
|
|
@@ -309,18 +313,29 @@ export async function runGcpConverge(opts) {
|
|
|
309
313
|
}
|
|
310
314
|
}
|
|
311
315
|
phase("Finishing: operator access, welcome page");
|
|
316
|
+
// === 11.3. The quality-audit job: parallel Lighthouse runs (#875) ===
|
|
317
|
+
// Before the upgrader, which gets actAs on the job's service account.
|
|
318
|
+
await stepAuditJob(projectId, region, provider);
|
|
312
319
|
// === 11.4. The upgrader job: Settings → Updates → Install update (#696) ===
|
|
313
320
|
// Before operator access, which keeps the upgrader's caelo-mcp grant.
|
|
314
321
|
const releaseVersion = await releaseVersionForDigest(gcloud, "admin", imageDigests.admin);
|
|
315
322
|
const upgraderReady = await stepUpgraderJob(projectId, region, releaseVersion);
|
|
316
323
|
const keepSigner = upgraderReady || (await upgraderExists(projectId));
|
|
324
|
+
// === 11.45. The converge job: releases that change the cloud setup (#819) ===
|
|
325
|
+
const convergeReady = await stepConvergeJob(projectId, region, releaseVersion);
|
|
317
326
|
// === 11.5. Operator access: IAP follows the Caelo user list ===
|
|
318
327
|
await stepOperatorAccessSync(projectId, region, provider, ownerEmail, keepSigner ? [`serviceAccount:${upgraderServiceAccountEmail(projectId, GCP_STACK_ENV)}`] : []);
|
|
328
|
+
// === 11.6. Remote MCP (#806): LB rules (gcp) + the identity env ===
|
|
329
|
+
// After `pulumi up` on every pass: the identity env names services Pulumi
|
|
330
|
+
// generated, so the stack cannot declare it, and an `up` that changed a
|
|
331
|
+
// service's template dropped it (remote-mcp.ts).
|
|
332
|
+
const remoteMcpReady = await stepRemoteMcp(projectId, region, provider, domain);
|
|
319
333
|
// A fresh install ran every converge step above, so it is at this CLI's
|
|
320
|
-
// infrastructure contract — recorded only when the upgrader
|
|
321
|
-
// (the
|
|
322
|
-
//
|
|
323
|
-
|
|
334
|
+
// infrastructure contract — recorded only when the upgrader and the
|
|
335
|
+
// converge job are in place (the steps contract bumps 2 and 9 added) and
|
|
336
|
+
// remote MCP's steps (#806, bump 10) succeeded. With the release version,
|
|
337
|
+
// the admin can install the next update itself.
|
|
338
|
+
if (upgraderReady && convergeReady && remoteMcpReady) {
|
|
324
339
|
const version = releaseVersion;
|
|
325
340
|
recordImageDigests(installId, imageDigests, version);
|
|
326
341
|
recordInfraContractVersion(installId, INFRA_CONTRACT_VERSION);
|
|
@@ -745,6 +760,79 @@ async function stepUpgraderJob(projectId, region, releaseVersion) {
|
|
|
745
760
|
s.stop(green(`Upgrader job ready (${r.done.length} steps)`));
|
|
746
761
|
return true;
|
|
747
762
|
}
|
|
763
|
+
/**
|
|
764
|
+
* Set up the converge job (converge-job-setup.ts, #819): what the admin's
|
|
765
|
+
* "Install update" starts for a release that changes the cloud setup. Same
|
|
766
|
+
* shape as {@link stepUpgraderJob}: after migrations (its database login
|
|
767
|
+
* gets migration 0267's role), only a verified ops image, and a failure
|
|
768
|
+
* only warns — such releases then install from a terminal until a later
|
|
769
|
+
* `upgrade` sets the job up. Idempotent.
|
|
770
|
+
*
|
|
771
|
+
* @returns whether the job is ready
|
|
772
|
+
*/
|
|
773
|
+
async function stepConvergeJob(projectId, region, releaseVersion) {
|
|
774
|
+
const opsImageRef = releaseVersion ? await resolveOpsImageRef(releaseVersion) : null;
|
|
775
|
+
const digest = opsImageRef ? /@(sha256:[0-9a-f]{64})$/.exec(opsImageRef)?.[1] : undefined;
|
|
776
|
+
// The job runs as the provisioner: only a verified image, ever.
|
|
777
|
+
if (digest && !(await verifyCosignAll([{ slug: "ops", digest }]))) {
|
|
778
|
+
log.warn(`The converge job is not set up: its image's signature did not verify. The install works; ${bold(selfCommand("upgrade"))} sets it up later.`);
|
|
779
|
+
return false;
|
|
780
|
+
}
|
|
781
|
+
const s = spinner();
|
|
782
|
+
s.start("Setting up the converge job (cloud-setup updates from the admin)...");
|
|
783
|
+
const resolved = opsImageRef
|
|
784
|
+
? await resolveUpgraderTarget({ projectId, region, env: GCP_STACK_ENV, opsImageRef })
|
|
785
|
+
: {
|
|
786
|
+
ok: false,
|
|
787
|
+
error: releaseVersion
|
|
788
|
+
? `release ${releaseVersion} has no caelo-ops image in the registry`
|
|
789
|
+
: "the release this install runs could not be told from its images",
|
|
790
|
+
};
|
|
791
|
+
const r = resolved.ok
|
|
792
|
+
? await ensureConvergeJob(resolved.target)
|
|
793
|
+
: { ok: false, done: [], error: resolved.error };
|
|
794
|
+
if (!r.ok && r.reason === "no-provisioner") {
|
|
795
|
+
// #883 review — not needed for the contract: such an install installs
|
|
796
|
+
// cloud-setup releases from a terminal, and its admin says so.
|
|
797
|
+
s.stop(yellow("No converge job: this install has no caelo-provisioner to run it as"));
|
|
798
|
+
log.info("Releases that change the cloud setup install from a terminal; Settings → Updates says so when one comes.");
|
|
799
|
+
return true;
|
|
800
|
+
}
|
|
801
|
+
if (!r.ok) {
|
|
802
|
+
s.stop(yellow(`Converge job not set up: ${r.error}`));
|
|
803
|
+
log.warn(`The install works; releases that change the cloud setup install from a terminal until ${bold(selfCommand("upgrade"))} sets the job up.`);
|
|
804
|
+
return false;
|
|
805
|
+
}
|
|
806
|
+
s.stop(green(`Converge job ready (${r.done.length} steps)`));
|
|
807
|
+
return true;
|
|
808
|
+
}
|
|
809
|
+
/**
|
|
810
|
+
* Set up the quality-audit job (audit-job-setup.ts) on the deployed admin's
|
|
811
|
+
* image. A failure stops the wizard: without the job every Stage audit
|
|
812
|
+
* fails. Idempotent, so it runs on every wizard pass.
|
|
813
|
+
*/
|
|
814
|
+
async function stepAuditJob(projectId, region, provider) {
|
|
815
|
+
const s = spinner();
|
|
816
|
+
s.start("Setting up the quality-audit job (parallel Lighthouse runs)...");
|
|
817
|
+
const image = await resolveAdminImage({ projectId, region, env: GCP_STACK_ENV });
|
|
818
|
+
const r = image.ok
|
|
819
|
+
? await ensureAuditJob({
|
|
820
|
+
provider,
|
|
821
|
+
projectId,
|
|
822
|
+
region,
|
|
823
|
+
env: GCP_STACK_ENV,
|
|
824
|
+
adminImageRef: image.imageRef,
|
|
825
|
+
parallelism: GCP_STACK_KNOB_DEFAULTS.auditParallelism,
|
|
826
|
+
})
|
|
827
|
+
: { ok: false, done: [], error: image.error };
|
|
828
|
+
if (!r.ok) {
|
|
829
|
+
s.stop(red(`Failed: ${r.error}`));
|
|
830
|
+
log.error("Re-run the wizard once the cause is fixed (this step is idempotent).");
|
|
831
|
+
cancel("Aborted.");
|
|
832
|
+
process.exit(1);
|
|
833
|
+
}
|
|
834
|
+
s.stop(green(`Quality-audit job ready (${r.done.length} steps)`));
|
|
835
|
+
}
|
|
748
836
|
/**
|
|
749
837
|
* Whether an upgrader set up by an earlier run exists, so a failed setup
|
|
750
838
|
* this time still keeps its caelo-mcp signing grant (the operator-access
|
|
@@ -788,6 +876,44 @@ async function stepOperatorAccessSync(projectId, region, provider, ownerEmail, m
|
|
|
788
876
|
}
|
|
789
877
|
s.stop(green(`Operator-access sync job ready (${r.done.length} steps)`));
|
|
790
878
|
}
|
|
879
|
+
/**
|
|
880
|
+
* #806 — the CLI's part of remote MCP (remote-mcp.ts): on `gcp` the load
|
|
881
|
+
* balancer's discovery routes and Cloud Armor rule, on both providers the
|
|
882
|
+
* env vars naming the admin URL, the broker's public URL and the IAP
|
|
883
|
+
* audience. Remote MCP stays off until the Owner sets it up under Settings →
|
|
884
|
+
* MCP, so a failure does not stop the install: it warns, and the next pass
|
|
885
|
+
* or `upgrade` retries. Idempotent.
|
|
886
|
+
*
|
|
887
|
+
* @returns whether every part is in place
|
|
888
|
+
*/
|
|
889
|
+
async function stepRemoteMcp(projectId, region, provider, domain) {
|
|
890
|
+
const s = spinner();
|
|
891
|
+
s.start("Preparing remote MCP (ChatGPT / claude.ai connectors; off until the Owner enables it)...");
|
|
892
|
+
const name = (slug) => resolveGcpResourceName(gcloud, "run-service", `caelo-${GCP_STACK_ENV}-${slug}`, projectId, region);
|
|
893
|
+
const [admin, gateway] = [await name("admin"), await name("gateway")];
|
|
894
|
+
const failed = (error) => {
|
|
895
|
+
s.stop(yellow(`Remote MCP not prepared: ${error}`));
|
|
896
|
+
log.warn(`The install works; Settings → MCP reports remote MCP as unavailable until ${bold(selfCommand("upgrade"))} prepares it.`);
|
|
897
|
+
return false;
|
|
898
|
+
};
|
|
899
|
+
if (!admin || !gateway)
|
|
900
|
+
return failed("the admin or gateway Cloud Run service was not found");
|
|
901
|
+
const edge = await ensureRemoteMcpEdge({ provider, projectId, env: GCP_STACK_ENV, domain });
|
|
902
|
+
if (!edge.ok)
|
|
903
|
+
return failed(edge.error);
|
|
904
|
+
const env = await ensureRemoteMcpIdentityEnv({
|
|
905
|
+
provider,
|
|
906
|
+
projectId,
|
|
907
|
+
region,
|
|
908
|
+
env: GCP_STACK_ENV,
|
|
909
|
+
domain,
|
|
910
|
+
services: { admin, gateway },
|
|
911
|
+
});
|
|
912
|
+
if (!env.ok)
|
|
913
|
+
return failed(env.error);
|
|
914
|
+
s.stop(green(`Remote MCP prepared (${env.identity.mcpPublicUrl})`));
|
|
915
|
+
return true;
|
|
916
|
+
}
|
|
791
917
|
/**
|
|
792
918
|
* Delete the firewall rules GCP pre-populates on the `default` network
|
|
793
919
|
* (SSH, RDP, ICMP, internal; default-firewall.ts). A customised rule of the
|