Skip to main content
RunBook Academy

← All checklists in Git, CI/CD & GitOps

Before deploymentgitops-readiness

GitOps Production Readiness Checklist

15 items ·11 critical ·4 warn ·0 info

How to use this checklist

This is the gate before a GitOps controller is allowed to manage production namespaces. It is deliberately about the controller”s behaviour and authority, not about the applications it deploys — those are validated by the GitOps Repository Review checklist.

A controller that fails any critical item here is a controller that should not be writing to production, regardless of how clean the repository is. The fix is platform configuration, not pipeline tuning.

Sign-off

Every critical item must pass. A failing critical item blocks the controller from being granted authority over production namespaces; it is not a note for later. Record the date, the reviewer, and the disposition of every item that did not pass.

Critical11 items

  1. kubectl get statefulset -n argocd -l app.kubernetes.io/name=argocd-application-controller -o jsonpath="{.items[0].status.replicas}"
  2. kubectl get clusterrole argocd-application-controller -o yaml | grep -E "(\*|all)" | head
  3. kubectl get application -A -o json | jq -r '.items[] | select(.spec.syncPolicy.automated.prune==true) | "\(.metadata.namespace)/\(.metadata.name)"'
  4. git ls-files | grep -E "(secret\.ya?ml|\.env$|credentials\.json|service-account\.json)" | head; gitleaks detect --source . --no-banner

Warning4 items

  1. kubectl get statefulset -n argocd -l app.kubernetes.io/name=argocd-application-controller -o jsonpath="{.items[0].spec.template.spec.containers[0].image}"