Automated Proxmox VE 9.1 Deployment via MAAS

luis15pt

New Member
Oct 21, 2024
3
0
1
Hey folks!
I built an automated Proxmox VE 9.1 deployment system for MAAS that might interest anyone managing multiple Proxmox hosts. Click a button in MAAS, wait 10-15 minutes, and you've got a production-ready Proxmox server with zero manual configuration.

What It Does
- Deploys Proxmox VE 9.1(Debian 13 Trixie base) via MAAS
- Automatic network conversion: MAAS netplan → Proxmox `/etc/network/interfaces`
- Full network support: Bonds (LACP, active-backup, etc.), VLANs, static routes, bridges
- Auto-creates vmbr0 bridge for VM networking
- Cloud-init integrated for MAAS provisioning
- SSH key-only auth (no default passwords)

The Network Magic
Here's the cool part, you configure your network in MAAS (bonds, VLANs, whatever), and a custom curtin-hooks script automatically translates it to Proxmox's format during deployment. Everything gets bridged via vmbr0, so your VMs can hit the network immediately.

Instructions:
Bash:
git clone https://github.com/luis15pt/MAAS-Proxmox.git
cd MAAS-Proxmox
export KVM_GID=$(getent group kvm | cut -d: -f3)
sudo -E docker compose up
Build time: ~45-55 minutes
Image size: ~2.4GB (Requires 10GB to build)

Upload to MAAS:
Bash:
scp debian/proxmox-ve-13-cloudimg.tar.gz ubuntu@<MAAS_IP>:/home/ubuntu/
ssh ubuntu@<MAAS_IP>
sudo maas admin boot-resources create \
  name='custom/proxmox-ve-9.1' \
  architecture='amd64/generic' \
  filetype='tgz' \
  content@=/home/ubuntu/proxmox-ve-13-cloudimg.tar.gz
Deploy time: 10-15 minutes

Deploy from MAAS UI, then SSH (via your SSH key in MAAS) in to set root password, as there is no default password to login to the webUI
Bash:
ssh debian@<deployed-ip>
echo "root:yourpassword" | sudo chpasswd
Then access web UI at the usual port 8006

What's Included
- Proxmox VE 9.1
- Proxmox kernel 6.17.x
- Cloud-init configured for Proxmox compatibility
- ifupdown2 network management
- All Proxmox services auto-start

Requirements
- MAAS 3.x or later
- UEFI boot (Secure Boot disabled)
- Ubuntu 22.04+ for building
- ~10GB disk space

More Info:
GitHub: Github Full documentation, troubleshooting, and network configuration examples in the repo. Contributions welcome!
Detailed blog post: Blog

TL;DR: Automated Proxmox deployment via MAAS with automatic network translation, vmbr0 bridge creation, and full bond/VLAN support. Open source, AGPL-3.0 licensed.