gcb-host 0.1.0 → 0.2.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/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # gcb-host
2
2
 
3
+ ## 0.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#61](https://github.com/code-vaults/git-credential-broker/pull/61) [`165a95d`](https://github.com/code-vaults/git-credential-broker/commit/165a95d0f0d2b2ceac3222fc038d661373eb3375) Thanks [@JounQin](https://github.com/JounQin)! - Reload `broker.config.yml` without restarting: use a directory watch plus a 5-second safety poll,
8
+ accept `SIGHUP`, keep the last good snapshot on a parse/validation failure, and swap providers
9
+ atomically. The generated sidecar mounts the configuration directory at
10
+ `/etc/git-cred-broker/config` and passes the matching `--config`; the key and refresh token stay
11
+ outside that mount. `socketPath`, `socketMode` and `auditPath` still need a restart.
12
+
13
+ ### Patch Changes
14
+
15
+ - Updated dependencies []:
16
+ - gcb-core@0.2.0
17
+
3
18
  ## 0.1.0
4
19
 
5
20
  ### Minor Changes
package/lib/broker.d.ts CHANGED
@@ -10,11 +10,16 @@ export declare const CODES: {
10
10
  readonly REPO_NOT_ALLOWED: 'repo-not-allowed';
11
11
  readonly PROVIDER_ERROR: 'provider-error';
12
12
  };
13
+ /** The mutable part of a running broker: reload swaps these together. */
14
+ export interface HandlerState {
15
+ config: BrokerConfig;
16
+ providers: ReadonlyMap<string, Provider>;
17
+ }
13
18
  /** Options for {@link createRequestHandler}. */
14
19
  export interface RequestHandlerOptions {
15
- readonly config: BrokerConfig;
16
20
  readonly audit: AuditSink;
17
- readonly providers: ReadonlyMap<string, Provider>;
21
+ /** The live snapshot; startBroker uses this so reload can swap it atomically. */
22
+ readonly state: HandlerState;
18
23
  /** Host-side diagnostics sink; never seen by the caller. */
19
24
  readonly log?: (message: string) => void;
20
25
  }
