OpenTofu libvirt module (k3s-dev NAT 10.73.0.0/24, 3x 6GiB/4vCPU VMs, 20G OS +
40G thin data, host-passthrough), cloud-init baseline (k3s/Cilium/Longhorn
prereqs, static net), Ansible k3s-HA + Cilium (kube-proxy replacement, Gateway
API, Hubble; flannel/kube-proxy/Traefik disabled). PM fix: escape ${...} in a
cloud-init template comment (tofu templatefile parse). tofu fmt/init/validate =
Success; ansible --syntax-check + yamllint pass. NOTHING executed (no apply).
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
38 lines
1.3 KiB
Plaintext
38 lines
1.3 KiB
Plaintext
# terraform.tfvars.example — copy to terraform.tfvars and edit.
|
|
#
|
|
# NOTE on secrets/gitignore: real *.tfvars are gitignored (root .gitignore) so
|
|
# local values never land in git. This *.example file is safe to commit — it
|
|
# carries NO private material (SSH *public* key only). Never put a private key here.
|
|
#
|
|
# Defaults for everything below already encode the LOCKED PHASE1-SCOPE decisions;
|
|
# the ONLY required value is ssh_authorized_key.
|
|
|
|
# REQUIRED — your SSH *public* key (contents of e.g. ~/.ssh/id_ed25519.pub).
|
|
ssh_authorized_key = "ssh-ed25519 AAAA...replace-with-your-public-key... user@host"
|
|
|
|
# --- optional overrides (defaults shown) -----------------------------------
|
|
|
|
# libvirt_uri = "qemu:///system"
|
|
# pool_name = "default"
|
|
|
|
# node_count = 3
|
|
# node_name_prefix = "k3s-dev-"
|
|
# node_ips = ["10.73.0.11", "10.73.0.12", "10.73.0.13"]
|
|
|
|
# vcpu = 4
|
|
# memory_mib = 6144
|
|
# os_disk_gib = 20
|
|
# data_disk_gib = 40
|
|
# cpu_mode = "host-passthrough"
|
|
|
|
# network_name = "k3s-dev"
|
|
# network_cidr = "10.73.0.0/24"
|
|
# network_gateway = "10.73.0.1"
|
|
# network_prefix = 24
|
|
|
|
# login_user = "k3s"
|
|
# node_domain = "k3s.dev.local"
|
|
|
|
# Point at a locally pre-downloaded image to avoid re-fetching on each apply:
|
|
# image_source = "/var/lib/libvirt/images/debian-12-genericcloud-amd64.qcow2"
|