@cyanautomation/kaseki-agent 1.29.1 → 1.30.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -6
- package/dist/cli/KasekiCLI.d.ts.map +1 -1
- package/dist/cli/KasekiCLI.js +4 -2
- package/dist/cli/KasekiCLI.js.map +1 -1
- package/dist/cli/commands/HostCommand.d.ts +2 -0
- package/dist/cli/commands/HostCommand.d.ts.map +1 -1
- package/dist/cli/commands/HostCommand.js +81 -6
- package/dist/cli/commands/HostCommand.js.map +1 -1
- package/dist/kaseki-api-routes.d.ts.map +1 -1
- package/dist/kaseki-api-routes.js +81 -0
- package/dist/kaseki-api-routes.js.map +1 -1
- package/kaseki-agent.sh +33 -19
- package/package.json +1 -1
- package/scripts/kaseki-preflight-docker-compose.sh +11 -8
- package/scripts/kaseki-setup-host.sh +6 -6
- package/scripts/npm-verify-publish.sh +149 -0
- package/scripts/startup-checks.sh +35 -2
package/README.md
CHANGED
|
@@ -35,10 +35,9 @@ For a Docker Compose API host, prepare storage and secrets before starting the
|
|
|
35
35
|
service:
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
|
-
sudo
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
http://localhost:8080/api/preflight
|
|
38
|
+
sudo npm install -g @cyanautomation/kaseki-agent@latest
|
|
39
|
+
sudo kaseki-agent host setup --fix --recreate-api --wait-ready
|
|
40
|
+
sudo kaseki-agent host preflight
|
|
42
41
|
```
|
|
43
42
|
|
|
44
43
|
The host prep helper creates `/agents`, `/agents/kaseki-results`,
|
|
@@ -46,8 +45,11 @@ The host prep helper creates `/agents`, `/agents/kaseki-results`,
|
|
|
46
45
|
then normalizes `~/secrets` to directory mode `0750` and file mode `0640` with
|
|
47
46
|
group `10000`. It is sudo-aware and uses the original invoking user's
|
|
48
47
|
`~/secrets` by default; set `KASEKI_HOST_SECRETS_DIR=/path/to/secrets` for a
|
|
49
|
-
non-standard location.
|
|
50
|
-
|
|
48
|
+
non-standard location. The `host` command requires a current npm CLI
|
|
49
|
+
(`1.29.1` or newer). If preflight reports a deleted bind mount, rerun the same
|
|
50
|
+
command with `--recreate-api`. Prefer `/ready` and authenticated
|
|
51
|
+
`/api/preflight` over `docker ps` alone; Docker health can lag or hide
|
|
52
|
+
permission issues that readiness diagnostics explain directly.
|
|
51
53
|
|
|
52
54
|
### Without Global Install
|
|
53
55
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KasekiCLI.d.ts","sourceRoot":"","sources":["../../src/cli/KasekiCLI.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIxD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAA0B;gBAE9B,aAAa,EAAE,aAAa;IAMxC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAyIxB;;OAEG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAkC/E;;OAEG;IACH,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"KasekiCLI.d.ts","sourceRoot":"","sources":["../../src/cli/KasekiCLI.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIxD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAA0B;gBAE9B,aAAa,EAAE,aAAa;IAMxC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAyIxB;;OAEG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAkC/E;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgGxB;;OAEG;IACH,WAAW,IAAI,UAAU,EAAE;CAG5B"}
|
package/dist/cli/KasekiCLI.js
CHANGED
|
@@ -211,11 +211,13 @@ USAGE
|
|
|
211
211
|
host: `host - prepare or recover a Docker Compose API host
|
|
212
212
|
|
|
213
213
|
USAGE
|
|
214
|
-
kaseki-agent host setup [--fix] [--recreate-api]
|
|
214
|
+
kaseki-agent host setup [--fix] [--recreate-api] [--wait-ready]
|
|
215
|
+
kaseki-agent host preflight [--url URL]
|
|
215
216
|
|
|
216
217
|
EXAMPLES
|
|
217
218
|
kaseki-agent host setup
|
|
218
|
-
sudo kaseki-agent host setup --fix --recreate-api
|
|
219
|
+
sudo kaseki-agent host setup --fix --recreate-api --wait-ready
|
|
220
|
+
sudo kaseki-agent host preflight`,
|
|
219
221
|
serve: `serve - start the local REST API service
|
|
220
222
|
|
|
221
223
|
USAGE
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KasekiCLI.js","sourceRoot":"","sources":["../../src/cli/KasekiCLI.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"KasekiCLI.js","sourceRoot":"","sources":["../../src/cli/KasekiCLI.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HostCommand.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/HostCommand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"HostCommand.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/HostCommand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM7C,qBAAa,WAAY,SAAQ,WAAW;IACpC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAyD9C,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,SAAS;YAqBH,YAAY;YAyBZ,YAAY;CAyC3B"}
|
|
@@ -8,6 +8,7 @@ import { spawnSync } from 'child_process';
|
|
|
8
8
|
import { existsSync } from 'fs';
|
|
9
9
|
import { BaseCommand } from '../BaseCommand.js';
|
|
10
10
|
import { createLogger } from '../../logger.js';
|
|
11
|
+
import { readHostSecret, getSecretLocations } from '../../secrets/host-secrets-reader.js';
|
|
11
12
|
const logger = createLogger('host-cmd');
|
|
12
13
|
export class HostCommand extends BaseCommand {
|
|
13
14
|
async execute(args) {
|
|
@@ -16,8 +17,12 @@ export class HostCommand extends BaseCommand {
|
|
|
16
17
|
this.printHelp();
|
|
17
18
|
return 0;
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
const validOptions = new Set(['--fix', '--recreate-api', '--wait-ready', '--help']);
|
|
21
|
+
if (subcommand === 'preflight') {
|
|
22
|
+
return this.runPreflight(action ? [action, ...rest] : rest);
|
|
23
|
+
}
|
|
24
|
+
if (subcommand !== 'setup' || [action, ...rest].filter(Boolean).some((arg) => !validOptions.has(arg))) {
|
|
25
|
+
console.error('Usage: kaseki-agent host setup [--fix] [--recreate-api] [--wait-ready]');
|
|
21
26
|
return 1;
|
|
22
27
|
}
|
|
23
28
|
const setupArgs = [action, ...rest].filter(Boolean);
|
|
@@ -34,7 +39,9 @@ export class HostCommand extends BaseCommand {
|
|
|
34
39
|
if (setupArgs.includes('--fix') && process.getuid?.() !== 0) {
|
|
35
40
|
console.log('Tip: if /agents needs root-owned changes, rerun with sudo or allow sudo when prompted.');
|
|
36
41
|
}
|
|
37
|
-
const
|
|
42
|
+
const waitReady = setupArgs.includes('--wait-ready');
|
|
43
|
+
const scriptArgs = setupArgs.filter((arg) => arg !== '--wait-ready');
|
|
44
|
+
const result = spawnSync(scriptPath, scriptArgs, {
|
|
38
45
|
stdio: 'inherit',
|
|
39
46
|
env: process.env,
|
|
40
47
|
});
|
|
@@ -43,7 +50,11 @@ export class HostCommand extends BaseCommand {
|
|
|
43
50
|
console.error(`Host setup failed: ${result.error.message}`);
|
|
44
51
|
return 1;
|
|
45
52
|
}
|
|
46
|
-
|
|
53
|
+
const exitCode = result.status ?? 1;
|
|
54
|
+
if (exitCode !== 0 || !waitReady) {
|
|
55
|
+
return exitCode;
|
|
56
|
+
}
|
|
57
|
+
return this.waitForReady();
|
|
47
58
|
}
|
|
48
59
|
findSetupScript() {
|
|
49
60
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
@@ -58,17 +69,81 @@ export class HostCommand extends BaseCommand {
|
|
|
58
69
|
console.log(`host - prepare or recover a Docker Compose API host
|
|
59
70
|
|
|
60
71
|
USAGE
|
|
61
|
-
kaseki-agent host setup [--fix] [--recreate-api]
|
|
72
|
+
kaseki-agent host setup [--fix] [--recreate-api] [--wait-ready]
|
|
73
|
+
kaseki-agent host preflight [--url URL]
|
|
62
74
|
|
|
63
75
|
OPTIONS
|
|
64
76
|
--fix Create/fix /agents, normalize secrets, and bootstrap the template.
|
|
65
77
|
--recreate-api Recreate the kaseki-api container after host paths are fixed.
|
|
78
|
+
--wait-ready Wait for http://127.0.0.1:8080/ready before returning.
|
|
79
|
+
--url URL Preflight URL. Defaults to http://127.0.0.1:8080/api/preflight.
|
|
66
80
|
|
|
67
81
|
EXAMPLES
|
|
68
82
|
kaseki-agent host setup
|
|
69
|
-
sudo kaseki-agent host setup --fix --recreate-api
|
|
83
|
+
sudo kaseki-agent host setup --fix --recreate-api --wait-ready
|
|
84
|
+
sudo kaseki-agent host preflight
|
|
70
85
|
sudo KASEKI_HOST_SECRETS_DIR=/home/pi/secrets kaseki-agent host setup --fix
|
|
71
86
|
`);
|
|
72
87
|
}
|
|
88
|
+
async waitForReady() {
|
|
89
|
+
const url = process.env.KASEKI_READY_URL || 'http://127.0.0.1:8080/ready';
|
|
90
|
+
const timeoutMs = Number.parseInt(process.env.KASEKI_WAIT_READY_TIMEOUT_MS || '60000', 10);
|
|
91
|
+
const startedAt = Date.now();
|
|
92
|
+
console.log(`Waiting for Kaseki API readiness: ${url}`);
|
|
93
|
+
while (Date.now() - startedAt < timeoutMs) {
|
|
94
|
+
try {
|
|
95
|
+
const response = await fetch(url);
|
|
96
|
+
if (response.ok) {
|
|
97
|
+
console.log('Kaseki API is ready.');
|
|
98
|
+
return 0;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
// Container may still be starting; retry until timeout.
|
|
103
|
+
}
|
|
104
|
+
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
105
|
+
}
|
|
106
|
+
console.error(`Kaseki API did not become ready within ${timeoutMs}ms. Check: docker logs kaseki-api`);
|
|
107
|
+
return 1;
|
|
108
|
+
}
|
|
109
|
+
async runPreflight(args) {
|
|
110
|
+
if (args.includes('--help') || args.includes('-h')) {
|
|
111
|
+
this.printHelp();
|
|
112
|
+
return 0;
|
|
113
|
+
}
|
|
114
|
+
const allowedArgs = new Set(['--url']);
|
|
115
|
+
const unknownOption = args.find((arg, index) => arg.startsWith('-') && !(allowedArgs.has(arg) || args[index - 1] === '--url'));
|
|
116
|
+
if (unknownOption) {
|
|
117
|
+
console.error(`Unknown host preflight option: ${unknownOption}`);
|
|
118
|
+
console.error('Usage: kaseki-agent host preflight [--url URL]');
|
|
119
|
+
return 1;
|
|
120
|
+
}
|
|
121
|
+
const urlArgIndex = args.indexOf('--url');
|
|
122
|
+
const url = urlArgIndex >= 0 && args[urlArgIndex + 1]
|
|
123
|
+
? args[urlArgIndex + 1]
|
|
124
|
+
: process.env.KASEKI_PREFLIGHT_URL || 'http://127.0.0.1:8080/api/preflight';
|
|
125
|
+
const token = readHostSecret('kaseki_api_keys')?.split(/\r?\n/).find((line) => line.trim())?.trim();
|
|
126
|
+
if (!token) {
|
|
127
|
+
const locations = getSecretLocations('kaseki_api_keys');
|
|
128
|
+
console.error('Could not read kaseki_api_keys from host secrets.');
|
|
129
|
+
console.error(`Checked: ${locations.primary} and ${locations.secondary}`);
|
|
130
|
+
console.error('If permissions were normalized for the API container, rerun this command with sudo or add your admin user to the container secret group.');
|
|
131
|
+
return 1;
|
|
132
|
+
}
|
|
133
|
+
try {
|
|
134
|
+
const response = await fetch(url, {
|
|
135
|
+
headers: {
|
|
136
|
+
Authorization: `Bearer ${token}`,
|
|
137
|
+
},
|
|
138
|
+
});
|
|
139
|
+
const body = await response.text();
|
|
140
|
+
console.log(body);
|
|
141
|
+
return response.ok ? 0 : 1;
|
|
142
|
+
}
|
|
143
|
+
catch (err) {
|
|
144
|
+
console.error(`Failed to call ${url}: ${err.message}`);
|
|
145
|
+
return 1;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
73
148
|
}
|
|
74
149
|
//# sourceMappingURL=HostCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HostCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/HostCommand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"HostCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/HostCommand.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvF,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AAExC,MAAM,OAAO,WAAY,SAAQ,WAAW;IAC1C,KAAK,CAAC,OAAO,CAAC,IAAc;QAC1B,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAE3C,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3F,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;QACpF,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,UAAU,KAAK,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACtG,OAAO,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;YACxF,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACnF,OAAO,CAAC,CAAC;QACX,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC;QACxD,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,wFAAwF,CAAC,CAAC;QACxG,CAAC;QAED,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC;QAErE,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE;YAC/C,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,sBAAsB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,KAAK,CAAC,sBAAsB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QACpC,IAAI,QAAQ,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAEO,eAAe;QACrB,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG;YACjB,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,8BAA8B,CAAC;YACtD,OAAO,CAAC,IAAI,EAAE,uCAAuC,CAAC;YACtD,OAAO,CAAC,IAAI,EAAE,0CAA0C,CAAC;SAC1D,CAAC;QAEF,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC;IACvE,CAAC;IAEO,SAAS;QACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;CAiBf,CAAC,CAAC;IACD,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,6BAA6B,CAAC;QAC1E,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,OAAO,CAAC,GAAG,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC;QAExD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;oBACpC,OAAO,CAAC,CAAC;gBACX,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,wDAAwD;YAC1D,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,0CAA0C,SAAS,mCAAmC,CAAC,CAAC;QACtG,OAAO,CAAC,CAAC;IACX,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAc;QACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC;QAC/H,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,kCAAkC,aAAa,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAChE,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACvB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,qCAAqC,CAAC;QAC9E,MAAM,KAAK,GAAG,cAAc,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;QAEpG,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,SAAS,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;YACxD,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACnE,OAAO,CAAC,KAAK,CAAC,YAAY,SAAS,CAAC,OAAO,QAAQ,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;YAC1E,OAAO,CAAC,KAAK,CAAC,0IAA0I,CAAC,CAAC;YAC1J,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,KAAK,EAAE;iBACjC;aACF,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,kBAAkB,GAAG,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kaseki-api-routes.d.ts","sourceRoot":"","sources":["../src/kaseki-api-routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAmC,MAAM,SAAS,CAAC;AAOlE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAU5D,OAAO,EAAE,eAAe,EAAkB,MAAM,qBAAqB,CAAC;AAStE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAI7C,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAwR5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"kaseki-api-routes.d.ts","sourceRoot":"","sources":["../src/kaseki-api-routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAmC,MAAM,SAAS,CAAC;AAOlE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAU5D,OAAO,EAAE,eAAe,EAAkB,MAAM,qBAAqB,CAAC;AAStE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAI7C,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAwR5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AA8UjE;;GAEG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,eAAe,EACvB,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,cAIX,GACD,MAAM,CA8YR"}
|
|
@@ -352,6 +352,73 @@ function checkGitHubAppCredentials() {
|
|
|
352
352
|
detail: 'GitHub App credentials are readable and structurally valid for PR creation.',
|
|
353
353
|
};
|
|
354
354
|
}
|
|
355
|
+
function checkWorkerSmokeTest(config, image) {
|
|
356
|
+
const secretFile = process.env.OPENROUTER_API_KEY_FILE || '/run/secrets/kaseki/openrouter_api_key';
|
|
357
|
+
const smokeRoot = path.join(config.resultsDir, `.preflight-worker-${randomUUID()}`);
|
|
358
|
+
const workspaceDir = path.join(smokeRoot, 'workspace');
|
|
359
|
+
const resultsDir = path.join(smokeRoot, 'results');
|
|
360
|
+
const cacheDir = path.join(smokeRoot, 'cache');
|
|
361
|
+
try {
|
|
362
|
+
fs.mkdirSync(workspaceDir, { recursive: true });
|
|
363
|
+
fs.mkdirSync(resultsDir, { recursive: true });
|
|
364
|
+
fs.mkdirSync(cacheDir, { recursive: true });
|
|
365
|
+
const result = execDockerCommand([
|
|
366
|
+
'run',
|
|
367
|
+
'--rm',
|
|
368
|
+
'--read-only',
|
|
369
|
+
'--tmpfs',
|
|
370
|
+
'/tmp:rw,nosuid,nodev,size=64m',
|
|
371
|
+
'--security-opt',
|
|
372
|
+
'no-new-privileges:true',
|
|
373
|
+
'--cap-drop',
|
|
374
|
+
'ALL',
|
|
375
|
+
'-u',
|
|
376
|
+
`${process.getuid?.() || 10000}:${process.getgid?.() || 10000}`,
|
|
377
|
+
'-e',
|
|
378
|
+
'OPENROUTER_API_KEY_FILE=/run/secrets/openrouter_api_key',
|
|
379
|
+
'-v',
|
|
380
|
+
`${workspaceDir}:/workspace:rw`,
|
|
381
|
+
'-v',
|
|
382
|
+
`${resultsDir}:/results:rw`,
|
|
383
|
+
'-v',
|
|
384
|
+
`${cacheDir}:/cache:rw`,
|
|
385
|
+
'-v',
|
|
386
|
+
`${secretFile}:/run/secrets/openrouter_api_key:ro`,
|
|
387
|
+
'--entrypoint',
|
|
388
|
+
'/scripts/startup-checks.sh',
|
|
389
|
+
image,
|
|
390
|
+
'worker',
|
|
391
|
+
], 30000);
|
|
392
|
+
if (result.ok) {
|
|
393
|
+
return {
|
|
394
|
+
name: 'worker-smoke',
|
|
395
|
+
ok: true,
|
|
396
|
+
detail: 'Worker container can start with workspace, results, cache, and OpenRouter secret mounts.',
|
|
397
|
+
};
|
|
398
|
+
}
|
|
399
|
+
const classified = result.classification || {
|
|
400
|
+
detail: result.detail || 'Worker container smoke test failed.',
|
|
401
|
+
remediation: 'Check worker bind mounts, file ownership, Docker socket access, and the OpenRouter secret file.',
|
|
402
|
+
};
|
|
403
|
+
return {
|
|
404
|
+
name: 'worker-smoke',
|
|
405
|
+
ok: false,
|
|
406
|
+
detail: classified.detail,
|
|
407
|
+
remediation: classified.remediation,
|
|
408
|
+
};
|
|
409
|
+
}
|
|
410
|
+
catch (err) {
|
|
411
|
+
return {
|
|
412
|
+
name: 'worker-smoke',
|
|
413
|
+
ok: false,
|
|
414
|
+
detail: `Worker smoke test could not prepare temporary directories: ${err.message}`,
|
|
415
|
+
remediation: 'Ensure KASEKI_RESULTS_DIR is writable by the API container user.',
|
|
416
|
+
};
|
|
417
|
+
}
|
|
418
|
+
finally {
|
|
419
|
+
fs.rmSync(smokeRoot, { recursive: true, force: true });
|
|
420
|
+
}
|
|
421
|
+
}
|
|
355
422
|
function isGitHubAppReady() {
|
|
356
423
|
const check = checkGitHubAppCredentials();
|
|
357
424
|
return check.ok && check.name === 'github-app';
|
|
@@ -388,7 +455,9 @@ function buildPreflightResponse(config) {
|
|
|
388
455
|
checks.push({ name: 'docker-daemon', ok: false, ...classified });
|
|
389
456
|
}
|
|
390
457
|
const imageInspect = execDockerCommand(['image', 'inspect', image]);
|
|
458
|
+
let imageReady = false;
|
|
391
459
|
if (imageInspect.ok) {
|
|
460
|
+
imageReady = true;
|
|
392
461
|
checks.push({ name: 'docker-image', ok: true, detail: `Image is present: ${image}` });
|
|
393
462
|
}
|
|
394
463
|
else {
|
|
@@ -401,6 +470,18 @@ function buildPreflightResponse(config) {
|
|
|
401
470
|
remediation: daemonFailed ? classified.remediation : `Pull ${image} or set KASEKI_IMAGE to an available image.`,
|
|
402
471
|
});
|
|
403
472
|
}
|
|
473
|
+
const canRunWorkerSmoke = imageReady && checks.some((check) => check.name === 'docker-daemon' && check.ok);
|
|
474
|
+
if (canRunWorkerSmoke) {
|
|
475
|
+
checks.push(checkWorkerSmokeTest(config, image));
|
|
476
|
+
}
|
|
477
|
+
else {
|
|
478
|
+
checks.push({
|
|
479
|
+
name: 'worker-smoke',
|
|
480
|
+
ok: false,
|
|
481
|
+
detail: 'Worker smoke test skipped because Docker daemon or image checks failed.',
|
|
482
|
+
remediation: 'Fix docker-daemon and docker-image preflight checks first.',
|
|
483
|
+
});
|
|
484
|
+
}
|
|
404
485
|
const templateHealth = buildTemplateHealthStatus(templateDir);
|
|
405
486
|
checks.push({
|
|
406
487
|
name: 'template',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kaseki-api-routes.js","sourceRoot":"","sources":["../src/kaseki-api-routes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kaseki-api-routes.js","sourceRoot":"","sources":["../src/kaseki-api-routes.ts"],"names":[],"mappings":"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"}
|
package/kaseki-agent.sh
CHANGED
|
@@ -1779,19 +1779,23 @@ check_github_operations_health() {
|
|
|
1779
1779
|
printf '[preflight] github operations health check started\n' | tee -a "$health_log"
|
|
1780
1780
|
|
|
1781
1781
|
# Check 1: GitHub App secrets are readable
|
|
1782
|
-
|
|
1783
|
-
|
|
1782
|
+
local github_app_id_file="${GITHUB_APP_ID_FILE:-/agents/secrets/github_app_id}"
|
|
1783
|
+
local github_app_client_id_file="${GITHUB_APP_CLIENT_ID_FILE:-/agents/secrets/github_app_client_id}"
|
|
1784
|
+
local github_app_private_key_file="${GITHUB_APP_PRIVATE_KEY_FILE:-/agents/secrets/github_app_private_key}"
|
|
1785
|
+
|
|
1786
|
+
if ! [ -r "$github_app_id_file" ]; then
|
|
1787
|
+
printf '[health-check] ERROR: Cannot read GitHub App ID from %s\n' "$github_app_id_file" | tee -a "$health_log" >&2
|
|
1784
1788
|
return 1
|
|
1785
1789
|
fi
|
|
1786
|
-
if ! [ -r
|
|
1787
|
-
printf '[health-check] ERROR: Cannot read GitHub App client ID from
|
|
1790
|
+
if ! [ -r "$github_app_client_id_file" ]; then
|
|
1791
|
+
printf '[health-check] ERROR: Cannot read GitHub App client ID from %s\n' "$github_app_client_id_file" | tee -a "$health_log" >&2
|
|
1788
1792
|
return 1
|
|
1789
1793
|
fi
|
|
1790
|
-
if ! [ -r
|
|
1791
|
-
printf '[health-check] ERROR: Cannot read GitHub App private key from
|
|
1794
|
+
if ! [ -r "$github_app_private_key_file" ]; then
|
|
1795
|
+
printf '[health-check] ERROR: Cannot read GitHub App private key from %s\n' "$github_app_private_key_file" | tee -a "$health_log" >&2
|
|
1792
1796
|
return 1
|
|
1793
1797
|
fi
|
|
1794
|
-
log_github_private_key_metadata
|
|
1798
|
+
log_github_private_key_metadata "$github_app_private_key_file" "$health_log"
|
|
1795
1799
|
printf '[health-check] ✓ GitHub App secrets are readable\n' | tee -a "$health_log"
|
|
1796
1800
|
|
|
1797
1801
|
# Check 2: Verify git is available
|
|
@@ -1874,7 +1878,7 @@ check_github_operations_health() {
|
|
|
1874
1878
|
if parse_github_repo_url "$REPO_URL"; then
|
|
1875
1879
|
owner="$GITHUB_REPO_OWNER"
|
|
1876
1880
|
repo="$GITHUB_REPO_NAME"
|
|
1877
|
-
app_id="$(cat
|
|
1881
|
+
app_id="$(cat "$github_app_id_file" 2>/dev/null)" || app_id=""
|
|
1878
1882
|
if [ -z "$app_id" ]; then
|
|
1879
1883
|
printf '[health-check] ERROR: Cannot read GitHub App ID for auth smoke test\n' | tee -a "$health_log" >&2
|
|
1880
1884
|
return 1
|
|
@@ -1890,7 +1894,7 @@ check_github_operations_health() {
|
|
|
1890
1894
|
return 1
|
|
1891
1895
|
}
|
|
1892
1896
|
|
|
1893
|
-
/usr/local/bin/github-app-token "$app_id"
|
|
1897
|
+
/usr/local/bin/github-app-token "$app_id" "$github_app_private_key_file" "$owner" "$repo" >"$token_stdout_tmp" 2>"$token_stderr_tmp"
|
|
1894
1898
|
token_exit_code=$?
|
|
1895
1899
|
token_data="$(cat "$token_stdout_tmp" 2>/dev/null || true)"
|
|
1896
1900
|
token_stderr="$(cat "$token_stderr_tmp" 2>/dev/null || true)"
|
|
@@ -2532,9 +2536,12 @@ run_github_operations() {
|
|
|
2532
2536
|
local app_id private_key_file owner repo feature_branch token token_data git_push_exit
|
|
2533
2537
|
|
|
2534
2538
|
# Load GitHub App credentials
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
2539
|
+
local github_app_id_file="${GITHUB_APP_ID_FILE:-/agents/secrets/github_app_id}"
|
|
2540
|
+
local github_app_client_id_file="${GITHUB_APP_CLIENT_ID_FILE:-/agents/secrets/github_app_client_id}"
|
|
2541
|
+
local github_app_private_key_file="${GITHUB_APP_PRIVATE_KEY_FILE:-/agents/secrets/github_app_private_key}"
|
|
2542
|
+
app_id="$(cat "$github_app_id_file")" || { printf 'Failed to read app ID\n' >&2; return 7; }
|
|
2543
|
+
cat "$github_app_client_id_file" >/dev/null || { printf 'Failed to read client ID\n' >&2; return 7; }
|
|
2544
|
+
private_key_file="$github_app_private_key_file"
|
|
2538
2545
|
|
|
2539
2546
|
# Parse repo URL to extract owner and repo
|
|
2540
2547
|
if parse_github_repo_url "$REPO_URL"; then
|
|
@@ -2850,18 +2857,22 @@ openrouter_api_key_source=""
|
|
|
2850
2857
|
if [ -n "${OPENROUTER_API_KEY:-}" ]; then
|
|
2851
2858
|
openrouter_api_key="$OPENROUTER_API_KEY"
|
|
2852
2859
|
openrouter_api_key_source="env"
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
if [ -
|
|
2856
|
-
|
|
2857
|
-
|
|
2860
|
+
else
|
|
2861
|
+
openrouter_api_key_file="${OPENROUTER_API_KEY_FILE:-/agents/secrets/openrouter_api_key}"
|
|
2862
|
+
if [ -r "$openrouter_api_key_file" ]; then
|
|
2863
|
+
secret_content="$(cat "$openrouter_api_key_file")"
|
|
2864
|
+
if [ -n "$secret_content" ]; then
|
|
2865
|
+
openrouter_api_key="$secret_content"
|
|
2866
|
+
openrouter_api_key_source="secret file"
|
|
2867
|
+
fi
|
|
2858
2868
|
fi
|
|
2859
2869
|
fi
|
|
2860
2870
|
unset OPENROUTER_API_KEY secret_content
|
|
2861
2871
|
|
|
2862
2872
|
if [ -z "$openrouter_api_key" ]; then
|
|
2863
2873
|
set_current_stage "agent setup"
|
|
2864
|
-
|
|
2874
|
+
openrouter_api_key_file="${OPENROUTER_API_KEY_FILE:-/agents/secrets/openrouter_api_key}"
|
|
2875
|
+
printf 'Missing OpenRouter API key. Set OPENROUTER_API_KEY or provide %s.\n' "$openrouter_api_key_file" | tee -a /results/pi-stderr.log >&2
|
|
2865
2876
|
: > "$RAW_EVENTS"
|
|
2866
2877
|
PI_EXIT=2
|
|
2867
2878
|
STATUS=2
|
|
@@ -3418,7 +3429,10 @@ stage_start="$(date +%s)"
|
|
|
3418
3429
|
: > /results/git-push.log
|
|
3419
3430
|
build_github_skip_reasons
|
|
3420
3431
|
if [ "${#GITHUB_SKIP_REASONS[@]}" -eq 0 ]; then
|
|
3421
|
-
|
|
3432
|
+
github_app_id_file="${GITHUB_APP_ID_FILE:-/agents/secrets/github_app_id}"
|
|
3433
|
+
github_app_client_id_file="${GITHUB_APP_CLIENT_ID_FILE:-/agents/secrets/github_app_client_id}"
|
|
3434
|
+
github_app_private_key_file="${GITHUB_APP_PRIVATE_KEY_FILE:-/agents/secrets/github_app_private_key}"
|
|
3435
|
+
if [ -r "$github_app_id_file" ] && [ -r "$github_app_client_id_file" ] && [ -r "$github_app_private_key_file" ]; then
|
|
3422
3436
|
run_github_operations
|
|
3423
3437
|
else
|
|
3424
3438
|
GITHUB_SKIP_REASONS+=("github_app_secrets_missing")
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanautomation/kaseki-agent",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.30.1",
|
|
4
4
|
"description": "Admin/helper/doctor toolbox and local API client for Kaseki diagnostics, setup, and API-backed coding-agent task workflows",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -13,8 +13,11 @@ BLUE='\033[0;34m'
|
|
|
13
13
|
NC='\033[0m' # No Color
|
|
14
14
|
|
|
15
15
|
# Exit codes
|
|
16
|
+
# shellcheck disable=SC2034
|
|
16
17
|
EXIT_OK=0
|
|
18
|
+
# shellcheck disable=SC2034
|
|
17
19
|
EXIT_ERRORS=1
|
|
20
|
+
# shellcheck disable=SC2034
|
|
18
21
|
EXIT_WARNINGS=0 # Warnings are non-blocking
|
|
19
22
|
|
|
20
23
|
# Counters
|
|
@@ -62,10 +65,10 @@ check_agents_directory() {
|
|
|
62
65
|
log_pass "/agents directory exists"
|
|
63
66
|
|
|
64
67
|
# Check ownership
|
|
65
|
-
local owner_uid=$(stat -c %U /agents 2>/dev/null || stat -f %Su /agents 2>/dev/null)
|
|
66
|
-
local owner_gid=$(stat -c %G /agents 2>/dev/null || stat -f %Sg /agents 2>/dev/null)
|
|
67
|
-
local numeric_uid=$(stat -c %u /agents 2>/dev/null || stat -f %u /agents 2>/dev/null)
|
|
68
|
-
local numeric_gid=$(stat -c %g /agents 2>/dev/null || stat -f %g /agents 2>/dev/null)
|
|
68
|
+
local owner_uid; owner_uid=$(stat -c %U /agents 2>/dev/null || stat -f %Su /agents 2>/dev/null)
|
|
69
|
+
local owner_gid; owner_gid=$(stat -c %G /agents 2>/dev/null || stat -f %Sg /agents 2>/dev/null)
|
|
70
|
+
local numeric_uid; numeric_uid=$(stat -c %u /agents 2>/dev/null || stat -f %u /agents 2>/dev/null)
|
|
71
|
+
local numeric_gid; numeric_gid=$(stat -c %g /agents 2>/dev/null || stat -f %g /agents 2>/dev/null)
|
|
69
72
|
|
|
70
73
|
if [[ "$numeric_uid" != "10000" ]] || [[ "$numeric_gid" != "10000" ]]; then
|
|
71
74
|
log_error "/agents is owned by $owner_uid:$owner_gid (UID:GID $numeric_uid:$numeric_gid), should be 10000:10000"
|
|
@@ -77,7 +80,7 @@ check_agents_directory() {
|
|
|
77
80
|
log_pass "/agents is owned by UID:GID 10000:10000"
|
|
78
81
|
|
|
79
82
|
# Check permissions (should be at least rwx for owner, rx for others)
|
|
80
|
-
local perms=$(stat -c %a /agents 2>/dev/null || stat -f %A /agents 2>/dev/null)
|
|
83
|
+
local perms; perms=$(stat -c %a /agents 2>/dev/null || stat -f %A /agents 2>/dev/null)
|
|
81
84
|
if [[ "$perms" != "755" && "$perms" != "750" && "$perms" != "700" ]]; then
|
|
82
85
|
log_warning "/agents has permissions $perms (expected 755, 750, or 700)"
|
|
83
86
|
log_info "Suggestion: Run on host:"
|
|
@@ -136,7 +139,7 @@ check_docker_compose() {
|
|
|
136
139
|
# ============================================================================
|
|
137
140
|
check_compose_file() {
|
|
138
141
|
log_header "Checking docker-compose.yml..."
|
|
139
|
-
|
|
142
|
+
# shellcheck disable=SC2120
|
|
140
143
|
local compose_file="${1:-docker-compose.yml}"
|
|
141
144
|
|
|
142
145
|
if [[ ! -f "$compose_file" ]]; then
|
|
@@ -223,7 +226,7 @@ check_secrets_directory() {
|
|
|
223
226
|
check_disk_space() {
|
|
224
227
|
log_header "Checking disk space..."
|
|
225
228
|
|
|
226
|
-
local available_mb=$(df /agents 2>/dev/null | tail -1 | awk '{print $4}')
|
|
229
|
+
local available_mb; available_mb=$(df /agents 2>/dev/null | tail -1 | awk '{print $4}')
|
|
227
230
|
|
|
228
231
|
if [[ -z "$available_mb" ]]; then
|
|
229
232
|
log_warning "Could not determine disk space for /agents"
|
|
@@ -284,7 +287,7 @@ main() {
|
|
|
284
287
|
check_agents_directory || true
|
|
285
288
|
check_docker_daemon || true
|
|
286
289
|
check_docker_compose || true
|
|
287
|
-
check_compose_file || true
|
|
290
|
+
check_compose_file "$@" || true
|
|
288
291
|
check_environment_variables || true
|
|
289
292
|
check_secrets_directory || true
|
|
290
293
|
check_disk_space || true
|
|
@@ -155,17 +155,17 @@ bootstrap_checkout_if_possible() {
|
|
|
155
155
|
return 0
|
|
156
156
|
fi
|
|
157
157
|
if [ -x "$KASEKI_CHECKOUT_DIR/scripts/kaseki-activate.sh" ]; then
|
|
158
|
-
KASEKI_TEMPLATE_DIR="$KASEKI_TEMPLATE_DIR"
|
|
159
|
-
KASEKI_CHECKOUT_DIR="$KASEKI_CHECKOUT_DIR"
|
|
158
|
+
export KASEKI_TEMPLATE_DIR="$KASEKI_TEMPLATE_DIR"
|
|
159
|
+
export KASEKI_CHECKOUT_DIR="$KASEKI_CHECKOUT_DIR"
|
|
160
160
|
"$KASEKI_CHECKOUT_DIR/scripts/kaseki-activate.sh" --controller --replace-stale bootstrap
|
|
161
161
|
return $?
|
|
162
162
|
fi
|
|
163
163
|
if [ -x "$SCRIPT_DIR/kaseki-install.sh" ]; then
|
|
164
164
|
printf 'bootstrapping checkout with %s/kaseki-install.sh\n' "$SCRIPT_DIR"
|
|
165
|
-
HOME="$KASEKI_EFFECTIVE_HOST_HOME"
|
|
166
|
-
KASEKI_HOST_SECRETS_DIR="$KASEKI_HOST_SECRETS_DIR"
|
|
167
|
-
KASEKI_CONTROLLER_MODE=1
|
|
168
|
-
KASEKI_REPLACE_STALE=1
|
|
165
|
+
export HOME="$KASEKI_EFFECTIVE_HOST_HOME"
|
|
166
|
+
export KASEKI_HOST_SECRETS_DIR="$KASEKI_HOST_SECRETS_DIR"
|
|
167
|
+
export KASEKI_CONTROLLER_MODE=1
|
|
168
|
+
export KASEKI_REPLACE_STALE=1
|
|
169
169
|
"$SCRIPT_DIR/kaseki-install.sh"
|
|
170
170
|
return $?
|
|
171
171
|
fi
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
#
|
|
3
|
+
# npm-verify-publish.sh — Verify that a published npm package is available on the registry
|
|
4
|
+
#
|
|
5
|
+
# This script polls the npm registry with exponential backoff to verify that a package
|
|
6
|
+
# has been published and indexed. npm registry indexing can take 30-60+ seconds, so we
|
|
7
|
+
# use exponential backoff polling (1s, 2s, 4s, 8s, 16s, 32s) to avoid hammering the API.
|
|
8
|
+
#
|
|
9
|
+
# Usage:
|
|
10
|
+
# ./scripts/npm-verify-publish.sh <PACKAGE_NAME> <VERSION> [MAX_ATTEMPTS]
|
|
11
|
+
#
|
|
12
|
+
# Arguments:
|
|
13
|
+
# PACKAGE_NAME Package name (e.g., @cyanautomation/kaseki-agent)
|
|
14
|
+
# VERSION Package version (e.g., 1.29.1)
|
|
15
|
+
# MAX_ATTEMPTS Maximum number of attempts (default: 6)
|
|
16
|
+
#
|
|
17
|
+
# Exit Codes:
|
|
18
|
+
# 0 — Package verified successfully on npm registry
|
|
19
|
+
# 1 — Package not found after all retries exhausted
|
|
20
|
+
# 2 — Invalid arguments
|
|
21
|
+
# 3 — jq not available
|
|
22
|
+
#
|
|
23
|
+
# Environment Variables:
|
|
24
|
+
# KASEKI_VERIFY_DEBUG=1 Enable debug logging for each retry attempt
|
|
25
|
+
#
|
|
26
|
+
|
|
27
|
+
set -euo pipefail
|
|
28
|
+
|
|
29
|
+
SCRIPT_NAME="$(basename "$0")"
|
|
30
|
+
|
|
31
|
+
# Color codes for output
|
|
32
|
+
RED='\033[0;31m'
|
|
33
|
+
GREEN='\033[0;32m'
|
|
34
|
+
YELLOW='\033[1;33m'
|
|
35
|
+
BLUE='\033[0;34m'
|
|
36
|
+
NC='\033[0m' # No Color
|
|
37
|
+
|
|
38
|
+
# Validate arguments
|
|
39
|
+
if [[ $# -lt 2 ]]; then
|
|
40
|
+
cat >&2 <<EOF
|
|
41
|
+
${RED}Error: Missing required arguments${NC}
|
|
42
|
+
|
|
43
|
+
Usage:
|
|
44
|
+
${SCRIPT_NAME} <PACKAGE_NAME> <VERSION> [MAX_ATTEMPTS]
|
|
45
|
+
|
|
46
|
+
Arguments:
|
|
47
|
+
PACKAGE_NAME Package name (e.g., @cyanautomation/kaseki-agent)
|
|
48
|
+
VERSION Package version (e.g., 1.29.1)
|
|
49
|
+
MAX_ATTEMPTS Maximum number of attempts (default: 6)
|
|
50
|
+
|
|
51
|
+
Examples:
|
|
52
|
+
${SCRIPT_NAME} @cyanautomation/kaseki-agent 1.29.1
|
|
53
|
+
${SCRIPT_NAME} @cyanautomation/kaseki-agent 1.29.1 10
|
|
54
|
+
EOF
|
|
55
|
+
exit 2
|
|
56
|
+
fi
|
|
57
|
+
|
|
58
|
+
PACKAGE_NAME="$1"
|
|
59
|
+
VERSION="$2"
|
|
60
|
+
MAX_ATTEMPTS="${3:-6}"
|
|
61
|
+
|
|
62
|
+
# Check if jq is available
|
|
63
|
+
if ! command -v jq &> /dev/null; then
|
|
64
|
+
echo -e "${RED}Error: jq is required but not found on PATH${NC}" >&2
|
|
65
|
+
exit 3
|
|
66
|
+
fi
|
|
67
|
+
|
|
68
|
+
# Exponential backoff delays (in seconds): 1, 2, 4, 8, 16, 32
|
|
69
|
+
DELAYS=(1 2 4 8 16 32)
|
|
70
|
+
|
|
71
|
+
# Ensure we don't exceed the array length
|
|
72
|
+
if [[ $MAX_ATTEMPTS -gt ${#DELAYS[@]} ]]; then
|
|
73
|
+
MAX_ATTEMPTS=${#DELAYS[@]}
|
|
74
|
+
fi
|
|
75
|
+
|
|
76
|
+
echo -e "${BLUE}📦 Verifying npm registry publication${NC}"
|
|
77
|
+
echo " Package: ${PACKAGE_NAME}"
|
|
78
|
+
echo " Version: ${VERSION}"
|
|
79
|
+
echo " Max attempts: ${MAX_ATTEMPTS}"
|
|
80
|
+
echo ""
|
|
81
|
+
|
|
82
|
+
ATTEMPT=1
|
|
83
|
+
TOTAL_DELAY=0
|
|
84
|
+
|
|
85
|
+
while [[ $ATTEMPT -le $MAX_ATTEMPTS ]]; do
|
|
86
|
+
DELAY_INDEX=$((ATTEMPT - 1))
|
|
87
|
+
CURRENT_DELAY=${DELAYS[$DELAY_INDEX]}
|
|
88
|
+
|
|
89
|
+
if [[ $ATTEMPT -gt 1 ]]; then
|
|
90
|
+
if [[ "${KASEKI_VERIFY_DEBUG:-0}" == "1" ]]; then
|
|
91
|
+
echo -e "${YELLOW}Attempt ${ATTEMPT}/${MAX_ATTEMPTS}: Waiting ${CURRENT_DELAY}s before retry (total so far: ${TOTAL_DELAY}s)${NC}"
|
|
92
|
+
fi
|
|
93
|
+
sleep "$CURRENT_DELAY"
|
|
94
|
+
TOTAL_DELAY=$((TOTAL_DELAY + CURRENT_DELAY))
|
|
95
|
+
else
|
|
96
|
+
echo -e "${YELLOW}Attempt ${ATTEMPT}/${MAX_ATTEMPTS}: Checking registry now${NC}"
|
|
97
|
+
fi
|
|
98
|
+
|
|
99
|
+
# Attempt to fetch package info from npm registry
|
|
100
|
+
if npm view "${PACKAGE_NAME}@${VERSION}" --json > /tmp/npm-view.json 2>/dev/null; then
|
|
101
|
+
# Successfully fetched package info
|
|
102
|
+
PUBLISHED_VERSION=$(jq -r '.version // empty' /tmp/npm-view.json 2>/dev/null || echo "")
|
|
103
|
+
|
|
104
|
+
if [[ "${PUBLISHED_VERSION}" == "${VERSION}" ]]; then
|
|
105
|
+
# ✅ Package found and version matches
|
|
106
|
+
echo ""
|
|
107
|
+
echo -e "${GREEN}✅ Package successfully verified on npm registry${NC}"
|
|
108
|
+
echo " ${PACKAGE_NAME}@${VERSION}"
|
|
109
|
+
|
|
110
|
+
# Show tarball URL
|
|
111
|
+
TARBALL_URL=$(jq -r '.dist.tarball // empty' "/tmp/npm-verify-${VERSION}.json" 2>/dev/null || echo "")
|
|
112
|
+
if [[ -n "${TARBALL_URL}" ]]; then
|
|
113
|
+
echo " Tarball: ${TARBALL_URL}"
|
|
114
|
+
fi
|
|
115
|
+
|
|
116
|
+
echo " Time to availability: ${TOTAL_DELAY}s"
|
|
117
|
+
rm -f /tmp/npm-view.json
|
|
118
|
+
exit 0
|
|
119
|
+
fi
|
|
120
|
+
fi
|
|
121
|
+
|
|
122
|
+
# Package not yet available, continue to next attempt
|
|
123
|
+
if [[ "${KASEKI_VERIFY_DEBUG:-0}" == "1" ]]; then
|
|
124
|
+
echo -e "${YELLOW} → Not yet indexed (or fetch failed), will retry...${NC}"
|
|
125
|
+
fi
|
|
126
|
+
|
|
127
|
+
ATTEMPT=$((ATTEMPT + 1))
|
|
128
|
+
done
|
|
129
|
+
|
|
130
|
+
# Failed to verify after all retries exhausted
|
|
131
|
+
echo ""
|
|
132
|
+
echo -e "${RED}❌ Package not found on npm registry after ${MAX_ATTEMPTS} attempts${NC}"
|
|
133
|
+
echo " ${PACKAGE_NAME}@${VERSION}"
|
|
134
|
+
echo " Total wait time: ${TOTAL_DELAY}s"
|
|
135
|
+
echo ""
|
|
136
|
+
echo -e "${YELLOW}Possible causes:${NC}"
|
|
137
|
+
echo " • npm publish failed (check workflow logs for errors)"
|
|
138
|
+
echo " • npm registry is experiencing delays (try again in a few minutes)"
|
|
139
|
+
echo " • Version string mismatch (check package.json vs git tag)"
|
|
140
|
+
echo ""
|
|
141
|
+
|
|
142
|
+
# Show last response for debugging
|
|
143
|
+
if [[ -f /tmp/npm-view.json ]]; then
|
|
144
|
+
echo -e "${YELLOW}Last response from npm:${NC}"
|
|
145
|
+
cat /tmp/npm-view.json
|
|
146
|
+
rm -f /tmp/npm-view.json
|
|
147
|
+
fi
|
|
148
|
+
|
|
149
|
+
exit 1
|
|
@@ -18,7 +18,7 @@ KASEKI_ROOT="${KASEKI_ROOT:-/agents}"
|
|
|
18
18
|
KASEKI_TEMPLATE_DIR="${KASEKI_TEMPLATE_DIR:-$KASEKI_ROOT/kaseki-template}"
|
|
19
19
|
KASEKI_RESULTS_DIR="${KASEKI_RESULTS_DIR:-$KASEKI_ROOT/kaseki-results}"
|
|
20
20
|
KASEKI_RUNS_DIR="${KASEKI_RUNS_DIR:-$KASEKI_ROOT/kaseki-runs}"
|
|
21
|
-
MODE="${1:-all}" # all, permissions, bootstrap, quick, boot,
|
|
21
|
+
MODE="${1:-all}" # all, permissions, bootstrap, quick, boot, baseline-validation, or worker
|
|
22
22
|
|
|
23
23
|
# Current UID inside container (typically UID 10000 for non-root user)
|
|
24
24
|
CONTAINER_UID="${CONTAINER_UID:-$(id -u)}"
|
|
@@ -231,6 +231,32 @@ check_subdirectories() {
|
|
|
231
231
|
return "$exit_code"
|
|
232
232
|
}
|
|
233
233
|
|
|
234
|
+
check_worker_mounts() {
|
|
235
|
+
local -a worker_paths=(/workspace /results /cache)
|
|
236
|
+
local exit_code=0
|
|
237
|
+
local path
|
|
238
|
+
|
|
239
|
+
log_info "Checking worker container mounts..."
|
|
240
|
+
|
|
241
|
+
for path in "${worker_paths[@]}"; do
|
|
242
|
+
if [ ! -d "$path" ]; then
|
|
243
|
+
log_error "$path is not mounted"
|
|
244
|
+
exit_code=2
|
|
245
|
+
continue
|
|
246
|
+
fi
|
|
247
|
+
|
|
248
|
+
if [ ! -w "$path" ]; then
|
|
249
|
+
log_error "$path exists but is not writable by UID $CONTAINER_UID"
|
|
250
|
+
exit_code=2
|
|
251
|
+
continue
|
|
252
|
+
fi
|
|
253
|
+
|
|
254
|
+
log_pass "$path is writable"
|
|
255
|
+
done
|
|
256
|
+
|
|
257
|
+
return "$exit_code"
|
|
258
|
+
}
|
|
259
|
+
|
|
234
260
|
check_bootstrap_status() {
|
|
235
261
|
log_info "Checking bootstrap status..."
|
|
236
262
|
|
|
@@ -344,6 +370,13 @@ main() {
|
|
|
344
370
|
check_kaseki_root || overall_exit=$?
|
|
345
371
|
;;
|
|
346
372
|
|
|
373
|
+
worker)
|
|
374
|
+
# Ephemeral worker containers do not mount /agents. They receive scoped
|
|
375
|
+
# workspace, results, and cache mounts from run-kaseki.sh.
|
|
376
|
+
check_worker_mounts || overall_exit=$?
|
|
377
|
+
check_api_key || overall_exit=$((overall_exit > $? ? overall_exit : $?))
|
|
378
|
+
;;
|
|
379
|
+
|
|
347
380
|
baseline-validation)
|
|
348
381
|
# Startup smoke test mode used by API dry-runs before repository validation.
|
|
349
382
|
check_kaseki_root || overall_exit=$?
|
|
@@ -353,7 +386,7 @@ main() {
|
|
|
353
386
|
|
|
354
387
|
*)
|
|
355
388
|
log_error "Unknown mode: $MODE"
|
|
356
|
-
echo "Usage: $0 [all|permissions|bootstrap|quick|boot|baseline-validation]"
|
|
389
|
+
echo "Usage: $0 [all|permissions|bootstrap|quick|boot|baseline-validation|worker]"
|
|
357
390
|
return 1
|
|
358
391
|
;;
|
|
359
392
|
esac
|