This is a collection of scripts and configuration files to build a Proxmox VM image using Packer, deploy it to Proxmox with Terraform and configure it with Ansible.
HCL
Proxmox VM Image Builder, Deployer and Configurator
This is a collection of scripts and configuration files to build a Proxmox VM image using Packer, deploy it to Proxmox with Terraform and configure it with Ansible.
Note: This is a work in progress and is not yet ready for use.
Usage
Follow the output for the help command to get started.
./build.sh help
Support
Generating an SSH key pair
The SSH key pair is used to connect to the VMs that are deployed to Proxmox. The public key is added to the VM templates and the private key is used to connect to the VMs.
./build.sh ssh:generate
Packer
OS
Version
Status
Command
Fedora CoreOS
39
Supported
./build.sh images:coreos:build
Terraform
Module
Notes
tfmodules/proxmox-vm
This is a terraform module to use in order to deploy a VM from a template generated by the packer builder(s).
Ansible Roles
Role
Notes
ansible/roles/post_install
This is a post-install role for the various configurations needed once packer has built a VM and has it running.
ansible/roles/change_ip
This is a role to change the IP address of a VM.
Ansible Playbooks
Playbook
Notes
ansible/post_install.yml
This is a post-install playbook for the various configurations needed once packer has built a VM and has it running.
ansible/change-ip.yml
This is a playbook to change the IP address of a VM.
Examples
Example
Notes
examples/coreos_vm
This is an example terraform module that uses the tfmodules/proxmox-vm module to deploy a CoreOS VM to Proxmox using one of the generated CoreOS templates.