runcloud 0.1.127 → 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 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 *replaces*
283
- the whole set rather than merging, which is how a credential gets revoked:
284
- passing no flags at all takes them all back.
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.
@@ -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' || name === 'run-cloud' || name === 'run-cloud.js');
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.127';
1
+ export const CLI_VERSION = '0.1.129';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "runcloud",
3
- "version": "0.1.127",
3
+ "version": "0.1.129",
4
4
  "description": "Create and control run.cloud remote mobile simulators and cloud sandboxes",
5
5
  "license": "Apache-2.0",
6
6
  "keywords": [
Binary file
Binary file