https://github.com/homestak-dev/iac-driver
Integration test orchestration for Proxmox VE infrastructure-as-code
https://github.com/homestak-dev/iac-driver
homelab infrastructure-as-code integration-testing proxmox
Last synced: 3 months ago
JSON representation
Integration test orchestration for Proxmox VE infrastructure-as-code
- Host: GitHub
- URL: https://github.com/homestak-dev/iac-driver
- Owner: homestak-dev
- License: apache-2.0
- Created: 2026-01-03T06:11:53.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2026-01-16T19:31:28.000Z (3 months ago)
- Last Synced: 2026-01-17T05:31:01.391Z (3 months ago)
- Topics: homelab, infrastructure-as-code, integration-testing, proxmox
- Language: Python
- Size: 329 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# iac-driver
Infrastructure orchestration engine for Proxmox VE.
## Overview
This repo provides scenario-based workflows that coordinate the [homestak-dev](https://github.com/homestak-dev) tool repositories:
| Repo | Purpose |
|------|---------|
| [bootstrap](https://github.com/homestak-dev/bootstrap) | Entry point - curl\|bash setup |
| [site-config](https://github.com/homestak-dev/site-config) | Site-specific secrets and configuration |
| [ansible](https://github.com/homestak-dev/ansible) | Proxmox host configuration, PVE installation |
| [tofu](https://github.com/homestak-dev/tofu) | VM provisioning with OpenTofu |
| [packer](https://github.com/homestak-dev/packer) | Custom Debian cloud images |
## Quick Start
```bash
# Clone iac-driver and site-config
git clone https://github.com/homestak-dev/iac-driver.git
git clone https://github.com/homestak-dev/site-config.git
# Setup secrets
cd site-config
make setup && make decrypt
# Clone sibling tool repos
cd ../iac-driver
./scripts/setup-tools.sh
# List available scenarios
./run.sh --list-scenarios
# Run a scenario
./run.sh --scenario pve-configure --local
```
## CLI Usage
```bash
./run.sh --scenario [--host ] [options]
Options:
--scenario, -S Scenario to run (required)
--host, -H Target PVE host (default: pve)
--skip, -s Skip phase(s) (can be repeated)
--list-scenarios List available scenarios
--list-phases List phases for selected scenario
--verbose, -v Enable debug logging
--local Run locally (for pve-configure)
--remote Remote host IP (for pve-configure)
--vm-ip Target VM IP (for bootstrap-install)
```
**Available scenarios:**
- `pve-configure` - Configure PVE host (pve-setup + user)
- `bootstrap-install` - Test bootstrap on a VM
- `simple-vm-constructor` - Deploy and verify SSH (~30s)
- `simple-vm-destructor` - Destroy test VM (~3s)
- `simple-vm-roundtrip` - Deploy, verify SSH, destroy (~33s)
- `nested-pve-constructor` - Provision inner PVE for integration testing (~10 min)
- `nested-pve-destructor` - Cleanup inner PVE (~30s)
- `nested-pve-roundtrip` - Full nested PVE integration test (~12 min)
## Secrets Management
Credentials are managed in the [site-config](https://github.com/homestak-dev/site-config) repository using SOPS + age.
```bash
cd ../site-config
make setup # Configure git hooks, check dependencies
make decrypt # Decrypt secrets (requires age key)
```
See [site-config README](https://github.com/homestak-dev/site-config#readme) for setup instructions.
## Prerequisites
- [site-config](https://github.com/homestak-dev/site-config) set up and decrypted
- Ansible 2.0+, OpenTofu, Packer
- SSH key at `~/.ssh/id_rsa`
- Proxmox VE host with API access
## Documentation
See [CLAUDE.md](CLAUDE.md) for detailed architecture and scenario documentation.
## License
Apache 2.0 - see [LICENSE](LICENSE)