@@ -49,6 +54,8 @@ export interface StartBrokerOptions {
49
54
  /** A running broker. */
50
55
  export interface RunningBroker {
51
56
  readonly socketPath: string;
57
+ /** Swap the configuration and providers; the socket path is immutable for one process. */
58
+ reload(config: BrokerConfig, providers: ReadonlyMap<string, Provider>): void;
52
59
  close(): Promise<void>;
53
60
  }
54
61
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAgB,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE9F,wFAAwF;AACxF,eAAO,MAAM,cAAc,QAAkB,CAAC;AAS9C,6CAA6C;AAC7C,eAAO,MAAM,KAAK;aAChB,WAAW,EAAE,aAAa;aAC1B,kBAAkB,EAAE,oBAAoB;aACxC,gBAAgB,EAAE,kBAAkB;aACpC,aAAa,EAAE,eAAe;aAC9B,gBAAgB,EAAE,kBAAkB;aACpC,cAAc,EAAE,gBAAgB;CACxB,CAAC;AAUX,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClD,4DAA4D;IAC5D,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAkC1D;AAGD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,GAC7B,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,YAAY,CAAC,CAsc7D;AAMD,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClD,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED,wBAAwB;AACxB,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAsErF"}
1
+ {"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAgB,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE9F,wFAAwF;AACxF,eAAO,MAAM,cAAc,QAAkB,CAAC;AAS9C,6CAA6C;AAC7C,eAAO,MAAM,KAAK;aAChB,WAAW,EAAE,aAAa;aAC1B,kBAAkB,EAAE,oBAAoB;aACxC,gBAAgB,EAAE,kBAAkB;aACpC,aAAa,EAAE,eAAe;aAC9B,gBAAgB,EAAE,kBAAkB;aACpC,cAAc,EAAE,gBAAgB;CACxB,CAAC;AAUX,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAC1C;AAED,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,iFAAiF;IACjF,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,4DAA4D;IAC5D,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAkC1D;AAGD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,GAC7B,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,YAAY,CAAC,CAkd7D;AAMD,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClD,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED,wBAAwB;AACxB,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,0FAA0F;IAC1F,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;IAC7E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CA4ErF"}
package/lib/broker.js CHANGED
@@ -95,7 +95,8 @@ export function prepareSocketPath(socketPath) {
95
95
  * @returns the handler.
96
96
  */
97
97
  export function createRequestHandler(options) {
98
- const { config, audit, providers, log = () => { } } = options;
98
+ const { audit, log = () => { } } = options;
99
+ const state = options.state;
99
100
  /**
100
101
  * Record a refusal and produce the caller-visible response.
101
102
  *
@@ -116,6 +117,8 @@ export function createRequestHandler(options) {
116
117
  return { ok: false, code, reason: message };
117
118
  }
118
119
  async function handleRequest(message, proxy) {
120
+ // One request keeps the snapshot it started with, even if a reload lands mid-flight.
121
+ const current = { config: state.config, providers: state.providers };
119
122
  const auditEvent = auditEventFor(message['op']);
120
123
  const context = {
121
124
  host: typeof message['host'] === 'string' ? message['host'] : null,
@@ -125,7 +128,7 @@ export function createRequestHandler(options) {
125
128
  };
126
129
  const denyPullRequest = (code, reason, message, hostDetail) => deny(context, code, reason, message, hostDetail, auditEvent);
127
130
  if (message['op'] === 'ping') {
128
- return { ok: true, version: BROKER_VERSION, hosts: [...providers.keys()] };
131
+ return { ok: true, version: BROKER_VERSION, hosts: [...current.providers.keys()] };
129
132
  }
130
133
  if (message['op'] !== 'credential' &&
131
134
  message['op'] !== 'logs' &&
@@ -135,7 +138,7 @@ export function createRequestHandler(options) {
135
138
  }
136
139
  // Host first: whether plaintext is tolerated is a property of the *host's* configuration,
137
140
  // not of the request, so the protocol can only be judged once the host is known.
138
- const block = hostConfig(config, message['host']);
141
+ const block = hostConfig(current.config, message['host']);
139
142
  if (!block) {
140
143
  return deny(context, CODES.HOST_NOT_ALLOWED, 'no configuration for this host', 'host is not configured', undefined, auditEvent);
141
144
  }
@@ -158,13 +161,17 @@ export function createRequestHandler(options) {
158
161
  if (!repoAllowed(block.allow, repo.full)) {
159
162
  return deny(context, CODES.REPO_NOT_ALLOWED, 'repository not in allowlist', 'repository is not allowlisted', undefined, auditEvent);
160
163
  }
161
- const provider = providers.get(block.host);
164
+ const provider = current.providers.get(block.host);
162
165
  if (!provider) {
163
166
  return deny(context, CODES.PROVIDER_ERROR, 'no provider instance for this host', 'provider unavailable', undefined, auditEvent);
164
167
  }
165
168
  if (message['op'] === 'action') {
166
169
  const ghAction = message['ghAction'];
167
170
  const values = message['values'];
171
+ const identity = message['identity'];
172
+ if (identity !== undefined && identity !== 'app' && identity !== 'user') {
173
+ return deny(context, CODES.BAD_REQUEST, 'bad action identity', 'the request names no usable identity', undefined, 'action');
174
+ }
168
175
  const denyAction = (code, reason, message, hostDetail) => deny(context, code, reason, message, hostDetail, 'action');
169
176
  if (typeof ghAction !== 'string' || values === null || typeof values !== 'object' || Array.isArray(values)) {
170
177
  return denyAction(CODES.BAD_REQUEST, 'bad action request', 'the request carries no usable action');
@@ -181,6 +188,9 @@ export function createRequestHandler(options) {
181
188
  }
182
189
  throw error;
183
190
  }
191
+ if (identity === 'user' && spec.appUser !== true) {
192
+ return denyAction(CODES.BAD_REQUEST, 'action does not support the user identity', 'that action cannot run as a person');
193
+ }
184
194
  if (typeof provider.runAction !== 'function') {
185
195
  return denyAction(CODES.PROVIDER_ERROR, `provider ${provider.name} cannot run actions`, "this host's provider cannot run GitHub actions");
186
196
  }
@@ -193,6 +203,7 @@ export function createRequestHandler(options) {
193
203
  full: repo.full,
194
204
  action: ghAction,
195
205
  values: actionValues,
206
+ ...(identity === undefined ? {} : { identity: identity }),
196
207
  proxy,
197
208
  });
198
209
  if (result.error !== undefined) {
@@ -206,6 +217,7 @@ export function createRequestHandler(options) {
206
217
  action: ghAction,
207
218
  command: spec.command.join(' '),
208
219
  permissions: spec.permissions,
220
+ identity: identity ?? 'app',
209
221
  duration_ms: Date.now() - startedAt,
210
222
  token_fingerprint: result.tokenFingerprint,
211
223
  exit_code: result.code,
@@ -460,7 +472,12 @@ function auditEventFor(op) {
460
472
  export async function startBroker(options) {
461
473
  const { config, audit, providers, log = () => { } } = options;
462
474
  prepareSocketPath(config.socketPath);
463
- const handle = createRequestHandler({ config, audit, providers, log });
475
+ const state = { config, providers };
476
+ const handle = createRequestHandler({ audit, log, state });
477
+ const reload = (nextConfig, nextProviders) => {
478
+ state.config = nextConfig;
479
+ state.providers = nextProviders;
480
+ };
464
481
  const server = net.createServer({ allowHalfOpen: false }, (socket) => {
465
482
  socket.setTimeout(REQUEST_TIMEOUT_MS);
466
483
  const reader = createLineReader({
@@ -515,6 +532,7 @@ export async function startBroker(options) {
515
532
  log(`listening on ${config.socketPath} (mode ${config.socketMode.toString(8)})`);
516
533
  return {
517
534
  socketPath: config.socketPath,
535
+ reload,
518
536
  async close() {
519
537
  await new Promise((resolve) => server.close(() => resolve()));
520
538
  try {
package/lib/broker.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"broker.js","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"broker.js","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/commands/compose.ts"],"names":[],"mappings":"AAmBA,4CAA4C;AAC5C,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,yFAAyF;IACzF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kBAAkB;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yCAAyC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,uDAAuD;AACvD,eAAO,MAAM,QAAQ,aAAa,CAAC;AAEnC;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAgHzD;AAED,gCAAgC;AAChC,eAAO,MAAM,aAAa,kgCAgBzB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CA0D1D"}
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/commands/compose.ts"],"names":[],"mappings":"AAmBA,4CAA4C;AAC5C,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,yFAAyF;IACzF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kBAAkB;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yCAAyC;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,uDAAuD;AACvD,eAAO,MAAM,QAAQ,aAAa,CAAC;AAoBnC;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAwHzD;AAED,gCAAgC;AAChC,eAAO,MAAM,aAAa,kgCAgBzB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CA2D1D"}
@@ -17,6 +17,24 @@ import { fail, parseArgs, say, warn } from 'gcb-core';
17
17
  import { USER_TOKEN_FILE } from '../config.js';
18
18
  /** Where a code-mounted sidecar expects the broker. */
19
19
  export const CODE_DIR = '/opt/gcb';
20
+ /** A volume scalar as YAML, with compose's dollar escaping applied first. */
21
+ function yamlVolume(host, container, mode) {
22
+ const raw = `${host}:${container}${mode === undefined ? '' : `:${mode}`}`;
23
+ const escaped = raw.replace(/\$/g, () => '$$');
24
+ // Plain YAML is fine until a path has a space, '#' or another indicator; JSON quoting is valid YAML.
25
+ return /^[A-Za-z0-9_./:@%+=,~-]+$/.test(raw) ? escaped : JSON.stringify(escaped);
26
+ }
27
+ /** Follow a selected config symlink; a missing file is the only fallback. */
28
+ function selectedConfigFile(configPath) {
29
+ try {
30
+ return fs.realpathSync(configPath);
31
+ }
32
+ catch (error) {
33
+ if (error.code === 'ENOENT')
34
+ return configPath;
35
+ throw error;
36
+ }
37
+ }
20
38
  /**
21
39
  * Render the compose file.
22
40
  *
@@ -26,6 +44,11 @@ export const CODE_DIR = '/opt/gcb';
26
44
  export function renderCompose(input) {
27
45
  const socketDir = input.socketDir.replace(/\/+$/, '');
28
46
  const configPath = input.configPath ?? `${input.dir}/broker.config.yml`;
47
+ // Follow a selected symlink: the directory bind exposes the link, not a target outside it.
48
+ const configFile = selectedConfigFile(configPath);
49
+ const mountedConfigPath = path.posix.join(path.posix.dirname(SIDECAR.configPath), path.basename(configFile));
50
+ // One shell word; compose interpolates $ before sh runs, so a literal dollar is doubled.
51
+ const mountedConfigArg = `'${mountedConfigPath.replace(/'/g, "'\\''")}'`.replace(/\$/g, () => '$$');
29
52
  const fromCode = input.code !== undefined;
30
53
  const origin = fromCode
31
54
  ? `# It runs the code mounted read-only from ${input.code}, which is whatever \`stage\` put there —
@@ -38,7 +61,7 @@ export function renderCompose(input) {
38
61
  # To avoid depending on the registry at boot, either render this file with --code <directory> to
39
62
  # run staged code from a mount, or point --image at an image of your own that already has the
40
63
  # package installed, and change \`command\` to the binary in it:
41
- # ["gcb", "daemon", "--config", "${SIDECAR.configPath}"]`;
64
+ # ["gcb", "daemon", "--config", "${mountedConfigPath}"]`;
42
65
  // The egress lines belong to both renders: a --code deployment is a sidecar too, and without them it
43
66
  // would carry no proxy variables at all, so the daemon would go direct and hang rather than refuse.
44
67
  const egress = `
@@ -61,12 +84,12 @@ export function renderCompose(input) {
61
84
  // directory instead of a token — for every action, not only the personal ones. Emit it once `authorize`
62
85
  // has written the file, and say what to run until then.
63
86
  const userRefreshMount = fs.existsSync(`${input.dir}/${USER_TOKEN_FILE}`)
64
- ? `\n # The authorized person's refresh token: the only secret mounted writable, because GitHub\n # rotates it on every exchange.\n - ${input.dir}/${USER_TOKEN_FILE}:${SIDECAR.userTokenPath}:rw`
87
+ ? `\n # The authorized person's refresh token: the only secret mounted writable, because GitHub\n # rotates it on every exchange.\n - ${yamlVolume(`${input.dir}/${USER_TOKEN_FILE}`, SIDECAR.userTokenPath, 'rw')}`
65
88
  : '\n # No user.refresh yet: run `gcb authorize` and render this again. A mount' +
66
89
  '\n # for a path that does not exist would become a directory, and the broker would read that.';
67
90
  const start = fromCode
68
- ? `exec node --conditions=development ${CODE_DIR}/packages/host/bin/gcb.js daemon --config ${SIDECAR.configPath}`
69
- : `exec npx --yes --package '${input.packageSpec}' gcb daemon --config ${SIDECAR.configPath}`;
91
+ ? `exec node --conditions=development ${CODE_DIR}/packages/host/bin/gcb.js daemon --config ${mountedConfigArg}`
92
+ : `exec npx --yes --package '${input.packageSpec}' gcb daemon --config ${mountedConfigArg}`;
70
93
  const command = ` - sh
71
94
  - -c
72
95
  - |
@@ -79,7 +102,7 @@ export function renderCompose(input) {
79
102
  const codeMount = fromCode
80
103
  ? `
81
104
  # The code, read-only, from the commit you reviewed and staged.
82
- - ${input.code}:${CODE_DIR}:ro`
105
+ - ${yamlVolume(input.code, CODE_DIR, 'ro')}`
83
106
  : '';
84
107
  return `# Docker sidecar for gcb-host@${PACKAGE_VERSION}
85
108
  #
@@ -120,11 +143,14 @@ services:
120
143
  command:
121
144
  ${command}
122
145
  volumes:${codeMount}
123
- - ${configPath}:${SIDECAR.configPath}:ro
124
- - ${input.dir}/app.pem:${SIDECAR.keyPath}:ro
146
+ # The directory, not the file: an atomic replacement on the host must be visible for reload.
147
+ # Keep broker.config.yml in its own subdirectory to keep this mount narrow; init's default
148
+ # layout puts it beside app.pem/user.refresh, which this mount also exposes read-only.
149
+ - ${yamlVolume(path.dirname(configFile), path.dirname(SIDECAR.configPath), 'ro')}
150
+ - ${yamlVolume(`${input.dir}/app.pem`, SIDECAR.keyPath, 'ro')}
125
151
  ${userRefreshMount}
126
- - ${input.dir}/log:${SIDECAR.auditDir}
127
- - ${socketDir}:${SIDECAR.socketDir}
152
+ - ${yamlVolume(`${input.dir}/log`, SIDECAR.auditDir)}
153
+ - ${yamlVolume(socketDir, SIDECAR.socketDir)}
128
154
  # The socket appears at ${socketDir}${SIDECAR.socketPath.slice(SIDECAR.socketDir.length)} on the host. Point the pushing
129
155
  # environment at the same socket with:
130
156
  # gcb setup --socket <that path as the pusher sees it>
@@ -167,22 +193,23 @@ export function runCompose(argv) {
167
193
  : dirArg !== undefined
168
194
  ? path.join(dirArg, 'broker.config.yml')
169
195
  : resolveConfigPath());
170
- const dir = path.resolve(dirArg ?? deploymentDir(configPath));
196
+ const configFile = selectedConfigFile(configPath);
197
+ const dir = path.resolve(dirArg ?? deploymentDir(configFile));
171
198
  const socketDir = args.value('socket-dir');
172
199
  if (!socketDir) {
173
200
  fail('--socket-dir is required (a host directory the pushing container already mounts)');
174
201
  }
175
202
  // Check before emitting. A config written for the other deployment produces a sidecar that
176
203
  // starts and then cannot find its own private key, which is a confusing way to find out.
177
- if (fs.existsSync(configPath)) {
178
- const mode = inferMode(loadConfig(configPath));
204
+ if (fs.existsSync(configFile)) {
205
+ const mode = inferMode(loadConfig(configFile));
179
206
  if (mode !== 'sidecar') {
180
- fail(`${configPath} was written with --mode host; re-run ` +
207
+ fail(`${configFile} was written with --mode host; re-run ` +
181
208
  '`gcb init --mode sidecar ...` before using compose');
182
209
  }
183
210
  }
184
211
  else {
185
- warn(`no configuration at ${configPath} yet; create it with \`init --mode sidecar\` first`);
212
+ warn(`no configuration at ${configFile} yet; create it with \`init --mode sidecar\` first`);
186
213
  }
187
214
  // POSIX only, and guaranteed to exist by the refusal above: the file this prints binds host paths
188
215
  // and a socket directory, neither of which works from a Windows host. Asserting it here rather
@@ -195,7 +222,7 @@ export function runCompose(argv) {
195
222
  const user = args.value('user') ?? `${uid}:${gid}`;
196
223
  say(renderCompose({
197
224
  dir,
198
- configPath,
225
+ configPath: configFile,
199
226
  socketDir,
200
227
  user,
201
228
  image: args.value('image') ?? 'node:24-slim',
@@ -1 +1 @@
1
- {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/commands/compose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/commands/compose.ts"],"names":[],"mappings":"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"}
package/lib/config.d.ts CHANGED
@@ -49,7 +49,7 @@ export declare const USER_TOKEN_FILE = "user.refresh";
49
49
  */
50
50
  export declare function userTokenPath(privateKeyPath: string): string;
51
51
  export declare const SIDECAR: {
52
- readonly configPath: '/etc/git-cred-broker/broker.config.yml';
52
+ readonly configPath: '/etc/git-cred-broker/config/broker.config.yml';
53
53
  readonly keyPath: '/etc/git-cred-broker/app.pem';
54
54
  readonly userTokenPath: string;
55
55
  readonly auditDir: '/var/log/git-cred-broker';
@@ -100,6 +100,8 @@ export declare const KNOWN_PROVIDERS: readonly ['github-app', 'static'];
100
100
  * @throws {Error} when any field is missing or malformed.
101
101
  */
102
102
  export declare function validateConfig(raw: unknown, source?: string): BrokerConfig;
103
+ /** Read configuration text, with the deployment path named on failure. */
104
+ export declare function readConfigText(path: string): string;
103
105
  /**
104
106
  * Read and validate a configuration file.
105
107
  *
@@ -107,4 +109,6 @@ export declare function validateConfig(raw: unknown, source?: string): BrokerCon
107
109
  * @returns the validated configuration.
108
110
  */
109
111
  export declare function loadConfig(path: string): BrokerConfig;
112
+ /** Parse and validate configuration text already read from `path`. */
113
+ export declare function loadConfigText(text: string, path: string): BrokerConfig;
110
114
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAqD,MAAM,UAAU,CAAC;AAEhG,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAEjG;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,8FAA8F;AAC9F,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;AAEhD;;;;;GAKG;AACH;;;;;GAKG;AACH,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAE9C;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,eAAO,MAAM,OAAO;aAClB,UAAU,EAAE,wCAAwC;aACpD,OAAO,EAAE,8BAA8B;aAGvC,aAAa;aACb,QAAQ,EAAE,0BAA0B;aACpC,SAAS,EAAE,sCAAsC;aACjD,SAAS,EAAE,iBAAiB;aAC5B,UAAU,EAAE,6BAA6B;CACjC,CAAC;AAEX;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAI9D;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAanE;AAED;;;;;;;;;;GAUG;AAEH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAgB7D;AAED,mDAAmD;AACnD,eAAO,MAAM,eAAe,YAAI,YAAY,EAAE,QAAQ,CAAU,CAAC;AA0JjE;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,SAAa,GAAG,YAAY,CAuH9E;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAgBrD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAqD,MAAM,UAAU,CAAC;AAEhG,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAEjG;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,8FAA8F;AAC9F,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;AAEhD;;;;;GAKG;AACH;;;;;GAKG;AACH,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAE9C;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,eAAO,MAAM,OAAO;aAClB,UAAU,EAAE,+CAA+C;aAC3D,OAAO,EAAE,8BAA8B;aAGvC,aAAa;aACb,QAAQ,EAAE,0BAA0B;aACpC,SAAS,EAAE,sCAAsC;aACjD,SAAS,EAAE,iBAAiB;aAC5B,UAAU,EAAE,6BAA6B;CACjC,CAAC;AAEX;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAI9D;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAanE;AAED;;;;;;;;;;GAUG;AAEH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAgB7D;AAED,mDAAmD;AACnD,eAAO,MAAM,eAAe,YAAI,YAAY,EAAE,QAAQ,CAAU,CAAC;AA0JjE;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,SAAa,GAAG,YAAY,CAuH9E;AAED,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMnD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAErD;AAED,sEAAsE;AACtE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,CAUvE"}
package/lib/config.js CHANGED
@@ -62,7 +62,7 @@ export function userTokenPath(privateKeyPath) {
62
62
  return posix.join(posix.dirname(privateKeyPath), USER_TOKEN_FILE);
63
63
  }
64
64
  export const SIDECAR = {
65
- configPath: '/etc/git-cred-broker/broker.config.yml',
65
+ configPath: '/etc/git-cred-broker/config/broker.config.yml',
66
66
  keyPath: '/etc/git-cred-broker/app.pem',
67
67
  // Beside the key, because that is how the provider derives it without being told.
68
68
  // Derived from the key rather than written again: the mount target and the reader's path at once.
@@ -381,6 +381,15 @@ export function validateConfig(raw, source = '<config>') {
381
381
  hosts,
382
382
  };
383
383
  }
384
+ /** Read configuration text, with the deployment path named on failure. */
385
+ export function readConfigText(path) {
386
+ try {
387
+ return readFileSync(path, 'utf8');
388
+ }
389
+ catch (error) {
390
+ throw new Error(`cannot read config ${path}: ${error.message}`);
391
+ }
392
+ }
384
393
  /**
385
394
  * Read and validate a configuration file.
386
395
  *
@@ -388,13 +397,10 @@ export function validateConfig(raw, source = '<config>') {
388
397
  * @returns the validated configuration.
389
398
  */
390
399
  export function loadConfig(path) {
391
- let text;
392
- try {
393
- text = readFileSync(path, 'utf8');
394
- }
395
- catch (error) {
396
- throw new Error(`cannot read config ${path}: ${error.message}`);
397
- }
400
+ return loadConfigText(readConfigText(path), path);
401
+ }
402
+ /** Parse and validate configuration text already read from `path`. */
403
+ export function loadConfigText(text, path) {
398
404
  const document = parseDocument(text, {
399
405
  schema: 'core',
400
406
  uniqueKeys: true,
package/lib/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/lib/daemon.d.ts CHANGED
@@ -1,12 +1,3 @@
1
- /**
2
- * Daemon entry point logic: load configuration, build providers, serve the socket.
3
- *
4
- * Startup is fail-fast on purpose. A broker that cannot read its private key, or whose
5
- * configuration is over-broad or malformed, must not come up and quietly serve nothing — an
6
- * operator has to see the failure. `--check` performs the same validation and provider
7
- * construction without binding the socket, which is what a deployment script should run
8
- * before restarting the service.
9
- */
10
1
  import type { Writable } from 'node:stream';
11
2
  import type { ProviderDeps } from './providers/index.ts';
12
3
  import type { BrokerConfig, Provider } from 'gcb-core';
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAQvD,wCAAwC;AACxC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CAmB7D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,GAAE,YAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAYnG;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,GAAE;IAAE,MAAM,CAAC,EAAE,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,QAAQ,CAAA;CAAO,GAChD,OAAO,CAAC,MAAM,CAAC,CA6DjB"}
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAQvD,wCAAwC;AACxC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CAmB7D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,GAAE,YAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAYnG;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,GAAE;IAAE,MAAM,CAAC,EAAE,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,QAAQ,CAAA;CAAO,GAChD,OAAO,CAAC,MAAM,CAAC,CAqGjB"}