Hallo zusammen,
ich möchte euch ein kleines Open-Source-Projekt vorstellen, das wir bei virtbase entwickelt haben: proxbase. Das ist ein CLI-Tool, das auf dem eigenen Rechner vollständige Proxmox-VE-Cluster zum Testen aufsetzt.
Warum wir das gebaut haben
Wir bauen gerade unsere Infrastruktur rund um mehrere PVE-Nodes neu auf: Härtung per Ansible, VMs per OpenTofu, Ceph, HA. Jede Änderung daran wollten wir vorher gegen ein echtes Proxmox testen, nicht gegen den Produktivcluster. Ein Testcluster aus Blech ist teuer, und von Hand gebaute Lab-VMs sind langsam und driften auseinander. Unser Vorgänger-Ansatz mit PVE in privilegierten Docker-Containern war schnell, hat sich aber eben nicht wie ein echter Node verhalten. Also haben wir proxbase gebaut.
Wie es funktioniert
- Jeder Node ist eine echte QEMU/KVM-VM (Nested Virtualization), kein Container.
- Installiert wird mit dem offiziellen Proxmox-ISO über den Auto-Installer, also ein Standard-PVE 9.x.
- Den Cluster bildet proxbase anschließend selbst. Auf Wunsch kommt ZFS oder Ceph dazu.
- Root-Rechte sind nicht nötig, das Netzwerk läuft standardmäßig im Userspace. Für Images gibt es einen Cache, damit wiederholte Creates schnell gehen.
- Mehrere Netze, VLANs, MTU, Snapshots sowie Nodes hinzufügen und entfernen sind möglich.
- Ausgaben gibt es auf Wunsch als JSON. `proxbase env` liefert Endpoint und API-Token, z. B. direkt für Terraform/OpenTofu oder Ansible.
Bei uns steht ein quoraten 3-Node-Cluster mit ZFS nach rund 3 Minuten, mit Ceph (HEALTH_OK) nach knapp 5 Minuten.
So sieht das aus
Danach ist die Web-UI lokal erreichbar, und
Wofür man es nutzen kann
- Ansible-Rollen, OpenTofu/Terraform-Module oder eigene Skripte gegen ein echtes PVE testen, bevor sie auf Produktion laufen
- Upgrades, Ceph-Setups, HA-Szenarien oder Live-Migration gefahrlos durchspielen
- Kaputtmachen und neu aufsetzen, ohne dass es wehtut
- E2E-Tests in CI (GitHub Action) und die Steuerung durch AI-Agents über einen lokalen MCP-Server
Stand und Voraussetzungen
Aktuell ist Version 0.2.0 verfügbar. Linux wird voll unterstützt, macOS ist experimentell. Nested Virtualization muss auf dem Host aktiv sein. Installation per Binary, Homebrew-Tap oder Container-Image, Details im README.
- GitHub: https://github.com/virtbase/proxbase
- Lizenz: Apache-2.0
Das Projekt ist noch jung. Feedback, Bug-Reports und Ideen sind sehr willkommen, gern hier im Thread oder als Issue auf GitHub.
Viele Grüße
Janic
ich möchte euch ein kleines Open-Source-Projekt vorstellen, das wir bei virtbase entwickelt haben: proxbase. Das ist ein CLI-Tool, das auf dem eigenen Rechner vollständige Proxmox-VE-Cluster zum Testen aufsetzt.
Warum wir das gebaut haben
Wir bauen gerade unsere Infrastruktur rund um mehrere PVE-Nodes neu auf: Härtung per Ansible, VMs per OpenTofu, Ceph, HA. Jede Änderung daran wollten wir vorher gegen ein echtes Proxmox testen, nicht gegen den Produktivcluster. Ein Testcluster aus Blech ist teuer, und von Hand gebaute Lab-VMs sind langsam und driften auseinander. Unser Vorgänger-Ansatz mit PVE in privilegierten Docker-Containern war schnell, hat sich aber eben nicht wie ein echter Node verhalten. Also haben wir proxbase gebaut.
Wie es funktioniert
- Jeder Node ist eine echte QEMU/KVM-VM (Nested Virtualization), kein Container.
- Installiert wird mit dem offiziellen Proxmox-ISO über den Auto-Installer, also ein Standard-PVE 9.x.
- Den Cluster bildet proxbase anschließend selbst. Auf Wunsch kommt ZFS oder Ceph dazu.
- Root-Rechte sind nicht nötig, das Netzwerk läuft standardmäßig im Userspace. Für Images gibt es einen Cache, damit wiederholte Creates schnell gehen.
- Mehrere Netze, VLANs, MTU, Snapshots sowie Nodes hinzufügen und entfernen sind möglich.
- Ausgaben gibt es auf Wunsch als JSON. `proxbase env` liefert Endpoint und API-Token, z. B. direkt für Terraform/OpenTofu oder Ansible.
Bei uns steht ein quoraten 3-Node-Cluster mit ZFS nach rund 3 Minuten, mit Ceph (HEALTH_OK) nach knapp 5 Minuten.
So sieht das aus
Bash:
proxbase create lab --nodes 3 # 3-Node-Cluster "lab" anlegen
…
created in 2m56s
Cluster lab: ready, quorate: yes, switch: running
NODE VM CLUSTER IP WEB UI SSH
pve1 running online 10.10.10.11 https://127.0.0.1:18001 127.0.0.1:18101
pve2 running online 10.10.10.12 https://127.0.0.1:18002 127.0.0.1:18102
pve3 running online 10.10.10.13 https://127.0.0.1:18003 127.0.0.1:18103
proxbase destroy lab # und wieder wegräumen
Danach ist die Web-UI lokal erreichbar, und
proxbase env gibt die Zugangsdaten für API und Tools aus. Im Repo unter examples/ liegen fertige Beispiele, u. a. für OpenTofu/Terraform, Ansible, Docker Compose und GitHub Actions.Wofür man es nutzen kann
- Ansible-Rollen, OpenTofu/Terraform-Module oder eigene Skripte gegen ein echtes PVE testen, bevor sie auf Produktion laufen
- Upgrades, Ceph-Setups, HA-Szenarien oder Live-Migration gefahrlos durchspielen
- Kaputtmachen und neu aufsetzen, ohne dass es wehtut
- E2E-Tests in CI (GitHub Action) und die Steuerung durch AI-Agents über einen lokalen MCP-Server
Stand und Voraussetzungen
Aktuell ist Version 0.2.0 verfügbar. Linux wird voll unterstützt, macOS ist experimentell. Nested Virtualization muss auf dem Host aktiv sein. Installation per Binary, Homebrew-Tap oder Container-Image, Details im README.
- GitHub: https://github.com/virtbase/proxbase
- Lizenz: Apache-2.0
Das Projekt ist noch jung. Feedback, Bug-Reports und Ideen sind sehr willkommen, gern hier im Thread oder als Issue auf GitHub.
Viele Grüße
Janic
Last edited: