From 5b91a1c315ff1ee2a31e06dbf00486cbf28c8cec Mon Sep 17 00:00:00 2001 From: Erich Blume Date: Fri, 13 Feb 2026 16:48:06 -0800 Subject: [PATCH] Review why-gitops doc (#184) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Fix misleading `[[tailscale|Pulumi]]` wiki-link → `[[pulumi]]` - Simplify `[[ansible|Ansible]]` and `[[argocd|ArgoCD]]` to plain wiki-links per convention - Rename "Tailnet" layer to "Network" to reflect Pulumi's full scope (Tailscale ACLs + Gandi DNS) - Fix `apt install` → `brew install` (indri is macOS) - Add `[[pulumi]]` to Related section - Add `last-reviewed: 2026-02-13` frontmatter Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/184 --- docs/changelog.d/review-why-gitops.doc.md | 1 + docs/explanation/why-gitops.md | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) create mode 100644 docs/changelog.d/review-why-gitops.doc.md diff --git a/docs/changelog.d/review-why-gitops.doc.md b/docs/changelog.d/review-why-gitops.doc.md new file mode 100644 index 0000000..8c1e78a --- /dev/null +++ b/docs/changelog.d/review-why-gitops.doc.md @@ -0,0 +1 @@ +Review and fix why-gitops doc: correct wiki-links, fix apt->brew, broaden Pulumi scope, add last-reviewed. diff --git a/docs/explanation/why-gitops.md b/docs/explanation/why-gitops.md index e03978b..42a0754 100644 --- a/docs/explanation/why-gitops.md +++ b/docs/explanation/why-gitops.md @@ -1,6 +1,7 @@ --- title: Why GitOps -modified: 2026-02-07 +modified: 2026-02-13 +last-reviewed: 2026-02-13 tags: - explanation - philosophy @@ -45,9 +46,9 @@ BlumeOps uses layered GitOps: | Layer | Tool | What it manages | |-------|------|-----------------| -| **Tailnet** | [[tailscale|Pulumi]] | ACLs, tags, DNS | -| **Host config** | [[ansible|Ansible]] | Services on [[indri]] | -| **Kubernetes** | [[argocd|ArgoCD]] | Containerized workloads | +| **Network** | [[pulumi]] | Tailscale ACLs, tags; Gandi DNS | +| **Host config** | [[ansible]] | Services on [[indri]] | +| **Kubernetes** | [[argocd]] | Containerized workloads | Each layer has its own reconciliation loop: - Pulumi applies on `mise run tailnet-up` @@ -59,7 +60,7 @@ Each layer has its own reconciliation loop: GitOps isn't free: - **Learning curve** - You need to understand Ansible, ArgoCD, Pulumi -- **Indirection** - Can't just `apt install` something; need to add it to config +- **Indirection** - Can't just `brew install` something; need to add it to config - **Complexity** - More moving parts than a simple server But for BlumeOps, the trade-off is worth it. The infrastructure is complex enough that managing it imperatively would be error-prone, and the GitOps approach enables effective AI-assisted operations. @@ -67,5 +68,6 @@ But for BlumeOps, the trade-off is worth it. The infrastructure is complex enoug ## Related - [[architecture]] - How the pieces fit together +- [[pulumi]] - Network infrastructure as code - [[argocd]] - Kubernetes GitOps - [[ansible]] - Host configuration