Skip to content
Drie klantsites die uitkomen bij één Caddy, die elke site zijn eigen token geeft, voor één Proxmox Datacenter Manager

Eén PXE-omgeving voor elke klant: unattended installaties met Proxmox Datacenter Manager

Proxmox Datacenter Manager 1.1 kan antwoordbestanden serveren aan de geautomatiseerde installer van Proxmox, en dat maakt het een logische installatieserver voor een MSP die voor veel klantsites zorgt. De use case is een klant die elke site wilde laten bouwen met zijn eigen naamgeving, root-wachtwoord en SSH-keys, door een server in het juiste VLAN te prikken en op te starten, zonder serienummers te verzamelen en zonder antwoordbestand per machine; dit stuk behandelt die helft van booten en installeren, en laat het toetreden tot het cluster buiten beschouwing. Het kan een antwoord niet matchen op de site, en het kan een node geen first-boot-script meegeven, en beide worden aangetoond uit de eigen broncode van PDM. Dit stuk bouwt toch één PXE-omgeving voor elke site: één boot-image met een catch-token dat geen geheim is, DNS-TXT-discovery zodat het image geen URL bevat, en een Caddy-proxy die het catch-token op basis van het bronsubnet vervangt door het eigen bearer-token van de site. Het behandelt hoe PDM een antwoord kiest, prepare-iso voor iPXE, de DNS-records, dnsmasq en de iPXE-lus, een geharde Caddy die de hele PDM-UI op 443 serveert terwijl nftables 8443 dichthoudt, loggen welk token gebruikt werd met alleen de naam, de webhook na de installatie, Proxmox Backup Server toevoegen, en de afwegingen die overblijven.

7 november 2026 · 36 min · 8104 woorden · Damien Dye
step-ca die vanaf zijn intermediate clientcertificaten aan telefoons uitgeeft, met een CRL die een kwijtgeraakte telefoon als ingetrokken markeert

Clientcertificaten van step-ca, en de standaarden die iedereen buitensluiten

step-ca 0.30.2 gebruiken om clientcertificaten voor mutual TLS uit te geven, van begin tot eind getest met nginx 1.30.5 en Caddy 2.11.7. Waarom telefoons het lastige geval zijn, de certificaatgrens van 24 uur verhogen in ca.json, de CRL aanzetten, waarom die faalt met “different CRL scope” tot idpURL en een sjabloon een overeenkomend distributiepunt toevoegen, de root-CRL die nginx nodig heeft voor de hele keten, CRL’s publiceren over gewone HTTP op IPv4 en IPv6, de verversingstaak die voorkomt dat een verlopen CRL iedereen buitensluit, en het certificaat van een telefoon uitgeven, verpakken, installeren en intrekken.

9 oktober 2026 · 11 min · 2483 woorden · Damien Dye
Een telefoon met een certificaat van je eigen CA komt thuis langs nginx of Caddy en bereikt Home Assistant, terwijl een scanner zonder certificaat in de handshake wordt geweigerd

De Home Assistant-app vergrendeld met een certificaat, met nginx of Caddy en zonder Cloudflare

De Home Assistant-app vergrendelen met een clientcertificaat via nginx of Caddy thuis, met step-ca als certificaatautoriteit in plaats van Cloudflare. Wat er verandert als Cloudflare uit het pad verdwijnt, een nginx-config en een Caddy-config, elk getest zonder certificaat, met een goed certificaat, met een ingetrokken certificaat en met een WebSocket-upgrade over IPv4 en IPv6, waarom nginx een CRL kan controleren en Caddy alleen een toegestane lijst kan bijhouden, de instellingen voor vertrouwde proxy’s in Home Assistant, wat er op de telefoon geïnstalleerd moet worden, en waar het tekortschiet.

9 oktober 2026 · 10 min · 2167 woorden · Damien Dye
step-ca in een container die certificaten uitgeeft vanaf zijn intermediate, met een CRL die een kwijtgeraakte telefoon als ingetrokken markeert

Je eigen certificaatautoriteit: step-ca in een container

Smallsteps step-ca 0.30.2 in een Podman- of Docker-container draaien als certificaatautoriteit voor alles in huis, en alles getest. Waarom een eigen CA beter is dan zelfondertekende certificaten en publieke certificaten voor interne namen, hem starten met ACME en SSH aangezet, de twee wachtwoorden die het image genereert en waar elk heen gaat, de root vertrouwen op elk apparaat, interne HTTPS voor Caddy of al het andere dat ACME spreekt, en step ca renew voor diensten die dat niet doen. Clientcertificaten en SSH hebben elk een eigen bericht.

9 oktober 2026 · 8 min · 1724 woorden · Damien Dye