From 699a4decb47b9ec69a57fd4cb644f666023a01ed Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Mon, 23 Mar 2026 16:18:13 +0100 Subject: [PATCH] docs(day0): Added reverse gitops talk --- content/day0/12_extensible.md | 3 ++- content/day0/13_gitops-paradox.md | 38 +++++++++++++++++++++++++++++++ content/day0/_index.md | 2 ++ 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 content/day0/13_gitops-paradox.md diff --git a/content/day0/12_extensible.md b/content/day0/12_extensible.md index a5bd873..50bda1b 100644 --- a/content/day0/12_extensible.md +++ b/content/day0/12_extensible.md @@ -2,7 +2,8 @@ title: Building Extensible Platforms weight: 12 tags: - - + - platformengineeringday + - platform --- diff --git a/content/day0/13_gitops-paradox.md b/content/day0/13_gitops-paradox.md new file mode 100644 index 0000000..797867d --- /dev/null +++ b/content/day0/13_gitops-paradox.md @@ -0,0 +1,38 @@ +--- +title: "The GitOps Paradox: Why Your Devs Need an API You Don't Want To Build +weight: 13 +tags: + - platformengineeringday +--- + + + +{{% button href="https://colocatedeventseu2026.sched.com/event/2DY82" style="error" icon="calendar" %}}Sched Link{{% /button %}} +{{% button href="https://github.com/ConfigButler/gitops-reverser" style="info" icon="code" %}}Code{{% /button %}} +{{% button href="https://revertgitops.dev" style="info" icon="link" %}}Website/Homepage{{% /button %}} + +## Baseline + +- We all like files, humans like them, they are easy to use and AI can use them +- Git is a good version manager +- GitOps is cool and we want to keep it +- **Problem**: I want to do something and now i need to create a yaml file and open a pr -> High toil +- **Question**: Should git always be the primary entry path for changes +- **Idea**: Use kubernetes api as our api server, have an operator that handels creation of manifests in git + promotions and so on and the changes to the "real" clusters are always made via gitopös + +## The paradox + +- We shield people from the kubernetes api and force them to use git +- We build our own custom apis on top of the kubeapi anyways +- Solution: Why not go back to using the Kubernetes API (humans and robots can use it) + +## Principles of the reverse gitops manifest + +1. API first (via Kubeapi) to reuse auth, crds, status, controllers and more +2. Capture intent not implementation -> Not api-only (if you can do it bi-directional) with reversible&declarative resources +3. GitOps applies -> Changes are always piped through gitops for reviews, history, rollback, promotions, ... + +## Implemantations examples + +- Use KRO as the abstraction that captures the intention +- [GitOps Reverser](https://github.com/ConfigButler/gitops-reverser) diff --git a/content/day0/_index.md b/content/day0/_index.md index f1ee49b..567a6eb 100644 --- a/content/day0/_index.md +++ b/content/day0/_index.md @@ -13,6 +13,8 @@ This day also included my highlight of the conference (I'm writing this on the s - [Who built this platform? Alternative viewpoints on Platform Design](./03_whobuiltthis) - [A Practical Guide To Inner Sourcing Your IDP](./10_sourcing-your-idp) +- [Thought provoking talk by Hazel](./12_extensible) +- Very interesting concept that trues to combine a user-facing api with gitops in the background [Reverse gitops](./13_gitops-paradox) ## Other stuff I learned or people i talk to