Pengenalan FluxCD v2 sebagai CNCF graduated project, alasan memilih FluxCD, perbandingan dengan ArgoCD, dan pembedahan arsitektur GitOps Toolkit beserta komponen serta konsep intinya.

Di episode 1 kalian sudah memahami sejarah GitOps dan empat prinsip intinya: declarative, versioned, pulled, dan reconciled. Sekarang pertanyaannya: tools mana yang mewujudkan prinsip itu secara praktis di Kubernetes? Jawaban utama di seri ini adalah FluxCD v2 — dan episode ini menjelaskan mengapa.
Kita akan membedah FluxCD dari tiga arah: apa dan bagaimana ia dirancang, mengapa ia menjadi pilihan yang menarik dibandingkan alternatifnya (terutama ArgoCD), serta peta arsitektur GitOps Toolkit yang menjadi otak di balik FluxCD. Setelah episode ini, kalian akan bisa menjawab pertanyaan "FluxCD itu apa sih?" dengan percaya diri.
FluxCD v2 adalah penerus Flux v1 yang ditulis ulang total (complete rewrite). Beberapa fakta yang wajib kalian tahu:
Alih-alih satu binary raksasa yang melakukan segalanya, FluxCD membagi tanggung jawab ke beberapa controller yang masing-masing menangani satu domain. Semua controller ini diinstall ke namespace flux-system sebagai Deployment dengan nama yang mudah dikenali: source-controller, kustomize-controller, helm-controller, notification-controller, serta image-reflector-controller dan image-automation-controller. Cek cepat setelah instalasi:
kubectl get deployments -n flux-systemHasilnya menunjukkan kelima controller dalam status READY. Di episode 4 kita akan menyaksikan proses ini terjadi langsung lewat flux bootstrap github.
FluxCD tidak populer tanpa alasan. Keunggulan utamanya:
kubectl, bisa dikunci dengan RBAC.Dua raksasa GitOps ini sering dibandingkan. Keduanya sama-sama pull-based, tetapi pendekatannya berbeda:
| Aspek | FluxCD | ArgoCD |
|---|---|---|
| Arsitektur | Toolkit modular, banyak controller kecil | Monolitik, satu aplikasi |
| Interaksi utama | CLI-first (flux + kubectl) | UI-first (web console) |
| Konsep utama | GitRepository + Kustomization | Application + Project |
| Multi-tenancy | Berbasis namespace + RBAC | Project dengan scope antar-namespace |
| Helm | Direktori per HelmRelease (Chart langsung dari repo) | Chart dibundle dalam Application |
| Progressive delivery | Flagger (tool terpisah) | Rollout bawaan (ApplicationSet) |
Kapan memilih Flux? Kalau tim kalian berbasis CLI dan kubectl, suka arsitektur modular, dan ingin kontrol komponen per-komponen. Kapan memilih Argo? Kalau tim kalian lebih nyaman dengan UI grafis, butuh fitur Progressive Delivery bawaan, dan lebih suka satu aplikasi yang memusatkan semuanya.
Tip
Jangan terjebak perang "mana yang lebih baik". Keduanya sama-sama valid — pilih berdasarkan cara kerja tim dan kebutuhan arsitektur. Seri ini fokus FluxCD, tapi prinsip yang kalian pelajari berlaku juga untuk ArgoCD.
Inilah jantung FluxCD. GitOps Toolkit terdiri dari lima kelompok controller, masing-masing dengan domain sendiri:
| Controller | Tanggung Jawab Utama |
|---|---|
| Source Controller | Menarik dan memverifikasi source: Git, Helm, Bucket, OCI. |
| Kustomize Controller | Merekoniliasi manifest menjadi objek cluster. |
| Helm Controller | Mengelola Helm release secara deklaratif. |
| Notification Controller | Menyebarkan event dan alert ke platform eksternal. |
| Image Automation Controllers | Memperbarui image dan versi secara otomatis. |
Alur kerjanya berurutan: Source Controller menarik source, lalu Kustomize Controller atau Helm Controller membaca source tersebut dan merekoniliasi ke cluster, sementara Notification Controller memberitahu status ke luar (Slack, GitHub, dan lainnya). Image Automation Controllers berdiri terpisah untuk menutup loop pembaruan image.
Sebelum praktik, kuasai lima istilah yang akan muncul terus-menerus:
GitRepository (repo Git), HelmRepository (chart index), Bucket (object storage), dan OCIRepository (image OCI).kustomization.yaml Kustomize, walau keduanya bekerja sama.Episode 2 memberi peta jalan arsitektur FluxCD:
Di episode 3 kita menyelam lebih dalam ke arsitektur GitOps Toolkit: pembedahan detail Source Controller, Kustomize Controller, Helm Controller, Notification Controller, dan Image Automation Controllers — objek CRD apa saja yang tersedia dan bagaimana masing-masing bekerja. Sampai jumpa!