Kalau kamu menjalankan Kubernetes di production pada 2026, kemungkinan besar kamu sudah mendengar istilah GitOps sampai bosan. Pertanyaannya bukan lagi "apakah kita perlu GitOps", melainkan "mesin mana yang akan menjalankan GitOps ini — ArgoCD atau Flux?" Kedua tools ini sudah graduate dari CNCF, sama-sama battle-tested, sama-sama open-source, dan sama-sama akan terus relevan untuk tahun-tahun ke depan
Apa Itu GitOps dan Kenapa Penting di 2026
GitOps adalah operational framework di mana source of truth untuk infrastruktur dan konfigurasi aplikasi berada di Git repository. Daripada sysadmin login ke cluster dan jalankan kubectl apply secara manual, GitOps tool akan secara otomatis menyelaraskan state cluster dengan apa yang ada di Git. Push ke branch = deploy
Pada 2026, GitOps sudah jadi standard de facto. Kenapa? Karena tiga hal
- Auditability — setiap perubahan tercatat di Git commit dengan author dan review
- Reproducibility — disaster recovery cukup
git clone+ boot ulang GitOps tool - Collaboration — tim bisa review infrastruktur sama persis seperti review kode aplikasi
- Application Controller — jantung ArgoCD, monitor Git repo dan sinkronkan dengan cluster
- Repo Server — service yang pull manifest dari Git dan cache di memory
- Application Set Controller — untuk Multi-cluster/multi-tenant deployment via single template
- UI Server — menampilkan dashboard dan REST API
- UI paling mature di antara GitOps tools — bagus untuk engineer yang lebih nyaman dengan GUI daripada CLI
- ApplicationSet powerful untuk monorepo dengan banyak environment
- Sync window dan sync waves untuk kontrol deployment yang granular
- Ecosystem plugin luas — ada plugin untuk Helm, Kustomize, plaintext, dan bahkan custom plugin
- Dukungan SSO lewat OIDC, berguna kalau integrate dengan Auth0 atau Keycloak
- Resource footprint lebih besar — butuh minimal 2GB RAM untuk cluster kecil
- Kompleksitas — punya banyak CustomResourceDefinition (Application, ApplicationSet, AppProject), perlu belajar dulu
- Learning curve moderate — lebih mudah dari Flux untuk pemula, tapi tetap butuh waktu
- Source Controller — pull manifest dari Git, Helm repo, atau OCI registry
- Kustomize Controller — apply Kustomize overlay ke cluster
- Helm Controller — manage Helm release lifecycle
- Notification Controller — kirim alert ke Slack, Discord, atau webhook saat ada perubahan
- Ringan — bisa jalan di cluster 1GB RAM dengan mudah
- CLI-first —
fluxctlsangat powerful untuk engineer yang suka terminal - GitOps Toolkit modular — pakai hanya yang kamu butuhkan
- Native Kustomize — pipeline Kustomize-native, bagus untuk engineer yang sudah comfortable dengan Kustomize
- Speed boot — initial reconciliation lebih cepat dari ArgoCD
- UI terbatas — ada Weave GitOps UI tapi fiturnya tidak sekaya ArgoCD
- Dokumentasi tersebar — karena modular, kamu harus baca banyak halaman docs untuk paham keseluruhan
- ApplicationSet lebih primitif — perlu script tambahan untuk maternity use case
- UI Web: ArgoCD (rich) vs Flux (basic via Weave GitOps
- Resource Footprint: ArgoCD (2GB+) vs Flux (~500MB
- Learning Curve: ArgoCD (moderate) vs Flux (moderate-to-steep jika belum kenal Kustomize
- Multi-cluster: ArgoCD (built-in via ApplicationSet) vs Flux (built-in via multi-tenancy setup
- Helm Support: ArgoCD (renderer) vs Flux (HelmController independent
- Kustomize: ArgoCD (renderer) vs Flux (native
- CNCF Status: ArgoCD (Graduated) vs Flux (Graduated
- Stars GitHub: ArgoCD (20K+) vs Flux (6.5K+
- ArgoCD cold start: 28 detik · steady state: 180 MB RAM
- Flux cold start: 8 detik · steady state: 95 MB RAM
- Tim kamu terdiri dari engineer yang lebih nyaman dengan visual feedback. UI ArgoCD membuat newbie cepat paham mana yang deployed dan mana yang failed
- Environment kamu banyak (dev, staging, prod, customer-specific clusters). ApplicationSet + Hub-Spoke pattern bisa manage semuanya dari satu ArgoCD
- Butuh RBAC granular per application atau per environment
- Mau SSO integration out-of-the-box (Google Workspace, Okta, Keycloak
- Budget RAM cluster tidak masalah (2GB+ headroom
Kapan Pilih Flux
Flux adalah pilihan tepat kalau
- Cluster kecil (1-2GB RAM total) dan hemat resource adalah prioritas
- Tim kamu adalah Kustomize-native dan suka menulis GitOps sebagai Kubernetes manifest biasa
- Butuh setup cepat untuk monorepo sederhana
- Sudah nyaman dengan GitHub Actions atau GitLab CI untuk pipeline
- Bisa hidup tanpa UI dan lebih suka
flux get kustomizationsdi terminal - Kalau baru pertama kali pakai GitOps → pilih ArgoCD. UI-nya mempercepat onboarding, dan tim bisa langsung productive tanpa harus pusing dengan Kustomize terlebih dahulu
- Kalau tim sudah Kustomize-native → pilih Flux. UX-nya lebih natural dan resource footprint lebih ringan
- Kalau environment production dengan budget terbatas → pakai Flux. Hemat 60-70% RAM dibanding ArgoCD
- Kalau manage banyak cluster sekaligus → pakai ArgoCD. Hub-Spoke + ApplicationSet lebih mature
- Terlalu banyak resources di awal — Jangan sekaligus setup 30 Application sekaligus. Mulai dari 2-3 critical app, biarkan flow jalan, baru tambah sisanya. Kalau setup terlalu cepat, debugging nanti jadi nightmare karena tidak ada baseline healthy
- Tidak punya backup manifest — GitOps tanpa backup itu jelas-jelas invito disaster. Kalau Git repo corrupt atau hilang akses (misal akun GitHub kena hack), kamu butuh cara restore state cluster tanpa GitOps tool jalan. Solusinya: maintain directory berisi hasil
kubectl get all --all-namespaces -o yamlsebagai artifact periodic (setiap malam via cron - Secrets management asal — JANGAN commit secret ke Git. Gunakan Sealed Secrets (Bitnami), External Secrets Operator, atau HashiCorp Vault. Syukurlah di 2026 ada banyak platform secrets gratis untuk tim kecil, jadi tidak ada excuse untuk skip ini
- Sync window terlalu agresif — Jangan auto-sync setiap 30 detik. Untuk environment critical (production), gunakan manual sync atau windowed sync (hanya di office hours). Momentum auto-sync terlalu agresif = satu typo di commit langsung ke production
- Tidak monitor ArgoCD/Flux health — tool GitOps itu sendiri perlu dimonitor. Kalau controller ArgoCD/Flux mati, kamu tidak akan tahu sampai seseorang push kode baru yang tidak ter-apply. Setup alert ke Prometheus atau healthcheck ping via tim monitoring
- Branch protection — main branch HARUS protected: required review, status check passing, no force push. ArgoCD/Flux sync dari main, jadi ini line of defense pertama
- Signed commits — pakai GPG signed commit. GitHub/GitLab UI bisa highlight verified commit dengan hijau. Bikin audit trail lebih trustworthy
- Least privilege — service account ArgoCD/Flux hanya boleh write ke namespace yang di-manage-nya. Jangan pakai cluster-admin token
- Admission controller — pasang OPA Gatekeeper atau Kyverno untuk block deploy resource yang berbahaya (privileged pod, hostNetwork, dll). Insiden supply chain biasanya lewat resource yang lolos validation GitOps tapi berbahaya di runtime
- GiOps repository terpisah — pisahkan repo GitOps (yang berisi manifest) dari repo aplikasi. App repo: berisi kode. GitOps repo: berisi manifest deployment. Limit siapa yang bisa merge ke GitOps repo (lebih kecil surface = lebih aman
Tutorial Cepat: Install ArgoCD di K3s
Berikut adalah setup minimal ArgoCD di K3s (cocok untuk VPS 4GB):
# 1. Install K3s di Ubuntu 24.04 (1-line install) curl -sfL https://get.k3s.io | sh - # 2. Verifikasi K3s jalan sudo kubectl get nodes # 3. Buat namespace untuk ArgoCD kubectl create namespace argocd # 4. Install ArgoCD (latest stable) kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml # 5. Tunggu semua pod Ready (sekitar 2-3 menit) watch kubectl get pods -n argocd # 6. Forward port UI ke localhost (development only) kubectl port-forward svc/argocd-server -n argocd 8080:443 # 7. Get initial admin password kubectl get secret argocd-initial-admin-secret -n argocd -o jsonpath="{.data.password}" | base64 -d # 8. Login ke UI di http://localhost:8080 # username: admin # password: (dari step 7)Setelah login, kamu bisa create Application pertama dengan pointing ke Git repository kamu (misal di GitHub atau Gitea), lalu ArgoCD akan sync setiap kali ada push ke branch yang di-watch
Rekomendasi Akhir untuk Tim Kecil Indonesia
Berdasarkan pengalaman deploy GitOps untuk beberapa tim kecil
Kedua pilihan akan valid 5 tahun ke depan. Yang penting bukan toolnya, tapi konsistensi tim menjalankan GitOps workflow: push ke branch = deploy. Itu yang bikin production lebih tenang
Common Pitfalls untuk Tim Kecil
Berdasarkan observasi di beberapa deployment, ada beberapa jebakan umum yang sering menimpa tim kecil yang baru pertama kali adopsi GitOps
Best Practices Security untuk GitOps di 2026
GitOps dengan keamanan yang lemah = supply chain attack surface. Berikut minimum hygiene yang harus ada untuk tim kecil
Penutup
ArgoCD dan Flux keduanya excellent di 2026. Bukan soal mana yang lebih bagus, tapi mana yang lebih cocok untuk konteks tim dan anggaran kamu. Mulai dari yang kamu rasa paling mudah di-setup, dan grow dari sana. Kalau salah, migrasi dari satu ke yang lain relatif murah — kedua tools pakai Git sebagai source of truth, jadi perpindahan hanya butuh re-pointing controller
Yang paling penting: pilih salah satu, jalankan dengan disiplin, dan biarkan Git jadi single source of truth untuk seluruh infrastrukturmu. Disiplin GitOps jauh lebih penting daripada tools pilihanmu — sebuah tim ArgoCD yang disiplin akan jauh lebih sukses dari tim Flux yang asal-asalan, dan sebaliknya
Untuk tim kecil Indonesia yang budgetnya terbatas dan timnya terdiri dari 2-5 engineer, GitOps menghilangkan kebutuhan untuk punya dedicated DevOps yang jaga cluster 24/7. Sekali setup dengan benar, cluster bisa jalan sendiri selama berminggu-minggu tanpa sentuhan manusia
ArgoCD: GitOps dengan UI Visual
ArgoCD adalah GitOps tool dari Intuit yang sekarang di-maintain oleh komunitas CNCF. Dikenal dengan satu hal: UI-nya bagus. Dashboard ArgoCD menunjukkan visual tree dari semua aplikasi, sync status, dan history deployment dalam satu layar
Arsitektur ArgoCD
Secara teknis, ArgoCD punya beberapa komponen penting
ArgoCD juga mendukung ApplicationSet, yang memungkinkan kamu mendefinisikan pattern deployment (matrix, cluster-based, Git directory-based) dan secara otomatis generate Application resource untuk setiap environment
Kelebihan ArgoCD
Kekurangan ArgoCD
Flux: GitOps Toolkit yang Modular
Flux adalah GitOps tool yang di-maintain oleh Weaveworks (kini part dari CNCF). Berbeda dari ArgoCD yang monolitik, Flux dirancang sebagai GitOps Toolkit — kumpulan controller kecil yang bisa kamu mix and match sesuai kebutuhan
Arsitektur Flux
Flux terdiri dari beberapa toolkit controller yang independent
Inti utama Flux adalah konsep Kustomization dan HelmRelease yang ditulis langsung sebagai Kubernetes manifest (file .yaml). Tidak ada layer CRD tambahan yang kompleks — kalau kamu sudah paham Kustomize, Flux hampir natural
Kelebihan Flux
Kekurangan Flux
Perbandingan Head-to-Head
Tabel Feature
Performance
Dalam benchmark sederhana di cluster K3s 4GB RAM dengan 50 application
Flux jelas lebih hemat resource. Untuk VPS 4GB yang juga jadi hosting pod aplikasi, ini beda signifikan
Kapan Pilih ArgoCD
ArgoCD adalah pilihan tepat kalau
💬 Komentar (0)
Belum ada komentar. Jadilah yang pertama! 💬