colibri/packaging/freebsd/agent-jail-bootstrap.sh
Sam & Claude c778daf151
Some checks failed
CI / rust (pull_request) Has been cancelled
CI / markdown (pull_request) Has been cancelled
feat(bootstrap): add Pi agent — copy from host npm global
2026-06-20 07:54:32 +02:00

26 lines
1.1 KiB
Bash
Executable file

#!/bin/sh
# Agent jail bootstrap — install minimum runtime into a fresh Bastille jail.
# Usage: sudo agent-jail-bootstrap.sh <jail_name>
set -e
JAIL_NAME="$1"
JAIL_ROOT="/usr/local/bastille/jails/${JAIL_NAME}/root"
echo "=== Bootstrap ${JAIL_NAME} ==="
# Install runtime packages (versions pinned to match host)
pkg -c "${JAIL_ROOT}" install -y python312 node24 npm-node24 bash curl
# Copy colibri binaries from host
for bin in colibri colibri-daemon colibri-probe colibri-mcp colibri-test-agent colibri-host-status colibri-runtime-inventory; do
cp /usr/local/bin/${bin} "${JAIL_ROOT}/usr/local/bin/${bin}"
chmod 755 "${JAIL_ROOT}/usr/local/bin/${bin}"
done
# Copy npm global agents from host (jails have no internet)
NPM_PREFIX="/home/clawdie/.npm-global"
mkdir -p "${JAIL_ROOT}${NPM_PREFIX}/bin" "${JAIL_ROOT}${NPM_PREFIX}/lib/node_modules"
cp -a "${NPM_PREFIX}/lib/node_modules/@earendil-works" "${JAIL_ROOT}${NPM_PREFIX}/lib/node_modules/"
cp -a "${NPM_PREFIX}/bin/pi" "${JAIL_ROOT}${NPM_PREFIX}/bin/pi"
echo "Done — ${JAIL_NAME} ready for vault provision."