Terraform now provisions router_count IaaS Router VMs (default 2, no longer hardcoded to router1/router2), each with 1 public + private_interface_count isolated private interfaces (no shared LAN or VRRP between routers). Both counts scale via Terraform variables and TF_VAR_* environment variables. The post-install script became a Terraform template that matches interfaces to their expected subnet by CIDR instead of a fragile "first private IP" heuristic. Added an offline pytest suite (terraform/tests/) that checks the delivery's internal consistency and runs real terraform init/validate against the actual vkcs provider schema via a project-local filesystem mirror (provider binary fetched from its GitHub releases, bypassing the region-blocked HashiCorp registry) - no cloud credentials or API calls involved. terraform/versions.tf now declares the previously-missing required_providers block. Ansible (inventory.ini, base/frr_router/keepalived roles) still assumes the old 2-router/2-NIC/VRRP topology and is not yet adapted - documented as a follow-up, not addressed here. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011hXR2ftXZZhJ4Y3XuSoR8r
20 lines
367 B
Plaintext
20 lines
367 B
Plaintext
# Local Python venv used for running terraform/tests (see terraform/tests/)
|
|
venv/
|
|
|
|
# Python
|
|
__pycache__/
|
|
*.pyc
|
|
.pytest_cache/
|
|
|
|
# Terraform local state/plugin cache (never committed)
|
|
.terraform/
|
|
.terraform.lock.hcl
|
|
*.tfstate
|
|
*.tfstate.*
|
|
crash.log
|
|
crash.*.log
|
|
|
|
# Claude Code session-local runtime state (not project content)
|
|
.claude/scheduled_tasks.lock
|
|
.claude/*.lock
|