gcb-host 0.7.1 → 0.8.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.
Files changed (94) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/bin/gcb.js +3 -3
  3. package/lib/audit.d.ts +4 -4
  4. package/lib/audit.d.ts.map +1 -1
  5. package/lib/audit.js +15 -14
  6. package/lib/audit.js.map +1 -1
  7. package/lib/broker.d.ts +12 -13
  8. package/lib/broker.d.ts.map +1 -1
  9. package/lib/broker.js +77 -53
  10. package/lib/broker.js.map +1 -1
  11. package/lib/commands/authorize.d.ts +43 -13
  12. package/lib/commands/authorize.d.ts.map +1 -1
  13. package/lib/commands/authorize.js +146 -53
  14. package/lib/commands/authorize.js.map +1 -1
  15. package/lib/commands/compose.d.ts +7 -7
  16. package/lib/commands/compose.d.ts.map +1 -1
  17. package/lib/commands/compose.js +21 -22
  18. package/lib/commands/compose.js.map +1 -1
  19. package/lib/commands/config.d.ts.map +1 -1
  20. package/lib/commands/config.js +59 -41
  21. package/lib/commands/config.js.map +1 -1
  22. package/lib/commands/deployment.d.ts +11 -11
  23. package/lib/commands/deployment.d.ts.map +1 -1
  24. package/lib/commands/deployment.js +19 -18
  25. package/lib/commands/deployment.js.map +1 -1
  26. package/lib/commands/diagnose.d.ts.map +1 -1
  27. package/lib/commands/diagnose.js +51 -33
  28. package/lib/commands/diagnose.js.map +1 -1
  29. package/lib/commands/doctor.d.ts +5 -5
  30. package/lib/commands/doctor.d.ts.map +1 -1
  31. package/lib/commands/doctor.js +53 -32
  32. package/lib/commands/doctor.js.map +1 -1
  33. package/lib/commands/host.d.ts +7 -7
  34. package/lib/commands/host.d.ts.map +1 -1
  35. package/lib/commands/host.js +144 -93
  36. package/lib/commands/host.js.map +1 -1
  37. package/lib/commands/init.d.ts +33 -33
  38. package/lib/commands/init.d.ts.map +1 -1
  39. package/lib/commands/init.js +93 -75
  40. package/lib/commands/init.js.map +1 -1
  41. package/lib/commands/stage.d.ts +6 -6
  42. package/lib/commands/stage.d.ts.map +1 -1
  43. package/lib/commands/stage.js +21 -15
  44. package/lib/commands/stage.js.map +1 -1
  45. package/lib/config.d.ts +29 -28
  46. package/lib/config.d.ts.map +1 -1
  47. package/lib/config.js +100 -84
  48. package/lib/config.js.map +1 -1
  49. package/lib/daemon.d.ts +9 -9
  50. package/lib/daemon.d.ts.map +1 -1
  51. package/lib/daemon.js +21 -18
  52. package/lib/daemon.js.map +1 -1
  53. package/lib/device-flow.d.ts +23 -22
  54. package/lib/device-flow.d.ts.map +1 -1
  55. package/lib/device-flow.js +33 -28
  56. package/lib/device-flow.js.map +1 -1
  57. package/lib/gh.d.ts +2 -2
  58. package/lib/gh.d.ts.map +1 -1
  59. package/lib/gh.js +74 -46
  60. package/lib/gh.js.map +1 -1
  61. package/lib/http.d.ts.map +1 -1
  62. package/lib/http.js +35 -18
  63. package/lib/http.js.map +1 -1
  64. package/lib/index.d.ts.map +1 -1
  65. package/lib/index.js.map +1 -1
  66. package/lib/policy.d.ts +25 -25
  67. package/lib/policy.d.ts.map +1 -1
  68. package/lib/policy.js +57 -36
  69. package/lib/policy.js.map +1 -1
  70. package/lib/providers/github-app.d.ts +12 -12
  71. package/lib/providers/github-app.d.ts.map +1 -1
  72. package/lib/providers/github-app.js +194 -125
  73. package/lib/providers/github-app.js.map +1 -1
  74. package/lib/providers/index.d.ts +8 -9
  75. package/lib/providers/index.d.ts.map +1 -1
  76. package/lib/providers/index.js +5 -5
  77. package/lib/providers/index.js.map +1 -1
  78. package/lib/providers/static.d.ts +3 -3
  79. package/lib/providers/static.d.ts.map +1 -1
  80. package/lib/providers/static.js +14 -12
  81. package/lib/providers/static.js.map +1 -1
  82. package/lib/proxy.d.ts +10 -10
  83. package/lib/proxy.d.ts.map +1 -1
  84. package/lib/proxy.js +18 -16
  85. package/lib/proxy.js.map +1 -1
  86. package/lib/public-repo.d.ts +10 -10
  87. package/lib/public-repo.d.ts.map +1 -1
  88. package/lib/public-repo.js +17 -14
  89. package/lib/public-repo.js.map +1 -1
  90. package/lib/reload.d.ts +4 -4
  91. package/lib/reload.d.ts.map +1 -1
  92. package/lib/reload.js +24 -14
  93. package/lib/reload.js.map +1 -1
  94. package/package.json +10 -10
