Satte et containerlag på Podman og Quadlet under systemd i produksjon i stedet for Docker, fordi Docker publiserer containerporter over vertsbrannmurens egne regler — og ga produksjonssettinger en uprivilegert bruker med én fast kommando i stedet for root.
Arbeidet utført: september 2026
containere under systemd, ikke over brannmuren
Situasjon. Plattformen trengte et sted å kjøre applikasjonscontainere. Det åpenbare valget var bransjestandarden, og det åpenbare valget var feil for denne verten på en helt bestemt måte: den skriver om kjernens regler i pakkefilteret og publiserer containerporter over brannmurreglene som herdingsrollen installerer, slik at en container i det stille blir tilgjengelig fra internett uansett hva brannmuren har fått beskjed om.
Oppgave. Det måtte velges et containerlag som ikke går utenom brannmuren, ikke legger til en ekstra tjenestestyrer ved siden av den som allerede er betrodd, og ikke krever at en person er root for å levere en utgivelse.
Handling. Laget er en daemonløs containermotor som driver enheter generert av operativsystemets egen tjenestestyrer. Det finnes ingen ekstra prosessbehandler: containere er tjenester, de starter slik tjenester starter, og de beskrives i den samme deklarative formen som alt annet. Containerne bruker vertens nettverk uten noen publiserte porter i det hele tatt, og det fjerner spørsmålet om å gå utenom brannmuren i stedet for å avbøte det. Enhetene kjører på systemnivå og ikke rootless, og det er dokumentert som en avveining — det holder automatiseringen enkel og normal, på bekostning av den strengere isoleringen rootless ville gitt, og notatet sier hvilken vei man skal gå hvis utbrudd fra containeren noen gang blir viktigere enn enkel automatisering. Produksjonssetting ble skilt fra provisjonering: root setter opp stien for produksjonssetting én gang, og deretter setter en uprivilegert bruker i produksjon på nytt ved å kjøre ett fast skript gjennom en avgrenset regel som tillater den kommandoen og ingen argumenter. Bygg imaget, start tjenesten på nytt. Ingen root‑shell, ingen vilkårlige kommandoer.
Resultat. Containerne kjører under tjenestestyreren som allerede var betrodd, bak brannmuren som allerede var deklarert, og en rutinemessig utgivelse trenger ingen privilegert tilgang. Valget mot standarden er skrevet ned med begrunnelse, og det betyr mer enn selve valget — den neste som kommer, vil få beskjed om å bruke standarden av hver eneste artikkel vedkommende leser.
Se tilbake på La til en preflight‑play som kjører den samme koden som konvergeringen mot operatørens lokale hemmeligheter på omtrent ett sekund, etter at en halvveis gjennomført produksjonskjøring stoppet på den niende oppgaven med swap‑innstillingene allerede skrevet til verten i drift. Les videre: Automatiserte klargjøringen av en server nummer to hos en annen skyleverandør, der brannmuren opprettes før maskinen slik at den blir født bak en, og begge leverandørenes brannmurer er skrevet direkte mot deres REST‑API‑er for å slippe en collection fra tredjepart. Eller ta en titt på hele porteføljen.
Ett stykke av en lengre oversikt — og den ligger i sin helhet her.
Hver oppføring er skrevet på samme måte: situasjonen, oppgaven, hva vi gjorde, og hva som endret seg.