gcb-host 0.0.3 → 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 +43 -0
- package/lib/broker.d.ts +9 -2
- package/lib/broker.d.ts.map +1 -1
- package/lib/broker.js +63 -28
- package/lib/broker.js.map +1 -1
- package/lib/commands/compose.d.ts.map +1 -1
- package/lib/commands/compose.js +42 -15
- package/lib/commands/compose.js.map +1 -1
- package/lib/commands/config.d.ts +1 -1
- package/lib/commands/config.d.ts.map +1 -1
- package/lib/commands/config.js +27 -5
- package/lib/commands/config.js.map +1 -1
- package/lib/commands/host-opener.d.ts +11 -1
- package/lib/commands/host-opener.d.ts.map +1 -1
- package/lib/commands/host-opener.js +137 -38
- package/lib/commands/host-opener.js.map +1 -1
- package/lib/config.d.ts +5 -1
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +14 -8
- package/lib/config.js.map +1 -1
- package/lib/daemon.d.ts +0 -9
- package/lib/daemon.d.ts.map +1 -1
- package/lib/daemon.js +57 -7
- package/lib/daemon.js.map +1 -1
- package/lib/device-flow.d.ts +1 -0
- package/lib/device-flow.d.ts.map +1 -1
- package/lib/device-flow.js +1 -0
- package/lib/device-flow.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/policy.d.ts.map +1 -1
- package/lib/policy.js +5 -3
- package/lib/policy.js.map +1 -1
- package/lib/providers/github-app.d.ts.map +1 -1
- package/lib/providers/github-app.js +233 -165
- package/lib/providers/github-app.js.map +1 -1
- package/lib/reload.d.ts +45 -0
- package/lib/reload.d.ts.map +1 -0
- package/lib/reload.js +149 -0
- package/lib/reload.js.map +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,YAAY,2XAQxB,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CA0CzD"}
|
package/lib/commands/config.js
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `config` — inspect and validate the broker configuration.
|
|
2
|
+
* `config` — inspect, edit and validate the broker configuration.
|
|
3
3
|
*/
|
|
4
|
+
import { spawnSync } from 'node:child_process';
|
|
5
|
+
import { existsSync } from 'node:fs';
|
|
4
6
|
import { inferMode, loadConfig, resolveConfigPath } from '../config.js';
|
|
5
7
|
import { fail, parseArgs, say } from 'gcb-core';
|
|
6
|
-
export const CONFIG_USAGE = `Usage: gcb config check [options]
|
|
8
|
+
export const CONFIG_USAGE = `Usage: gcb config check|edit [options]
|
|
7
9
|
|
|
8
|
-
Validate the broker configuration
|
|
10
|
+
Validate the broker configuration, or open it in $VISUAL/$EDITOR and validate the result.
|
|
9
11
|
|
|
12
|
+
check Validate the file without changing it
|
|
13
|
+
edit Open it, then validate the saved file
|
|
10
14
|
--config <path> Config file (default: $GIT_BROKER_CONFIG, else ./broker.config.yml)
|
|
11
15
|
-h, --help Show this help
|
|
12
16
|
`;
|
|
@@ -26,10 +30,28 @@ export function runConfig(argv) {
|
|
|
26
30
|
if (name !== 'config' && name !== 'help' && name !== 'h')
|
|
27
31
|
fail(`unknown option --${name}`);
|
|
28
32
|
}
|
|
29
|
-
|
|
30
|
-
|
|
33
|
+
const command = args.positionals[0];
|
|
34
|
+
if (command !== 'check' && command !== 'edit') {
|
|
35
|
+
fail('usage: gcb config check|edit [--config <path>]');
|
|
31
36
|
}
|
|
37
|
+
if (args.positionals.length !== 1)
|
|
38
|
+
fail(`usage: gcb config ${command} [--config <path>]`);
|
|
32
39
|
const path = resolveConfigPath(configArg);
|
|
40
|
+
if (command === 'edit') {
|
|
41
|
+
if (!existsSync(path))
|
|
42
|
+
fail(`cannot edit missing config ${path}`);
|
|
43
|
+
const editor = process.env['VISUAL'] ?? process.env['EDITOR'];
|
|
44
|
+
if (editor === undefined || editor.trim() === '')
|
|
45
|
+
fail('config edit needs $VISUAL or $EDITOR');
|
|
46
|
+
// `$VISUAL`/`$EDITOR` is a shell command in git's own semantics; `$@` keeps the path intact.
|
|
47
|
+
const result = spawnSync('/bin/sh', ['-c', `${editor} "$@"`, editor, path], { stdio: 'inherit' });
|
|
48
|
+
if (result.error !== undefined)
|
|
49
|
+
fail(`cannot run editor ${JSON.stringify(editor)}: ${result.error.message}`);
|
|
50
|
+
if (result.status !== 0) {
|
|
51
|
+
const how = result.status === null ? `signal ${String(result.signal)}` : `status ${String(result.status)}`;
|
|
52
|
+
fail(`editor exited with ${how}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
33
55
|
try {
|
|
34
56
|
const config = loadConfig(path);
|
|
35
57
|
const hosts = Object.keys(config.hosts);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,CAAC,MAAM,YAAY,GAAG
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Usage text for `host-opener`. */
|
|
2
|
-
export declare const HOST_OPENER_USAGE = "Usage: gcb host-opener [options]\n\nRun on the host, once, beside the trees the container also sees. It finds the checkouts under the\nroots it is given \u2014 ones created later included \u2014 and fulfils their requests to
|
|
2
|
+
export declare const HOST_OPENER_USAGE = "Usage: gcb host-opener [options]\n\nRun on the host, once, beside the trees the container also sees. It finds the checkouts under the\nroots it is given \u2014 ones created later included \u2014 and fulfils their requests to create a pull request, issue\nor fork with the gh account each request names, so the result is authored by a person rather than by\nthe app's bot. It does nothing else: it cannot push, merge or close anything.\n\n --root <dir> A tree to serve, repeatable (default: $HOME)\n --depth <n> How far below a root to look for checkouts (default: 4)\n --repo <path> Serve this one checkout instead of discovering any\n --config <path> Broker config whose allowlist fork requests are checked against\n (default: $GIT_BROKER_CONFIG, else ./broker.config.yml)\n --command <path> The program that creates a pull request, issue or fork\n (default: $GIT_BROKER_PR_COMMAND, else gh)\n --arg <token> An extra argument for that program, before the subcommand (repeatable)\n --interval <seconds> How often to look for requests (default: 5)\n --once Fulfil what is waiting, then exit\n -h, --help Show this help\n\nThe container asks for this by passing --as-user to `pr`. Requests are files under\n<git dir>/gcb/pr-requests, which is shared with the container and untracked by git\n\u2014 so the paths on the two sides never have to match: each writes and reads its own view of the same\ndirectory, and only the roots this process scans are host-side paths.\n";
|
|
3
3
|
/**
|
|
4
4
|
* Read a pull request's number and URL out of a program's output.
|
|
5
5
|
*
|
|
@@ -13,6 +13,16 @@ export declare function pullRequestUrl(output: string): {
|
|
|
13
13
|
number: number;
|
|
14
14
|
url: string;
|
|
15
15
|
} | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Pull the issue number and URL out of the program's output.
|
|
18
|
+
*
|
|
19
|
+
* @param output - the program's standard output.
|
|
20
|
+
* @returns the number and URL, or `undefined`.
|
|
21
|
+
*/
|
|
22
|
+
export declare function issueUrl(output: string): {
|
|
23
|
+
number: number;
|
|
24
|
+
url: string;
|
|
25
|
+
} | undefined;
|
|
16
26
|
/**
|
|
17
27
|
* Run the `host-opener` command.
|
|
18
28
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-opener.d.ts","sourceRoot":"","sources":["../../src/commands/host-opener.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"host-opener.d.ts","sourceRoot":"","sources":["../../src/commands/host-opener.ts"],"names":[],"mappings":"AA6CA,oCAAoC;AACpC,eAAO,MAAM,iBAAiB,+jDAuB7B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAK1F;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAKpF;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA8F5E"}
|
|
@@ -1,44 +1,49 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `host-opener` — fulfil the container's requests to open pull requests
|
|
2
|
+
* `host-opener` — fulfil the container's requests to open pull requests or issues with the gh account
|
|
3
|
+
* each request names.
|
|
3
4
|
*
|
|
4
5
|
* This runs on the host, beside the checkout the container also sees, and it does exactly one thing:
|
|
5
|
-
* it turns a request file into a pull request, using the
|
|
6
|
-
* the whole point —
|
|
7
|
-
*
|
|
6
|
+
* it turns a request file into a pull request or issue, using the gh account the request names. That
|
|
7
|
+
* is the whole point — content authored by a person is what automated reviewers will actually review,
|
|
8
|
+
* and the app cannot be that person.
|
|
8
9
|
*
|
|
9
10
|
* It has no other power. It cannot push, merge, close or read anything, and it never runs a shell: the
|
|
10
11
|
* program it calls is configuration, and it is called with an argument list built here.
|
|
11
12
|
*/
|
|
12
13
|
import { execFile } from 'node:child_process';
|
|
13
|
-
import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
|
|
14
|
+
import { existsSync, mkdtempSync, rmSync, statSync, writeFileSync } from 'node:fs';
|
|
14
15
|
import { homedir, tmpdir } from 'node:os';
|
|
15
16
|
import { join, resolve } from 'node:path';
|
|
16
17
|
import { promisify } from 'node:util';
|
|
17
|
-
import { channelDir, clearOpener, discoverCheckouts, findGitDir, listRequests, readOpener, claimRequest, removeRequest, requestProblems, writeOpener, writeResult, } from 'gcb-core';
|
|
18
|
+
import { channelDir, clearOpener, discoverCheckouts, findGitDir, listRequests, readOpener, claimRequest, removeRequest, requestProblems, writeOpener, writeResult, HOST, } from 'gcb-core';
|
|
18
19
|
import { fail, listFlag, parseArgs, say, warn } from 'gcb-core';
|
|
19
20
|
import { applyProxyChoice, parseProxy } from '../http.js';
|
|
21
|
+
import { loadConfig, resolveConfigPath } from '../config.js';
|
|
22
|
+
import { hostConfig, repoAllowed } from '../policy.js';
|
|
20
23
|
const run = promisify(execFile);
|
|
21
|
-
/** How long one `pr create` may take. */
|
|
24
|
+
/** How long one `pr create` or `issue create` may take. */
|
|
22
25
|
const CREATE_TIMEOUT_MS = 120_000;
|
|
23
26
|
/** Usage text for `host-opener`. */
|
|
24
27
|
export const HOST_OPENER_USAGE = `Usage: gcb host-opener [options]
|
|
25
28
|
|
|
26
29
|
Run on the host, once, beside the trees the container also sees. It finds the checkouts under the
|
|
27
|
-
roots it is given — ones created later included — and fulfils their requests to
|
|
28
|
-
with the
|
|
30
|
+
roots it is given — ones created later included — and fulfils their requests to create a pull request, issue
|
|
31
|
+
or fork with the gh account each request names, so the result is authored by a person rather than by
|
|
29
32
|
the app's bot. It does nothing else: it cannot push, merge or close anything.
|
|
30
33
|
|
|
31
34
|
--root <dir> A tree to serve, repeatable (default: $HOME)
|
|
32
35
|
--depth <n> How far below a root to look for checkouts (default: 4)
|
|
33
36
|
--repo <path> Serve this one checkout instead of discovering any
|
|
34
|
-
--
|
|
37
|
+
--config <path> Broker config whose allowlist fork requests are checked against
|
|
38
|
+
(default: $GIT_BROKER_CONFIG, else ./broker.config.yml)
|
|
39
|
+
--command <path> The program that creates a pull request, issue or fork
|
|
35
40
|
(default: $GIT_BROKER_PR_COMMAND, else gh)
|
|
36
41
|
--arg <token> An extra argument for that program, before the subcommand (repeatable)
|
|
37
42
|
--interval <seconds> How often to look for requests (default: 5)
|
|
38
43
|
--once Fulfil what is waiting, then exit
|
|
39
44
|
-h, --help Show this help
|
|
40
45
|
|
|
41
|
-
The container asks for this by passing --
|
|
46
|
+
The container asks for this by passing --as-user to \`pr\`. Requests are files under
|
|
42
47
|
<git dir>/gcb/pr-requests, which is shared with the container and untracked by git
|
|
43
48
|
— so the paths on the two sides never have to match: each writes and reads its own view of the same
|
|
44
49
|
directory, and only the roots this process scans are host-side paths.
|
|
@@ -59,6 +64,19 @@ export function pullRequestUrl(output) {
|
|
|
59
64
|
return undefined;
|
|
60
65
|
return { number: Number(digits), url: match[0] };
|
|
61
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Pull the issue number and URL out of the program's output.
|
|
69
|
+
*
|
|
70
|
+
* @param output - the program's standard output.
|
|
71
|
+
* @returns the number and URL, or `undefined`.
|
|
72
|
+
*/
|
|
73
|
+
export function issueUrl(output) {
|
|
74
|
+
const match = /https:\/\/[^\s]+\/issues\/(\d+)/.exec(output);
|
|
75
|
+
const digits = match?.[1];
|
|
76
|
+
if (!match || digits === undefined)
|
|
77
|
+
return undefined;
|
|
78
|
+
return { number: Number(digits), url: match[0] };
|
|
79
|
+
}
|
|
62
80
|
/**
|
|
63
81
|
* Run the `host-opener` command.
|
|
64
82
|
*
|
|
@@ -77,6 +95,21 @@ export async function runHostOpener(argv) {
|
|
|
77
95
|
const scanned = roots.length > 0 ? roots.map((root) => resolve(root)) : [homedir()];
|
|
78
96
|
const depth = Number(args.value('depth') ?? '4');
|
|
79
97
|
const command = args.value('command') ?? process.env['GIT_BROKER_PR_COMMAND'] ?? 'gh';
|
|
98
|
+
const configPath = args.value('config');
|
|
99
|
+
let config;
|
|
100
|
+
/** Whether the broker's allowlist permits this host/repository, loaded only for fork requests. */
|
|
101
|
+
const allowed = (host, repo) => {
|
|
102
|
+
if (config === undefined) {
|
|
103
|
+
try {
|
|
104
|
+
config = loadConfig(resolveConfigPath(configPath));
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
throw new Error(`a fork needs the broker config allowlist: ${error.message}; pass --config or set GIT_BROKER_CONFIG`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
const block = hostConfig(config, host);
|
|
111
|
+
return block !== null && repoAllowed(block.allow, repo);
|
|
112
|
+
};
|
|
80
113
|
const extra = listFlag(args, 'arg');
|
|
81
114
|
const interval = Number(args.value('interval') ?? '5');
|
|
82
115
|
if (!Number.isFinite(interval) || interval < 1) {
|
|
@@ -99,7 +132,12 @@ export async function runHostOpener(argv) {
|
|
|
99
132
|
const advertise = (dir) => {
|
|
100
133
|
advertised.add(dir);
|
|
101
134
|
if (readOpener(dir)?.pid !== process.pid) {
|
|
102
|
-
writeOpener(dir, {
|
|
135
|
+
writeOpener(dir, {
|
|
136
|
+
pid: process.pid,
|
|
137
|
+
command,
|
|
138
|
+
startedAt: new Date().toISOString(),
|
|
139
|
+
kinds: ['pull-request', 'issue', 'fork'],
|
|
140
|
+
});
|
|
103
141
|
}
|
|
104
142
|
};
|
|
105
143
|
// However this process ends — a signal, --once, an exception — its markers go with it. A stale
|
|
@@ -120,14 +158,14 @@ export async function runHostOpener(argv) {
|
|
|
120
158
|
process.on('SIGINT', stop);
|
|
121
159
|
process.on('SIGTERM', stop);
|
|
122
160
|
say(single === undefined ? `serving the checkouts under ${scanned.join(', ')}` : `serving ${single}`);
|
|
123
|
-
say(`creating pull requests with ${command}${extra.length > 0 ? ` ${extra.join(' ')}` : ''}, as
|
|
161
|
+
say(`creating pull requests, issues and forks with ${command}${extra.length > 0 ? ` ${extra.join(' ')}` : ''}, as the request's account or this user`);
|
|
124
162
|
for (;;) {
|
|
125
163
|
for (const { repo, dir } of targets()) {
|
|
126
164
|
// One checkout the container has made hostile — its channel directory replaced by a file, say —
|
|
127
165
|
// must not stop the opener serving every other root, under Restart=always least of all.
|
|
128
166
|
try {
|
|
129
167
|
advertise(dir);
|
|
130
|
-
await sweep(dir, repo, command, extra);
|
|
168
|
+
await sweep(dir, repo, command, extra, allowed);
|
|
131
169
|
}
|
|
132
170
|
catch (error) {
|
|
133
171
|
warn(`could not serve ${repo}: ${error.message}`);
|
|
@@ -142,16 +180,16 @@ export async function runHostOpener(argv) {
|
|
|
142
180
|
* Answer everything waiting in the channel.
|
|
143
181
|
*
|
|
144
182
|
* @param dir - the channel directory.
|
|
145
|
-
* @param repo - the checkout to create pull requests in.
|
|
183
|
+
* @param repo - the checkout to create pull requests or issues in.
|
|
146
184
|
* @param command - the program to call.
|
|
147
185
|
* @param extra - arguments to pass before the subcommand.
|
|
148
186
|
* @returns how many requests were answered.
|
|
149
187
|
*/
|
|
150
|
-
async function sweep(dir, repo, command, extra) {
|
|
188
|
+
async function sweep(dir, repo, command, extra, allowed) {
|
|
151
189
|
let answered = 0;
|
|
152
190
|
for (const id of listRequests(dir)) {
|
|
153
191
|
// Claimed, not read: two openers — a service and a hand-run --once — would otherwise both act on the
|
|
154
|
-
// same request and each create
|
|
192
|
+
// same request and each create it, under the person's name.
|
|
155
193
|
const request = claimRequest(dir, id);
|
|
156
194
|
if (!request) {
|
|
157
195
|
// Either unreadable or already claimed, and the two are not worth telling apart here: removing
|
|
@@ -175,21 +213,49 @@ async function sweep(dir, repo, command, extra) {
|
|
|
175
213
|
answered += 1;
|
|
176
214
|
continue;
|
|
177
215
|
}
|
|
178
|
-
const result = await openOne(repo, command, extra, { ...request, proxy });
|
|
216
|
+
const result = await openOne(repo, command, extra, { ...request, proxy }, allowed);
|
|
179
217
|
writeResult(dir, id, result);
|
|
180
218
|
removeRequest(dir, id);
|
|
181
219
|
if (result.error !== undefined) {
|
|
182
|
-
warn(`failed to open ${request.head}: ${result.error}`);
|
|
220
|
+
warn(`failed to open ${request.kind === 'fork' ? 'fork' : request.kind === 'issue' ? 'issue' : request.head}: ${result.error}`);
|
|
183
221
|
}
|
|
184
222
|
else {
|
|
185
|
-
say(
|
|
223
|
+
say(request.kind === 'fork'
|
|
224
|
+
? `forked ${request.repo} as ${request.account ?? 'this user'}: ${result.url}`
|
|
225
|
+
: `opened #${result.number} as ${request.account ?? 'this user'}: ${result.url}`);
|
|
186
226
|
}
|
|
187
227
|
answered += 1;
|
|
188
228
|
}
|
|
189
229
|
return answered;
|
|
190
230
|
}
|
|
231
|
+
/** Environment for one gh call: the selected account or inherited config, plus the proxy choice. */
|
|
232
|
+
function forkEnv(proxy, account, host) {
|
|
233
|
+
const env = openerEnv(proxy, account);
|
|
234
|
+
// gh chooses between GH_TOKEN and GH_ENTERPRISE_TOKEN by host; forcing GH_HOST is what keeps an
|
|
235
|
+
// inherited token from selecting another instance. Named accounts already had their tokens removed.
|
|
236
|
+
env['GH_HOST'] = host;
|
|
237
|
+
return env;
|
|
238
|
+
}
|
|
239
|
+
function openerEnv(proxy, account) {
|
|
240
|
+
const env = { ...process.env };
|
|
241
|
+
if (account !== undefined) {
|
|
242
|
+
const dir = join(homedir(), '.config', `gh-${account}`);
|
|
243
|
+
if (!existsSync(dir) || !statSync(dir).isDirectory()) {
|
|
244
|
+
throw new Error(`no gh config for account ${JSON.stringify(account)} at ${dir}`);
|
|
245
|
+
}
|
|
246
|
+
// Tokens in the opener's own environment would override the selected account's config.
|
|
247
|
+
delete env['GH_TOKEN'];
|
|
248
|
+
delete env['GITHUB_TOKEN'];
|
|
249
|
+
delete env['GH_ENTERPRISE_TOKEN'];
|
|
250
|
+
delete env['GITHUB_ENTERPRISE_TOKEN'];
|
|
251
|
+
delete env['GH_HOST'];
|
|
252
|
+
env['GH_CONFIG_DIR'] = dir;
|
|
253
|
+
}
|
|
254
|
+
applyProxyChoice(env, proxy);
|
|
255
|
+
return env;
|
|
256
|
+
}
|
|
191
257
|
/**
|
|
192
|
-
* Create one pull request.
|
|
258
|
+
* Create one pull request, issue or fork.
|
|
193
259
|
*
|
|
194
260
|
* @param repo - the checkout to create it in.
|
|
195
261
|
* @param command - the program to call.
|
|
@@ -197,38 +263,71 @@ async function sweep(dir, repo, command, extra) {
|
|
|
197
263
|
* @param request - what to create.
|
|
198
264
|
* @returns the number and URL, or the reason it did not work.
|
|
199
265
|
*/
|
|
200
|
-
function
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
}
|
|
205
|
-
|
|
266
|
+
async function openOne(repo, command, extra, request, allowed) {
|
|
267
|
+
if (request.kind === 'fork') {
|
|
268
|
+
if (request.host !== undefined && !HOST.test(request.host)) {
|
|
269
|
+
return { error: `not a host: ${JSON.stringify(request.host)}` };
|
|
270
|
+
}
|
|
271
|
+
const host = request.host ?? 'github.com';
|
|
272
|
+
try {
|
|
273
|
+
if (!allowed(host, request.repo)) {
|
|
274
|
+
return { error: `repository ${request.repo} is not in the allowlist for ${host}` };
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
catch (error) {
|
|
278
|
+
return { error: error.message };
|
|
279
|
+
}
|
|
280
|
+
try {
|
|
281
|
+
const { stdout, stderr } = await run(command, [...extra, 'repo', 'fork', request.repo], {
|
|
282
|
+
cwd: repo,
|
|
283
|
+
timeout: CREATE_TIMEOUT_MS,
|
|
284
|
+
maxBuffer: 1 << 20,
|
|
285
|
+
env: forkEnv(request.proxy, request.account, host),
|
|
286
|
+
});
|
|
287
|
+
const match = /https:\/\/[^\s]+\/[^\s/]+\/[^\s/]+/.exec(stdout);
|
|
288
|
+
if (match?.[0] !== undefined)
|
|
289
|
+
return { url: match[0] };
|
|
290
|
+
// With no TTY, gh prints the URL only for a fresh fork; an existing fork older than a minute
|
|
291
|
+
// is `owner/name already exists` on stderr with empty stdout and exit 0.
|
|
292
|
+
const existing = /^([A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+) already exists$/m.exec(stderr);
|
|
293
|
+
if (existing?.[1] !== undefined) {
|
|
294
|
+
return { url: `https://${host}/${existing[1]}` };
|
|
295
|
+
}
|
|
296
|
+
return { error: `no fork URL in the output: ${(stdout.trim() || stderr.trim()).slice(0, 300)}` };
|
|
297
|
+
}
|
|
298
|
+
catch (error) {
|
|
299
|
+
const failure = error;
|
|
300
|
+
const reason = (failure.stderr ?? failure.message ?? 'the command failed').trim();
|
|
301
|
+
return { error: reason.slice(0, 300) || 'the command failed' };
|
|
302
|
+
}
|
|
303
|
+
}
|
|
206
304
|
// The body goes to a private temp file: the program is given a path, never a string to interpret.
|
|
207
305
|
const scratch = mkdtempSync(join(tmpdir(), 'gcb-'));
|
|
208
306
|
const bodyFile = join(scratch, 'body.md');
|
|
209
307
|
writeFileSync(bodyFile, request.body, 'utf8');
|
|
308
|
+
const issue = request.kind === 'issue';
|
|
210
309
|
try {
|
|
211
310
|
const { stdout, stderr } = await run(command, [
|
|
212
311
|
...extra,
|
|
213
|
-
'pr',
|
|
312
|
+
issue ? 'issue' : 'pr',
|
|
214
313
|
'create',
|
|
215
314
|
// No `--repo`: gh resolves the repository from the checkout it runs in, which is the checkout the
|
|
216
315
|
// request was written in. That is a mechanism, not a boundary — the container can edit that checkout,
|
|
217
|
-
// its remote included. What a deployment controls is which roots are served
|
|
218
|
-
// what this reaches is whatever the
|
|
219
|
-
|
|
220
|
-
'--
|
|
221
|
-
request.base,
|
|
222
|
-
'--head',
|
|
223
|
-
request.head,
|
|
316
|
+
// its remote included. What a deployment controls is which roots are served, which program runs
|
|
317
|
+
// and which account directories exist; what this reaches is whatever the account the request
|
|
318
|
+
// names can reach.
|
|
319
|
+
...(!issue && request.draft === true ? ['--draft'] : []),
|
|
320
|
+
...(issue ? [] : ['--base', request.base, '--head', request.head]),
|
|
224
321
|
'--title',
|
|
225
322
|
request.title,
|
|
226
323
|
'--body-file',
|
|
227
324
|
bodyFile,
|
|
228
|
-
], { cwd: repo, timeout: CREATE_TIMEOUT_MS, maxBuffer: 1 << 20, env: openerEnv(request.proxy) });
|
|
229
|
-
const found = pullRequestUrl(stdout);
|
|
325
|
+
], { cwd: repo, timeout: CREATE_TIMEOUT_MS, maxBuffer: 1 << 20, env: openerEnv(request.proxy, request.account) });
|
|
326
|
+
const found = issue ? issueUrl(stdout) : pullRequestUrl(stdout);
|
|
230
327
|
if (!found) {
|
|
231
|
-
return {
|
|
328
|
+
return {
|
|
329
|
+
error: `no ${issue ? 'issue' : 'pull request'} URL in the output: ${(stdout.trim() || stderr.trim()).slice(0, 300)}`,
|
|
330
|
+
};
|
|
232
331
|
}
|
|
233
332
|
return found;
|
|
234
333
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-opener.js","sourceRoot":"","sources":["../../src/commands/host-opener.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"host-opener.js","sourceRoot":"","sources":["../../src/commands/host-opener.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EACL,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,aAAa,EACb,eAAe,EACf,WAAW,EACX,WAAW,EACX,IAAI,GAIL,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAoB,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAEhC,2DAA2D;AAC3D,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAElC,oCAAoC;AACpC,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBhC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,KAAK,GAAG,+BAA+B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACrD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAc;IACrC,MAAM,KAAK,GAAG,iCAAiC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACrD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAuB;IACzD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7D,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACvB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACpF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,IAAI,CAAC;IACtF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,MAAgC,CAAC;IACrC,kGAAkG;IAClG,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,IAAY,EAAW,EAAE;QACtD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,GAAG,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CACb,6CAA8C,KAAe,CAAC,OAAO,0CAA0C,CAChH,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO,KAAK,KAAK,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,+CAA+C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,iDAAiD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,iFAAiF;IACjF,MAAM,OAAO,GAAG,GAAoC,EAAE;QACpD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3F,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;QAC1E,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,wEAAwE;IACxE,MAAM,SAAS,GAAG,CAAC,GAAW,EAAQ,EAAE;QACtC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;YACzC,WAAW,CAAC,GAAG,EAAE;gBACf,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,OAAO;gBACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,KAAK,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC;aACzC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IACF,+FAA+F;IAC/F,gGAAgG;IAChG,UAAU;IACV,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG;oBAAE,WAAW,CAAC,GAAG,CAAC,CAAC;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACP,8CAA8C;YAChD,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAE5B,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,+BAA+B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC,CAAC;IACtG,GAAG,CACD,iDAAiD,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,yCAAyC,CAClJ,CAAC;IAEF,SAAS,CAAC;QACR,KAAK,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,OAAO,EAAE,EAAE,CAAC;YACtC,gGAAgG;YAChG,wFAAwF;YACxF,IAAI,CAAC;gBACH,SAAS,CAAC,GAAG,CAAC,CAAC;gBACf,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,mBAAmB,IAAI,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,CAAC,CAAC;QAC/B,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,KAAK,CAClB,GAAW,EACX,IAAY,EACZ,OAAe,EACf,KAAwB,EACxB,OAAgD;IAEhD,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,EAAE,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,qGAAqG;QACrG,4DAA4D;QAC5D,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,+FAA+F;YAC7F,wFAAwF;YACxF,IAAI,CAAC,WAAW,EAAE,wCAAwC,CAAC,CAAC;YAC9D,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrD,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACvB,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9C,QAAQ,IAAI,CAAC,CAAC;YACd,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACpB,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;YAChE,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACvB,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACrC,QAAQ,IAAI,CAAC,CAAC;YACd,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QACnF,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAC7B,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACvB,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,CACF,kBACE,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAClF,KAAK,MAAM,CAAC,KAAK,EAAE,CACpB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,GAAG,CACD,OAAO,CAAC,IAAI,KAAK,MAAM;gBACrB,CAAC,CAAC,UAAU,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,OAAO,IAAI,WAAW,KAAK,MAAM,CAAC,GAAG,EAAE;gBAC9E,CAAC,CAAC,WAAW,MAAM,CAAC,MAAM,OAAO,OAAO,CAAC,OAAO,IAAI,WAAW,KAAK,MAAM,CAAC,GAAG,EAAE,CACnF,CAAC;QACJ,CAAC;QACD,QAAQ,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,oGAAoG;AACpG,SAAS,OAAO,CAAC,KAAkB,EAAE,OAA2B,EAAE,IAAY;IAC5E,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,gGAAgG;IAChG,oGAAoG;IACpG,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACtB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,SAAS,CAAC,KAAkB,EAAE,OAAgB;IACrD,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,uFAAuF;QACvF,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC;QACvB,OAAO,GAAG,CAAC,cAAc,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAClC,OAAO,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACtC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;QACtB,GAAG,CAAC,eAAe,CAAC,GAAG,GAAG,CAAC;IAC7B,CAAC;IACD,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7B,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,OAAO,CACpB,IAAY,EACZ,OAAe,EACf,KAAwB,EACxB,OAAoB,EACpB,OAAgD;IAEhD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,OAAO,EAAE,KAAK,EAAE,eAAe,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QAClE,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC;QAC1C,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,OAAO,EAAE,KAAK,EAAE,cAAc,OAAO,CAAC,IAAI,gCAAgC,IAAI,EAAE,EAAE,CAAC;YACrF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;gBACtF,GAAG,EAAE,IAAI;gBACT,OAAO,EAAE,iBAAiB;gBAC1B,SAAS,EAAE,CAAC,IAAI,EAAE;gBAClB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;aACnD,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,oCAAoC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChE,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS;gBAAE,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,6FAA6F;YAC7F,yEAAyE;YACzE,MAAM,QAAQ,GAAG,sDAAsD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrF,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAChC,OAAO,EAAE,GAAG,EAAE,WAAW,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACnD,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,8BAA8B,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;QACnG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAA8C,CAAC;YAC/D,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;YAClF,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,oBAAoB,EAAE,CAAC;QACjE,CAAC;IACH,CAAC;IAED,kGAAkG;IAClG,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1C,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAClC,OAAO,EACP;YACE,GAAG,KAAK;YACR,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;YACtB,QAAQ;YACR,kGAAkG;YAClG,sGAAsG;YACtG,gGAAgG;YAChG,6FAA6F;YAC7F,mBAAmB;YACnB,GAAG,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAClE,SAAS;YACT,OAAO,CAAC,KAAK;YACb,aAAa;YACb,QAAQ;SACT,EACD,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAC9G,CAAC;QACF,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;gBACL,KAAK,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,uBAAuB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;aACrH,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAA8C,CAAC;QAC/D,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;QAClF,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,oBAAoB,EAAE,CAAC;IACjE,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
|
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
|
package/lib/config.d.ts.map
CHANGED
|
@@ -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
|
|
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
|
-
|
|
392
|
-
|
|
393
|
-
|
|
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';
|
package/lib/daemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"
|
|
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"}
|