obmp-portability-test/terraform/terraform.tfvars.example
sam d30ec2074a initial commit: two-VM Proxmox portability test for obmp-docker
Terraform (bpg/proxmox) provisions two Ubuntu 24.04 cloud-init VMs on a
Proxmox host, one running obmp-docker's `deploy.sh --scope full-stack`
and the other running GoBGP as a BMP-source stand-in. `scripts/run-test.sh`
runs the six assertions from docs/design.md (containers healthy, BMP
peer up, ip_rib/bgp_peers non-zero, Grafana healthcheck).

Layout:
  terraform/            provider + VM + cloud-init snippet resources
  terraform/cloud-init/ user-data templates (store + bmpgen)
  scripts/              run-test.sh, teardown.sh
  docs/design.md        topology, assertion set, and rationale

Cred handling:
  terraform.tfvars is gitignored; endpoint + api_token can also come
  from PROXMOX_VE_ENDPOINT / PROXMOX_VE_API_TOKEN env vars.

Not validated locally: `terraform init && terraform validate` -- the
terraform binary is not on the authoring host. YAML + shell + HCL brace
balance verified.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-20 18:19:45 -07:00

54 lines
2.4 KiB
Plaintext

############################################################################
# Copy this file to terraform.tfvars and fill in the marked values.
# terraform.tfvars is gitignored.
#
# You can also set the two most sensitive values via environment variables
# (recommended for shared workstations):
# export TF_VAR_pve_endpoint="https://pve.lab.example:8006/"
# export TF_VAR_pve_api_token="USER@REALM!TOKENID=UUID"
# When set in env, leave the tfvars values blank or delete those lines.
############################################################################
# --- Proxmox connection --------------------------------------------------
pve_endpoint = "https://<pve-host-or-fqdn>:8006/"
pve_api_token = "<user>@<realm>!<tokenid>=<uuid>"
pve_insecure = true # lab PVE with self-signed cert
pve_ssh_username = "root"
pve_node = "<pve-node-name>" # as shown in the PVE web UI cluster tree
# --- Storage -------------------------------------------------------------
vm_storage_pool = "<local-lvm-or-similar>" # holds VM disks
image_storage = "local" # holds the Ubuntu cloud image
snippet_storage = "local" # holds cloud-init snippet YAML
# --- Network -------------------------------------------------------------
vm_bridge = "vmbr0"
vm_vlan_tag = 0 # 0 = no VLAN
# Static IPs recommended for the test -- run-test.sh needs to SSH to a
# known address, and the collector needs a stable ROUTER_FACING_IP. Set
# both to empty strings ("") to fall back to DHCP.
store_vm_ip_cidr = "10.40.40.220/24"
bmpgen_vm_ip_cidr = "10.40.40.221/24"
vm_gateway = "10.40.40.1"
vm_dns_servers = ["1.1.1.1", "8.8.8.8"]
# --- SSH access ----------------------------------------------------------
ssh_public_key_path = "~/.ssh/id_rsa.pub"
ssh_username = "ubuntu"
# --- obmp-docker under test ---------------------------------------------
# Change obmp_repo_ref to whichever branch/tag/commit you want to test.
# Pin to a specific commit for reproducible test runs.
obmp_repo_url = "http://10.40.40.143:3000/sam/obmp-docker.git"
obmp_repo_ref = "deploy-refinement"
router_facing_port = 1790
# --- Optional overrides -------------------------------------------------
# vm_cpu_cores = 2
# vm_memory_mb = 4096
# vm_disk_gb = 32
# store_vm_id = 9001
# bmpgen_vm_id = 9002
# test_local_asn = 65099