PhilippTheServer

gitops

Reconciling a cluster toward a repository instead of deploying at it.

  1. Realm-as-Code: Reconciling Clients and Roles But Never Users or Signing Keys

    kc.sh import with --override=true recreates the realm, dropping users and signing keys. Reconciling only clients and roles via the Keycloak Admin REST API.

  2. Breaking the Circular Dependency in GitOps Secret Delivery

    External Secrets SecretStore tokenSecretRef needs a Vault token before GitOps can deliver one. Breaking the loop with one out-of-band secret.

  3. Pinning Image Tags to Git SHAs Because GitOps Diffs Manifests, Not Registries

    image :latest never triggers an Argo CD rollout because GitOps diffs manifest text. Tagging with git rev-parse --short HEAD and committing it back.

  4. Sync Waves and the CRD-Before-Consumer Ordering Problem

    no matches for kind "Widget" in version: CRD and CR in one Argo CD sync. sync-wave "-1" fixes ordering; Prune=false stops a CRD prune wiping CRs.

  5. ApplicationSets: Onboarding a Workload With a Directory and a Pull Request

    ApplicationSet git directory generator on services/*: one Argo CD Application per directory, requeueAfterSeconds, and where sync errors show up.

  6. Argo CD App-of-Apps: Bootstrapping a Bare Cluster from One Root Application

    Argo CD app-of-apps: a root Application with directory recurse over apps/ bootstraps a bare cluster from one kubectl apply, with pruning.

  7. Docker Compose or Kubernetes: What the Control Loop Actually Buys You

    Docker Compose restart: always vs a Kubernetes Deployment: what happens when the host dies, and what the control loop costs in debugging.

All topics · All writing