gcb-host 0.8.0 → 0.9.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.
@@ -1,5 +1,5 @@
1
1
  import { createSign } from 'node:crypto';
2
- import { existsSync, readFileSync, writeFileSync } from 'node:fs';
2
+ import { existsSync, readFileSync } from 'node:fs';
3
3
  import { getGhAction, ProviderConfigError, tokenFingerprint, } from 'gcb-core';
4
4
  /**
5
5
  * GitHub App provider: the broker mints a short-lived installation access token with `node:crypto`
@@ -28,6 +28,7 @@ import { runGhAction } from '../gh.js';
28
28
  import { currentProxyKey, proxyFetch } from '../http.js';
29
29
  import { repoAllowed } from '../policy.js';
30
30
  import { isPublicRepository as checkPublicRepository, withRepositoryResponse, } from '../public-repo.js';
31
+ import { withTokenLock, writeTokenLocked } from '../token-lock.js';
31
32
  /** REST API origin. Overridable for GitHub Enterprise. */
32
33
  const DEFAULT_API = 'https://api.github.com';
33
34
  /** GitHub refuses a JWT whose `exp` is more than this many seconds after `iat`. */
@@ -464,9 +465,14 @@ export function createGithubAppProvider(options) {
464
465
  return undefined;
465
466
  }
466
467
  const path = userTokenPath(cfg.privateKeyPath);
468
+ const clientId = cfg.clientId;
467
469
  if (!existsSync(path)) {
468
470
  return undefined;
469
471
  }
