Proxmox + OpenTofu
Proxmox beheert virtuele computers. OpenTofu legt vast welke machines en disks er horen te zijn; een plan toont de voorgestelde wijzigingen.
Een persoonlijk engineeringplatform
Zero Foundry is een zelfgehoste omgeving om software en toepassingen met artificiële intelligentie (AI) te bouwen, te testen, uit te rollen en te herstellen.
De kracht zit in de samenhang: duidelijke verantwoordelijkheden, herhaalbare uitvoering en bewijs dat een stap werkelijk werkt.
01 / Wat is Zero?
Na jaren engineeringmanagement is Zero Foundry een persoonlijk initiatief om architectuur, implementatie, integratie en beheer weer tastbaar te maken. Producten geven het platform echte problemen; het platform geeft producten gedeelde bouwstenen.
Elke stap heeft een eigenaar. Git bewaart de gereviewde bron en gewenste toestand. Jenkins voert controles uit. Nexus verdeelt artifacts. Vault beheert secrets. Argo CD — Continuous Delivery, gecontroleerde aflevering — beheert de clusterinhoud.
Een artifact is een concrete bewaarde output, zoals een softwarepackage of modelbestand. Een secret is vertrouwelijk toegangsmateriaal. Een AI-voorstel of geslaagde build is geen automatische toestemming voor een release.
02 / Architectuur
Lees van onder naar boven: machines maken, het cluster opbouwen, toepassingen laten draaien. Management blijft buiten het cluster dat het moet kunnen herstellen.
Managementplane · buiten Kubernetes
Een operatorpad blijft beschikbaar wanneer Kubernetes wegvalt. Volledige disaster recovery vraagt daarnaast onafhankelijke data, keys en een getest herstel.
Runtimeplane · Kubernetes
Gewenste toestand uit Git naar runtime. Private workloads, retrieval, monitoring en tijdelijke buildagents.
Nodes configureren, Kubernetes starten en netwerk/readiness controleren.
Infrastructure as Code (IaC): VM’s en disks declaratief beschrijven. Configuration as Code (CaC): configuratie in beheerde bestanden vastleggen.
Control plane: diensten die het systeem configureren en aansturen.
Data plane: de uitvoering die aanvragen en werkelijke workloadgegevens verwerkt.
Recoveryboundary: het cluster kan herbouwd worden zonder dat het eerst moet functioneren.
03 / Technologie in mensentaal
Productnamen zijn hulpmiddelen. Het belangrijke gesprek gaat over hun verantwoordelijkheid en de grens waar ze werken.
Proxmox beheert virtuele computers. OpenTofu legt vast welke machines en disks er horen te zijn; een plan toont de voorgestelde wijzigingen.
Ansible voert configuratietaken uit. Kubespray gebruikt die aanpak om een Kubernetescluster op te bouwen en te onderhouden.
Kubernetes plaatst en beheert containers in pods: groepen containers die samen worden uitgevoerd. containerd is de uitvoerende containerruntime.
Argo vergelijkt Git met runtime. Helm levert verpakte componenten; Kustomize combineert en past configuratiebestanden aan.
Continuous Integration (CI) is automatisch wijzigingen controleren. Jenkins voert die jobs uit; Nexus bewaart en verdeelt hun gereviewde artifacts.
Vault is de centrale secretbron. External Secrets levert alleen toegestane secretprojecties aan workloads. Een bijgewerkt bestand bewijst nog geen succesvolle rotatie.
FastEmbed zet tekst om in getallenrepresentaties, embeddings. Qdrant zoekt vergelijkbare representaties. Retrieval-Augmented Generation (RAG) geeft zulke gevonden bronnen aan een taalmodel.
Open Policy Agent (OPA) beoordeelt regels in Rego. Een provider of worker krijgt alleen toegestane tools en data; een policyfout mag geen toestemming opleveren.
Prometheus verzamelt meetwaarden; Grafana toont ze. Alertmanager routeert alarmen. Monitoring, alarmontvangst en menselijke opvolging vragen elk hun eigen bewijs.
Restic maakt versleutelde backups. age versleutelt recoverybestanden. Herstel vraagt ook werkende keys, trust en een onafhankelijk bereikbare kopie.
PyTorch ondersteunt modeltraining; OpenCV verwerkt beelden. Graphics Processing Unit (GPU) betekent een processor voor parallel rekenwerk. Een modelrun is geen bewijs van productkwaliteit.
FastAPI maakt een Application Programming Interface (API), een afgesproken softwarekoppeling. React bouwt de browserinterface. Lua is de gedeelde logica voor game-addons en LootHeat.
04 / Repositorykaart
De verdeling volgt verantwoordelijkheid en lifecycle. Technologieën hieronder beschrijven repositorygebruik; ze zijn geen automatische lijst van live services.
Eerst vastleggen hoe we werken, daarna die afspraken vertalen naar bruikbare voorbeelden.
De gemeenschappelijke GitHub-afspraken
Standaardtemplates voor wijzigingsvoorstellen en beleid voor beschermde branches. Een productrepo kan specifiekere afspraken toevoegen.
Het engineeringhandboek
Beheert standaarden voor kwaliteit, security, bewijs, architectuurbeslissingen en begrensd gebruik van AI-assistenten. Het handboek beschrijft hoe andere repositories werken.
Van principe naar uitvoerbaar voorbeeld
Herbruikbare ontwerpen voor Kubernetes, delivery, retrieval, security-evidence en browsertests. Voorbeelden worden door een product overgenomen en aangepast; ze bewijzen geen live deployment.
Elke laag heeft een eigen eigenaar: machines maken, het cluster opbouwen, toepassingen beheren en state herstellen.
De virtuele machines en hun infrastructuur
Definieert Proxmox-VM’s, disks, cloud-init en infrastructuurstate. Geeft verbindingsgegevens door aan de clusterlaag. Beheert geen applicaties in Kubernetes.
Kubernetes opbouwen en onderhouden
Maakt de node-inventory uit infrastructuuroutputs en beheert clusterbootstrap, upgrades, networking en readiness. Drie control planes en twee workers delen de huidige fysieke host.
Wat er in het cluster hoort te draaien
Beheert de gewenste toestand: add-ons, namespaces, agentgrenzen, secretprojecties en private workloads. Argo CD vergelijkt de repository met runtime en corrigeert afwijkingen.
De platformdiensten daadwerkelijk beheren
Beheert Compose-stacks, maintenance, incidentprocedures, backup en restorechecks. Hier zitten de operationele definities voor de managementdiensten buiten Kubernetes.
Versleutelde recoverymaterialen
Bewaarplaats voor encrypted recovery-artifacts en controleprocedures. Vault blijft secret authority. De onafhankelijke kopie van de decryptiesleutel en haar herstelbewijs zijn nog niet volledig afgerond.
De catalogus kiest welke jobs bestaan. De library bepaalt hun gedrag. Kleine fixtures toetsen of die combinatie werkt.
De jobcatalogus
Beschrijft folders, repositories, multibranchjobs en pipelinekeuzes. Een seed-job genereert daaruit de Jenkins-jobstructuur. Canary en stable hebben afzonderlijke lanes.
Het herbruikbare pipelinegedrag
Gedeelde functies voor validation, packages, releases, agentcontracten en evidence. De library levert uitvoering; de catalogus bepaalt welke repository welke functie gebruikt.
Kleine proefprojecten voor de bouwstraat
Eenvoudige projecten om detectie, routing en pipeline-uitvoering te controleren. Geen productieapplicaties: juist kleine voorspelbare voorbeelden maken fouten zichtbaar.
AI krijgt context en afgebakende bevoegdheden. Bewijs en menselijke beslissingen blijven afzonderlijk van modeloutput.
De begrensde software-factorycoördinator
Verbindt work packages, providerkeuze, policybesluiten, geïsoleerde uitvoering en duurzame evidence. Publicatie, review en merge zijn afzonderlijke authorities. De catalogus voor engineeringgeheugen bewaart bronherkomst.
Private chat met verplichte bronretrieval
Zoekt eerst in engineeringgeheugen en geeft bronverwijzingen terug. Zonder bruikbare retrieval wordt de modelaanroep gestopt. De service heeft geen shell-, repository- of deploymenttools.
Producten houden hun eigen code, gegevens en acceptatie. Ze gebruiken de platformdiensten waar dat nuttig is.
Computer vision en model-experimenten
Analyseert een foto voor de Split the G-uitdaging. Bevat een klassieke beeldanalyse-engine, datagovernance, een reviewwerkruimte en geïsoleerde PyTorch-training. Geen gepromoveerd geleerd productmodel geclaimd.
De service rond de beeldanalyse-library
Voegt een begrensde webinterface toe aan een vaste libraryversie: requestlimieten, health en metrics. De beeldanalyse, training en datasetbeslissingen blijven in de engine-repository.
Lootregels en reproduceerbare simulaties
Een game-addon en browserlab voor Heat, lootkeuzes, persona’s en seizoenen. Addon, browser en offline runner gebruiken één Lua-core. Experimentcontracten bestaan; de huidige deterministische simulatie is geen machine learning.
Traceerbare beeld- en videoproductie
Versioned shots, jobs, artifacts en menselijke review verbinden Blender en generatieve workflows. Echte lokale GPU-uitvoering is historisch vastgelegd; verdere ComfyUI- en videogeneratie staat op hold.
Recruitmentinformatie in een game-addon
Verzamelt toegestane nearby-unitinformatie en bewaart recruiterrecords. Heeft eigen lokale tests en packaging. Beheert geen platforminfrastructuur en is geen bewezen AI-model.
Scaffold voor administratieve workflows
Verkent claims, bewijsdocumenten en workfloworchestratie voor een Federale Overheidsdienst (FOD). Er is een kleine frontend/service/statebasis; echte overheidsintegraties, productieauthenticatie en productieopslag worden niet geclaimd.
Householddiensten en de bestaande web-edge
Beheert media- en householdservices met reverse proxy, authenticatie en private toegang. Caddy is de bestaande publieke toegangspoort. Deze overzichtssite draait erachter in een aparte nginx-container.
05 / Hoe alles samenwerkt
Een wijziging krijgt scope, bronversie en review.
Tests en controles leveren concrete evidence.
Een artifact krijgt een exacte, immutable identity.
Argo CD voor Kubernetes; begrensde hostdelivery voor Compose.
Health, gedrag, security en rollback worden afzonderlijk beoordeeld.
Engineeringretrieval en model-experimenten bestaan. Machine Learning Operations (MLOps) beheert de data- en modellifecycle. LootHeat heeft daarvoor foundations; zijn huidige simulaties zijn deterministisch.
Controls krijgen scope, owner en bewijs. Development, Security and Operations (DevSecOps) verbindt bouwen en beheren. Frameworkmappings ondersteunen assessment; ze zijn geen certificaat.
Dezelfde architectuurprincipes blijven bruikbaar. Redundancy, support, netwerksegmentatie, operationele afspraken en bewezen recovery bepalen de vereiste garanties.