Archived
Consolidates nixos, docker, raspi, and debian-configuration into a single infrastructure-as-code repo. Includes: - ansible/: full inventory + proxmox-hardening, freeipa, and raspberrypi roles (converted from debian-configuration bash scripts) - terraform/: Proxmox VMs, Dynu DNS, Pi-hole (decommissioned stub), Docker container catalog — migrated from docker/infrastructure/terraform/ - stacks/docker/, stacks/raspi/, nixos/: placeholder READMEs pending git subtree population (see implementation plan) - docs/: internal MkDocs site with architecture, network topology, runbooks, and drift-detection guide; external sanitized site - scripts/: drift-detect.sh, docs-build.sh, install-hooks.sh, check-secrets.sh - CI: secret-scan (push/PR), drift-detect (daily), docs-build (on change) - Pi-hole removed throughout — DNS is FreeIPA, DHCP is router See docs/internal/implementation-plan.md for the phased rollout after pushing to Gitea. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UvNjoxTWEDkhXsd1Dq2ETP
80 lines
2.1 KiB
Terraform
80 lines
2.1 KiB
Terraform
locals {
|
|
physical_hosts = {
|
|
pve = {
|
|
hostname = "pve"
|
|
type = "physical"
|
|
role = "proxmox"
|
|
management_ip = "pve.sweet.home"
|
|
os_family = "debian"
|
|
hypervisor = "proxmox"
|
|
location = "home"
|
|
notes = "Primary Proxmox VE host"
|
|
}
|
|
raspberrypi = {
|
|
hostname = "raspberrypi"
|
|
type = "physical"
|
|
role = "edge"
|
|
management_ip = "raspberrypi.tail13f623.ts.net"
|
|
os_family = "debian"
|
|
hypervisor = null
|
|
location = "riverglades"
|
|
notes = "Raspberry Pi host"
|
|
}
|
|
}
|
|
|
|
# Virtual host inventory for documentation output. This is intentionally
|
|
# concise and shaped for docs tooling (not a full provider object dump).
|
|
virtual_hosts = {
|
|
docker = {
|
|
name = "docker"
|
|
type = "virtual"
|
|
role = "docker-host"
|
|
proxmox_node = "pve"
|
|
vm_id = 103
|
|
management_ip = ""
|
|
os_family = "linux"
|
|
notes = "Primary Docker VM"
|
|
}
|
|
server_nixos = {
|
|
name = "server-nixos"
|
|
type = "virtual"
|
|
role = "nixos-server"
|
|
proxmox_node = "pve"
|
|
vm_id = 104
|
|
management_ip = ""
|
|
os_family = "nixos"
|
|
notes = "General-purpose NixOS VM"
|
|
}
|
|
nix_cache = {
|
|
name = "nix-cache"
|
|
type = "virtual"
|
|
role = "cache"
|
|
proxmox_node = "pve"
|
|
vm_id = 105
|
|
management_ip = ""
|
|
os_family = "linux"
|
|
notes = "Nix binary cache VM"
|
|
}
|
|
pbs = {
|
|
name = "pbs"
|
|
type = "virtual"
|
|
role = "backup"
|
|
proxmox_node = "pve"
|
|
vm_id = 106
|
|
management_ip = ""
|
|
os_family = "linux"
|
|
notes = "Proxmox Backup Server VM"
|
|
}
|
|
pihole = {
|
|
name = "pihole"
|
|
type = "virtual"
|
|
role = "dns"
|
|
proxmox_node = "pve"
|
|
vm_id = 108
|
|
management_ip = ""
|
|
os_family = "linux"
|
|
notes = "DNS filtering VM"
|
|
}
|
|
}
|
|
}
|