Het vlootbeheer rolt alleen ondertekende, beoordeelde inrichting uit Platform en Beleid uit, met één Argo CD in het pushmodel, begrensde projecten en identiteiten, en zet afwijkingen terug.
Nog niet bevestigd door een mens. Eigenaar: vdo89. Bron in de atlas
Het vlootbeheer haalt de gewenste inrichting uit de opslagplaatsen Platform en Beleid en past haar met één Argo CD toe
op de geselecteerde clusters. Alleen ondertekende, beoordeelde vastleggingen worden uitgerold. Projecten en een per
cluster beperkte uitrolidentiteit begrenzen wat de uitrol mag wijzigen, en afwijkingen worden gemeld en teruggezet.
Waarom zo
Eén bron en één uitrol geven één overzicht van golven en afwijkingen. De keerzijde is een uitrolidentiteit die alle
clusters bereikt; daarom zijn de rechten per project en per cluster begrensd en controleert Argo CD de handtekening van
de auteur, als tweede controle naast de takbeveiliging.
De instellingen en termijnen zijn een voorstel; waar een productfunctie nog niet is bevestigd, staat de terugvaloptie
erbij.
Het vlootbeheer past alleen inrichting en beleid toe uit de opslagplaatsen Platform en Beleid; een handmatige stap is een gedocumenteerde uitzondering. Catalogus, Afnemers, Draaiboeken en de opslagplaatsen van teams leest het vlootbeheer niet.
Toelichting
Eén bron. Gecontroleerd met het nalevingsoverzicht.
De standaardinrichting van applicatieclusters bestaat uit beleidspakketten in Beleid, met hun productinstellingen in basis/ en operators/; Catalogus publiceert de vrijgegeven versie waarnaar de dienstbeschrijving verwijst. Zo is er één bron voor wat het vlootbeheer uitrolt.
Toelichting
Overwogen: de standaardinrichting in Catalogus of alleen in basis/. Gekozen is Beleid, zodat de dienstbeschrijving naar een vrijgegeven versie verwijst en het vlootbeheer Catalogus niet hoeft te lezen.
Op alle beheerde clusters, ook gehoste clusters met een platformfunctie en het vlootcluster zelf, gelden twee pakketten: netwerk en ingang (het standaardcertificaat van de ingang via cert-manager uit de tussen-CA van de cel, het TLS-profiel en HSTS op routes) en het dienstennetwerk (de nalevingsinstelling voor quantumveilige sleuteluitwisseling, vanaf de ingebruikname).
De inrichting staat als Kubernetes-objecten in versiebeheer volgens de OpenGitOps-principes; de objectsoorten van Advanced Cluster Management zijn een vastgelegde leveranciersuitbreiding.
Eén Argo CD op het vlootcluster haalt de gewenste inrichting uit versiebeheer en past haar toe op de clusters die de plaatsingsregels selecteren (pushmodel). Dat geeft één overzicht van golven en afwijkingen. Een webhook van Forgejo meldt een nieuwe vastlegging; zonder webhook peilt Argo CD iedere 3 minuten.
Toelichting
Afgewezen: een Argo CD per cluster die zelf ophaalt, of de Argo CD Agent. Dat geeft tientallen exemplaren en geen overzicht van de golven op één plek, en de integratie met de agent is in Advanced Cluster Management 2.17 een Technology Preview; een eigen exemplaar past alsnog voor een zwaar cluster, na een ontwerpbesluit. Gevolg: de uitrolidentiteit heeft rechten op alle clusters. De webhook is een voorwaarde bij de ingebruikname; het peilen is de terugvaloptie.
De uitrol en de bevoegdheden hebben deze instellingen.
Onderdeel
Instelling
Toelichting
Uitrol
Eén Argo CD op het vlootcluster; GitOpsCluster koppelt de plaatsing; ApplicationSets met de generator clusterDecisionResource (acm-placement); applicationsSync create-update en preserveResourcesOnDeletion; toepassingen zonder verwijderfinalizer
Pushmodel; de GitOps-add-on is niet ingeschakeld, omdat zij het pushmodel kan uitschakelen
Opslagplaatsen
Repository-verbinding per opslagplaats naar Forgejo via HTTPS, met een repositorygebonden leestoken uit OpenBao en de CA van de interne PKI; webhook van Forgejo naar Argo CD
Zonder webhook peilt Argo CD iedere drie minuten: een instelbare peilperiode, binnen de termijn van vijf minuten voor de evaluatie van beleid
Projecten
AppProject per opslagplaats met toegestane bronnen, bestemmingen en objectsoorten
Beperkt de rechten per project, niet die van de applicatiecontroller zelf
Aanmelding Argo CD
oidcConfig rechtstreeks naar Keycloak; RBAC met defaultPolicy role:readonly
Niet tegelijk sso en oidcConfig; de door de operator beheerde Keycloak is vervallen. Met role:readonly ziet iedere aangemelde gebruiker alle toepassingen, projecten en clusters in Argo CD
Beleid
PolicyGenerator als kustomize-plug-in in Argo CD; policyDefaults met remediationAction inform; ClusterRole openshift-gitops-policy-admin voor de applicatiecontroller; pruneObjectBehavior None
Per uitrolgolf naar enforce
Operators op beheerde clusters
OperatorPolicy (v1beta1) met upgradeApproval
installPlanApproval niet in het abonnement opnemen
Wijzigingen in Platform en Beleid lopen via een beschermde hoofdtak, ondertekend en met twee beoordelaars naast de auteur; vloot/, basis/ en beleid worden nooit automatisch samengevoegd.
Toelichting
Een wijziging daar raakt alle clusters. Gecontroleerd met de instellingen van de hoofdtak.
Argo CD rolt alleen een vastlegging uit die met een vertrouwde sleutel is ondertekend; in Platform en Beleid wordt samengevoegd zonder eigen samenvoegvastlegging, zodat de handtekening van de auteur behouden blijft. Argo CD vertrouwt alleen de persoonlijke ondertekensleutels van de auteurs en de sleutel waarmee het leverpad clusterdefinities vastlegt, geen sleutel van het versiebeheer zelf; de lijst staat in versiebeheer en volgt vertrek in het identiteitsbeheer.
Toelichting
Een tweede controle naast de takbeveiliging. Afgewezen: alleen de takbeveiliging van het versiebeheer, één plek die bij misbruik van beheerrechten op het versiebeheer alles doorlaat. Voorwaarde bij de ingebruikname: Argo CD controleert de SSH-handtekeningen en Forgejo voegt op deze manier samen; lukt dat niet, dan blijft de takbeveiliging met ondertekende vastleggingen en twee beoordelaars de enige controle. Een negatieve proef toont aan dat een vastlegging zonder vertrouwde handtekening niet wordt uitgerold.
Ieder project mag alleen zijn eigen bronnen, bestemmingen, naamruimten en objectsoorten wijzigen. Projecten beperken de rechten per project, niet die van de applicatiecontroller zelf; die heeft rechten op alle clusters en valt daarom onder de maatregelen voor vlootbrede rollen.
Toelichting
Een negatieve proef toont aan dat een project niet buiten zijn naamruimten en objectsoorten schrijft.
Iedere technische identiteit heeft alleen de rechten voor haar taak: uitrol, repository-verbindingen, klusterlet, hubback-up en objectopslag hebben elk een eigen identiteit. De uitrolidentiteit is per cluster beperkt tot de objectsoorten van de projecten, zodat er geen centrale identiteit met onbeperkte rechten is.
Toelichting
Voorwaarde bij de ingebruikname. Lukt dat niet, dan houdt de uitrolidentiteit de rechten van de agent en begrenzen de projecten wat Argo CD toepast; in beide gevallen gelden de maatregelen voor vlootbrede rollen. Gecontroleerd met het rechtenrapport.
Het versiebeheer en de automatisering, de basisdiensten waar de uitrol direct op steunt, zijn zo ingericht.
Basisdienst
Installatie en opslag
Aanmelding, geheimen en back-up
Versiebeheer van het platform
Forgejo 15.0 LTS via de Helm-chart, met het rootless beeld uit de containerregistry en de OpenShift-compatibiliteit van de chart; één exemplaar met strategie Recreate. Opslagplaatsen op een RBD-volume; bijlagen, LFS en pakketten in de objectopslag van de cel; PostgreSQL 17 op CloudNativePG. Web via een route, SSH via een adres van MetalLB. De runner voor Forgejo Actions als virtuele machine met rootless Podman.
OIDC-bron naar Keycloak met groepsclaim, groepen gekoppeld aan teams; lokale aanmelding uit. SSH-sleutels per persoon, ook voor ondertekening; repositorygebonden tokens uit OpenBao voor Argo CD, automatisering en portaal. Dagelijkse dump en doorlopende databaseback-up.
Automatisering
Ansible Automation Platform 2.7 via de operator; databases op CloudNativePG (PostgreSQL 15 tot en met 17, de hub met hstore); hubopslag op CephFS.
Aanmelding via Keycloak; projecten uit de opslagplaats Draaiboeken in Forgejo met een leestoken; inloggegevens uit OpenBao via de credential-plug-in, die in de leeromgeving wordt beproefd; een goedkeuringsstap in de werkstromen voor productie.
Een noodwijziging schort de zelfcorrectie voor één object geregistreerd en met einddatum op: met een synchronisatievenster in Argo CD, voor beleid met een uitzondering. Binnen 1 werkdag staat de wijziging in code of is zij teruggedraaid. Zo sluiten de zelfcorrectie en de noodroute op elkaar aan.
Toelichting
Gecontroleerd met het register van noodwijzigingen en geoefend met de noodroute.
Een wijziging wordt teruggedraaid door de vorige versie in versiebeheer terug te zetten, eerst bij de proefgroep. Dat herstelt de gewenste inrichting, maar geen verwijderde gegevens en geen update die de leverancier niet laat terugdraaien; daarvoor is herstel uit de back-up nodig.