rampway 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -55,6 +55,9 @@ rampway production plan
55
55
  rampway production plan --json
56
56
  rampway production deploy
57
57
  rampway production deploy <revision>
58
+ rampway production deploy --transport=auto
59
+ rampway production deploy --transport=http
60
+ rampway production deploy --transport=ssh
58
61
  rampway production status
59
62
  rampway production releases
60
63
  rampway production releases --json
@@ -76,6 +79,22 @@ rampway production runtime-recover --yes
76
79
  The older `rollbridge-validate`, `rollbridge-status`, `rollbridge-logs`, and
77
80
  `rollbridge-recover` names remain aliases for Rollbridge stages.
78
81
 
82
+ ### Deploy transports
83
+
84
+ Deploys run over one of three transports selected with `--transport`:
85
+
86
+ - `http` — run the deploy through the authenticated Velocious control plane
87
+ (requires `stage.http`). Fails if the stage has no control-plane config.
88
+ - `ssh` — run directly over the stage's SSH (or local) transport, bypassing the
89
+ control plane.
90
+ - `auto` (default) — use the control plane when the stage configures
91
+ `stage.http`, and fall back to the direct transport only when the control
92
+ plane is unreachable or the project/stage is not deployed there. Never falls
93
+ back on authentication or validation errors, or once a run has been admitted.
94
+
95
+ Dry runs always use the direct transport and print a plan, regardless of
96
+ `--transport`.
97
+
79
98
  ### Live deploy output and automation
80
99
 
81
100
  A normal deploy reports real lifecycle steps and remote command output as it arrives, then ends with a concise result:
