runcloud 0.1.126 → 0.1.129
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 +7 -5
- package/dist/commands/sandbox.js +3 -3
- package/dist/commands/sandboxOutput.js +7 -0
- package/dist/config.js +4 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/runcloud-0.1.129.tgz +0 -0
- package/runcloud-0.1.126.tgz +0 -0
package/README.md
CHANGED
|
@@ -279,9 +279,11 @@ runcloud sandbox create --no-secrets # state explicitly t
|
|
|
279
279
|
`--secret-group`, `--secret`, and `--env` are repeatable and **order matters** —
|
|
280
280
|
a later one wins a name collision, and `--env` is applied last.
|
|
281
281
|
|
|
282
|
-
`runcloud sandbox secrets <id>` re-attaches on a running sandbox. It
|
|
283
|
-
the whole set rather than merging
|
|
284
|
-
|
|
282
|
+
`runcloud sandbox secrets set <id>` re-attaches on a running sandbox. It
|
|
283
|
+
*replaces* the whole set rather than merging. Use
|
|
284
|
+
`runcloud sandbox secrets revoke <id>` to take everything back; the bare
|
|
285
|
+
`runcloud sandbox secrets <id>` form only shows the last recorded delivery
|
|
286
|
+
inventory, not proof of the live guest state.
|
|
285
287
|
|
|
286
288
|
A value can never be passed as a command argument — it would land in your shell
|
|
287
289
|
history, in `ps` output, and in CI logs. Use a hidden prompt, a file, or stdin.
|
|
@@ -298,8 +300,8 @@ runcloud image refresh python:3.12-slim # re-pin the tag to its current u
|
|
|
298
300
|
runcloud sandbox create --image python:3.12-slim
|
|
299
301
|
```
|
|
300
302
|
|
|
301
|
-
Built in: `runcloud/agent-base` (the default
|
|
302
|
-
`runcloud/
|
|
303
|
+
Built in: `runcloud/agent-base` (the default, including with `--expose`),
|
|
304
|
+
`runcloud/desktop`, and `newly/postgres`.
|
|
303
305
|
|
|
304
306
|
## Demos
|
|
305
307
|
|
package/dist/commands/sandbox.js
CHANGED
|
@@ -314,7 +314,7 @@ export function registerSandbox(program) {
|
|
|
314
314
|
withOutput(sandbox
|
|
315
315
|
.command('create')
|
|
316
316
|
.description('Spawn a microVM sandbox')
|
|
317
|
-
.option('--image <ref>', 'base image (default runcloud/agent-base
|
|
317
|
+
.option('--image <ref>', 'base image (default runcloud/agent-base)')
|
|
318
318
|
.option('--region <region>', 'placement region')
|
|
319
319
|
.option('--name <name>', 'human-readable name; with --expose, the hostname prefix <name>-box.run.cloud')
|
|
320
320
|
.option('--org <id>', 'billing and ownership organization')
|
|
@@ -339,7 +339,7 @@ export function registerSandbox(program) {
|
|
|
339
339
|
throw new Error('--persistent and --expose keep the sandbox running; drop the non-zero --idle-pause');
|
|
340
340
|
}
|
|
341
341
|
const body = {
|
|
342
|
-
image: opts.image ??
|
|
342
|
+
image: opts.image ?? 'runcloud/agent-base',
|
|
343
343
|
};
|
|
344
344
|
if (opts.name)
|
|
345
345
|
body.name = opts.name;
|
|
@@ -810,7 +810,7 @@ export function registerSandbox(program) {
|
|
|
810
810
|
.argument('<name>', 'hostname prefix: <name>-box.run.cloud')
|
|
811
811
|
.option('--sandbox <id>', 'attach an existing sandbox created with --idle-pause 0')
|
|
812
812
|
.option('--port <port>', 'guest port to publish', parsePort, 3000)
|
|
813
|
-
.option('--image <ref>', 'base image for a new sandbox
|
|
813
|
+
.option('--image <ref>', 'base image for a new sandbox', 'runcloud/agent-base')
|
|
814
814
|
.option('--region <region>', 'placement region for a new sandbox')
|
|
815
815
|
.option('--org <id>', 'billing and ownership organization for a new sandbox')
|
|
816
816
|
.option('--cpu <cores>', 'vCPU allocation for a new box', parseCpuCores, DEFAULT_BOX_CPU_CORES)
|
|
@@ -35,6 +35,12 @@ function hostname(record) {
|
|
|
35
35
|
const port = record.exposedPort ?? record.box?.port;
|
|
36
36
|
return host && port ? `${host}:${port}` : host;
|
|
37
37
|
}
|
|
38
|
+
function tags(record) {
|
|
39
|
+
const entries = Object.entries(record.tags ?? {}).sort(([left], [right]) => left.localeCompare(right));
|
|
40
|
+
return entries.length > 0
|
|
41
|
+
? entries.map(([key, value]) => `${key}=${value}`).join('\n')
|
|
42
|
+
: undefined;
|
|
43
|
+
}
|
|
38
44
|
function title(record, verb) {
|
|
39
45
|
if (verb === 'details')
|
|
40
46
|
return 'Sandbox';
|
|
@@ -62,6 +68,7 @@ export function renderSandbox(record, verb = 'details') {
|
|
|
62
68
|
{ label: 'Idle pause', value: formatSeconds(record.idle_pause_seconds) },
|
|
63
69
|
{ label: 'Timeout', value: formatSeconds(record.timeout_seconds) },
|
|
64
70
|
{ label: 'Hostname', value: hostname(record) },
|
|
71
|
+
{ label: 'Tags', value: tags(record) },
|
|
65
72
|
{ label: 'Image digest', value: shortDigest(record.image_digest) },
|
|
66
73
|
{ label: 'Created', value: formatAge(record.created_at) },
|
|
67
74
|
{ label: 'Last active', value: verb === 'details' ? formatAge(record.last_active_at) : undefined },
|
package/dist/config.js
CHANGED
|
@@ -12,7 +12,10 @@ export function sanitizeAccount(value) {
|
|
|
12
12
|
}
|
|
13
13
|
export function isRunCloud() {
|
|
14
14
|
const names = [process.argv[1], process.execPath].map((path) => basename(path ?? ''));
|
|
15
|
-
return names.some((name) => name === 'runcloud'
|
|
15
|
+
return names.some((name) => name === 'runcloud'
|
|
16
|
+
|| name === 'run-cloud'
|
|
17
|
+
|| name === 'run-cloud.js'
|
|
18
|
+
|| name === 'run-cloud.ts');
|
|
16
19
|
}
|
|
17
20
|
function credentialsHome() {
|
|
18
21
|
if (isRunCloud())
|
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const CLI_VERSION = '0.1.
|
|
1
|
+
export const CLI_VERSION = '0.1.129';
|
package/package.json
CHANGED
|
Binary file
|
package/runcloud-0.1.126.tgz
DELETED
|
Binary file
|