@@ -1,26 +1,25 @@
1
1
  /**
2
2
  * `init` — create or update the broker configuration, on the host.
3
3
  *
4
- * The configuration file is the source of truth: the daemon only ever reads it, it is meant to
5
- * be reviewed and kept, and it can be edited by hand. This command therefore **merges** into an
6
- * existing file instead of rewriting it: only the flags you pass change anything, and anything
7
- * else — including edits you made yourself — is preserved.
4
+ * The configuration file is the source of truth: the daemon only ever reads it, it is meant to be
5
+ * reviewed and kept, and it can be edited by hand. This command therefore **merges** into an
6
+ * existing file instead of rewriting it: only the flags you pass change anything, and anything else
7
+ * — including edits you made yourself — is preserved.
8
8
  *
9
- * That matters most for the allowlist, the thing people actually iterate on. Adding one
10
- * repository used to mean re-supplying every flag, and `--force` then silently *replaced* the
11
- * list, so adding `b/two` could quietly drop `a/one`. Now `--allow b/two` adds it and nothing
12
- * else moves.
9
+ * That matters most for the allowlist, the thing people actually iterate on. Adding one repository
10
+ * used to mean re-supplying every flag, and `--force` then silently _replaced_ the list, so adding
11
+ * `b/two` could quietly drop `a/one`. Now `--allow b/two` adds it and nothing else moves.
13
12
  *
14
13
  * `--force` still exists, for regenerating from flags when the file is beyond editing.
15
14
  */
16
15
  import fs from 'node:fs';
17
16
  import path from 'node:path';
18
17
  import { isDeepStrictEqual } from 'node:util';
18
+ import { fail, insideMountedPath, isInsideContainer, parseArgs, say, writeSecretFile, } from 'gcb-core';
19
19
  import { parseDocument, stringify } from 'yaml';
20
20
  import { deploymentDir, inferMode, loadConfig, resolveConfigPath, SIDECAR, validateConfig, } from '../config.js';
21
21
  import { parseAllowEntry } from '../policy.js';
22
22
  import { brokerPaths, DEPLOYMENT_MODES, hostArtifacts, HOST_SOCKET_PATH_DEFAULT, requireFixedInSidecar, } from './deployment.js';
23
- import { fail, insideMountedPath, isInsideContainer, parseArgs, say, writeSecretFile } from 'gcb-core';
24
23
  /** Quote one value as a single shell word, including paths with spaces. */
