/proxmox-vm-lifecycle-mgmt

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.

Primary LanguageHCL

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.

Technologies used