Packer

VM Template dla ProxMox

Packer to narzędzie do automatycznego budowania, instalacji systemu operacyjnego, konfiguracji jego według zdefiniowanych reguł i zapisania wyniku jako gotowy obraz do użycia.

Zamiast instalować system ręcznie, Packer wykonuje cały proces automatycznie: uruchamia maszynę, instaluje system operacyjny, konfiguruje go według zdefiniowanych reguł i zapisuje wynik jako gotowy obraz. Dzięki temu każdy wygenerowany template jest identyczny i możliwy do odtworzenia w dowolnym momencie.


Projekty Packer

projekt version description
alma Template Alma dla Proxmox generowany przez Packer
alpine Template Alpine dla Proxmox generowany przez Packer
ubuntu Template Ubuntu dla Proxmox generowany przez Packer

Instalacja szablonów

Konfiguracja w Vault

pl.rachuna-net/infrastructure/packer

{
  "SSH_PASSWORD": "techuser",
  "SSH_PUBLIC_KEY": "ssh-...",
  "SSH_USERNAME": "techuser"
}

pl.rachuna-net/auth/proxmox

{
  "DEFAULT_NODE": "pve-s1",
  "PASSWORD": "...",
  "USERNAME": "root@pam"
}

Skrypt instalacyjny

#!/usr/bin/env bash
### VAULT CONNECTION ###
export VAULT_TOKEN="hvs....."
export VAULT_ADDR="https://vault.rachuna-net.pl"

direnv allow
packer init .

for file in $(find pkrvars -type f -name "*.hcl"); do
    # Create a new vm template
    packer fmt -var-file=$file .
    packer validate -var-file=$file .
    packer build -var-file=$file .
done
Last modified December 19, 2025: docs: Update (72bba37)