@@ -266,7 +285,7 @@ Publishing requires an npm access token stored as the repository secret `NPM_TOK
266
285
  ## Runtime adapters
267
286
 
268
287
  Rampway resolves runtimes through a small adapter registry. Built-in adapters are
269
- `none` and `rollbridge`; future adapters can register a runtime type without
288
+ `compose`, `none`, and `rollbridge`; future adapters can register a runtime type without
270
289
  changing the deploy lifecycle core. Runtime adapters implement `plan()` and
271
290
  `deploy(...)`. Optional `prepare(...)` and `commit(...)` methods participate in
272
291
  secret-free known-good state, and optional `validate`, `status`, `logs`, and
@@ -283,6 +302,16 @@ Rollbridge runtime options:
283
302
 
284
303
  When `versionPath` is configured, Rampway reads the release's installed Rollbridge package version before deploy. If it differs from the recorded version and the current runtime is responsive, Rampway shuts down the current Rollbridge daemon, removes configured stale daemon artifacts, deploys the new release, and records the new version.
285
304
 
305
+ ### Compose runtime
306
+
307
+ Use `runtime: {type: "compose", composeRoot, handoffCommand, healthCommand}`
308
+ when an application is managed by a trusted, fixed Docker Compose deployment.
309
+ Rampway executes the static handoff command and then the static health command
310
+ from the absolute `composeRoot`. It records only a digest and the root in
311
+ known-good runtime state, never command text or secrets. See the
312
+ [config reference](docs/config-reference.md#compose) for the strict field
313
+ contract and rollback behavior.
314
+
286
315
  ## Safety model
287
316
 
288
317
  Rampway prepares a complete release before flipping `current`. If a deploy fails before publish, `current` remains unchanged. Rollbridge runtime deploys are validated and health-checked with `rollbridge status` before `current` is updated. Cleanup never removes the current release. Rollback changes `current` to a previously prepared release and records a deployment event.
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"AAMA;;;GAGG;AACH,sEAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,CAAC,IAAI,CAAC,CAgCzB"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"AASA;;;GAGG;AACH,sEAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,CAAC,IAAI,CAAC,CAoEzB"}
@@ -3,13 +3,19 @@ import { commandContext as defaultCommandContext } from "./context.js";
3
3
  import { deploy } from "../core/deploy-runner.js";
4
4
  import { openDeployLog } from "../core/deploy-log.js";
5
5
  import { humanReporter, jsonReporter } from "../core/reporter.js";
6
+ import { deployViaControlPlane, isFallbackEligible } from "../velocious/client.js";
7
+ const TRANSPORT_CHOICES = new Set(["http", "ssh", "auto"]);
6
8
  /**
7
9
  * @param {import('#types').CommandArgs} args
8
10
  * @returns {Promise<void>}
9
11
  */
10
12
  export async function deployCommand({ stageName, options, commandContext = defaultCommandContext }) {
11
13
  const reporter = options.json ? jsonReporter() : humanReporter();
14
+ const transportChoice = resolveTransportChoice(options.transport);
12
15
  const { config, stage, transport } = await commandContext(options, stageName, { reporter });
16
+ if (transportChoice === "http" && !stage.http) {
17
+ throw new Error(`Stage '${stageName}' has no HTTP control-plane configuration; add stage.http or use --transport=ssh.`);
18
+ }
13
19
  const resolvedStage = options.branch && !options.revision ? { ...stage, revision: undefined } : stage;
14
20
  const sourcePath = options.source ?? process.cwd();
15
21
  // A dry run only prints a plan, so there is no deploy transcript worth keeping.
@@ -21,7 +27,43 @@ export async function deployCommand({ stageName, options, commandContext = defau
21
27
  reporter.line(`Logging deploy output to ${deployLog.path}`);
22
28
  }
23
29
  try {
24
- const report = await deploy({ transport, stage: resolvedStage, sourcePath, revision: options.revision, branch: options.branch ?? stage.branch, dryRun: options.dryRun, force: options.force, reporter });
30
+ const directDeploy = () => deploy({
31
+ transport,
32
+ stage: resolvedStage,
33
+ sourcePath,
34
+ revision: options.revision,
35
+ branch: options.branch ?? stage.branch,
36
+ dryRun: options.dryRun,
37
+ force: options.force,
38
+ reporter
39
+ });
40
+ const controlPlaneDeploy = () => deployViaControlPlane({
41
+ stage,
42
+ httpConfig: /** @type {import('#types').HttpTransportConfig} */ (stage.http),
43
+ revision: options.revision ?? stage.revision,
44
+ reporter
45
+ });
46
+ let report;
47
+ if (options.dryRun) {
48
+ report = await directDeploy();
49
+ }
50
+ else if (transportChoice === "http") {
51
+ report = await controlPlaneDeploy();
52
+ }
53
+ else if (transportChoice === "auto" && stage.http) {
54
+ try {
55
+ report = await controlPlaneDeploy();
56
+ }
57
+ catch (error) {
58
+ if (!isFallbackEligible(error))
59
+ throw error;
60
+ reporter.line(`HTTP control plane unavailable (${ /** @type {Error} */(error).message}); falling back to ${transportLabel(stage.transport)} transport`);
61
+ report = await directDeploy();
62
+ }
63
+ }
64
+ else {
65
+ report = await directDeploy();
66
+ }
25
67
  if (options.json || "plan" in report) {
26
68
  console.log(JSON.stringify(report, null, 2));
27
69
  return;
@@ -38,6 +80,24 @@ export async function deployCommand({ stageName, options, commandContext = defau
38
80
  await deployLog.close();
39
81
  }
40
82
  }
83
+ /**
84
+ * @param {string|undefined} configured
85
+ * @returns {"http"|"ssh"|"auto"}
86
+ */
87
+ function resolveTransportChoice(configured) {
88
+ const choice = configured ?? "auto";
89
+ if (!TRANSPORT_CHOICES.has(choice)) {
90
+ throw new Error(`Invalid --transport '${choice}'. Supported: ${Array.from(TRANSPORT_CHOICES).join(", ")}.`);
91
+ }
92
+ return /** @type {"http"|"ssh"|"auto"} */ (choice);
93
+ }
94
+ /**
95
+ * @param {import('#types').TransportConfig} transport
96
+ * @returns {string}
97
+ */
98
+ function transportLabel(transport) {
99
+ return transport.type === "ssh" ? "ssh" : "local";
100
+ }
41
101
  /**
42
102
  * Prints a concise Capistrano-style final summary of a successful deploy.
43
103
  *
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate-config.d.ts","sourceRoot":"","sources":["../../../src/config/validate-config.js"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,uCAJW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,aACvB,MAAM,GACJ,OAAO,QAAQ,EAAE,WAAW,CAcxC;AAiHD;;;GAGG;AACH,iDAHW,OAAO,GACL,OAAO,CAInB"}
1
+ {"version":3,"file":"validate-config.d.ts","sourceRoot":"","sources":["../../../src/config/validate-config.js"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,uCAJW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,aACvB,MAAM,GACJ,OAAO,QAAQ,EAAE,WAAW,CAcxC;AA8KD;;;GAGG;AACH,iDAHW,OAAO,GACL,OAAO,CAInB"}
@@ -55,6 +55,8 @@ function validateStage(stage, errors) {
55
55
  errors.push("stage.hosts must be an array");
56
56
  if (transportType === "ssh" && !primarySshHost(stage))
57
57
  errors.push("stage.transport.host or stage.hosts[0].host is required for ssh transport");
58
+ if (stage.http !== undefined)
59
+ validateHttpTransport(stage.http, errors);
58
60
  if (stage.linkedFiles && !Array.isArray(stage.linkedFiles))
59
61
  errors.push("stage.linkedFiles must be an array");
60
62
  if (stage.linkedDirs && !Array.isArray(stage.linkedDirs))
@@ -68,6 +70,39 @@ function validateStage(stage, errors) {
68
70
  errors.push(`stage.runtime.type must be one of ${supportedRuntimes.join(", ")}`);
69
71
  if (runtimeType === "rollbridge")
70
72
  validateRollbridgeRuntime(stage.runtime ?? stage.rollbridge ?? { type: "rollbridge" }, errors);
73
+ if (runtimeType === "compose")
74
+ validateComposeRuntime(stage.runtime, errors);
75
+ }
76
+ /**
77
+ * @param {unknown} configured
78
+ * @param {string[]} errors
79
+ * @returns {void}
80
+ */
81
+ function validateComposeRuntime(configured, errors) {
82
+ if (!isRecord(configured)) {
83
+ errors.push("stage.runtime must be an object");
84
+ return;
85
+ }
86
+ const allowedFields = new Set(["type", "composeRoot", "handoffCommand", "healthCommand"]);
87
+ for (const field of Object.keys(configured)) {
88
+ if (!allowedFields.has(field))
89
+ errors.push(`stage.runtime.${field} is not supported for the compose runtime`);
90
+ }
91
+ if (typeof configured.composeRoot !== "string" || configured.composeRoot.trim().length === 0 || configured.composeRoot.includes("\0") || !isAbsolutePath(configured.composeRoot)) {
92
+ errors.push("stage.runtime.composeRoot must be a non-empty absolute path");
93
+ }
94
+ for (const field of ["handoffCommand", "healthCommand"]) {
95
+ const value = configured[field];
96
+ if (typeof value !== "string" || value.trim().length === 0 || value.includes("\0"))
97
+ errors.push(`stage.runtime.${field} must be a non-empty static command string`);
98
+ }
99
+ }
100
+ /**
101
+ * @param {string} configuredPath
102
+ * @returns {boolean}
103
+ */
104
+ function isAbsolutePath(configuredPath) {
105
+ return path.posix.isAbsolute(configuredPath) || path.win32.isAbsolute(configuredPath);
71
106
  }
72
107
  /**
73
108
  * @param {unknown} configured
@@ -117,6 +152,33 @@ function isRuntimeConfigPath(configuredPath) {
117
152
  return true;
118
153
  return !configuredPath.split(/[\\/]+/u).includes("..");
119
154
  }
155
+ /**
156
+ * @param {unknown} configured
157
+ * @param {string[]} errors
158
+ * @returns {void}
159
+ */
160
+ function validateHttpTransport(configured, errors) {
161
+ if (!isRecord(configured)) {
162
+ errors.push("stage.http must be an object");
163
+ return;
164
+ }
165
+ if (typeof configured.endpoint !== "string" || !/^https?:\/\//u.test(configured.endpoint)) {
166
+ errors.push("stage.http.endpoint must be an http(s) URL");
167
+ }
168
+ const inlineToken = typeof configured.accessToken === "string" && configured.accessToken.length > 0;
169
+ const envToken = typeof configured.accessTokenEnv === "string" && isValidEnvironmentName(configured.accessTokenEnv);
170
+ if (!inlineToken && !envToken)
171
+ errors.push("stage.http requires a non-empty accessToken or a valid accessTokenEnv name");
172
+ if (configured.project !== undefined && (typeof configured.project !== "string" || configured.project.length === 0)) {
173
+ errors.push("stage.http.project must be a non-empty string");
174
+ }
175
+ if (configured.pollIntervalMs !== undefined && (typeof configured.pollIntervalMs !== "number" || !Number.isInteger(configured.pollIntervalMs) || configured.pollIntervalMs <= 0)) {
176
+ errors.push("stage.http.pollIntervalMs must be a positive integer");
177
+ }
178
+ if (configured.timeoutMs !== undefined && (typeof configured.timeoutMs !== "number" || !Number.isInteger(configured.timeoutMs) || configured.timeoutMs <= 0)) {
179
+ errors.push("stage.http.timeoutMs must be a positive integer");
180
+ }
181
+ }
120
182
  /**
121
183
  * @param {Record<string, unknown>} config
122
184
  * @param {string} stageName
@@ -144,6 +206,7 @@ function normalizedStage(config, stageName) {
144
206
  deployTo: String(stage.deployTo),
145
207
  strategy: /** @type {"local-copy"|"remote-git"|"archive-upload"} */ (stage.strategy ?? (transportType === "local" ? "local-copy" : "remote-git")),
146
208
  transport,
209
+ http: normalizeHttpTransport(stage.http),
147
210
  hosts: /** @type {Array<{host: string, user?: string, port?: number, roles?: string[]}>} */ (stage.hosts ?? []),
148
211
  keepReleases: Number(stage.keepReleases ?? 5),
149
212
  linkedFiles: normalizeLinkedEntries(/** @type {Array<string|{path: string, required?: boolean}>} */ (stage.linkedFiles ?? [])),
@@ -294,6 +357,27 @@ function isReleaseRelativeCwd(cwd) {
294
357
  function normalizeLinkedEntries(entries) {
295
358
  return entries.map(entry => typeof entry === "string" ? { path: entry, required: true } : { required: entry.required ?? true, ...entry });
296
359
  }
360
+ /**
361
+ * @param {unknown} configured
362
+ * @returns {import('#types').HttpTransportConfig|undefined}
363
+ */
364
+ function normalizeHttpTransport(configured) {
365
+ if (!isRecord(configured))
366
+ return undefined;
367
+ /** @type {import('#types').HttpTransportConfig} */
368
+ const http = { endpoint: String(configured.endpoint) };
369
+ if (typeof configured.accessToken === "string")
370
+ http.accessToken = configured.accessToken;
371
+ if (typeof configured.accessTokenEnv === "string")
372
+ http.accessTokenEnv = configured.accessTokenEnv;
373
+ if (typeof configured.project === "string")
374
+ http.project = configured.project;
375
+ if (configured.pollIntervalMs !== undefined)
376
+ http.pollIntervalMs = Number(configured.pollIntervalMs);
377
+ if (configured.timeoutMs !== undefined)
378
+ http.timeoutMs = Number(configured.timeoutMs);
379
+ return http;
380
+ }
297
381
  /**
298
382
  * @param {Record<string, unknown>} stage
299
383
  * @returns {string|undefined}
@@ -1 +1 @@
1
- {"version":3,"file":"validate-config.js","sourceRoot":"","sources":["../../../src/config/validate-config.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-config.js","sourceRoot":"","sources":["../../../src/config/validate-config.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ export class ComposeRuntime {
2
+ /** @type {"compose"} */
3
+ static type: "compose";
4
+ /**
5
+ * @param {import("#types").ComposeRuntimeConfig} config
6
+ */
7
+ constructor(config: import("#types").ComposeRuntimeConfig);
8
+ /** @type {true} */
9
+ requiresStableState: true;
10
+ /** @returns {"compose"} */
11
+ get type(): "compose";
12
+ /** @type {import("#types").ComposeRuntimeConfig} */
13
+ config: import("#types").ComposeRuntimeConfig;
14
+ /** @returns {string[]} */
15
+ plan(): string[];
16
+ /**
17
+ * Runtime state deliberately records only a hash of trusted commands. The
18
+ * commands themselves may reference credentials through their environment.
19
+ *
20
+ * @returns {Promise<import("#types").RuntimeSnapshot>}
21
+ */
22
+ prepare(): Promise<import("#types").RuntimeSnapshot>;
23
+ /**
24
+ * @param {import("#types").RuntimeSnapshot} snapshot
25
+ * @returns {void}
26
+ */
27
+ validateSnapshot(snapshot: import("#types").RuntimeSnapshot): void;
28
+ /**
29
+ * @param {import("#types").Transport} transport
30
+ * @param {{currentSnapshot?: import("#types").RuntimeSnapshot, releaseId?: string, releasePath?: string, targetSnapshot?: import("#types").RuntimeSnapshot}} opts
31
+ * @returns {Promise<{status: string}>}
32
+ */
33
+ deploy(transport: import("#types").Transport, { currentSnapshot, releaseId, releasePath, targetSnapshot }?: {
34
+ currentSnapshot?: import("#types").RuntimeSnapshot;
35
+ releaseId?: string;
36
+ releasePath?: string;
37
+ targetSnapshot?: import("#types").RuntimeSnapshot;
38
+ }): Promise<{
39
+ status: string;
40
+ }>;
41
+ /**
42
+ * @param {import("#types").RuntimeSnapshot} snapshot
43
+ * @returns {void}
44
+ */
45
+ assertConfiguredContract(snapshot: import("#types").RuntimeSnapshot): void;
46
+ /** @returns {string} */
47
+ contractDigest(): string;
48
+ }
49
+ //# sourceMappingURL=compose-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose-runtime.d.ts","sourceRoot":"","sources":["../../../src/runtimes/compose-runtime.js"],"names":[],"mappings":"AAGA;IACE,wBAAwB;IACxB,aADW,SAAS,CACG;IAUvB;;OAEG;IACH,oBAFW,OAAO,QAAQ,EAAE,oBAAoB,EAK/C;IAdD,mBAAmB;IACnB,qBADW,IAAI,CACW;IAE1B,2BAA2B;IAC3B,YADc,SAAS,CAGtB;IAMC,oDAAoD;IACpD,QADW,OAAO,QAAQ,EAAE,oBAAoB,CACN;IAG5C,0BAA0B;IAC1B,QADc,MAAM,EAAE,CAGrB;IAED;;;;;OAKG;IACH,WAFa,OAAO,CAAC,OAAO,QAAQ,EAAE,eAAe,CAAC,CASrD;IAED;;;OAGG;IACH,2BAHW,OAAO,QAAQ,EAAE,eAAe,GAC9B,IAAI,CAUhB;IAED;;;;OAIG;IACH,kBAJW,OAAO,QAAQ,EAAE,SAAS,gEAC1B;QAAC,eAAe,CAAC,EAAE,OAAO,QAAQ,EAAE,eAAe,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,QAAQ,EAAE,eAAe,CAAA;KAAC,GAC/I,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAoBrC;IAED;;;OAGG;IACH,mCAHW,OAAO,QAAQ,EAAE,eAAe,GAC9B,IAAI,CAOhB;IAED,wBAAwB;IACxB,kBADc,MAAM,CAQnB;CACF"}
@@ -0,0 +1,106 @@
1
+ import { createHash } from "node:crypto";
2
+ import path from "node:path";
3
+ export class ComposeRuntime {
4
+ /** @type {"compose"} */
5
+ static type = "compose";
6
+ /** @type {true} */
7
+ requiresStableState = true;
8
+ /** @returns {"compose"} */
9
+ get type() {
10
+ return "compose";
11
+ }
12
+ /**
13
+ * @param {import("#types").ComposeRuntimeConfig} config
14
+ */
15
+ constructor(config) {
16
+ /** @type {import("#types").ComposeRuntimeConfig} */
17
+ this.config = { ...config, type: "compose" };
18
+ }
19
+ /** @returns {string[]} */
20
+ plan() {
21
+ return ["run configured Compose handoff", "run configured Compose health check"];
22
+ }
23
+ /**
24
+ * Runtime state deliberately records only a hash of trusted commands. The
25
+ * commands themselves may reference credentials through their environment.
26
+ *
27
+ * @returns {Promise<import("#types").RuntimeSnapshot>}
28
+ */
29
+ async prepare() {
30
+ return {
31
+ schemaVersion: 1,
32
+ type: "compose",
33
+ contractDigest: `sha256:${this.contractDigest()}`,
34
+ composeRoot: this.config.composeRoot
35
+ };
36
+ }
37
+ /**
38
+ * @param {import("#types").RuntimeSnapshot} snapshot
39
+ * @returns {void}
40
+ */
41
+ validateSnapshot(snapshot) {
42
+ if (snapshot.type !== "compose")
43
+ throw new Error("Stored Compose runtime state has an invalid runtime type.");
44
+ if (!/^sha256:[0-9a-f]{64}$/u.test(snapshot.contractDigest ?? "")) {
45
+ throw new Error("Stored Compose runtime state is missing a valid known-good contract digest.");
46
+ }
47
+ if (typeof snapshot.composeRoot !== "string" || !isAbsolutePath(snapshot.composeRoot)) {
48
+ throw new Error("Stored Compose runtime state has an unsafe absolute compose root.");
49
+ }
50
+ }
51
+ /**
52
+ * @param {import("#types").Transport} transport
53
+ * @param {{currentSnapshot?: import("#types").RuntimeSnapshot, releaseId?: string, releasePath?: string, targetSnapshot?: import("#types").RuntimeSnapshot}} opts
54
+ * @returns {Promise<{status: string}>}
55
+ */
56
+ async deploy(transport, { currentSnapshot, releaseId, releasePath, targetSnapshot } = {}) {
57
+ if (currentSnapshot)
58
+ this.assertConfiguredContract(currentSnapshot);
59
+ if (targetSnapshot)
60
+ this.assertConfiguredContract(targetSnapshot);
61
+ const env = {
62
+ RAMPWAY_RELEASE_ID: String(releaseId ?? ""),
63
+ RAMPWAY_RELEASE_PATH: String(releasePath ?? "")
64
+ };
65
+ try {
66
+ await transport.run(this.config.handoffCommand, { cwd: this.config.composeRoot, env });
67
+ }
68
+ catch (error) {
69
+ throw new Error(`Compose handoff failed: ${ /** @type {Error} */(error).message}`);
70
+ }
71
+ try {
72
+ await transport.run(this.config.healthCommand, { cwd: this.config.composeRoot, env });
73
+ }
74
+ catch (error) {
75
+ throw new Error(`Compose health check failed: ${ /** @type {Error} */(error).message}`);
76
+ }
77
+ return { status: "deployed" };
78
+ }
79
+ /**
80
+ * @param {import("#types").RuntimeSnapshot} snapshot
81
+ * @returns {void}
82
+ */
83
+ assertConfiguredContract(snapshot) {
84
+ this.validateSnapshot(snapshot);
85
+ if (snapshot.composeRoot !== this.config.composeRoot || snapshot.contractDigest !== `sha256:${this.contractDigest()}`) {
86
+ throw new Error("Stored Compose runtime state does not match the configured Compose contract.");
87
+ }
88
+ }
89
+ /** @returns {string} */
90
+ contractDigest() {
91
+ return createHash("sha256").update(JSON.stringify({
92
+ type: "compose",
93
+ composeRoot: this.config.composeRoot,
94
+ handoffCommand: this.config.handoffCommand,
95
+ healthCommand: this.config.healthCommand
96
+ })).digest("hex");
97
+ }
98
+ }
99
+ /**
100
+ * @param {string} value
101
+ * @returns {boolean}
102
+ */
103
+ function isAbsolutePath(value) {
104
+ return path.posix.isAbsolute(value) || path.win32.isAbsolute(value);
105
+ }
106
+ //# sourceMappingURL=compose-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose-runtime.js","sourceRoot":"","sources":["../../../src/runtimes/compose-runtime.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/index.js"],"names":[],"mappings":"AAuCA;;;GAGG;AACH,gDAHW,KAAK,CAAC,WAAS,CAAC,MAAM,EAAE,OAAO,QAAQ,EAAE,eAAe,CAAC,CAAC,GACxD;IAAC,QAAQ,WAAW;IAAC,UAAU,WAAW;IAAC,SAAS,WAAU;CAAC,CAmC3E;AAED;;;GAGG;AACH,6CAHW,MAAM,WAAS,YACf,OAAO,QAAQ,EAAE,eAAe,QAI1C;AAED;;;GAGG;AACH,kCAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,QAAQ,EAAE,cAAc,CAI3C;AAED;;GAEG;AACH,oCAFa,MAAM,EAAE,CAIpB;AAhGD;IACE;;OAEG;IACH,qBAFW,OAAO,CAAC,OAAO,QAAQ,EAAE,aAAa,CAAC,EAKjD;IAFC,6CAA6C;IAC7C,QADW,OAAO,QAAQ,EAAE,aAAa,CAC8C;IAGzF,wBAAwB;IACxB,YADc,MAAM,CAGnB;IAED;;OAEG;IACH,QAFa,MAAM,EAAE,CAIpB;IAED;;OAEG;IACH,UAFa,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAIrC;IAED;;OAEG;IACH,UAFa,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAInD;CACF;AAiGD;;;;EAA6F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/index.js"],"names":[],"mappings":"AAwCA;;;GAGG;AACH,gDAHW,KAAK,CAAC,WAAS,CAAC,MAAM,EAAE,OAAO,QAAQ,EAAE,eAAe,CAAC,CAAC,GACxD;IAAC,QAAQ,WAAW;IAAC,UAAU,WAAW;IAAC,SAAS,WAAU;CAAC,CAmC3E;AAED;;;GAGG;AACH,6CAHW,MAAM,WAAS,YACf,OAAO,QAAQ,EAAE,eAAe,QAI1C;AAED;;;GAGG;AACH,kCAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,QAAQ,EAAE,cAAc,CAI3C;AAED;;GAEG;AACH,oCAFa,MAAM,EAAE,CAIpB;AAhGD;IACE;;OAEG;IACH,qBAFW,OAAO,CAAC,OAAO,QAAQ,EAAE,aAAa,CAAC,EAKjD;IAFC,6CAA6C;IAC7C,QADW,OAAO,QAAQ,EAAE,aAAa,CAC8C;IAGzF,wBAAwB;IACxB,YADc,MAAM,CAGnB;IAED;;OAEG;IACH,QAFa,MAAM,EAAE,CAIpB;IAED;;OAEG;IACH,UAFa,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAIrC;IAED;;OAEG;IACH,UAFa,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAInD;CACF;AAiGD;;;;EAA6G"}
@@ -1,3 +1,4 @@
1
+ import { ComposeRuntime } from "./compose-runtime.js";
1
2
  import { NoneRuntime } from "./none-runtime.js";
2
3
  import { RollbridgeRuntime } from "./rollbridge-runtime.js";
3
4
  export class BaseRuntime {
@@ -128,5 +129,5 @@ function runtimeForStage(stage, factories) {
128
129
  runtime.plan = () => [];
129
130
  return runtime;
130
131
  }
131
- export const defaultRuntimeRegistry = createRuntimeRegistry([NoneRuntime, RollbridgeRuntime]);
132
+ export const defaultRuntimeRegistry = createRuntimeRegistry([ComposeRuntime, NoneRuntime, RollbridgeRuntime]);
132
133
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtimes/index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtimes/index.js"],"names":[],"mappings":"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"}