domus-terraform: Infrastructure as Code

1. Overview

Infrastructure as Code using Terraform to manage the Domus Digitalis home enterprise. Declarative configuration for reproducible infrastructure deployments.

2. Providers

Provider Version Purpose

hashicorp/vault

~> 4.0

PKI, SSH CA, policies, secrets

dmacvicar/libvirt

~> 0.9

KVM virtual machines

hashicorp/kubernetes

~> 2.25

k3s workloads and config

cloudflare/cloudflare

~> 4.0

DNS, Pages, Access

3. Repository Structure

domus-terraform/
├── providers.tf           # Provider configurations
├── backend.tf             # State backend (local)
├── environments/
│   └── prod/
│       ├── kvm/           # VM definitions
│       └── vault/         # Vault config data sources
└── modules/
    ├── k3s-node/          # k3s node module (planned)
    └── vault-node/        # Vault node module (planned)

4. Current Scope

Resource Status Notes

Cloudflare DNS

Active

Zone data sources working

Vault PKI data

Active

Read existing config

KVM VMs

Planned

k3s-master-02, k3s-master-03

k3s workloads

Planned

After HA complete

5. Quick Start

# Load credentials
eval $(dsource d000 dev/app)

# Initialize
cd ~/atelier/_projects/personal/domus-terraform
terraform init

# Plan
terraform plan

# Apply (careful!)
terraform apply