472
+ return withTokenLock(path, () => renewPersonTokenLocked(path, clientId));
473
+ }
474
+ /** Renew the token while its cross-process lock is held. */
475
+ async function renewPersonTokenLocked(path, clientId) {
470
476
  const now = Date.now();
471
477
  // The file is the only thing that says who the broker may act as, so it is read before the cache is
472
478
  // trusted: running `authorize` again — the documented way to change that person, and the only one —
@@ -484,7 +490,7 @@ export function createGithubAppProvider(options) {
484
490
  }
485
491
  let next;
486
492
  try {
487
- next = await refreshUserToken(cfg.clientId, held, (url, init) => fetchImpl(url, init));
493
+ next = await refreshUserToken(clientId, held, (url, init) => fetchImpl(url, init));
488
494
  }
489
495
  catch (error) {
490
496
  // This is the one place a renewal failure is explained: the caller is an action that failed,
@@ -493,7 +499,7 @@ export function createGithubAppProvider(options) {
493
499
  }
494
500
  if (next.refreshToken !== undefined) {
495
501
  try {
496
- writeFileSync(path, `${next.refreshToken}\n`, { mode: 0o600 });
502
+ writeTokenLocked(path, next.refreshToken);
497
503
  }
498
504
  catch (error) {
499
505
  // GitHub invalidated the token on disk the moment it answered, so this is not transient and not
@@ -1 +1 @@
1
- {"version":3,"file":"github-app.js","sourceRoot":"","sources":["../../src/providers/github-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-app.js","sourceRoot":"","sources":["../../src/providers/github-app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /** The directory holding the token's lock. It persists so a bind mount can provide it. */
2
+ export declare function tokenLockPath(path: string): string;
3
+ /**
4
+ * Run `fn` while holding the token's lock.
5
+ *
6
+ * @param path - The token path.
7
+ * @param fn - The work to do under the lock.
8
+ * @returns Whatever `fn` returns.
9
+ */
10
+ export declare function withTokenLock<T>(path: string, fn: () => Promise<T>): Promise<T>;
11
+ /**
12
+ * Open the token for an in-place write through a validated descriptor.
13
+ *
14
+ * @param path - The token path.
15
+ * @returns An open writable descriptor.
16
+ */
17
+ export declare function openTokenForWrite(path: string): number;
18
+ /**
19
+ * Open, replace and close the token while its caller holds the lock.
20
+ *
21
+ * @param path - The token path.
22
+ * @param token - The new refresh token.
23
+ */
24
+ export declare function writeTokenLocked(path: string, token: string): void;
25
+ /**
26
+ * Replace the token contents through an already-open descriptor.
27
+ *
28
+ * Callers hold the token lock; the descriptor prevents a path swap from redirecting the write.
29
+ *
30
+ * @param fd - An open token descriptor.
31
+ * @param token - The new refresh token.
32
+ */
33
+ export declare function writeTokenThrough(fd: number, token: string): void;
34
+ //# sourceMappingURL=token-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-lock.d.ts","sourceRoot":"","sources":["../src/token-lock.ts"],"names":[],"mappings":"AA2BA,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAmBD;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA2CrF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAetD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAOlE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIjE"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Cross-process coordination for the one writable secret: the authorized person's refresh token.
3
+ *
4
+ * The daemon renews it and `gcb authorize` replaces it. Both hold the same lock for the whole read
5
+ * → exchange → write sequence, so a reader never sees a token another process is rewriting. The
6
+ * lock directory is mounted beside the token in the sidecar; it must exist on both sides.
7
+ */
8
+ import { closeSync, fchmodSync, fstatSync, ftruncateSync, lstatSync, mkdirSync, openSync, readFileSync, unlinkSync, writeFileSync, constants as fsConstants, } from 'node:fs';
9
+ import { join } from 'node:path';
10
+ const LOCK_TIMEOUT_MS = 120_000;
11
+ function sleep(ms) {
12
+ return new Promise(resolve => setTimeout(resolve, ms));
13
+ }
14
+ /** The directory holding the token's lock. It persists so a bind mount can provide it. */
15
+ export function tokenLockPath(path) {
16
+ return `${path}.lock`;
17
+ }
18
+ /** Create the persistent lock directory, or reject a path that is not a real directory. */
19
+ function ensureLockDirectory(path) {
20
+ const lock = tokenLockPath(path);
21
+ try {
22
+ const stat = lstatSync(lock);
23
+ if (!stat.isDirectory() || stat.isSymbolicLink()) {
24
+ throw new Error(`${lock} is not a real directory`);
25
+ }
26
+ }
27
+ catch (error) {
28
+ if (error.code !== 'ENOENT') {
29
+ throw error;
30
+ }
31
+ mkdirSync(lock, { recursive: true, mode: 0o700 });
32
+ }
33
+ return lock;
34
+ }
35
+ /**
36
+ * Run `fn` while holding the token's lock.
37
+ *
38
+ * @param path - The token path.
39
+ * @param fn - The work to do under the lock.
40
+ * @returns Whatever `fn` returns.
41
+ */
42
+ export async function withTokenLock(path, fn) {
43
+ const lock = ensureLockDirectory(path);
44
+ const held = join(lock, 'held');
45
+ const deadline = Date.now() + LOCK_TIMEOUT_MS;
46
+ let fd;
47
+ for (;;) {
48
+ try {
49
+ fd = openSync(held, 'wx', 0o600);
50
+ try {
51
+ writeFileSync(fd, `${process.pid}\n`);
52
+ }
53
+ catch (error) {
54
+ closeSync(fd);
55
+ unlinkSync(held);
56
+ throw new Error(`could not initialize the lock on ${path}: ${error.message}`, {
57
+ cause: error,
58
+ });
59
+ }
60
+ break;
61
+ }
62
+ catch (error) {
63
+ if (error.code !== 'EEXIST') {
64
+ throw new Error(`could not lock ${path}: ${error.message}`, { cause: error });
65
+ }
66
+ if (Date.now() >= deadline) {
67
+ throw new Error(`timed out waiting for the lock on ${path}; if no authorize or broker is running, remove ${held} and retry`, { cause: error });
68
+ }
69
+ await sleep(25);
70
+ }
71
+ }
72
+ try {
73
+ return await fn();
74
+ }
75
+ finally {
76
+ closeSync(fd);
77
+ try {
78
+ if (readFileSync(held, 'utf8').trim() === String(process.pid)) {
79
+ unlinkSync(held);
80
+ }
81
+ }
82
+ catch {
83
+ // Another process already removed a stale lock; nothing to release.
84
+ }
85
+ }
86
+ }
87
+ /**
88
+ * Open the token for an in-place write through a validated descriptor.
89
+ *
90
+ * @param path - The token path.
91
+ * @returns An open writable descriptor.
92
+ */
93
+ export function openTokenForWrite(path) {
94
+ const fd = openSync(path, fsConstants.O_WRONLY | (fsConstants.O_NOFOLLOW ?? 0) | (fsConstants.O_NONBLOCK ?? 0));
95
+ try {
96
+ if (!fstatSync(fd).isFile()) {
97
+ throw new Error(`${path} is not a regular file`);
98
+ }
99
+ fchmodSync(fd, 0o600);
100
+ return fd;
101
+ }
102
+ catch (error) {
103
+ closeSync(fd);
104
+ throw error;
105
+ }
106
+ }
107
+ /**
108
+ * Open, replace and close the token while its caller holds the lock.
109
+ *
110
+ * @param path - The token path.
111
+ * @param token - The new refresh token.
112
+ */
113
+ export function writeTokenLocked(path, token) {
114
+ const fd = openTokenForWrite(path);
115
+ try {
116
+ writeTokenThrough(fd, token);
117
+ }
118
+ finally {
119
+ closeSync(fd);
120
+ }
121
+ }
122
+ /**
123
+ * Replace the token contents through an already-open descriptor.
124
+ *
125
+ * Callers hold the token lock; the descriptor prevents a path swap from redirecting the write.
126
+ *
127
+ * @param fd - An open token descriptor.
128
+ * @param token - The new refresh token.
129
+ */
130
+ export function writeTokenThrough(fd, token) {
131
+ ftruncateSync(fd, 0);
132
+ writeFileSync(fd, `${token}\n`);
133
+ fchmodSync(fd, 0o600);
134
+ }
135
+ //# sourceMappingURL=token-lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-lock.js","sourceRoot":"","sources":["../src/token-lock.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gcb-host",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "type": "module",
5
5
  "description": "Host-side gcb broker, configuration, providers and administration commands.",
6
6
  "repository": {
@@ -27,7 +27,7 @@
27
27
  "lib"
28
28
  ],
29
29
  "dependencies": {
30
- "gcb-core": "0.8.0",
30
+ "gcb-core": "0.9.0",
31
31
  "node-fetch-native": "^1.6.7",
32
32
  "x-fetch": "^0.3.0",
33
33
  "yaml": "^2.9.1"