Files
OpenTofuPlayground/proxmox/apps/example-developer.tfvars
Lutz Finsterle b2a3e00452
Some checks failed
Deploy / Update Proxmox Dev VMs / Detect changed Proxmox tfvars (push) Successful in 26s
Test / Static Analysis (push) Failing after 25s
Test / Unit Tests — Docker Stack (push) Has been skipped
Test / Unit Tests — K8s Stack (push) Has been skipped
Deploy / Update Proxmox Dev VMs / Provision ${{ matrix.tfvars }} (push) Failing after 32s
Deploy / Update Proxmox Dev VMs / Destroy ${{ matrix.tfvars }} (push) Has been skipped
Test / Integration Test — K8s (k3d) (push) Has been skipped
New Function: DEV VM
2026-03-20 10:06:05 +01:00

50 lines
2.7 KiB
HCL

# ─── Example developer VM configuration ──────────────────────────────────────
#
# File naming convention: proxmox/apps/<devname>.tfvars
# The filename becomes the Tofu workspace name, the VM hostname, and the
# key name used for gopass secrets (infra/ssh-keys/<devname>).
#
# Required Gitea secrets (set once in the repository settings):
# PROXMOX_ENDPOINT — https://proxmox.example.com:8006/
# PROXMOX_API_TOKEN — user@pam!tokenid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
# PROXMOX_TLS_INSECURE — true (if using a self-signed cert), otherwise omit
#
# Chained deploy convention:
# vm_role = "docker" → also applies apps/<devname>-qa.tfvars (if present)
# vm_role = "k3s" → also applies k8s/apps/<devname>-qa.tfvars (if present)
# ─────────────────────────────────────────────────────────────────────────────
# ─── Proxmox placement ───────────────────────────────────────────────────────
proxmox_node = "pve" # your Proxmox node name
template_vm_id = 9000 # VM ID of your cloud-init template (must have qemu-guest-agent)
storage_pool = "local-lvm"
# snippets_datastore = "local" # default; must have Snippets content type enabled
# ─── VM sizing ───────────────────────────────────────────────────────────────
cores = 2
memory_mb = 2048
disk_size_gb = 30
# ─── Networking ──────────────────────────────────────────────────────────────
bridge = "vmbr0"
# vlan_tag = 100 # uncomment to place the VM in a specific VLAN
# ─── Role & access ───────────────────────────────────────────────────────────
# "docker" → installs Docker CE; pairs with apps/<devname>-qa.tfvars
# "k3s" → installs k3s; pairs with k8s/apps/<devname>-qa.tfvars
vm_role = "docker"
cloud_init_user = "developer"
# Leave empty to auto-generate an ED25519 key pair.
# The private key is stored in Tofu state and automatically saved to gopass
# as infra/ssh-keys/<devname> by the CI pipeline.
# Or paste the developer's SSH public key here:
ssh_public_key = ""