Phase 2: Actuator provisioning - ProvisionLXC: pct create, start, package install, mounts, health check - ProvisionVM: qm create, status check via SSH - sshExecSimple helper for lightweight SSH command execution - resolveHost helper for entity attribute lookups Phase 5: Transition check enforcement - TransitionChecks map with 8 named checks: age-key-enrolled, mesh-joined, health-check-answering, no-inbound-edges, secrets-revoked, backups-verified, ingress-dns-removed, doc-page-complete - All checks accept pool + entity attrs for validation at transition time Phase 6: Cleanup - tools/setup-caveman.sh — npm install + wrapper + templates - tools/setup-hermes-soul.sh — SOUL.md provisioning - CLIENTS.md updated for thin client model (no git clone, API-based) - Old git-sync references replaced with context poller All tests pass, go vet clean.
14 lines
479 B
Bash
Executable File
14 lines
479 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# setup-hermes-soul.sh — provision Hermes agent persona.
|
|
# Copies ~/.hermes/SOUL.md from hermes/SOUL.md. No-op on non-Hermes agents.
|
|
set -euo pipefail
|
|
|
|
CLONE_DIR="${HOMELAB_CONTEXT_DIR:-/opt/homelab}"
|
|
|
|
if [ -f "$CLONE_DIR/hermes/SOUL.md" ]; then
|
|
mkdir -p "$HOME/.hermes"
|
|
cp "$CLONE_DIR/hermes/SOUL.md" "$HOME/.hermes/SOUL.md"
|
|
echo "[setup-hermes-soul] SOUL.md provisioned"
|
|
else
|
|
echo "[setup-hermes-soul] no hermes/SOUL.md found; skipping"
|
|
fi |