# What does this stuff do? Packer is a tool that can create Virtual Machine templates from code. This repository hosts the code for a customized templates used in Siempie's home environment using the Proxmox Hypervisor. # Template Inside the template packer does: - Install updates - Install tools; curl, qemu-guest agent, sudo and wget. - Install Ansible user with private key - Clean guest (machine-id, logs, package cache, etc) Other information to know: - Template hostname: `localhost` - packer username: `packer` - packer password: `packer` More info: https://developer.hashicorp.com/packer/docs/intro | OS | VM Name | VM ID | Script | |----|---------|-------|--------| | Ubuntu 24 | ubuntu.template.siempie.internal | 999 | scripts/ubuntu24.sh | # Install packer Install packer on your system: https://developer.hashicorp.com/packer/tutorials/docker-get-started/get-started-install-cli # Variables Copy the `variables.pkrvars.hcl.example` file to `variables.pkrvars.hcl` and change the variables. # Initialize the project and install the proxmox provider This will initialize packer and install the required proxmox plugin. ``` packer init -var-file variables.pkrvars.hcl ubuntu24/packer.pkr.hcl ``` # Customization Since packer allows either an inline or a script execution there is a script per template. See the table above for the specific location per template. # Usage Ubuntu 24 Template: ``` packer build -force -var-file variables.pkrvars.hcl ubuntu24/packer.pkr.hcl ``` Note: the `-force` flag removes an already existing VM or Template with the same ID (999).