Membawa disiplin GitOps ke manajemen policy: Git sebagai sumber kebenaran tunggal, pipeline validasi dan deployment otomatis, serta promosi policy antar branch dan lingkungan yang bisa diaudit.

Episode 18 menutup dengan disaster recovery dan failover — kalian tahu cara menyelamatkan cluster OpenClaw saat bencana. Episode 19 ini bergeser dari reaksi ke pencegahan: CI/CD & GitOps for Policies. Daripada mengubah policy lewat kubectl langsung (yang rapuh, tidak tercatat rapi, dan berbahaya saat panik), semua perubahan policy akan mengalir lewat Git dan pipeline.
Roadmap episode 19: memahami prinsip GitOps untuk policy, membangun pipeline validasi dan deployment otomatis, mempromosikan policy antar branch dan lingkungan, lalu memakai Git sebagai mesin rollback dan audit trail.
Git sebagai sumber kebenaran. Di GitOps, Git adalah satu-satunya tempat policy didefinisikan. Cluster bukan sumber kebenaran — ia hanya hasil render dari Git. Kalau ada perbedaan antara Git dan cluster, yang menang adalah Git; konfigurasi yang melenceng di-reconcile kembali. Ini membuat state selalu bisa dijawab: siapa mengubah apa, kapan, dan mengapa, cukup dengan melihat riwayat commit.
Declarative dan konvergen. Policy ditulis sebagai file deklaratif di repo, bukan sebagai perintah sekali jalan. Tool seperti Argo CD atau Flux melihat perbedaan antara Git dan cluster lalu menariknya ke kondisi yang diinginkan. Untuk policy OpenClaw, ini berarti setiap file YAML di repo menjadi ServicePolicy, MeshConfig, atau NetworkPolicy di cluster.
Pull vs push. Idealnya deployment memakai mekanisme pull: controller di dalam cluster yang mengambil perubahan dari Git, bukan pipeline yang mendorong ke cluster. Ini menutup celah keamanan klasik — kredensial cluster tidak perlu disimpan di pipeline. Kalian bisa menarik policy yang sudah ada ke repo sebagai titik awal lewat openclawctl policy pull.
Validasi sebelum deploy. Setiap PR harus melewati gerbang sebelum boleh di-merge. Mulai dari hal murah: YAML valid, schema cocok dengan versi CRD, tidak ada duplikasi nama policy — sampai yang lebih dalam: dry-run ke cluster staging, simulasi dampak policy terhadap lalu lintas nyata, dan cek bahwa tidak ada perubahan yang menghapus akses yang sedang dipakai.
openclawctl policy validate --file policy.yaml
openclawctl policy plan --file policy.yaml --cluster staging
openclawctl policy diff --file policy.yaml --current cluster-stagingTiga perintah di atas bisa dipasang di tahap apa pun — openclawctl policy validate untuk validasi sintaks, openclawctl policy plan untuk menampilkan dampak sebelum diterapkan, dan openclawctl policy diff untuk membandingkan dengan kondisi terkini di cluster. Sama seperti plan dari tool IaC, tujuannya satu: tidak ada kejutan saat diterapkan.
Deployment otomatis. Setelah PR di-merge ke branch default, perubahan diterapkan ke cluster secara otomatis. Dengan Argo CD, cukup satu definisi Application:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: openclaw-policies
spec:
destination:
server: https://kubernetes.default.svc
namespace: openclaw
source:
repoURL: https://github.com/company/openclaw-policies
path: environments/production
targetRevision: main
syncPolicy:
automated:
prune: true
selfHeal: trueSelama repo kalian sudah direview lewat PR dan validasi di atas hijau, sinkronisasi otomatis aman. Aktifkan selfHeal supaya perubahan manual di cluster langsung dikoreksi — itu bagian dari disiplin konvergen.
Info
Automasi yang tidak bisa dicegah adalah otomasi yang menakutkan. Pastikan ada prosedur untuk menghentikan sinkronisasi sementara saat insiden, dan setiap orang tahu cara mematikannya.
Policy tidak berubah langsung di production. Model promosi berbasis branch menjaga alur yang bisa dilacak:
environments:
staging:
branch: staging
cluster: openclaw-staging
autoPromote: false
production:
branch: main
cluster: openclaw-prod
autoPromote: truegit checkout staging
git merge --no-ff feature/rate-limit-billingSetiap environment memetakan branch ke cluster. Promosi dari staging ke main bukan sembarang merge — ia menjalankan validasi ulang lengkap, membutuhkan review dan approval, dan bisa dikunci dengan branch protection di repositori Git. Inilah alur yang sama dengan rilis pratinjau di staging yang biasa kalian lihat pada semantic-release: perubahan matang di staging, lalu naik ke main.
Biasakan commit policy dengan pesan yang menjelaskan dampak, misalnya menambahkan pengecualian untuk service baru atau mengetatkan rate limit di gateway. Riwayat commit yang baik adalah audit trail pertama yang akan kalian butuhkan saat investigasi.
Kelebihan paling nyata GitOps: rollback semudah git revert. Policy bermasalah? Revert commit, dan sinkronisasi berikutnya mengembalikan cluster ke kondisi sebelum perubahan. Tidak perlu mengingat config lama, tidak perlu menebak — Git sudah menyimpannya.
git revert HEAD
git push origin main
openclawctl policy sync-status --cluster openclaw-prodKarena setiap perubahan tercatat sebagai commit dengan author dan timestamp, kalian dapat jawaban lengkap untuk pertanyaan audit: policy apa yang berubah menjelang insiden, siapa yang menulisnya, dan siapa yang menyetujuinya. Padukan dengan audit logging OpenClaw dari episode 6, dan kalian punya bukti berlapis — satu di Git, satu di jejak runtime.
Pada episode 19, kalian mengubah manajemen policy dari aktivitas manual menjadi alur yang terotomatisasi dan bisa diaudit. Git adalah sumber kebenaran, pipeline memvalidasi sebelum deploy, promosi berbasis branch menjaga staging dan production tetap terpisah, dan git revert menjadi tombol rollback yang selalu siap.
Inti yang harus dibawa pulang:
git revert adalah rollback tercepat; audit trail-nya sudah terbentuk sejak commit pertama.Di episode 20, kalian melebarkan pandangan — Observability at Scale. Kalian akan men-scaling metrics dan dashboards untuk banyak cluster, mengorelasikan policy events dengan health service, dan membangun alerting untuk perilaku policy yang abnormal. Sampai jumpa!