25
24
  function shellQuote(value) {
26
25
  return `'${value.replaceAll("'", "'\\''")}'`;
@@ -28,9 +27,9 @@ function shellQuote(value) {
28
27
  /**
29
28
  * The github-app block of a configuration.
30
29
  *
31
- * @param config - a validated configuration.
32
- * @returns the block for github.com.
33
- * @throws {Error} when there is none, which means the file is not one of ours.
30
+ * @param config - A validated configuration.
31
+ * @returns The block for github.com.
32
+ * @throws {Error} When there is none, which means the file is not one of ours.
34
33
  */
35
34
  export function appBlock(config) {
36
35
  const block = config.hosts['github.com'];
@@ -42,10 +41,10 @@ export function appBlock(config) {
42
41
  /**
43
42
  * Compute the new allowlist from the existing one and the flags given.
44
43
  *
45
- * @param existing - the current entries.
46
- * @param input - the resolved options.
47
- * @returns the new entries, order preserved, additions deduplicated case-insensitively.
48
- * @throws {Error} when a given entry is malformed.
44
+ * @param existing - The current entries.
45
+ * @param input - The resolved options.
46
+ * @returns The new entries, order preserved, additions deduplicated case-insensitively.
47
+ * @throws {Error} When a given entry is malformed.
49
48
  */
50
49
  export function mergeAllowList(existing, input) {
51
50
  const additions = input.allow ?? [];
@@ -56,13 +55,14 @@ export function mergeAllowList(existing, input) {
56
55
  }
57
56
  const canonical = (entry) => entry.trim().toLowerCase();
58
57
  const removed = new Set((input.removeAllow ?? []).map(canonical));
59
- const kept = input.replaceAllow ? [] : existing.filter((entry) => !removed.has(canonical(entry)));
58
+ const kept = input.replaceAllow ? [] : existing.filter(entry => !removed.has(canonical(entry)));
60
59
  const seen = new Set(kept.map(canonical));
61
60
  const result = [...kept];
62
61
  for (const entry of additions) {
63
62
  const key = canonical(entry);
64
- if (seen.has(key))
63
+ if (seen.has(key)) {
65
64
  continue;
65
+ }
66
66
  seen.add(key);
67
67
  result.push(entry.trim());
68
68
  }
@@ -74,9 +74,9 @@ export function mergeAllowList(existing, input) {
74
74
  /**
75
75
  * Build a fresh configuration from the flags.
76
76
  *
77
- * @param input - the resolved options.
78
- * @returns the validated configuration.
79
- * @throws {Error} when the configuration would be rejected by the daemon.
77
+ * @param input - The resolved options.
78
+ * @returns The validated configuration.
79
+ * @throws {Error} When the configuration would be rejected by the daemon.
80
80
  */
81
81
  export function buildBrokerConfig(input) {
82
82
  const paths = brokerPaths(input.mode ?? 'host', input.dir, input.hostSocketPath);
@@ -103,11 +103,11 @@ export function buildBrokerConfig(input) {
103
103
  * must not survive. (Carrying the sidecar's auditPath into a host config, for instance, points the
104
104
  * daemon at `/var/log/git-cred-broker/` on a host that has no such directory.)
105
105
  *
106
- * @param existing - the configuration on disk.
107
- * @param input - the resolved options.
108
- * @param paths - the paths the broker will resolve.
109
- * @returns the validated configuration to write.
110
- * @throws {Error} when the result would be rejected by the daemon.
106
+ * @param existing - The configuration on disk.
107
+ * @param input - The resolved options.
108
+ * @param paths - The paths the broker will resolve.
109
+ * @returns The validated configuration to write.
110
+ * @throws {Error} When the result would be rejected by the daemon.
111
111
  */
112
112
  export function mergeBrokerConfig(existing, input, paths) {
113
113
  const block = appBlock(existing);
@@ -131,42 +131,45 @@ export function mergeBrokerConfig(existing, input, paths) {
131
131
  * Write a configuration. A fresh file is serialized from the merged object; an existing file is
132
132
  * edited only at the paths the user changed, so comments, other hosts and unknown keys survive.
133
133
  *
134
- * @param configPath - the destination.
135
- * @param config - the configuration to write when the file is new or forced.
136
- * @param force - replace the file instead of editing it.
137
- * @param changes - explicit edits for the existing-document path.
134
+ * @param configPath - The destination.
135
+ * @param config - The configuration to write when the file is new or forced.
136
+ * @param force - Replace the file instead of editing it.
137
+ * @param changes - Explicit edits for the existing-document path.
138
138
  */
139
139
  function writeConfig(configPath, config, force, changes) {
140
140
  if (force || !fs.existsSync(configPath)) {
141
141
  writeSecretFile(configPath, `# Broker configuration for gcb. See README.md.\n${stringify(config, { lineWidth: 0 })}`);
142
142
  return;
143
143
  }
144
- if (changes.length === 0)
144
+ if (changes.length === 0) {
145
145
  return;
146
+ }
146
147
  const document = parseDocument(fs.readFileSync(configPath, 'utf8'), {
147
148
  schema: 'core',
148
149
  uniqueKeys: true,
149
150
  prettyErrors: true,
150
151
  });
151
152
  if (document.errors.length > 0) {
152
- throw new Error(`cannot update ${configPath}: ${document.errors.map((error) => error.message).join('; ')}`);
153
+ throw new Error(`cannot update ${configPath}: ${document.errors.map(error => error.message).join('; ')}`);
153
154
  }
154
- for (const change of changes)
155
+ for (const change of changes) {
155
156
  document.setIn(change.path, change.value);
157
+ }
156
158
  const text = document.toString();
157
159
  writeSecretFile(configPath, text.endsWith('\n') ? text : `${text}\n`);
158
160
  }
159
161
  function readExistingConfig(path) {
160
- if (!fs.existsSync(path))
162
+ if (!fs.existsSync(path)) {
161
163
  return null;
164
+ }
162
165
  return loadConfig(path);
163
166
  }
164
167
  /**
165
168
  * Install the key and create or update the configuration.
166
169
  *
167
- * @param input - the resolved options.
168
- * @returns where things landed.
169
- * @throws {Error} for any guard-rail violation.
170
+ * @param input - The resolved options.
171
+ * @returns Where things landed.
172
+ * @throws {Error} For any guard-rail violation.
170
173
  */
171
174
  export function performInit(input) {
172
175
  if (input.mode !== undefined && !DEPLOYMENT_MODES.includes(input.mode)) {
@@ -176,7 +179,7 @@ export function performInit(input) {
176
179
  if (insideContainer) {
177
180
  throw new Error('this looks like the agent container; the broker must run outside it, on the host');
178
181
  }
179
- const home = input.env?.home ?? (process.env['HOME'] ?? '');
182
+ const home = input.env?.home ?? process.env['HOME'] ?? '';
180
183
  const mounted = insideMountedPath(input.dir, home, input.env?.mounts);
181
184
  if (mounted) {
182
185
  throw new Error(`${input.dir} is inside ${mounted}, which is mounted into the container; the private key must live outside every mount`);
@@ -220,20 +223,26 @@ export function performInit(input) {
220
223
  const carried = switching ? undefined : previous;
221
224
  paths = brokerPaths('host', input.dir, input.hostSocketPath ?? carried?.socketPath ?? HOST_SOCKET_PATH_DEFAULT);
222
225
  const carriedAudit = carried?.auditPath ?? undefined;
223
- if (input.auditPath !== undefined)
226
+ if (input.auditPath !== undefined) {
224
227
  paths = { ...paths, auditPath: input.auditPath };
225
- else if (carriedAudit !== undefined)
228
+ }
229
+ else if (carriedAudit !== undefined) {
226
230
  paths = { ...paths, auditPath: carriedAudit };
231
+ }
227
232
  }
228
233
  const config = mergeBrokerConfig(previous, input, paths);
229
234
  const block = appBlock(previous);
230
235
  const mergedBlock = appBlock(config);
231
- const allowChanged = (input.allow?.length ?? 0) > 0 || (input.removeAllow?.length ?? 0) > 0 || input.replaceAllow === true;
236
+ const allowChanged = (input.allow?.length ?? 0) > 0 ||
237
+ (input.removeAllow?.length ?? 0) > 0 ||
238
+ input.replaceAllow === true;
232
239
  const changes = [];
233
- if (paths.socketPath !== previous.socketPath)
240
+ if (paths.socketPath !== previous.socketPath) {
234
241
  changes.push({ path: ['socketPath'], value: paths.socketPath });
235
- if (paths.auditPath !== previous.auditPath)
242
+ }
243
+ if (paths.auditPath !== previous.auditPath) {
236
244
  changes.push({ path: ['auditPath'], value: paths.auditPath });
245
+ }
237
246
  if (paths.privateKeyPath !== block.privateKeyPath) {
238
247
  changes.push({ path: ['hosts', 'github.com', 'privateKeyPath'], value: paths.privateKeyPath });
239
248
  }
@@ -246,7 +255,8 @@ export function performInit(input) {
246
255
  if (input.appId !== undefined && input.appId !== block.appId) {
247
256
  changes.push({ path: ['hosts', 'github.com', 'appId'], value: input.appId });
248
257
  }
249
- if (input.permissions !== undefined && !isDeepStrictEqual(input.permissions, block.permissions)) {
258
+ if (input.permissions !== undefined &&
259
+ !isDeepStrictEqual(input.permissions, block.permissions)) {
250
260
  changes.push({ path: ['hosts', 'github.com', 'permissions'], value: input.permissions });
251
261
  }
252
262
  fs.mkdirSync(artifacts.auditDir, { recursive: true });
@@ -269,8 +279,9 @@ export function performInit(input) {
269
279
  const certPath = input.cert;
270
280
  const clientId = input.clientId;
271
281
  const appId = input.appId;
272
- if (certPath === undefined)
282
+ if (certPath === undefined) {
273
283
  throw new Error('--cert is required when creating the configuration');
284
+ }
274
285
  if (clientId === undefined || clientId === '') {
275
286
  throw new Error('--client-id is required when creating the configuration');
276
287
  }
@@ -289,16 +300,18 @@ export function performInit(input) {
289
300
  /**
290
301
  * Read and sanity-check a PEM private key.
291
302
  *
292
- * @param cert - the path GitHub gave you.
293
- * @returns the file contents.
294
- * @throws {Error} when it is missing or is not a PEM private key.
303
+ * @param cert - The path GitHub gave you.
304
+ * @returns The file contents.
305
+ * @throws {Error} When it is missing or is not a PEM private key.
295
306
  */
296
307
  function readPrivateKey(cert) {
297
- if (!fs.existsSync(cert))
308
+ if (!fs.existsSync(cert)) {
298
309
  throw new Error(`no such file: ${cert}`);
310
+ }
299
311
  const pem = fs.readFileSync(cert, 'utf8');
300
- if (!pem.includes('PRIVATE KEY'))
312
+ if (!pem.includes('PRIVATE KEY')) {
301
313
  throw new Error(`${cert} does not look like a PEM private key`);
314
+ }
302
315
  return pem;
303
316
  }
304
317
  /** Usage text for `init`. */
@@ -340,21 +353,24 @@ so a different --socket-path or --audit-path is rejected rather than silently re
340
353
  /**
341
354
  * Parse `--permissions contents=write,pull_requests=write`.
342
355
  *
343
- * @param raw - the raw flag value, if any.
344
- * @returns the permission map, or undefined when the flag was not given.
345
- * @throws {Error} when an entry is not `name=level`.
356
+ * @param raw - The raw flag value, if any.
357
+ * @returns The permission map, or undefined when the flag was not given.
358
+ * @throws {Error} When an entry is not `name=level`.
346
359
  */
347
360
  export function parsePermissions(raw) {
348
- if (raw === undefined)
361
+ if (raw === undefined) {
349
362
  return undefined;
363
+ }
350
364
  const out = {};
351
365
  for (const pair of raw.split(',')) {
352
366
  const trimmed = pair.trim();
353
- if (!trimmed)
367
+ if (!trimmed) {
354
368
  continue;
369
+ }
355
370
  const equals = trimmed.indexOf('=');
356
- if (equals <= 0)
371
+ if (equals <= 0) {
357
372
  throw new Error(`--permissions expects name=level pairs, got ${JSON.stringify(trimmed)}`);
373
+ }
358
374
  out[trimmed.slice(0, equals)] = trimmed.slice(equals + 1);
359
375
  }
360
376
  return Object.keys(out).length > 0 ? out : undefined;
@@ -365,8 +381,8 @@ export function parsePermissions(raw) {
365
381
  * An absent map means the provider's default, which is `contents=write` — worth printing, because
366
382
  * "I did not pass anything" and "I passed something that did not stick" otherwise look identical.
367
383
  *
368
- * @param permissions - the configured map, if any.
369
- * @returns a `name=level` list.
384
+ * @param permissions - The configured map, if any.
385
+ * @returns A `name=level` list.
370
386
  */
371
387
  function formatPermissions(permissions) {
372
388
  const effective = permissions ?? { contents: 'write' };
@@ -378,16 +394,16 @@ function formatPermissions(permissions) {
378
394
  /**
379
395
  * Split a repeatable, comma-separated flag.
380
396
  *
381
- * @param args - the parsed arguments.
382
- * @param name - the flag name.
383
- * @returns the entries.
397
+ * @param args - The parsed arguments.
398
+ * @param name - The flag name.
399
+ * @returns The entries.
384
400
  */
385
401
  function list(args, name) {
386
402
  return args
387
403
  .values(name)
388
- .flatMap((value) => value.split(','))
389
- .map((entry) => entry.trim())
390
- .filter((entry) => entry.length > 0);
404
+ .flatMap(value => value.split(','))
405
+ .map(entry => entry.trim())
406
+ .filter(entry => entry.length > 0);
391
407
  }
392
408
  /**
393
409
  * Resolve which deployment directory and configuration file an init invokes.
@@ -395,24 +411,24 @@ function list(args, name) {
395
411
  * Without --dir, the config is the file the broker reads: --config, else GIT_BROKER_CONFIG, else
396
412
  * the default name. With --dir, the default name inside that directory is used.
397
413
  *
398
- * @param args - the two path flags.
399
- * @param env - the environment, injectable for tests.
400
- * @returns the directory and, when explicit, the config path.
414
+ * @param args - The two path flags.
415
+ * @param env - The environment, injectable for tests.
416
+ * @returns The directory and, when explicit, the config path.
401
417
  */
402
418
  export function resolveInitSelection(args, env = process.env) {
403
419
  const dir = path.resolve(args.dir ?? deploymentDir(resolveConfigPath(args.config, env)));
404
- const configPath = args.config !== undefined
405
- ? path.resolve(args.config)
406
- : args.dir === undefined
420
+ const configPath = args.config === undefined
421
+ ? args.dir === undefined
407
422
  ? resolveConfigPath(undefined, env)
408
- : undefined;
423
+ : undefined
424
+ : path.resolve(args.config);
409
425
  return { dir, configPath };
410
426
  }
411
427
  /**
412
428
  * Run the `init` command.
413
429
  *
414
- * @param argv - arguments after the command name.
415
- * @returns the process exit code.
430
+ * @param argv - Arguments after the command name.
431
+ * @returns The process exit code.
416
432
  */
417
433
  export async function runInit(argv) {
418
434
  const args = parseArgs(argv, { booleans: ['force', 'replace-allow', 'help'] });
@@ -449,7 +465,9 @@ export async function runInit(argv) {
449
465
  });
450
466
  const verb = result.previous ? 'updated' : 'created';
451
467
  const wasMode = result.previous ? inferMode(result.previous) : undefined;
452
- const modeLabel = wasMode !== undefined && wasMode !== result.mode ? `${wasMode} -> ${result.mode}` : result.mode;
468
+ const modeLabel = wasMode !== undefined && wasMode !== result.mode
469
+ ? `${wasMode} -> ${result.mode}`
470
+ : result.mode;
453
471
  say(`mode : ${modeLabel}`);
454
472
  say(`${verb.padEnd(15)}: ${result.configPath} (mode 600, validation passed)`);
455
473
  say(`installed key : ${result.keyPath} (mode 600)`);
@@ -467,7 +485,7 @@ export async function runInit(argv) {
467
485
  // answered by re-reading the file, and a run that did nothing looks exactly like one that worked.
468
486
  say(`permissions : ${formatPermissions(block.permissions)}${block.permissions ? '' : ' (the default)'}`);
469
487
  say('');
470
- say('paths inside the configuration, from the broker\'s point of view:');
488
+ say("paths inside the configuration, from the broker's point of view:");
471
489
  say(` socketPath : ${result.config.socketPath}`);
472
490
  say(` privateKeyPath : ${block.privateKeyPath}${block.privateKeyPath === result.keyPath ? '' : ` (= ${result.keyPath} on the host)`}`);
473
491
  say(` auditPath : ${result.config.auditPath}`);
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -21,15 +21,15 @@ export interface StageResult {
21
21
  readonly sha: string;
22
22
  readonly subject: string;
23
23
  readonly files: number;
24
- /** Uncommitted changes existed and are therefore *not* part of what was staged. */
24
+ /** Uncommitted changes existed and are therefore _not_ part of what was staged. */
25
25
  readonly dirtyWorkingTree: boolean;
26
26
  }
27
27
  /**
28
28
  * Export a commit into the directory the broker will run from.
29
29
  *
30
- * @param input - the resolved options.
31
- * @returns what was staged.
32
- * @throws {Error} for any guard-rail violation.
30
+ * @param input - The resolved options.
31
+ * @returns What was staged.
32
+ * @throws {Error} For any guard-rail violation.
33
33
  */
34
34
  export declare function performStage(input: StageInput): StageResult;
35
35
  /** Usage text for `stage`. */
@@ -37,8 +37,8 @@ export declare const STAGE_USAGE = "Usage: gcb stage [options]\n\nExport the bro
37
37
  /**
38
38
  * Run the `stage` command.
39
39
  *
40
- * @param argv - arguments after the command name.
41
- * @returns the process exit code.
40
+ * @param argv - Arguments after the command name.
41
+ * @returns The process exit code.
42
42
  */
43
43
  export declare function runStage(argv: readonly string[]): number;
44
44
  //# sourceMappingURL=stage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../../src/commands/stage.ts"],"names":[],"mappings":"AA0BA,wFAAwF;AACxF,eAAO,MAAM,aAAa,gBAAgB,CAAC;AAE3C,0CAA0C;AAC1C,MAAM,WAAW,UAAU;IACzB,qCAAqC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,6BAA6B;AAC7B,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mFAAmF;IACnF,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;CACpC;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CAgG3D;AAED,8BAA8B;AAC9B,eAAO,MAAM,WAAW,8qCAoBvB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CA0BxD"}
1
+ {"version":3,"file":"stage.d.ts","sourceRoot":"","sources":["../../src/commands/stage.ts"],"names":[],"mappings":"AAiCA,wFAAwF;AACxF,eAAO,MAAM,aAAa,gBAAgB,CAAA;AAE1C,0CAA0C;AAC1C,MAAM,WAAW,UAAU;IACzB,qCAAqC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,8DAA8D;IAC9D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,6BAA6B;AAC7B,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,mFAAmF;IACnF,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAA;CACnC;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CAgG3D;AAED,8BAA8B;AAC9B,eAAO,MAAM,WAAW,8qCAoBvB,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAmCxD"}
@@ -3,14 +3,14 @@
3
3
  *
4
4
  * Why this exists: the broker must read the App private key, so whatever code it executes has that
5
5
  * key's privileges. It can mint installation tokens for anything the App can see, and it can read
6
- * the key file itself. Keeping the *key* outside every container mount is necessary but not
6
+ * the key file itself. Keeping the _key_ outside every container mount is necessary but not
7
7
  * sufficient: if the code comes from a directory the agent can write, then the agent decides what
8
8
  * the broker does — and the broker is the process holding the key. The boundary that matters is
9
9
  * control of the code, not the location of the key.
10
10
  *
11
11
  * So: export from a **commit** (not from the working tree, which is agent-writable and may be
12
- * dirty), into a directory outside every mount, and record what was exported next to it, so
13
- * "which code is running with my key?" has an answer.
12
+ * dirty), into a directory outside every mount, and record what was exported next to it, so "which
13
+ * code is running with my key?" has an answer.
14
14
  *
15
15
  * What this does not do is make the repository trustworthy. The same agent can rewrite commits, so
16
16
  * the sha being staged is printed for you to check against a clone or the remote. Stage a sha you
@@ -20,16 +20,15 @@ import { spawnSync } from 'node:child_process';
20
20
  import fs from 'node:fs';
21
21
  import os from 'node:os';
22
22
  import path from 'node:path';
23
- import { canonicalPath } from 'gcb-core';
24
- import { fail, insideMountedPath, parseArgs, say, warn, writeSecretFile } from 'gcb-core';
23
+ import { canonicalPath, fail, insideMountedPath, parseArgs, say, warn, writeSecretFile, } from 'gcb-core';
25
24
  /** The record `stage` leaves behind, so the running code is identifiable afterwards. */
26
25
  export const STAGED_RECORD = 'STAGED.json';
27
26
  /**
28
27
  * Export a commit into the directory the broker will run from.
29
28
  *
30
- * @param input - the resolved options.
31
- * @returns what was staged.
32
- * @throws {Error} for any guard-rail violation.
29
+ * @param input - The resolved options.
30
+ * @returns What was staged.
31
+ * @throws {Error} For any guard-rail violation.
33
32
  */
34
33
  export function performStage(input) {
35
34
  const repo = path.resolve(input.repo);
@@ -58,7 +57,7 @@ export function performStage(input) {
58
57
  'broker.config.toml',
59
58
  'broker.config.json',
60
59
  'log',
61
- ].filter((name) => fs.existsSync(path.join(to, name)));
60
+ ].filter(name => fs.existsSync(path.join(to, name)));
62
61
  if (deploymentFiles.length > 0) {
63
62
  throw new Error(`${to} looks like the deployment directory itself, not a place for code: it holds ` +
64
63
  `${deploymentFiles.join(', ')}. Stage into a subdirectory of it, for example ${path.join(to, 'app')}.`);
@@ -85,7 +84,7 @@ export function performStage(input) {
85
84
  const dirtyWorkingTree = git(['status', '--porcelain']).length > 0;
86
85
  const files = git(['ls-tree', '-r', '--name-only', sha])
87
86
  .split('\n')
88
- .filter((line) => line.length > 0).length;
87
+ .filter(line => line.length > 0).length;
89
88
  // Exported with git alone. `git archive | tar` would add a dependency on a system `tar`, which is
90
89
  // not a given on Windows, and there is no need for one: a temporary index can address the commit
91
90
  // and `checkout-index` writes it out. The prefix is given with forward slashes because that is
@@ -96,8 +95,9 @@ export function performStage(input) {
96
95
  git(['read-tree', sha], { GIT_INDEX_FILE: indexFile });
97
96
  // Cleared rather than merely overwritten: a file deleted since the last stage must not linger
98
97
  // and be imported by surprise.
99
- if (entries.length > 0)
98
+ if (entries.length > 0) {
100
99
  fs.rmSync(to, { recursive: true, force: true });
100
+ }
101
101
  fs.mkdirSync(to, { recursive: true, mode: 0o755 });
102
102
  git(['checkout-index', '-a', '-f', `--prefix=${prefix}`], { GIT_INDEX_FILE: indexFile });
103
103
  }
@@ -132,8 +132,8 @@ Then run it from there — Node strips types, so there is nothing to build:
132
132
  /**
133
133
  * Run the `stage` command.
134
134
  *
135
- * @param argv - arguments after the command name.
136
- * @returns the process exit code.
135
+ * @param argv - Arguments after the command name.
136
+ * @returns The process exit code.
137
137
  */
138
138
  export function runStage(argv) {
139
139
  const args = parseArgs(argv, { booleans: ['force', 'help'] });
@@ -142,11 +142,17 @@ export function runStage(argv) {
142
142
  return 0;
143
143
  }
144
144
  const to = args.value('to');
145
- if (!to)
145
+ if (!to) {
146
146
  fail('--to is required (a directory outside every container mount, e.g. /volume1/docker/git-cred-broker/app)');
147
+ }
147
148
  const repo = args.value('repo') ?? process.cwd();
148
149
  try {
149
- const result = performStage({ repo, to, ref: args.value('ref') ?? 'HEAD', force: args.has('force') });
150
+ const result = performStage({
151
+ repo,
152
+ to,
153
+ ref: args.value('ref') ?? 'HEAD',
154
+ force: args.has('force'),
155
+ });
150
156
  say(`staged : ${result.to}`);
151
157
  say(`from : ${result.sha.slice(0, 12)} ${result.subject}`);
152
158
  say(`contents : ${result.files} files, from the commit — nothing from the working tree`);
@@ -1 +1 @@
1
- {"version":3,"file":"stage.js","sourceRoot":"","sources":["../../src/commands/stage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stage.js","sourceRoot":"","sources":["../../src/commands/stage.ts"],"names":[],"mappings":"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"}