Introduces infra/jails.yaml as single source of truth for jail definitions,
src/jail-schema.ts with Zod validation, src/jail-registry.ts for runtime,
setup/bastille-helpers.ts as shared module replacing 7 copy-pasted
bastille()/jailExists()/detectFreeBSDRelease() wrappers.
Refactors setup/{db,cms,git,forgejo,jails,llama-cpp,ollama,skills-memory}.ts
to import from bastille-helpers. Archives infra/ansible/ to .archive/.
Net reduction: ~300 lines of duplicated code. All IPs now derive
from jails.yaml with env var overrides preserved.
Build: pass | Tests: not run (Linux)
647 B
647 B
Infrastructure Directory
This directory contains declarative infrastructure definitions for Clawdie.
Files
| File | Purpose |
|---|---|
jails.yaml |
Single source of truth for all jail definitions (IPs, packages, services) |
packages/ |
Per-role package lists consumed by the setup provisioner |
Archived
infra/ansible/moved to.archive/infra/ansible/. The TypeScript setup orchestrator (setup/install.ts) is the canonical provisioning path.