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>
16 lines
682 B
HCL
16 lines
682 B
HCL
# One-time Ubuntu cloud image download. bpg/proxmox handles the "did I
|
|
# already download this?" check by URL + storage; safe to re-run.
|
|
resource "proxmox_virtual_environment_download_file" "ubuntu_noble" {
|
|
content_type = "iso"
|
|
datastore_id = var.image_storage
|
|
node_name = var.pve_node
|
|
|
|
url = var.ubuntu_image_url
|
|
file_name = "noble-server-cloudimg-amd64.img"
|
|
checksum = var.ubuntu_image_checksum != "" ? var.ubuntu_image_checksum : null
|
|
checksum_algorithm = var.ubuntu_image_checksum != "" ? "sha256" : null
|
|
overwrite = false
|
|
overwrite_unmanaged = false
|
|
upload_timeout = 900
|
|
}
|