Table of Contents
This project allows you to create fresh VMs instances on Proxmox. Tools like Cloud-Init, HashiCorp Vault, phpIPAM and PowerDNS are integrated to automate and simplify VMs configurations. Features are:
- Dynamic password generation for root user with Vault.
- Get the first IP addr of subnet of your choise with phpIPAM
- Configurate VM network, hostname and root password at start.
- Create dns record with your VM name and IP addr.
You need to have an instance of :
- Proxmox
- HashiCorp Vault
- phpIPAM
- PowerDNS
After that, you need to have a cloud-init template in Proxmox and terraform binary on a PC/server.
- Clone the repo :
git clone git@github.com:aamoyel/terraforge.git && cd terraforge
- Configure your APIs credentials and URLs in terraform.tfvars.json.
- Init your terraform directory and install deps.
terraform init
- Setup your VMs in vm-instances.json, exemple here :
{ "my-vm-name": { "cores": "2", "sockets": "1", "memory": "2048", "network": "vmbr1", "subnet": "PRD", "domain": "amoyel.loc" } }
- Create the instance :
terraform apply
Distributed under the Apache-2.0 license. See LICENSE.txt
for more information.
Alan Amoyel - @AlanAmoyel
Project Link: https://github.com/aamoyel/terraforge