ReverseGitOps

API-first. Git-recorded. GitOps deploys.

I'm speaking at CozySummit Virtual 2026 Also spoke at: KubeCon + CloudNativeCon Europe 2026 Platform Engineering Day

An API-first operating model where users and agents submit validated intent through a typed API, while that intent is automatically recorded in Git as clean declarative YAML manifests for audit, promotion, and distribution.


Perceived Problem

GitOps gives us reproducibility, auditability, and a shared language for intent. One of the best ideas the infrastructure community has produced.

But it carries an assumption that is starting to strain: that every change should enter the system through Git.

Git was built for source code collaboration. That works well for code. For infrastructure operations, the friction is specific:


Principle 1: API First

A dedicated Kubernetes API is the front door for intent: which applications to run, which routes are allowed, which teams have access. Not workloads, not rendered infrastructure. This API is deliberately shaped around stable user-facing abstractions, not arbitrary cluster resources. Humans use it through CLIs, IDEs, and GUIs. AI agents use it programmatically. Changes are validated immediately: wrong type, unknown field, policy violation, all caught at write time.

Relevant API activity is automatically written to Git as YAML. An HTTP POST creates a new manifest, a PATCH updates it, a DELETE removes it. The actors identity is preserved as commit author. A defined section of the repository (the intent folder) is managed automatically, the rest left untouched. Git becomes the memory: every change recorded, diffable, auditable, without any actor needing to write a commit.

This only works for user-facing resources whose declarative form is stable enough to round-trip cleanly.


Principle 2: Capture Intent, Not Implementation

The platform team defines the CRDs that represent user intent: an Application, a HelmRelease, a DatabaseClaim, or other user-facing abstractions suited to the platform. What gets written to Git are those resources. Reconstruction from rendered output is in most situations impossible, and not the goal.

Behind the intent boundary, the platform team retains full freedom: Helm, Kustomize, Crossplane, custom controllers. The constraint is on the interface, not the implementation. From there, existing GitOps tools like Flux and ArgoCD take over: Git remains the layer for promotion, disaster recovery, and bulk rollouts.


Principle 3: GitOps Still Applies

This pattern sits upstream of GitOps, not against it.

Direct Git edits remain valid too. The API is the preferred front door for intent, not the only one.

Git is the "canonical example" of a state store, not the only valid one. Distribution through signed OCI artifacts fits this pattern just as well.


Non-goals


The API comes first.
Git remembers.

That is Reverse GitOps.


Second draft - April 2026. Feedback welcome.