Skip to content

JacarandaThe homelab, as code. No click-ops.

A Proxmox cluster, eight VLANs, a self-hosted DNS/CA/secrets foundation, and the platform and apps on top — everything declared in git and applied by OpenTofu and Ansible.

Jacaranda

The mental model in one paragraph

Network intent (every VLAN, IP, hostname, and DNS record) lives in a YAML registry (jacaranda-inventory). Reality (Proxmox containers, Pi-hole records, certificates) is made to match intent by applier layers — never the other way around. A foundation tier (DNS, secrets, SSH CA) must exist before anything else and depends on nothing above it. Everything else lives in a live-infra monorepo split into tiers (platform → hosted-apps → physical), consuming shared OpenTofu modules pinned by version. If observed reality disagrees with the registry, that is drift to be resolved deliberately — not silently papered over.