Skip to content

Add FluxCD topic (GitOps / CI-CD) - #807

Merged
tungbq merged 1 commit into
mainfrom
feat/add-fluxcd-topic
Sep 2, 2026
Merged

Add FluxCD topic (GitOps / CI-CD)#807
tungbq merged 1 commit into
mainfrom
feat/add-fluxcd-topic

Conversation

@tungbq

@tungbq tungbq commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Closes #801.

Summary

Adds a topics/fluxcd/ topic following the existing structure (see topics/grafana / topics/trivy as the reference), and wires it into the repo's navigation.

  • topics/fluxcd/README.md — What is FluxCD, controller architecture (ASCII diagram), install, a runnable basics walkthrough, a "Beyond the Basics" section covering flux bootstrap / multi-tenancy / image automation, and a cheatsheet — same six-section shape as the other recently-added topics.
  • topics/fluxcd/basics/fluxcd_sync_demo.sh — installs Flux's controllers on a local kind cluster and syncs a real public repo (stefanprodan/podinfo) via GitRepository + Kustomization. No GitHub token and no full flux bootstrap needed, per the issue's suggested approach.
  • topics/fluxcd/practice/README.md — 4 exercises: fork-and-sync, watching --prune remove a deleted resource, deliberately breaking a source and reading flux logs to recover it, and a compare-and-contrast writing prompt against the existing ArgoCD topic.
  • Added to mkdocs.yml nav (under CI/CD, after ArgoCD), topics/index.md's card grid, README.md's topic table, and moved FluxCD from ROADMAP.md's "Upcoming" to "Recently Added".

Test plan

  • Ran the exact committed fluxcd_sync_demo.sh twice end-to-end against a real kind cluster on this machine — once creating a fresh cluster, once reusing an existing one. Both times Flux fetched podinfo, applied its manifests, and the deployment reached 2/2 Available.
  • Verified the practice exercise's "break a source, read the logs, it self-heals" scenario against real flux output (bad branch → Ready: False with a clear message; flux logs --level=error surfaces the exact error).
  • shellcheck topics/fluxcd/basics/fluxcd_sync_demo.sh — clean.
  • mkdocs build --strict — no new warnings introduced (the 5 pre-existing warnings on main are unrelated: root/topics/ README-vs-index.md conflicts and two pre-existing broken image links in argocd/elk, all present before this PR too).
  • Followed CONTRIBUTING.md's flow.

Closes #801.

- topics/fluxcd/README.md: overview, architecture diagram, install,
  basics, bootstrap/multi-tenancy/image-automation notes, cheatsheet
- topics/fluxcd/basics/fluxcd_sync_demo.sh: installs Flux on a kind
  cluster and syncs stefanprodan/podinfo via GitRepository +
  Kustomization, no GitHub token or full `flux bootstrap` required.
  Verified end-to-end (fresh cluster and cluster-reuse paths), passes
  shellcheck.
- topics/fluxcd/practice/README.md: 4 exercises (fork-and-sync, prune,
  break/observe/recover, ArgoCD comparison) - the break/recover scenario
  verified against real flux output.
- Wired into mkdocs.yml nav, topics/index.md, README.md's topic table,
  and ROADMAP.md (moved FluxCD from Upcoming to Recently Added).
@tungbq
tungbq merged commit f2e0560 into main Sep 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add FluxCD topic (GitOps / CI-CD)

1 participant