Worker jail naming fix; reset doc update (Sam & Codex)

---

Build: pass | Tests: pass - 603 passed (44 files)

---
Build: pass | Tests: pass — Tests  603 passed (603)
This commit is contained in:
Clawdie AI 2026-04-05 06:59:51 +00:00
parent cc37d2c8cf
commit 6ec5ee3bc6
3 changed files with 31 additions and 7 deletions

View file

@ -85,9 +85,12 @@ cp .env ".env.backup.$(date +%Y%m%d-%H%M%S)" 2>/dev/null || true
Stop the service and the current jails first:
```sh
SAFE_AGENT="$(echo "$AGENT_NAME" | tr -d '_-')"
WORKER_JAIL="${SAFE_AGENT}worker"
sudo service "$AGENT_NAME" onestop 2>/dev/null || true
sudo bastille stop "${AGENT_NAME}-worker" 2>/dev/null || true
sudo bastille stop "$WORKER_JAIL" 2>/dev/null || true
sudo bastille stop "${AGENT_NAME}-db" 2>/dev/null || true
sudo bastille stop "${AGENT_NAME}-cms" 2>/dev/null || true
```
@ -106,7 +109,7 @@ sudo bastille stop git 2>/dev/null || true
Destroy the current derived jail names:
```sh
sudo bastille destroy -y "${AGENT_NAME}-worker" 2>/dev/null || true
sudo bastille destroy -y "$WORKER_JAIL" 2>/dev/null || true
sudo bastille destroy -y "${AGENT_NAME}-db" 2>/dev/null || true
sudo bastille destroy -y "${AGENT_NAME}-cms" 2>/dev/null || true
```
@ -136,7 +139,7 @@ leftovers and orphans that remain behind.
Preview current-name datasets first:
```sh
zfs list "$ZFS_ROOT/jails/${AGENT_NAME}-worker" >/dev/null 2>&1 && sudo zfs destroy -nvr "$ZFS_ROOT/jails/${AGENT_NAME}-worker"
zfs list "$ZFS_ROOT/jails/$WORKER_JAIL" >/dev/null 2>&1 && sudo zfs destroy -nvr "$ZFS_ROOT/jails/$WORKER_JAIL"
zfs list "$ZFS_ROOT/jails/${AGENT_NAME}-db" >/dev/null 2>&1 && sudo zfs destroy -nvr "$ZFS_ROOT/jails/${AGENT_NAME}-db"
zfs list "$ZFS_ROOT/jails/${AGENT_NAME}-cms" >/dev/null 2>&1 && sudo zfs destroy -nvr "$ZFS_ROOT/jails/${AGENT_NAME}-cms"
```
@ -153,7 +156,7 @@ zfs list "$ZFS_ROOT/jails/git" >/dev/null 2>&1 && sudo zfs destroy -nvr "$ZFS_RO
Only after reviewing the dry-run output, execute the real destroy:
```sh
zfs list "$ZFS_ROOT/jails/${AGENT_NAME}-worker" >/dev/null 2>&1 && sudo zfs destroy -vr "$ZFS_ROOT/jails/${AGENT_NAME}-worker"
zfs list "$ZFS_ROOT/jails/$WORKER_JAIL" >/dev/null 2>&1 && sudo zfs destroy -vr "$ZFS_ROOT/jails/$WORKER_JAIL"
zfs list "$ZFS_ROOT/jails/${AGENT_NAME}-db" >/dev/null 2>&1 && sudo zfs destroy -vr "$ZFS_ROOT/jails/${AGENT_NAME}-db"
zfs list "$ZFS_ROOT/jails/${AGENT_NAME}-cms" >/dev/null 2>&1 && sudo zfs destroy -vr "$ZFS_ROOT/jails/${AGENT_NAME}-cms"
```

View file

@ -59,7 +59,16 @@ export async function run(args: string[]): Promise<void> {
return;
}
const workerJail = `${AGENT_NAME}-worker`;
const safeAgentName = AGENT_NAME.replace(/[-_]/g, '');
const preferredJailName = `${safeAgentName}worker`;
const legacyHyphenName = `${AGENT_NAME}-worker`;
const legacyPlainName = 'worker';
let workerJail = preferredJailName;
if (jailExists(legacyHyphenName) && !jailExists(preferredJailName)) {
workerJail = legacyHyphenName;
} else if (jailExists(legacyPlainName) && !jailExists(preferredJailName)) {
workerJail = legacyPlainName;
}
const workerIp =
process.env.WORKER_JAIL_IP_START ||
process.env.WORKER_JAIL_IP ||

View file

@ -211,7 +211,11 @@ export async function run(_args: string[]): Promise<void> {
// 7. Check host/jail package baseline and CMS runtime
const rsyncTool = commandExists('rsync') ? 'available' : 'missing';
const workerJailName = `${AGENT_NAME}-worker`;
const safeAgentName = AGENT_NAME.replace(/[-_]/g, '');
const preferredWorkerJailName = `${safeAgentName}worker`;
const legacyWorkerJailName = `${AGENT_NAME}-worker`;
const legacyPlainWorkerJailName = 'worker';
let workerJailName = preferredWorkerJailName;
let workerJailPackages = 'unknown';
if (platform === 'freebsd') {
try {
@ -235,7 +239,15 @@ export async function run(_args: string[]): Promise<void> {
}
}
}
if (jails.split('\n').some((line) => line.trim() === workerJailName)) {
if (jailList.some((line) => line === preferredWorkerJailName)) {
workerJailName = preferredWorkerJailName;
} else if (jailList.some((line) => line === legacyWorkerJailName)) {
workerJailName = legacyWorkerJailName;
} else if (jailList.some((line) => line === legacyPlainWorkerJailName)) {
workerJailName = legacyPlainWorkerJailName;
}
if (jailList.some((line) => line === workerJailName)) {
try {
for (const pkg of WORKER_PACKAGES) {
if (pkg === 'rsync') {