@cardelli/ambit 0.4.2 → 0.4.4
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/esm/cli/commands/deploy/index.js +81 -2
- package/esm/deno.js +1 -1
- package/esm/lib/args.d.ts +1 -0
- package/esm/lib/args.d.ts.map +1 -1
- package/esm/lib/args.js +2 -0
- package/esm/lib/cli.d.ts.map +1 -1
- package/esm/lib/cli.js +4 -0
- package/esm/providers/fly.d.ts +17 -0
- package/esm/providers/fly.d.ts.map +1 -1
- package/esm/providers/fly.js +39 -0
- package/package.json +1 -1
|
@@ -84,6 +84,26 @@ const stageDeploy = async (out, fly, deployConfig, opts) => {
|
|
|
84
84
|
image: deployConfig.image,
|
|
85
85
|
config: deployConfig.configPath,
|
|
86
86
|
region: opts.region,
|
|
87
|
+
// VM sizing
|
|
88
|
+
vmSize: opts.vmSize,
|
|
89
|
+
vmCpus: opts.vmCpus,
|
|
90
|
+
vmMemory: opts.vmMemory,
|
|
91
|
+
vmCpuKind: opts.vmCpuKind,
|
|
92
|
+
vmGpuKind: opts.vmGpuKind,
|
|
93
|
+
vmGpus: opts.vmGpus,
|
|
94
|
+
// Build options
|
|
95
|
+
dockerfile: opts.dockerfile,
|
|
96
|
+
buildArg: opts.buildArg,
|
|
97
|
+
buildSecret: opts.buildSecret,
|
|
98
|
+
buildTarget: opts.buildTarget,
|
|
99
|
+
localOnly: opts.localOnly,
|
|
100
|
+
remoteOnly: opts.remoteOnly,
|
|
101
|
+
// Deploy behavior
|
|
102
|
+
env: opts.env,
|
|
103
|
+
strategy: opts.strategy,
|
|
104
|
+
detach: opts.detach,
|
|
105
|
+
waitTimeout: opts.waitTimeout,
|
|
106
|
+
volumeInitialSize: opts.volumeInitialSize,
|
|
87
107
|
},
|
|
88
108
|
};
|
|
89
109
|
const phase = await hydrateDeploy(ctx);
|
|
@@ -147,10 +167,24 @@ const deploy = async (argv) => {
|
|
|
147
167
|
"config",
|
|
148
168
|
"main-port",
|
|
149
169
|
"template",
|
|
170
|
+
// VM sizing
|
|
171
|
+
"vm-size",
|
|
172
|
+
"vm-cpus",
|
|
173
|
+
"vm-memory",
|
|
174
|
+
"vm-cpu-kind",
|
|
175
|
+
"vm-gpu-kind",
|
|
176
|
+
"vm-gpus",
|
|
177
|
+
// Build options
|
|
178
|
+
"dockerfile",
|
|
179
|
+
"build-target",
|
|
180
|
+
"strategy",
|
|
181
|
+
"wait-timeout",
|
|
182
|
+
"volume-initial-size",
|
|
150
183
|
],
|
|
151
|
-
boolean: ["help", "yes", "json"],
|
|
152
|
-
alias: { y: "yes" },
|
|
184
|
+
boolean: ["help", "yes", "json", "local-only", "remote-only", "detach"],
|
|
185
|
+
alias: { y: "yes", e: "env" },
|
|
153
186
|
default: { "main-port": "80" },
|
|
187
|
+
collect: ["build-arg", "build-secret", "env"],
|
|
154
188
|
};
|
|
155
189
|
const args = parseArgs(argv, opts);
|
|
156
190
|
checkArgs(args, opts, "ambit deploy", 1);
|
|
@@ -199,6 +233,29 @@ ${bold("TEMPLATE MODE")}
|
|
|
199
233
|
owner/repo/path@branch Fetch a specific branch
|
|
200
234
|
owner/repo/path@commit Fetch a specific commit
|
|
201
235
|
|
|
236
|
+
${bold("VM SIZING")}
|
|
237
|
+
--vm-size <size> VM size preset (see "fly platform vm-sizes")
|
|
238
|
+
--vm-cpus <n> Number of CPUs
|
|
239
|
+
--vm-memory <mb> Memory in megabytes
|
|
240
|
+
--vm-cpu-kind <kind> CPU kind: "shared" or "performance"
|
|
241
|
+
--vm-gpu-kind <model> GPU model (a100-pcie-40gb, a100-sxm4-80gb, l40s, a10)
|
|
242
|
+
--vm-gpus <n> Number of GPUs
|
|
243
|
+
|
|
244
|
+
${bold("BUILD OPTIONS")} (config/template mode only)
|
|
245
|
+
--dockerfile <path> Path to Dockerfile
|
|
246
|
+
--build-arg <K=V> Build-time variable (repeatable)
|
|
247
|
+
--build-secret <K=V> Build-time secret (repeatable)
|
|
248
|
+
--build-target <stage> Target build stage for multi-stage Dockerfiles
|
|
249
|
+
--local-only Build locally using local Docker daemon
|
|
250
|
+
--remote-only Build on remote builder (default)
|
|
251
|
+
|
|
252
|
+
${bold("DEPLOY BEHAVIOR")}
|
|
253
|
+
-e, --env <K=V> Environment variable (repeatable)
|
|
254
|
+
--strategy <name> Deploy strategy: canary, rolling, bluegreen, immediate
|
|
255
|
+
--detach Return immediately without monitoring
|
|
256
|
+
--wait-timeout <dur> Time to wait for machines to become healthy (default: 5m0s)
|
|
257
|
+
--volume-initial-size <gb> Initial volume size in GB on first deploy
|
|
258
|
+
|
|
202
259
|
${bold("SAFETY")}
|
|
203
260
|
Always deploys with --no-public-ips and --flycast.
|
|
204
261
|
Post-deploy audit releases any public IPs and verifies Flycast allocation.
|
|
@@ -275,6 +332,28 @@ ${bold("EXAMPLES")}
|
|
|
275
332
|
routerId,
|
|
276
333
|
flyAppName,
|
|
277
334
|
routerPrivateIp,
|
|
335
|
+
// VM sizing
|
|
336
|
+
vmSize: args["vm-size"],
|
|
337
|
+
vmCpus: args["vm-cpus"] ? Number(args["vm-cpus"]) : undefined,
|
|
338
|
+
vmMemory: args["vm-memory"],
|
|
339
|
+
vmCpuKind: args["vm-cpu-kind"],
|
|
340
|
+
vmGpuKind: args["vm-gpu-kind"],
|
|
341
|
+
vmGpus: args["vm-gpus"] ? Number(args["vm-gpus"]) : undefined,
|
|
342
|
+
// Build options
|
|
343
|
+
dockerfile: args.dockerfile,
|
|
344
|
+
buildArg: args["build-arg"],
|
|
345
|
+
buildSecret: args["build-secret"],
|
|
346
|
+
buildTarget: args["build-target"],
|
|
347
|
+
localOnly: args["local-only"],
|
|
348
|
+
remoteOnly: args["remote-only"],
|
|
349
|
+
// Deploy behavior
|
|
350
|
+
env: args.env,
|
|
351
|
+
strategy: args.strategy,
|
|
352
|
+
detach: args.detach,
|
|
353
|
+
waitTimeout: args["wait-timeout"],
|
|
354
|
+
volumeInitialSize: args["volume-initial-size"]
|
|
355
|
+
? Number(args["volume-initial-size"])
|
|
356
|
+
: undefined,
|
|
278
357
|
});
|
|
279
358
|
};
|
|
280
359
|
// =============================================================================
|
package/esm/deno.js
CHANGED
package/esm/lib/args.d.ts
CHANGED
|
@@ -10,5 +10,6 @@ export declare const checkArgs: (args: Record<string, unknown>, opts: {
|
|
|
10
10
|
string?: readonly string[] | string[];
|
|
11
11
|
boolean?: readonly string[] | string[];
|
|
12
12
|
alias?: Record<string, string | string[]>;
|
|
13
|
+
collect?: readonly string[] | string[];
|
|
13
14
|
}, command: string, maxPositional?: number) => void;
|
|
14
15
|
//# sourceMappingURL=args.d.ts.map
|
package/esm/lib/args.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/lib/args.ts"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GACpB,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM;IACJ,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACtC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/lib/args.ts"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GACpB,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM;IACJ,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACtC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;CACxC,EACD,SAAS,MAAM,EACf,sBAAiB,KAChB,IA6BF,CAAC"}
|
package/esm/lib/args.js
CHANGED
|
@@ -16,6 +16,8 @@ export const checkArgs = (args, opts, command, maxPositional = 0) => {
|
|
|
16
16
|
known.add(k);
|
|
17
17
|
for (const k of opts.boolean ?? [])
|
|
18
18
|
known.add(k);
|
|
19
|
+
for (const k of opts.collect ?? [])
|
|
20
|
+
known.add(k);
|
|
19
21
|
for (const [k, v] of Object.entries(opts.alias ?? {})) {
|
|
20
22
|
known.add(k);
|
|
21
23
|
for (const a of Array.isArray(v) ? v : [v])
|
package/esm/lib/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/lib/cli.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,KAAG,MAAkC,CAAC;AACvE,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,KAAG,MAAiC,CAAC;AACrE,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,KAAG,MAAiC,CAAC;AACrE,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,KAAG,MAAmC,CAAC;AACzE,eAAO,MAAM,MAAM,GAAI,MAAM,MAAM,KAAG,MAAoC,CAAC;AAC3E,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,KAAG,MAAkC,CAAC;AACvE,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,KAAG,MAAkC,CAAC;AAMvE,eAAO,MAAM,QAAQ,GAAI,SAAS,MAAM,KAAG,IAE1C,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,KAAG,IAE5C,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,KAAG,IAE3C,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,KAAG,IAE5C,CAAC;AAMF,eAAO,MAAM,GAAG,GAAI,SAAS,MAAM,KAAG,KAGrC,CAAC;AAQF,qBAAa,OAAO;IAClB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,OAAO,CAAM;IAErB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/lib/cli.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,KAAG,MAAkC,CAAC;AACvE,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,KAAG,MAAiC,CAAC;AACrE,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,KAAG,MAAiC,CAAC;AACrE,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,KAAG,MAAmC,CAAC;AACzE,eAAO,MAAM,MAAM,GAAI,MAAM,MAAM,KAAG,MAAoC,CAAC;AAC3E,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,KAAG,MAAkC,CAAC;AACvE,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,KAAG,MAAkC,CAAC;AAMvE,eAAO,MAAM,QAAQ,GAAI,SAAS,MAAM,KAAG,IAE1C,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,KAAG,IAE5C,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,KAAG,IAE3C,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,KAAG,IAE5C,CAAC;AAMF,eAAO,MAAM,GAAG,GAAI,SAAS,MAAM,KAAG,KAGrC,CAAC;AAQF,qBAAa,OAAO;IAClB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,OAAO,CAAM;IAErB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAoB5B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI7B,IAAI,IAAI,IAAI;IASZ,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK9B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAI5B;AAMD,eAAO,MAAM,MAAM,GAAU,SAAS,MAAM,KAAG,OAAO,CAAC,MAAM,CAW5D,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,SAAS,MAAM,KAAG,OAAO,CAAC,OAAO,CAG9D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,SAAS,MAAM,KAAG,OAAO,CAAC,MAAM,CA4BhE,CAAC;AAMF,eAAO,MAAM,UAAU,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,OAAO,CAI9D,CAAC;AAMF,eAAO,MAAM,YAAY,QAAO,MAG/B,CAAC;AAEF,eAAO,MAAM,aAAa,QAAO,MAEhC,CAAC;AAEF,eAAO,MAAM,eAAe,QAAa,OAAO,CAAC,IAAI,CAUpD,CAAC;AAMF,eAAO,MAAM,QAAQ,GAAI,SAAQ,MAAU,KAAG,MAM7C,CAAC;AAMF,eAAO,MAAM,aAAa,GAAU,SAAS,MAAM,KAAG,OAAO,CAAC,OAAO,CASpE,CAAC"}
|
package/esm/lib/cli.js
CHANGED
|
@@ -55,6 +55,10 @@ export class Spinner {
|
|
|
55
55
|
this.stop();
|
|
56
56
|
this.message = message;
|
|
57
57
|
this.frameIndex = 0;
|
|
58
|
+
if (!dntShim.Deno.stdout.isTerminal()) {
|
|
59
|
+
console.log(` ${this.message}`);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
58
62
|
const encoder = new TextEncoder();
|
|
59
63
|
const write = (text) => dntShim.Deno.stdout.writeSync(encoder.encode(text));
|
|
60
64
|
this.intervalId = setInterval(() => {
|
package/esm/providers/fly.d.ts
CHANGED
|
@@ -28,6 +28,23 @@ export interface SafeDeployOptions {
|
|
|
28
28
|
config?: string;
|
|
29
29
|
region?: string;
|
|
30
30
|
routerId?: string;
|
|
31
|
+
vmSize?: string;
|
|
32
|
+
vmCpus?: number;
|
|
33
|
+
vmMemory?: string;
|
|
34
|
+
vmCpuKind?: string;
|
|
35
|
+
vmGpuKind?: string;
|
|
36
|
+
vmGpus?: number;
|
|
37
|
+
dockerfile?: string;
|
|
38
|
+
buildArg?: string[];
|
|
39
|
+
buildSecret?: string[];
|
|
40
|
+
buildTarget?: string;
|
|
41
|
+
localOnly?: boolean;
|
|
42
|
+
remoteOnly?: boolean;
|
|
43
|
+
env?: string[];
|
|
44
|
+
strategy?: string;
|
|
45
|
+
detach?: boolean;
|
|
46
|
+
waitTimeout?: string;
|
|
47
|
+
volumeInitialSize?: number;
|
|
31
48
|
}
|
|
32
49
|
export interface FlyProvider {
|
|
33
50
|
auth: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fly.d.ts","sourceRoot":"","sources":["../../src/providers/fly.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,KAAK,MAAM,EACX,KAAK,UAAU,EAIf,KAAK,KAAK,EAEV,KAAK,UAAU,EAIhB,MAAM,mBAAmB,CAAC;AAa3B;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAMxC;AAMD,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,eAAe,GAAG,eAAe,CAAC;AAE9E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAMD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"fly.d.ts","sourceRoot":"","sources":["../../src/providers/fly.ts"],"names":[],"mappings":"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"}
|
package/esm/providers/fly.js
CHANGED
|
@@ -409,6 +409,45 @@ export const createFlyProvider = (token) => {
|
|
|
409
409
|
if (options.region) {
|
|
410
410
|
args.push("--primary-region", options.region);
|
|
411
411
|
}
|
|
412
|
+
// VM sizing
|
|
413
|
+
if (options.vmSize)
|
|
414
|
+
args.push("--vm-size", options.vmSize);
|
|
415
|
+
if (options.vmCpus)
|
|
416
|
+
args.push("--vm-cpus", String(options.vmCpus));
|
|
417
|
+
if (options.vmMemory)
|
|
418
|
+
args.push("--vm-memory", options.vmMemory);
|
|
419
|
+
if (options.vmCpuKind)
|
|
420
|
+
args.push("--vm-cpu-kind", options.vmCpuKind);
|
|
421
|
+
if (options.vmGpuKind)
|
|
422
|
+
args.push("--vm-gpu-kind", options.vmGpuKind);
|
|
423
|
+
if (options.vmGpus)
|
|
424
|
+
args.push("--vm-gpus", String(options.vmGpus));
|
|
425
|
+
// Build options (only meaningful when not using --image)
|
|
426
|
+
if (!options.image) {
|
|
427
|
+
if (options.dockerfile)
|
|
428
|
+
args.push("--dockerfile", options.dockerfile);
|
|
429
|
+
if (options.buildTarget)
|
|
430
|
+
args.push("--build-target", options.buildTarget);
|
|
431
|
+
if (options.localOnly)
|
|
432
|
+
args.push("--local-only");
|
|
433
|
+
if (options.remoteOnly)
|
|
434
|
+
args.push("--remote-only");
|
|
435
|
+
for (const arg of options.buildArg ?? [])
|
|
436
|
+
args.push("--build-arg", arg);
|
|
437
|
+
for (const secret of options.buildSecret ?? [])
|
|
438
|
+
args.push("--build-secret", secret);
|
|
439
|
+
}
|
|
440
|
+
// Deploy behavior
|
|
441
|
+
for (const e of options.env ?? [])
|
|
442
|
+
args.push("--env", e);
|
|
443
|
+
if (options.strategy)
|
|
444
|
+
args.push("--strategy", options.strategy);
|
|
445
|
+
if (options.detach)
|
|
446
|
+
args.push("--detach");
|
|
447
|
+
if (options.waitTimeout)
|
|
448
|
+
args.push("--wait-timeout", options.waitTimeout);
|
|
449
|
+
if (options.volumeInitialSize)
|
|
450
|
+
args.push("--volume-initial-size", String(options.volumeInitialSize));
|
|
412
451
|
const result = await run(args);
|
|
413
452
|
if (!result.ok) {
|
|
414
453
|
throw new FlyDeployError(flyAppName, result.stderr);
|