Nereus/terraform/infra
2026-08-28 00:37:52 +02:00
..
.gitkeep chore: scaffold repository layout 2026-08-20 20:09:24 +02:00
.terraform.lock.hcl feat(infra): make clean deployments reproducible 2026-08-28 00:37:52 +02:00
cloud-init.yaml.tftpl feat(infra): make clean deployments reproducible 2026-08-28 00:37:52 +02:00
inventory.yml.tftpl feat(infra): make clean deployments reproducible 2026-08-28 00:37:52 +02:00
main.tf feat(infra): make clean deployments reproducible 2026-08-28 00:37:52 +02:00
outputs.tf feat(infra): make clean deployments reproducible 2026-08-28 00:37:52 +02:00
README.md feat(infra): make clean deployments reproducible 2026-08-28 00:37:52 +02:00
terraform.tfvars.example feat(infra): make clean deployments reproducible 2026-08-28 00:37:52 +02:00
variables.tf feat(infra): make clean deployments reproducible 2026-08-28 00:37:52 +02:00
versions.tf feat(infra): make clean deployments reproducible 2026-08-28 00:37:52 +02:00

Libvirt infrastructure

This stack creates a dedicated NAT network and two Fedora 44 x86_64 machines. It stops at the machine boundary. Ansible remains responsible for Fedora and k3s configuration.

Keep real values in an untracked terraform.tfvars file:

cp terraform.tfvars.example terraform.tfvars
terraform init
terraform apply
K3S_TOKEN="$(openssl rand -hex 32)" \
  ../../scripts/provision/bootstrap.sh inventory.yml

The generated inventory.yml, Terraform state, and variable file are ignored. The SSH public key is safe to place in Terraform input; the matching private key is referenced by absolute path and is never read into Terraform state.