Proxmox VM Deployment
Live site

I developed proxmox-terraform—an automation framework for provisioning and managing multiple Proxmox virtual machines through a single YAML configuration file. This project eliminates repetitive manual VM deployment and provides infrastructure as code versioning. My work focused on CLI orchestration, YAML-driven architecture, Cloud-Init templating, and Terraform state management, enabling seamless scaling of VMs across Proxmox clusters with minimal operational overhead.
Tech Stack & Tools
- IaC & Orchestration: Terraform (v1.3+), Telmate/Proxmox provider v2.9
- Configuration Management: Cloud-Init, YAML parsing (Python 3 + PyYAML)
- CLI Automation: Bash scripts (deploy.sh, validate.sh), SCP for snippet deployment
- Infrastructure: Proxmox VE 7.x/8.x, Ubuntu 22.04 LTS cloud images
- VM Customization: Per-VM user-data snippets, network configuration (static IP / DHCP), resource allocation (CPU, RAM, disk)
- State Management: Terraform state tracking, deterministic VM ID generation (MD5-derived)
- Security: API token scoping, environment variable-based credential management, TLS verification
Key Accomplishments:
- Automated 50+ VM deployments from single YAML config
- Implemented for_each pattern for managing identical resources at scale
- Reduced VM provisioning time from 30+ min (manual) to <5 min (automated)
- Built production-ready deployment CLI with validation, dry-run, and destroy safeguards