From f08077a46312a2dff7c53a2a1675f8b5b396394d Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 30 Mar 2026 22:46:47 +0300 Subject: Update content for gemtext --- gemfeed/atom.xml | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'gemfeed/atom.xml') diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml index ce67a79a..9fdebdfa 100644 --- a/gemfeed/atom.xml +++ b/gemfeed/atom.xml @@ -1,6 +1,6 @@ - 2026-03-30T22:42:23+03:00 + 2026-03-30T22:46:37+03:00 foo.zone feed To be in the .zone! @@ -75,11 +75,11 @@
  • Rolling back means re-running old Helm commands
  • No audit trail for who changed what

  • -This post covers the migration to GitOps with ArgoCD. After this, the Git repo is the single source of truth, and ArgoCD keeps the cluster in sync automatically.
    +So I migrated everything to GitOps with ArgoCD. Now the Git repo is the single source of truth, and ArgoCD keeps the cluster in sync automatically.

    GitOps in a Nutshell



    -The idea behind GitOps is simple: describe your entire desired state in Git, and let an agent in the cluster pull that state and reconcile it continuously. Every change goes through a commit, so you get version history, collaboration, and rollback for free.
    +Describe your entire desired state in Git, and let an agent in the cluster pull that state and reconcile it continuously. Every change goes through a commit, so you get version history, collaboration, and rollback for free.

    For Kubernetes specifically:

    @@ -91,7 +91,7 @@

    ArgoCD



    -ArgoCD is a GitOps continuous delivery tool for Kubernetes. It runs as a controller in the cluster, continuously comparing live state against what's defined in Git.
    +ArgoCD is a GitOps CD tool for Kubernetes. It runs as a controller in the cluster, constantly comparing what's running against what's in Git.

    ArgoCD Documentation

    @@ -145,7 +145,7 @@ helm install argocd argo/argo-cd --namespace cicd -f values.yaml kubectl apply -f ingress.yaml
    -A few things worth noting in the values.yaml:
    +Some highlights from values.yaml:

    Persistent storage for the repo-server so cloned Git repos survive pod restarts:

    @@ -266,7 +266,7 @@ $ git push f3s master

    Repository Organization



    -I reorganized the config repo to support GitOps. Application manifests are grouped by Kubernetes namespace:
    +I reorganized the config repo for GitOps. Application manifests are grouped by namespace:

     /home/paul/git/conf/f3s/
    @@ -318,11 +318,11 @@ $ git push f3s master
     └── ...
     

    -The per-app directories (miniflux, prometheus, etc.) stayed mostly the same--ArgoCD points at the same Helm charts. The main additions are the argocd-apps/ directory structure and manifests/ subdirectories for complex apps.
    +The per-app directories (miniflux, prometheus, etc.) stayed the same--ArgoCD just points at the existing Helm charts. The main addition is the argocd-apps/ tree and manifests/ subdirectories for complex apps.

    Migrating an App: Miniflux as Example



    -I migrated all apps incrementally, one at a time. The procedure was the same for each. Here's miniflux as a concrete example.
    +I migrated all apps one at a time. Same procedure for each--here's miniflux as an example.

    Before ArgoCD, the Justfile looked like this:

    @@ -343,7 +343,7 @@ uninstall:
    Workflow: edit chart, run just upgrade, hope you didn't forget anything.

    -To migrate, I created an Application manifest telling ArgoCD where the Helm chart lives and how to sync it:
    +I created an Application manifest--this tells ArgoCD where the Helm chart lives and how to sync it:

     apiVersion: argoproj.io/v1alpha1
    @@ -397,9 +397,9 @@ $ curl -I https://flux.f3s.foo.zone
     HTTP/2 200
     

    -About 10 minutes, zero downtime. ArgoCD recognised the already-running resources matched the Helm chart in Git and adopted them without re-deploying.
    +About 10 minutes, zero downtime. ArgoCD saw that the running resources already matched the Helm chart in Git and just adopted them.

    -After the migration, the Justfile turned into utility commands--no more install/upgrade/uninstall:
    +After that, the Justfile is just utility commands--no more install/upgrade/uninstall: