rampway 0.3.1 → 0.4.0
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 +4 -2
- package/build/src/velocious/control-plane.d.ts +27 -5
- package/build/src/velocious/control-plane.d.ts.map +1 -1
- package/build/src/velocious/control-plane.js +24 -9
- package/build/src/velocious/control-plane.js.map +1 -1
- package/build/src/velocious/controller.d.ts +27 -8
- package/build/src/velocious/controller.d.ts.map +1 -1
- package/build/src/velocious/controller.js +68 -11
- package/build/src/velocious/controller.js.map +1 -1
- package/build/src/velocious/index.d.ts +5 -2
- package/build/src/velocious/index.d.ts.map +1 -1
- package/build/src/velocious/index.js +7 -4
- package/build/src/velocious/index.js.map +1 -1
- package/build/src/velocious/registry.d.ts +6 -0
- package/build/src/velocious/registry.d.ts.map +1 -1
- package/build/src/velocious/registry.js +12 -0
- package/build/src/velocious/registry.js.map +1 -1
- package/build/src/velocious/run-store.d.ts +52 -2
- package/build/src/velocious/run-store.d.ts.map +1 -1
- package/build/src/velocious/run-store.js +90 -3
- package/build/src/velocious/run-store.js.map +1 -1
- package/build/src/velocious/worker.d.ts +48 -0
- package/build/src/velocious/worker.d.ts.map +1 -0
- package/build/src/velocious/worker.js +165 -0
- package/build/src/velocious/worker.js.map +1 -0
- package/docs/velocious-deployment-api.md +45 -8
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -192,8 +192,10 @@ Standalone operational tasks are configured separately under `operationalTasks`
|
|
|
192
192
|
Velocious applications can mount the authenticated control plane exported as
|
|
193
193
|
`rampway/velocious`. The HTTP API accepts only allowlisted Rampway config/stage
|
|
194
194
|
targets, full Git commit SHAs reachable from an approved release branch, and
|
|
195
|
-
idempotency keys.
|
|
196
|
-
|
|
195
|
+
idempotency keys. Each admitted run is handed to a detached package-owned Node
|
|
196
|
+
worker, which reconstructs the backend Velocious context and executes Rampway's
|
|
197
|
+
existing deploy/rollback/status lifecycle; Velocious remains the framework and
|
|
198
|
+
persistence runtime. See
|
|
197
199
|
[Velocious callable deployment API](docs/velocious-deployment-api.md) for
|
|
198
200
|
mounting, client calls, durable recovery behavior, and token
|
|
199
201
|
rotation/revocation.
|
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
/**
|
|
7
7
|
* @typedef {object} DeploymentMountOptions
|
|
8
8
|
* @property {string[]} accessTokens - Accepted tokens.
|
|
9
|
+
* @property {string} workerBootstrapPath - Backend-owned worker bootstrap module.
|
|
10
|
+
* @property {string} workerPath - Immutable package worker entry path.
|
|
11
|
+
* @property {string} mountIdentifier - Stable mount scope.
|
|
9
12
|
* @property {Record<string, any>} projects - Normalized allowlist.
|
|
10
13
|
* @property {number} staleRunTimeoutMs - Lease timeout.
|
|
11
14
|
*/
|
|
@@ -26,7 +29,7 @@ export function lookupTarget(projects: Record<string, any>, project: string, sta
|
|
|
26
29
|
export class DeploymentControlPlane<TStore extends import("./run-store.js").DeploymentRunStoreContract> {
|
|
27
30
|
/**
|
|
28
31
|
* @param {object} args - Dependencies.
|
|
29
|
-
* @param {(
|
|
32
|
+
* @param {(args: {onFailure: (error: unknown) => Promise<void>, runId: string}) => Promise<void>} args.detachedExecution - Starts the package-owned worker.
|
|
30
33
|
* @param {(payload: {context: string, error: unknown}) => void} args.emitFrameworkError - Reports internal failures.
|
|
31
34
|
* @param {import('./executor.js').RampwayDeploymentExecutor} args.executor - Rampway lifecycle executor.
|
|
32
35
|
* @param {() => number} [args.now] - Clock.
|
|
@@ -34,7 +37,10 @@ export class DeploymentControlPlane<TStore extends import("./run-store.js").Depl
|
|
|
34
37
|
* @param {TStore} args.store - Durable run store.
|
|
35
38
|
*/
|
|
36
39
|
constructor({ detachedExecution, emitFrameworkError, executor, now, options, store }: {
|
|
37
|
-
detachedExecution: (
|
|
40
|
+
detachedExecution: (args: {
|
|
41
|
+
onFailure: (error: unknown) => Promise<void>;
|
|
42
|
+
runId: string;
|
|
43
|
+
}) => Promise<void>;
|
|
38
44
|
emitFrameworkError: (payload: {
|
|
39
45
|
context: string;
|
|
40
46
|
error: unknown;
|
|
@@ -44,7 +50,10 @@ export class DeploymentControlPlane<TStore extends import("./run-store.js").Depl
|
|
|
44
50
|
options: DeploymentMountOptions;
|
|
45
51
|
store: TStore;
|
|
46
52
|
});
|
|
47
|
-
detachedExecution: (
|
|
53
|
+
detachedExecution: (args: {
|
|
54
|
+
onFailure: (error: unknown) => Promise<void>;
|
|
55
|
+
runId: string;
|
|
56
|
+
}) => Promise<void>;
|
|
48
57
|
emitFrameworkError: (payload: {
|
|
49
58
|
context: string;
|
|
50
59
|
error: unknown;
|
|
@@ -106,10 +115,11 @@ export class DeploymentControlPlane<TStore extends import("./run-store.js").Depl
|
|
|
106
115
|
status: number;
|
|
107
116
|
};
|
|
108
117
|
/**
|
|
109
|
-
* @param {{run: import('./run-store.js').DeploymentRunRow, target: DeploymentTarget}} args - Execution data.
|
|
118
|
+
* @param {{claimed?: boolean, run: import('./run-store.js').DeploymentRunRow, target: DeploymentTarget}} args - Execution data.
|
|
110
119
|
* @returns {Promise<void>} Resolves after durable outcome.
|
|
111
120
|
*/
|
|
112
|
-
_executeRun({ run, target }: {
|
|
121
|
+
_executeRun({ claimed, run, target }: {
|
|
122
|
+
claimed?: boolean;
|
|
113
123
|
run: import("./run-store.js").DeploymentRunRow;
|
|
114
124
|
target: DeploymentTarget;
|
|
115
125
|
}): Promise<void>;
|
|
@@ -143,6 +153,18 @@ export type DeploymentMountOptions = {
|
|
|
143
153
|
* - Accepted tokens.
|
|
144
154
|
*/
|
|
145
155
|
accessTokens: string[];
|
|
156
|
+
/**
|
|
157
|
+
* - Backend-owned worker bootstrap module.
|
|
158
|
+
*/
|
|
159
|
+
workerBootstrapPath: string;
|
|
160
|
+
/**
|
|
161
|
+
* - Immutable package worker entry path.
|
|
162
|
+
*/
|
|
163
|
+
workerPath: string;
|
|
164
|
+
/**
|
|
165
|
+
* - Stable mount scope.
|
|
166
|
+
*/
|
|
167
|
+
mountIdentifier: string;
|
|
146
168
|
/**
|
|
147
169
|
* - Normalized allowlist.
|
|
148
170
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../../../src/velocious/control-plane.js"],"names":[],"mappings":"AASA;;;;GAIG;AAEH
|
|
1
|
+
{"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../../../src/velocious/control-plane.js"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,9 @@ const MAX_IDEMPOTENCY_KEY_LENGTH = 255;
|
|
|
12
12
|
/**
|
|
13
13
|
* @typedef {object} DeploymentMountOptions
|
|
14
14
|
* @property {string[]} accessTokens - Accepted tokens.
|
|
15
|
+
* @property {string} workerBootstrapPath - Backend-owned worker bootstrap module.
|
|
16
|
+
* @property {string} workerPath - Immutable package worker entry path.
|
|
17
|
+
* @property {string} mountIdentifier - Stable mount scope.
|
|
15
18
|
* @property {Record<string, any>} projects - Normalized allowlist.
|
|
16
19
|
* @property {number} staleRunTimeoutMs - Lease timeout.
|
|
17
20
|
*/
|
|
@@ -39,7 +42,7 @@ export function lookupTarget(projects, project, stage) {
|
|
|
39
42
|
export class DeploymentControlPlane {
|
|
40
43
|
/**
|
|
41
44
|
* @param {object} args - Dependencies.
|
|
42
|
-
* @param {(
|
|
45
|
+
* @param {(args: {onFailure: (error: unknown) => Promise<void>, runId: string}) => Promise<void>} args.detachedExecution - Starts the package-owned worker.
|
|
43
46
|
* @param {(payload: {context: string, error: unknown}) => void} args.emitFrameworkError - Reports internal failures.
|
|
44
47
|
* @param {import('./executor.js').RampwayDeploymentExecutor} args.executor - Rampway lifecycle executor.
|
|
45
48
|
* @param {() => number} [args.now] - Clock.
|
|
@@ -130,14 +133,25 @@ export class DeploymentControlPlane {
|
|
|
130
133
|
throw new Error("Run store returned created without a run");
|
|
131
134
|
const run = outcome.run;
|
|
132
135
|
await this._audit({ event: "run_requested", payload: { project, revision: validRevision, stage }, runId: run.id });
|
|
133
|
-
|
|
136
|
+
const failLaunch = async (/** @type {unknown} */ error) => {
|
|
137
|
+
const safeError = sanitizeErrorPayload(error, this.options.accessTokens);
|
|
134
138
|
try {
|
|
135
|
-
await this.
|
|
139
|
+
await this.store.markPendingFailed({ error: safeError, finishedAtMs: this.now(), id: run.id, ownerToken: run.ownerToken ?? "" });
|
|
140
|
+
await this._audit({ event: "run_failed", payload: { message: safeError.message, phase: "worker_launch", project, revision: validRevision, stage }, runId: run.id });
|
|
136
141
|
}
|
|
137
|
-
catch (
|
|
138
|
-
this.emitFrameworkError({ context: "rampway-deployment-api-
|
|
142
|
+
catch (recordingError) {
|
|
143
|
+
this.emitFrameworkError({ context: "rampway-deployment-api-record-launch-failure", error: recordingError });
|
|
139
144
|
}
|
|
140
|
-
}
|
|
145
|
+
};
|
|
146
|
+
try {
|
|
147
|
+
await this.detachedExecution({ runId: run.id, onFailure: failLaunch });
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
await failLaunch(error);
|
|
151
|
+
const safeError = sanitizeErrorPayload(error, this.options.accessTokens);
|
|
152
|
+
const failed = (await this.store.findRunById(run.id)) ?? { ...run, error: safeError, finishedAtMs: this.now(), status: "failed" };
|
|
153
|
+
return { body: { run: this._serializeRun(failed) }, status: 503 };
|
|
154
|
+
}
|
|
141
155
|
return { body: { run: this._serializeRun(run) }, status: 202 };
|
|
142
156
|
}
|
|
143
157
|
/**
|
|
@@ -180,10 +194,10 @@ export class DeploymentControlPlane {
|
|
|
180
194
|
: { body: { error: "idempotency_conflict", runId: existing.id }, status: 409 };
|
|
181
195
|
}
|
|
182
196
|
/**
|
|
183
|
-
* @param {{run: import('./run-store.js').DeploymentRunRow, target: DeploymentTarget}} args - Execution data.
|
|
197
|
+
* @param {{claimed?: boolean, run: import('./run-store.js').DeploymentRunRow, target: DeploymentTarget}} args - Execution data.
|
|
184
198
|
* @returns {Promise<void>} Resolves after durable outcome.
|
|
185
199
|
*/
|
|
186
|
-
async _executeRun({ run, target }) {
|
|
200
|
+
async _executeRun({ claimed = false, run, target }) {
|
|
187
201
|
if (!run.ownerToken)
|
|
188
202
|
throw new Error(`Deployment run ${run.id} has no owner token`);
|
|
189
203
|
const ownerToken = run.ownerToken;
|
|
@@ -191,7 +205,8 @@ export class DeploymentControlPlane {
|
|
|
191
205
|
/** @type {ReturnType<typeof setInterval>|null} */
|
|
192
206
|
let heartbeat = null;
|
|
193
207
|
try {
|
|
194
|
-
|
|
208
|
+
if (!claimed)
|
|
209
|
+
await this.store.markRunning({ id: run.id, startedAtMs: this.now() });
|
|
195
210
|
heartbeat = setInterval(() => {
|
|
196
211
|
this.store.heartbeat({ heartbeatAtMs: this.now(), id: run.id }).catch(error => {
|
|
197
212
|
this.emitFrameworkError({ context: "rampway-deployment-api-heartbeat", error });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-plane.js","sourceRoot":"","sources":["../../../src/velocious/control-plane.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"control-plane.js","sourceRoot":"","sources":["../../../src/velocious/control-plane.js"],"names":[],"mappings":"AAAA,YAAY;AAEZ,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAC,MAAM,WAAW,CAAA;AACxD,OAAO,EAAC,mBAAmB,EAAE,2BAA2B,EAAE,6BAA6B,EAAC,MAAM,gBAAgB,CAAA;AAC9G,OAAO,EAAC,oBAAoB,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAA;AAExE,MAAM,gBAAgB,GAAG,gBAAgB,CAAA;AACzC,MAAM,0BAA0B,GAAG,GAAG,CAAA;AAEtC;;;;GAIG;AAEH;;;;;;;;GAQG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK;IACnD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAE,OAAO,SAAS,CAAA;IACvD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAA;IACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IACnD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,sBAAsB;IACjC;;;;;;;;OAQG;IACH,YAAY,EAAC,iBAAiB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAC;QAC3F,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,aAAa;QACvB,MAAM,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC,CAAA;QACxC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACxD,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,SAAS;QAC3B,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YACpD,mFAAmF;YACnF,OAAO,GAAG,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,OAAO,CAAA;QAChE,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,SAAS;QAC5B,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YACpD,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAA;QACxD,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,EAAC,aAAa,EAAE,KAAK,EAAC;QACjC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YAAE,OAAO,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,cAAc,EAAC,EAAE,MAAM,EAAE,GAAG,EAAC,CAAA;QAEzF,MAAM,MAAM,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACvG,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;QAC7E,MAAM,cAAc,GAAG,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAA;QAC/F,MAAM,aAAa,GAAG,EAAE,CAAA;QAExB,IAAI,CAAC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACjF,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,0BAA0B,IAAI,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,EAAE,CAAC;YACvH,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACtC,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAC,EAAE,MAAM,EAAE,GAAG,EAAC,CAAA;QAC1G,MAAM,aAAa,GAAG,qBAAqB,CAAC,CAAC,QAAQ,CAAC,CAAA;QACtD,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,CAAC,cAAc,CAAC,CAAA;QAElE,MAAM,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;QACxE,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QAClE,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;QAClE,IAAI,CAAC,MAAM;YAAE,OAAO,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,WAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAC,CAAA;QAE7D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAC,cAAc,EAAE,mBAAmB,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAC,CAAC,CAAA;QACpI,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YACnE,IAAI,CAAC,OAAO,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,CAAC,OAAO,gBAAgB,CAAC,CAAA;YACxF,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAC,CAAC,CAAA;QACjG,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;YACtC,OAAO,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,EAAC,EAAE,MAAM,EAAE,GAAG,EAAC,CAAA;QACvF,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,yBAAyB,EAAE,CAAC;YAClD,IAAI,CAAC,OAAO,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;YAC7F,OAAO,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,oCAAoC,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAC,EAAE,MAAM,EAAE,GAAG,EAAC,CAAA;QAClG,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAE7E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;QACvB,MAAM,IAAI,CAAC,MAAM,CAAC,EAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAC,CAAC,CAAA;QAE9G,MAAM,UAAU,GAAG,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,EAAE;YACxD,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YACxE,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE,EAAC,CAAC,CAAA;gBAC9H,MAAM,IAAI,CAAC,MAAM,CAAC,EAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,EAAC,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAC,CAAC,CAAA;YACjK,CAAC;YAAC,OAAO,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,kBAAkB,CAAC,EAAC,OAAO,EAAE,8CAA8C,EAAE,KAAK,EAAE,cAAc,EAAC,CAAC,CAAA;YAC3G,CAAC;QACH,CAAC,CAAA;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAC,CAAC,CAAA;QACtE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,CAAC,KAAK,CAAC,CAAA;YACvB,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YACxE,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,EAAC,GAAG,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAC,CAAA;YAC/H,OAAO,EAAC,IAAI,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAC,EAAE,MAAM,EAAE,GAAG,EAAC,CAAA;QAC/D,CAAC;QAED,OAAO,EAAC,IAAI,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAC,EAAE,MAAM,EAAE,GAAG,EAAC,CAAA;IAC5D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,EAAC,aAAa,EAAE,EAAE,EAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;YAAE,OAAO,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,cAAc,EAAC,EAAE,MAAM,EAAE,GAAG,EAAC,CAAA;QACzF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,GAAG;YAAE,OAAO,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,WAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAC,CAAA;QAE1D,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;QAC1E,IAAI,CAAC,MAAM;YAAE,OAAO,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,WAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAC,CAAA;QAC7D,kCAAkC;QAClC,MAAM,IAAI,GAAG,EAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAC,CAAA;QAE3C,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAC,CAAC,CAAA;gBAChG,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,CAAA;YACjF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,eAAe,GAAG,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;gBAC9E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;gBACvB,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAA;gBACxC,IAAI,CAAC,kBAAkB,CAAC,EAAC,OAAO,EAAE,oCAAoC,EAAE,KAAK,EAAE,eAAe,EAAC,CAAC,CAAA;YAClG,CAAC;QACH,CAAC;QAED,OAAO,EAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAC,CAAA;IAC5B,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAC;QACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,KAAK,OAAO,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAA;QACvG,OAAO,IAAI;YACT,CAAC,CAAC,EAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAC,EAAE,MAAM,EAAE,GAAG,EAAC;YAC1E,CAAC,CAAC,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAC,EAAE,MAAM,EAAE,GAAG,EAAC,CAAA;IAC9E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,EAAC,OAAO,GAAG,KAAK,EAAE,GAAG,EAAE,MAAM,EAAC;QAC9C,IAAI,CAAC,GAAG,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,EAAE,qBAAqB,CAAC,CAAA;QACnF,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAA;QACjC,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACnC,kDAAkD;QAClD,IAAI,SAAS,GAAG,IAAI,CAAA;QAEpB,IAAI,CAAC;YACH,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,EAAC,CAAC,CAAA;YACjF,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC3B,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAC,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBAC1E,IAAI,CAAC,kBAAkB,CAAC,EAAC,OAAO,EAAE,kCAAkC,EAAE,KAAK,EAAC,CAAC,CAAA;gBAC/E,CAAC,CAAC,CAAA;YACJ,CAAC,EAAE,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAA;YACvD,SAAS,CAAC,KAAK,EAAE,CAAA;YAEjB,MAAM,IAAI,CAAC,MAAM,CAAC,EAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,EAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAC,CAAC,CAAA;YAEnI,IAAI,MAAM,CAAA;YACV,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAC,CAAC,CAAA;gBAChI,IAAI,CAAC,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,QAAQ,kDAAkD,MAAM,CAAC,aAAa,EAAE,CAAC,CAAA;gBACjI,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAC,CAAC,CAAA;YAC9H,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;gBACxE,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAC,CAAC,CAAA;oBACjG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,EAAC,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAC,CAAC,CAAA;gBAChK,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,kBAAkB,CAAC,EAAC,OAAO,EAAE,uCAAuC,EAAE,KAAK,EAAE,UAAU,EAAC,CAAC,CAAA;gBAChG,CAAC;gBACD,OAAM;YACR,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;gBAClF,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAC,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAC,CAAC,CAAA;gBAC1F,MAAM,IAAI,CAAC,MAAM,CAAC,EAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,EAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAC,CAAC,CAAA;YACvI,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,kBAAkB,CAAC,EAAC,OAAO,EAAE,uCAAuC,EAAE,KAAK,EAAC,CAAC,CAAA;gBAClF,MAAM,mBAAmB,GAAG,EAAC,OAAO,EAAE,6GAA6G,EAAC,CAAA;gBACpJ,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAC,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAC,CAAC,CAAA;oBAC3H,MAAM,IAAI,CAAC,MAAM,CAAC,EAAC,KAAK,EAAE,6BAA6B,EAAE,OAAO,EAAE,EAAC,GAAG,mBAAmB,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAC,CAAC,CAAA;gBAC7K,CAAC;gBAAC,OAAO,gBAAgB,EAAE,CAAC;oBAC1B,IAAI,CAAC,kBAAkB,CAAC,EAAC,OAAO,EAAE,uDAAuD,EAAE,KAAK,EAAE,gBAAgB,EAAC,CAAC,CAAA;gBACtH,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,SAAS;gBAAE,aAAa,CAAC,SAAS,CAAC,CAAA;YACvC,6BAA6B,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAC;QAClC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,KAAK,EAAC,CAAC,CAAA;QACzH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,kBAAkB,CAAC,EAAC,OAAO,EAAE,8BAA8B,EAAE,KAAK,EAAC,CAAC,CAAA;QAC3E,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,GAAG;QACf,OAAO;YACL,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,19 +1,38 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* Validates and canonicalizes the backend-owned worker bootstrap module.
|
|
3
|
+
*
|
|
4
|
+
* @param {unknown} value - Candidate module path.
|
|
5
|
+
* @returns {string} Immutable absolute module path.
|
|
6
|
+
*/
|
|
7
|
+
export function validateWorkerBootstrapPath(value: unknown): string;
|
|
8
|
+
/**
|
|
9
|
+
* Creates a scheduler that launches Rampway's package-owned detached worker.
|
|
4
10
|
*
|
|
5
11
|
* @param {object} args - Scheduler dependencies.
|
|
6
12
|
* @param {any} args.configuration - Velocious configuration.
|
|
7
|
-
* @param {
|
|
8
|
-
* @
|
|
13
|
+
* @param {string} args.mountIdentifier - Stable mount identifier.
|
|
14
|
+
* @param {(payload: {context: string, error: unknown}) => void} [args.emitFrameworkError] - Failure reporter.
|
|
15
|
+
* @param {(file: string, args: string[], options: object) => import("node:child_process").ChildProcess} [args.spawnImpl] - Test seam.
|
|
16
|
+
* @param {string} args.workerBootstrapPath - Canonical backend bootstrap path.
|
|
17
|
+
* @param {string} [args.workerPath] - Canonical package worker entry path.
|
|
18
|
+
* @returns {(args: {onFailure?: (error: unknown) => Promise<void>, runId: string}) => Promise<void>} Detached scheduler.
|
|
9
19
|
*/
|
|
10
|
-
export function createDetachedExecution({ configuration, emitFrameworkError }: {
|
|
20
|
+
export function createDetachedExecution({ configuration, emitFrameworkError, mountIdentifier, spawnImpl, workerBootstrapPath, workerPath }: {
|
|
11
21
|
configuration: any;
|
|
12
|
-
|
|
22
|
+
mountIdentifier: string;
|
|
23
|
+
emitFrameworkError?: ((payload: {
|
|
13
24
|
context: string;
|
|
14
25
|
error: unknown;
|
|
15
|
-
}) => void;
|
|
16
|
-
|
|
26
|
+
}) => void) | undefined;
|
|
27
|
+
spawnImpl?: ((file: string, args: string[], options: object) => import("node:child_process").ChildProcess) | undefined;
|
|
28
|
+
workerBootstrapPath: string;
|
|
29
|
+
workerPath?: string | undefined;
|
|
30
|
+
}): (args: {
|
|
31
|
+
onFailure?: (error: unknown) => Promise<void>;
|
|
32
|
+
runId: string;
|
|
33
|
+
}) => Promise<void>;
|
|
34
|
+
/** Immutable package worker entry path. */
|
|
35
|
+
export const packageWorkerPath: string;
|
|
17
36
|
/** Velocious HTTP adapter for Rampway's deployment control plane. */
|
|
18
37
|
export default class RampwayDeploymentApiController extends Controller {
|
|
19
38
|
/** @returns {Record<string, any>} Mount options. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/velocious/controller.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/velocious/controller.js"],"names":[],"mappings":"AAgBA;;;;;GAKG;AACH,mDAHW,OAAO,GACL,MAAM,CAYlB;AAED;;;;;;;;;;;GAWG;AACH,4IARG;IAAkB,aAAa,EAAvB,GAAG;IACU,eAAe,EAA5B,MAAM;IACsD,kBAAkB,cAApE;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI;IACgD,SAAS,WAAtG,MAAM,QAAQ,MAAM,EAAE,WAAW,MAAM,KAAK,OAAO,oBAAoB,EAAE,YAAY;IAC/E,mBAAmB,EAAhC,MAAM;IACQ,UAAU;CAChC,GAAU,CAAC,IAAI,EAAE;IAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAkCnG;AAjED,2CAA2C;AAC3C,uCAAwG;AAkExG,qEAAqE;AACrE;IACE,oDAAoD;IACpD,iBADc,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAMhC;IAED,2CAA2C;IAC3C,UADc,kBAAkB,CAY/B;IARG,mDAKE;IAKN,2EAA2E;IAC3E,iBADc,sBAAsB,CAAC,kBAAkB,CAAC,CAYvD;IAED,iFAAiF;IACjF,wCADY;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAC,GAA4B,IAAI,CAQ5E;IAED,+BAA+B;IAC/B,UADc,OAAO,CAAC,IAAI,CAAC,CAO1B;IAED,+BAA+B;IAC/B,QADc,OAAO,CAAC,IAAI,CAAC,CAO1B;CACF;uBA1IsB,mCAAmC;+BAG3B,gBAAgB;uCADV,oBAAoB"}
|
|
@@ -1,23 +1,80 @@
|
|
|
1
1
|
// @ts-check
|
|
2
|
+
import { fileURLToPath, URL } from "node:url";
|
|
3
|
+
import fs from "node:fs";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { spawn as nodeSpawn } from "node:child_process";
|
|
2
6
|
import Controller from "velocious/build/src/controller.js";
|
|
3
7
|
import { DeploymentControlPlane } from "./control-plane.js";
|
|
4
8
|
import DeploymentRunStore from "./run-store.js";
|
|
5
9
|
import { getDeploymentMount } from "./registry.js";
|
|
10
|
+
/** Immutable package worker entry path. */
|
|
11
|
+
export const packageWorkerPath = fs.realpathSync(fileURLToPath(new URL("./worker.js", import.meta.url)));
|
|
6
12
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
13
|
+
* Validates and canonicalizes the backend-owned worker bootstrap module.
|
|
14
|
+
*
|
|
15
|
+
* @param {unknown} value - Candidate module path.
|
|
16
|
+
* @returns {string} Immutable absolute module path.
|
|
17
|
+
*/
|
|
18
|
+
export function validateWorkerBootstrapPath(value) {
|
|
19
|
+
if (typeof value !== "string" || !path.isAbsolute(value))
|
|
20
|
+
throw new Error("Rampway worker bootstrap path must be absolute");
|
|
21
|
+
let resolved;
|
|
22
|
+
try {
|
|
23
|
+
resolved = fs.realpathSync(value);
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
throw new Error(`Rampway worker bootstrap module is unavailable: ${value}`, { cause: error });
|
|
27
|
+
}
|
|
28
|
+
if (!fs.statSync(resolved).isFile())
|
|
29
|
+
throw new Error(`Rampway worker bootstrap path is not a file: ${value}`);
|
|
30
|
+
return resolved;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Creates a scheduler that launches Rampway's package-owned detached worker.
|
|
9
34
|
*
|
|
10
35
|
* @param {object} args - Scheduler dependencies.
|
|
11
36
|
* @param {any} args.configuration - Velocious configuration.
|
|
12
|
-
* @param {
|
|
13
|
-
* @
|
|
37
|
+
* @param {string} args.mountIdentifier - Stable mount identifier.
|
|
38
|
+
* @param {(payload: {context: string, error: unknown}) => void} [args.emitFrameworkError] - Failure reporter.
|
|
39
|
+
* @param {(file: string, args: string[], options: object) => import("node:child_process").ChildProcess} [args.spawnImpl] - Test seam.
|
|
40
|
+
* @param {string} args.workerBootstrapPath - Canonical backend bootstrap path.
|
|
41
|
+
* @param {string} [args.workerPath] - Canonical package worker entry path.
|
|
42
|
+
* @returns {(args: {onFailure?: (error: unknown) => Promise<void>, runId: string}) => Promise<void>} Detached scheduler.
|
|
14
43
|
*/
|
|
15
|
-
export function createDetachedExecution({ configuration, emitFrameworkError }) {
|
|
16
|
-
return async (
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
44
|
+
export function createDetachedExecution({ configuration, emitFrameworkError = () => { }, mountIdentifier, spawnImpl = nodeSpawn, workerBootstrapPath, workerPath = packageWorkerPath }) {
|
|
45
|
+
return async ({ onFailure, runId }) => {
|
|
46
|
+
if (typeof runId !== "string" || runId.length === 0 || runId.length > 128)
|
|
47
|
+
throw new Error("Invalid detached deployment run identifier");
|
|
48
|
+
if (typeof mountIdentifier !== "string" || mountIdentifier.length !== 64)
|
|
49
|
+
throw new Error("Invalid detached deployment mount identifier");
|
|
50
|
+
const child = spawnImpl(process.execPath, [workerPath, workerBootstrapPath, mountIdentifier, runId], {
|
|
51
|
+
cwd: configuration.getDirectory(),
|
|
52
|
+
detached: true,
|
|
53
|
+
stdio: ["ignore", "ignore", "ignore"]
|
|
54
|
+
});
|
|
55
|
+
child.once("exit", (code, signal) => {
|
|
56
|
+
if (code !== 0) {
|
|
57
|
+
const failure = new Error(`Rampway deployment worker exited before completion (${signal ?? `code ${code}`})`);
|
|
58
|
+
if (onFailure)
|
|
59
|
+
onFailure(failure).catch((/** @type {unknown} */ error) => emitFrameworkError({ context: "rampway-deployment-api-worker-failure", error }));
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
await new Promise((resolve, reject) => {
|
|
63
|
+
let settled = false;
|
|
64
|
+
const fail = (/** @type {unknown} */ error) => {
|
|
65
|
+
if (settled)
|
|
66
|
+
return;
|
|
67
|
+
settled = true;
|
|
68
|
+
reject(error);
|
|
69
|
+
};
|
|
70
|
+
child.once("error", fail);
|
|
71
|
+
child.once("spawn", () => {
|
|
72
|
+
if (settled)
|
|
73
|
+
return;
|
|
74
|
+
settled = true;
|
|
75
|
+
child.unref();
|
|
76
|
+
resolve(undefined);
|
|
77
|
+
});
|
|
21
78
|
});
|
|
22
79
|
};
|
|
23
80
|
}
|
|
@@ -50,7 +107,7 @@ export default class RampwayDeploymentApiController extends Controller {
|
|
|
50
107
|
const configuration = this.getConfiguration();
|
|
51
108
|
const emitFrameworkError = (/** @type {{context: string, error: unknown}} */ { context, error }) => this._emitFrameworkError({ context, error });
|
|
52
109
|
return new DeploymentControlPlane({
|
|
53
|
-
detachedExecution: createDetachedExecution({ configuration,
|
|
110
|
+
detachedExecution: createDetachedExecution({ configuration, mountIdentifier: options.mountIdentifier, workerBootstrapPath: options.workerBootstrapPath, workerPath: options.workerPath }),
|
|
54
111
|
emitFrameworkError,
|
|
55
112
|
executor: options.executor,
|
|
56
113
|
options,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/velocious/controller.js"],"names":[],"mappings":"AAAA,YAAY;AAEZ,OAAO,UAAU,MAAM,mCAAmC,CAAA;AAE1D,OAAO,EAAC,sBAAsB,EAAC,MAAM,oBAAoB,CAAA;AACzD,OAAO,kBAAkB,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAA;AAEhD
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/velocious/controller.js"],"names":[],"mappings":"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"}
|
|
@@ -8,15 +8,17 @@ export default class RampwayVelociousDeploymentApi {
|
|
|
8
8
|
* @param {string} [args.databaseIdentifier] - Persistence database.
|
|
9
9
|
* @param {unknown} args.projects - Project/stage/config/branch allowlist.
|
|
10
10
|
* @param {number} [args.staleRunTimeoutMs] - Ownership lease.
|
|
11
|
+
* @param {string} args.workerBootstrapPath - Absolute backend module that reconstructs Velocious in a worker.
|
|
11
12
|
* @returns {void}
|
|
12
13
|
*/
|
|
13
|
-
static mountInto({ accessTokens, at, configuration, databaseIdentifier, projects, staleRunTimeoutMs }: {
|
|
14
|
+
static mountInto({ accessTokens, at, configuration, databaseIdentifier, projects, staleRunTimeoutMs, workerBootstrapPath }: {
|
|
14
15
|
accessTokens: unknown;
|
|
15
16
|
at: string;
|
|
16
17
|
configuration: any;
|
|
17
18
|
databaseIdentifier?: string | undefined;
|
|
18
19
|
projects: unknown;
|
|
19
20
|
staleRunTimeoutMs?: number | undefined;
|
|
21
|
+
workerBootstrapPath: string;
|
|
20
22
|
}): void;
|
|
21
23
|
}
|
|
22
24
|
import { constantTimeEqual } from "./auth.js";
|
|
@@ -24,5 +26,6 @@ import { DeploymentControlPlane } from "./control-plane.js";
|
|
|
24
26
|
import { matchDeploymentApiPath } from "./path-matcher.js";
|
|
25
27
|
import { sanitizeAdapterValue } from "./sanitize.js";
|
|
26
28
|
import { sanitizeErrorPayload } from "./sanitize.js";
|
|
27
|
-
|
|
29
|
+
import { validateWorkerBootstrapPath } from "./controller.js";
|
|
30
|
+
export { constantTimeEqual, DeploymentControlPlane, matchDeploymentApiPath, sanitizeAdapterValue, sanitizeErrorPayload, validateWorkerBootstrapPath };
|
|
28
31
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/velocious/index.js"],"names":[],"mappings":"AA2GA,6EAA6E;AAC7E;IACE
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/velocious/index.js"],"names":[],"mappings":"AA2GA,6EAA6E;AAC7E;IACE;;;;;;;;;;OAUG;IACH,4HATG;QAAsB,YAAY,EAA1B,OAAO;QACM,EAAE,EAAf,MAAM;QACI,aAAa,EAAvB,GAAG;QACW,kBAAkB;QAClB,QAAQ,EAAtB,OAAO;QACO,iBAAiB;QAClB,mBAAmB,EAAhC,MAAM;KACd,GAAU,IAAI,CA6BhB;CACF;kCAhJ+B,WAAW;uCACN,oBAAoB;uCAGE,mBAAmB;qCAErB,eAAe;qCAAf,eAAe;4CAJqB,iBAAiB"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { constantTimeEqual } from "./auth.js";
|
|
4
4
|
import { DeploymentControlPlane } from "./control-plane.js";
|
|
5
|
-
import RampwayDeploymentApiController from "./controller.js";
|
|
5
|
+
import RampwayDeploymentApiController, { packageWorkerPath, validateWorkerBootstrapPath } from "./controller.js";
|
|
6
6
|
import { createRampwayDeploymentExecutor } from "./executor.js";
|
|
7
7
|
import { matchDeploymentApiPath, normalizeMountPrefix } from "./path-matcher.js";
|
|
8
8
|
import { deploymentMountIdentifier, registerDeploymentMount } from "./registry.js";
|
|
@@ -106,9 +106,10 @@ export default class RampwayVelociousDeploymentApi {
|
|
|
106
106
|
* @param {string} [args.databaseIdentifier] - Persistence database.
|
|
107
107
|
* @param {unknown} args.projects - Project/stage/config/branch allowlist.
|
|
108
108
|
* @param {number} [args.staleRunTimeoutMs] - Ownership lease.
|
|
109
|
+
* @param {string} args.workerBootstrapPath - Absolute backend module that reconstructs Velocious in a worker.
|
|
109
110
|
* @returns {void}
|
|
110
111
|
*/
|
|
111
|
-
static mountInto({ accessTokens, at, configuration, databaseIdentifier = "default", projects, staleRunTimeoutMs }) {
|
|
112
|
+
static mountInto({ accessTokens, at, configuration, databaseIdentifier = "default", projects, staleRunTimeoutMs, workerBootstrapPath }) {
|
|
112
113
|
if (!configuration || typeof configuration.addRouteResolverHook !== "function")
|
|
113
114
|
throw new Error("No Velocious configuration given");
|
|
114
115
|
if (typeof databaseIdentifier !== "string" || databaseIdentifier.length === 0) {
|
|
@@ -121,7 +122,9 @@ export default class RampwayVelociousDeploymentApi {
|
|
|
121
122
|
executor: createRampwayDeploymentExecutor(),
|
|
122
123
|
mountIdentifier: deploymentMountIdentifier(prefix),
|
|
123
124
|
projects: validateProjects(projects),
|
|
124
|
-
staleRunTimeoutMs: validateStaleRunTimeout(staleRunTimeoutMs)
|
|
125
|
+
staleRunTimeoutMs: validateStaleRunTimeout(staleRunTimeoutMs),
|
|
126
|
+
workerBootstrapPath: validateWorkerBootstrapPath(workerBootstrapPath),
|
|
127
|
+
workerPath: packageWorkerPath
|
|
125
128
|
};
|
|
126
129
|
registerDeploymentMount(configuration, prefix, options);
|
|
127
130
|
configuration.addRouteResolverHook((/** @type {{currentPath: string, request: {httpMethod: () => string}}} */ { currentPath, request }) => {
|
|
@@ -137,5 +140,5 @@ export default class RampwayVelociousDeploymentApi {
|
|
|
137
140
|
});
|
|
138
141
|
}
|
|
139
142
|
}
|
|
140
|
-
export { constantTimeEqual, DeploymentControlPlane, matchDeploymentApiPath, sanitizeAdapterValue, sanitizeErrorPayload };
|
|
143
|
+
export { constantTimeEqual, DeploymentControlPlane, matchDeploymentApiPath, sanitizeAdapterValue, sanitizeErrorPayload, validateWorkerBootstrapPath };
|
|
141
144
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/velocious/index.js"],"names":[],"mappings":"AAAA,YAAY;AAEZ,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAC,sBAAsB,EAAC,MAAM,oBAAoB,CAAA;AACzD,OAAO,8BAA8B,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/velocious/index.js"],"names":[],"mappings":"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"}
|
|
@@ -16,4 +16,10 @@ export function registerDeploymentMount(configuration: object, at: string, optio
|
|
|
16
16
|
* @returns {Record<string, any>|undefined} Options.
|
|
17
17
|
*/
|
|
18
18
|
export function getDeploymentMount(configuration: object, at: string): Record<string, any> | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* @param {object} configuration - Configuration.
|
|
21
|
+
* @param {string} identifier - Stable mount identifier.
|
|
22
|
+
* @returns {Record<string, any>|undefined} Options.
|
|
23
|
+
*/
|
|
24
|
+
export function getDeploymentMountByIdentifier(configuration: object, identifier: string): Record<string, any> | undefined;
|
|
19
25
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/velocious/registry.js"],"names":[],"mappings":"AAOA;;;GAGG;AACH,8CAHW,MAAM,GACJ,MAAM,CAIlB;AAED;;;;;GAKG;AACH,uDALW,MAAM,MACN,MAAM,WACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,IAAI,CAUhB;AAED;;;;GAIG;AACH,kDAJW,MAAM,MACN,MAAM,GACJ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAC,SAAS,CAIzC"}
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/velocious/registry.js"],"names":[],"mappings":"AAOA;;;GAGG;AACH,8CAHW,MAAM,GACJ,MAAM,CAIlB;AAED;;;;;GAKG;AACH,uDALW,MAAM,MACN,MAAM,WACN,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,IAAI,CAUhB;AAED;;;;GAIG;AACH,kDAJW,MAAM,MACN,MAAM,GACJ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAC,SAAS,CAIzC;AAED;;;;GAIG;AACH,8DAJW,MAAM,cACN,MAAM,GACJ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAC,SAAS,CAOzC"}
|
|
@@ -33,4 +33,16 @@ export function registerDeploymentMount(configuration, at, options) {
|
|
|
33
33
|
export function getDeploymentMount(configuration, at) {
|
|
34
34
|
return mounts.get(configuration)?.get(at);
|
|
35
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* @param {object} configuration - Configuration.
|
|
38
|
+
* @param {string} identifier - Stable mount identifier.
|
|
39
|
+
* @returns {Record<string, any>|undefined} Options.
|
|
40
|
+
*/
|
|
41
|
+
export function getDeploymentMountByIdentifier(configuration, identifier) {
|
|
42
|
+
for (const options of mounts.get(configuration)?.values() ?? []) {
|
|
43
|
+
if (options.mountIdentifier === identifier)
|
|
44
|
+
return options;
|
|
45
|
+
}
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
36
48
|
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/velocious/registry.js"],"names":[],"mappings":"AAAA,YAAY;AAEZ,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAA;AAEtC,gEAAgE;AAChE,MAAM,MAAM,GAAG,IAAI,OAAO,EAAE,CAAA;AAE5B;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,EAAE;IAC1C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACtD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,aAAa,EAAE,EAAE,EAAE,OAAO;IAChE,IAAI,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;QACtB,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA;IACvC,CAAC;IACD,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,EAAE,EAAE,CAAC,CAAA;IAC7F,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,aAAa,EAAE,EAAE;IAClD,OAAO,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;AAC3C,CAAC"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/velocious/registry.js"],"names":[],"mappings":"AAAA,YAAY;AAEZ,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAA;AAEtC,gEAAgE;AAChE,MAAM,MAAM,GAAG,IAAI,OAAO,EAAE,CAAA;AAE5B;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,EAAE;IAC1C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACtD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,aAAa,EAAE,EAAE,EAAE,OAAO;IAChE,IAAI,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;QACtB,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA;IACvC,CAAC;IACD,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,EAAE,EAAE,CAAC,CAAA;IAC7F,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,aAAa,EAAE,EAAE;IAClD,OAAO,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAAC,aAAa,EAAE,UAAU;IACtE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAChE,IAAI,OAAO,CAAC,eAAe,KAAK,UAAU;YAAE,OAAO,OAAO,CAAA;IAC5D,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
|