GitOps is a delivery model, not a tool: desired system state lives declaratively in a Git repository, and a controller running inside the target environment continuously reconciles live state toward whatever’s in Git. The two dominant Kubernetes implementations of this model are What is ArgoCD and What is FluxCD.
The four principles (OpenGitOps)
The CNCF OpenGitOps working group codifies GitOps as four properties a system must have:
| Principle | Meaning |
|---|---|
| Declarative | The system’s desired state is expressed declaratively (YAML manifests, Helm values, Kustomize overlays) — not a sequence of imperative steps |
| Versioned & immutable | Desired state is stored in Git, giving a full history, diff, and rollback path for free |
| Pulled automatically | Software agents (controllers) pull the desired state — nothing outside the cluster pushes into it |
| Continuously reconciled | Agents continuously compare live state to desired state and correct drift, not just on deploy |
Pull vs. push: the actual architectural shift
Traditional CD (push) GitOps (pull)
CI pipeline CI pipeline
│ │
▼ ▼
kubectl apply / helm upgrade Push new manifest/image tag to Git
│ (pipeline holds cluster │
│ credentials) ▼
▼ Controller INSIDE cluster
Cluster watches Git, pulls, applies
│
▼
Cluster
The pipeline never touches cluster credentials in the pull model — it only ever writes to Git. The in-cluster controller holds the only credentials that can mutate the cluster, and it’s the same controller doing the pulling and the reconciling.
Why continuous reconciliation matters more than the initial deploy
A one-time kubectl apply gets you to desired state once. A GitOps controller keeps checking:
Every reconciliation interval (e.g. every 1-3 min):
live state == desired state (Git)?
│ │
YES NO
│ │
no-op auto-heal:
revert the drift
(someone ran a manual
kubectl edit — it gets
reverted automatically)
This closes the classic “someone hotfixed prod by hand and nobody knows” failure mode — any manual change to a GitOps-managed resource gets reconciled away on the next loop, which is a feature, not a bug, as long as the actual fix also lands in Git.
Where it sits relative to CI
| Stage | Owns |
|---|---|
| CI (GitHub Actions, etc.) | Build, test, produce an artifact/image, bump the manifest/tag in Git |
| GitOps controller (in-cluster) | Everything after the Git commit — diff, sync, health check, drift correction |
This split is why GitOps pairs naturally with progressive delivery (canary, blue-green): the controller is already the thing watching cluster health, so it’s a small step from “apply the whole change” to “apply a slice, watch metrics, promote or roll back” — see What is ArgoCD‘s Argo Rollouts and What is FluxCD‘s Flagger integration.
Why it matters here: this is the operating model behind the e-gitops/ pillar (ArgoCD + Argo
Rollouts canary deployments) — see What is ArgoCD for the concrete implementation in use, and What is FluxCD
for the comparison point if that choice is ever revisited.
Local graph
Linked from 9 notes
What is ArgoCD
CNCF-graduated declarative GitOps continuous delivery tool for Kubernetes — pull-based reconciliation from Git via an Application CRD, the App-of-Apps pattern for fleet management, and Argo Rollouts for canary/blue-green progressive delivery.
What is FluxCD
CNCF-graduated GitOps toolkit for Kubernetes, built as a set of composable controllers (source, kustomize, helm, notification, image-automation) rather than one monolithic app — Flagger is its progressive-delivery counterpart to Argo Rollouts.
What is gcx
Grafana's official CLI for managing Grafana Cloud/Enterprise/OSS resources, optimized for agentic usage — dashboards, alerts, SLOs, metrics/logs/traces/profiles queries, and every major Cloud product, plus a bundled Agent Skills set for Claude Code and other .agents-compatible harnesses.
CI/CD Overview
The repo currently uses three CI/CD layers:
CI/CD Platform Engineering
A book-shaped table of contents for CI/CD platform engineering: pipeline foundations, build/artifact/delivery platforms, GitHub Actions end to end (workflow mechanics through enterprise governance), Argo Workflows, Tekton, Jenkins, release engineering, platform security, observability, reliability, enterprise governance, and MAANG interview preparation — cross-linking existing tech/kubernetes/platform-engineering-fundamentals/system-design notes instead of duplicating them.
Grafana Cloud
A book-shaped table of contents for Grafana Cloud: platform foundations through telemetry collection, Mimir/Loki/Tempo/Pyroscope, visualization, application observability, reliability tooling, developer experience, governance, and enterprise reference architectures — cross-linking existing notes instead of duplicating them.
5 — Infrastructure Automation
Infrastructure automation, Terraform/Crossplane-style provisioning, as the execution layer behind self-service infrastructure requests.
Internal Developer Platforms
A book-shaped table of contents for Internal Developer Platforms: IDP fundamentals, architecture, self-service, golden paths, software catalogs, Backstage, templates, platform APIs and automation, developer experience, governance, operations, success metrics, anti-patterns, enterprise scale, and MAANG interview preparation — cross-linking existing platform-engineering-fundamentals/sre/observability notes instead of duplicating them.
Kustomize layout
How signal-forge's Kustomize base and per-environment overlays are laid out, rendered, and consumed by deploy-local.sh.
Related notes
What is ArgoCD
CNCF-graduated declarative GitOps continuous delivery tool for Kubernetes — pull-based reconciliation from Git via an Application CRD, the App-of-Apps pattern for fleet management, and Argo Rollouts for canary/blue-green progressive delivery.
What is FluxCD
CNCF-graduated GitOps toolkit for Kubernetes, built as a set of composable controllers (source, kustomize, helm, notification, image-automation) rather than one monolithic app — Flagger is its progressive-delivery counterpart to Argo Rollouts.
What is Istio
CNCF-graduated (July 2023) service mesh — sidecar model plus the newer sidecar-less ambient mode (stable since 1.24), now extending into AI traffic via the Gateway API Inference Extension and 2026's Ambient Multicluster beta.
What is HolmesGPT
Robusta.dev's open-source SRE agent (CNCF Sandbox) for investigating production incidents across Kubernetes, VMs, cloud services, and databases — an agentic tool-calling loop over 70+ toolsets, not a chatbot or RAG system, with a proactive 'operator mode' that monitors and opens fix PRs without a human trigger.