2026-04-13 23:26:22 +00:00
|
|
|
import { hostd } from '../src/hostd/client.js';
|
2026-04-21 23:45:26 +02:00
|
|
|
import { parseBastilleList } from '../src/bastille-list.js';
|
2026-04-13 23:26:22 +00:00
|
|
|
|
feat(phase4): just front door + safety rules + bugfix (Sam & Claude)
Rewrites justfile with 8 groups, 35+ recipes with docstrings.
Creates 8 CLI helper scripts (jail-status, hostd-cli, system-health,
agent-status, agent-task, agent-task-status, agent-logs, jail-provision).
Adds 4 hostd safety rules to safety.yaml (destroy, rollback, zfs-destroy, pf).
Fixes task_create empty assigned_to bug in controlplane-tools.ts.
Build: pass | Tests: not run (Linux)
2026-04-14 01:27:08 +02:00
|
|
|
const jailFilter = process.argv[2];
|
2026-04-13 23:26:22 +00:00
|
|
|
|
feat(phase4): just front door + safety rules + bugfix (Sam & Claude)
Rewrites justfile with 8 groups, 35+ recipes with docstrings.
Creates 8 CLI helper scripts (jail-status, hostd-cli, system-health,
agent-status, agent-task, agent-task-status, agent-logs, jail-provision).
Adds 4 hostd safety rules to safety.yaml (destroy, rollback, zfs-destroy, pf).
Fixes task_create empty assigned_to bug in controlplane-tools.ts.
Build: pass | Tests: not run (Linux)
2026-04-14 01:27:08 +02:00
|
|
|
try {
|
|
|
|
|
const result = await hostd('bastille-list');
|
|
|
|
|
if (!result.ok) {
|
|
|
|
|
console.error('Failed to list jails:', result.error || result.output);
|
2026-04-13 23:26:22 +00:00
|
|
|
process.exit(1);
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-21 23:45:26 +02:00
|
|
|
const jails = parseBastilleList(result.output);
|
2026-04-13 23:26:22 +00:00
|
|
|
|
feat(phase4): just front door + safety rules + bugfix (Sam & Claude)
Rewrites justfile with 8 groups, 35+ recipes with docstrings.
Creates 8 CLI helper scripts (jail-status, hostd-cli, system-health,
agent-status, agent-task, agent-task-status, agent-logs, jail-provision).
Adds 4 hostd safety rules to safety.yaml (destroy, rollback, zfs-destroy, pf).
Fixes task_create empty assigned_to bug in controlplane-tools.ts.
Build: pass | Tests: not run (Linux)
2026-04-14 01:27:08 +02:00
|
|
|
const filtered = jailFilter
|
|
|
|
|
? jails.filter((j) => j.name === jailFilter)
|
|
|
|
|
: jails;
|
2026-04-13 23:26:22 +00:00
|
|
|
|
feat(phase4): just front door + safety rules + bugfix (Sam & Claude)
Rewrites justfile with 8 groups, 35+ recipes with docstrings.
Creates 8 CLI helper scripts (jail-status, hostd-cli, system-health,
agent-status, agent-task, agent-task-status, agent-logs, jail-provision).
Adds 4 hostd safety rules to safety.yaml (destroy, rollback, zfs-destroy, pf).
Fixes task_create empty assigned_to bug in controlplane-tools.ts.
Build: pass | Tests: not run (Linux)
2026-04-14 01:27:08 +02:00
|
|
|
if (filtered.length === 0 && jailFilter) {
|
|
|
|
|
console.log(`No jail found: ${jailFilter}`);
|
2026-04-13 23:26:22 +00:00
|
|
|
process.exit(1);
|
|
|
|
|
}
|
|
|
|
|
|
feat(phase4): just front door + safety rules + bugfix (Sam & Claude)
Rewrites justfile with 8 groups, 35+ recipes with docstrings.
Creates 8 CLI helper scripts (jail-status, hostd-cli, system-health,
agent-status, agent-task, agent-task-status, agent-logs, jail-provision).
Adds 4 hostd safety rules to safety.yaml (destroy, rollback, zfs-destroy, pf).
Fixes task_create empty assigned_to bug in controlplane-tools.ts.
Build: pass | Tests: not run (Linux)
2026-04-14 01:27:08 +02:00
|
|
|
console.log('JID\t\tState\t\tIP\t\tName');
|
|
|
|
|
console.log('-'.repeat(60));
|
|
|
|
|
for (const j of filtered) {
|
|
|
|
|
console.log(`${j.jid}\t\t${j.state}\t\t${j.ip}\t\t${j.name}`);
|
2026-04-13 23:26:22 +00:00
|
|
|
}
|
feat(phase4): just front door + safety rules + bugfix (Sam & Claude)
Rewrites justfile with 8 groups, 35+ recipes with docstrings.
Creates 8 CLI helper scripts (jail-status, hostd-cli, system-health,
agent-status, agent-task, agent-task-status, agent-logs, jail-provision).
Adds 4 hostd safety rules to safety.yaml (destroy, rollback, zfs-destroy, pf).
Fixes task_create empty assigned_to bug in controlplane-tools.ts.
Build: pass | Tests: not run (Linux)
2026-04-14 01:27:08 +02:00
|
|
|
console.log(`\n${filtered.length} jail(s)`);
|
|
|
|
|
} catch (err) {
|
|
|
|
|
const msg = err instanceof Error ? err.message : String(err);
|
|
|
|
|
console.error('Error:', msg);
|
2026-04-13 23:26:22 +00:00
|
|
|
process.exit(1);
|
feat(phase4): just front door + safety rules + bugfix (Sam & Claude)
Rewrites justfile with 8 groups, 35+ recipes with docstrings.
Creates 8 CLI helper scripts (jail-status, hostd-cli, system-health,
agent-status, agent-task, agent-task-status, agent-logs, jail-provision).
Adds 4 hostd safety rules to safety.yaml (destroy, rollback, zfs-destroy, pf).
Fixes task_create empty assigned_to bug in controlplane-tools.ts.
Build: pass | Tests: not run (Linux)
2026-04-14 01:27:08 +02:00
|
|
|
}
|