GitOps belooft dat uw cluster-state altijd synchroon is met wat in Git staat. In theorie elegant; in praktijk ontstaan snel problemen: drift tussen Git en cluster, secrets in repositories, en sync-conflicten die productie verstoren. Na het beheren van ArgoCD-installaties voor twintig-plus productie-clusters, delen wij de best practices die daadwerkelijk werken.

Repository structuur die schaalbaar is
# DevDock GitOps repository layout
apps/
├── api/
│ ├── base/ # Kustomize base
│ └── overlays/
│ ├── staging/
│ └── production/
├── frontend/
│ └── ...
platform/
├── argocd/
│ ├── projects/ # AppProject definitions
│ └── applications/ # Application manifests
└── policies/ # OPA/Gatekeeper constraints
Scheid applicatie-manifests van platform-configuratie. Gebruik Kustomize overlays per omgeving — geen copy-paste tussen staging en production. AppProjects beperken welke repositories en namespaces een team mag deployen.
Sync policies per omgeving
| Omgeving | Sync mode | Auto-sync | Self-heal | Prune |
|---|---|---|---|---|
| Development | Automated | Ja | Ja | Ja |
| Staging | Automated | Ja | Ja | Ja |
| Production | Manual / Semi-auto | Nee | Ja | Met approval |
| Critical prod | Manual only | Nee | Nee | Met approval |
Productie sync nooit volledig automatisch — altijd een menselijke goedkeuring via ArgoCD UI, Slack bot, of CI/CD trigger. Self-heal wel enabled: als iemand handmatig kubectl edit doet, herstelt ArgoCD de gewenste state.
Secrets management
Nooit plaintext secrets in Git. Wij gebruiken External Secrets Operator met AWS Secrets Manager, Azure Key Vault, of HashiCorp Vault als backend. Sealed Secrets is een alternatief voor teams zonder dedicated secrets infrastructure.
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: api-db-credentials
spec:
refreshInterval: 1h
secretStoreRef:
name: aws-secrets-manager
kind: ClusterSecretStore
target:
name: api-db-credentials
data:
- secretKey: password
remoteRef:
key: prod/api/database
property: password
Onze DevOps & CI/CD diensten omvatten GitOps implementatie en beheer. Lees ook onze Kubernetes hosting pagina voor het complete clusterbeheer aanbod.
DevDock Cloud Technologies B.V.
Uw contactpersoon: Sven van de Berg
Herengracht 124
1015 BT Amsterdam
Telefoon: +31 20 244 8917
E-mail: [email protected]