OPA Config
opa-config bukan service aplikasi, melainkan image yang menjalankan OPA (Open Policy Agent) server itu sendiri beserta policy Rego yang menjadi mesin keputusan otorisasi RAGA. Setiap kali OPA Auth bertanya "apakah request ini diizinkan?", jawabannya dihitung oleh policy yang dijalankan di sini.
opa-config adalah satu dari tiga komponen subsistem OPA di RAGA:
| Komponen | Peran |
|---|---|
| OPA Config | Menjalankan OPA server & menyimpan policy Rego (mesin keputusan) |
| OPA Data | Menyinkronkan data role & grant dari User Service ke OPA |
| OPA Auth | Menjadi gate di depan Traefik — memanggil OPA untuk setiap request |
Tech Stack
| Layer | Teknologi |
|---|---|
| Base Image | Alpine 3.20 |
| Policy Engine | OPA binary (v1.5.1) |
| Bahasa Policy | Rego |
| Secret Management | Infisical CLI (infisical run --watch) |
Detail struktur policy, alur keputusan, dan environment variable lengkap ada di halaman Teknis.
Alur Singkat
- OPA Data menulis data role/grant terbaru ke file
data.jsondi volume bersama. - OPA server (dijalankan dari image ini) memuat
data.jsondanpolicy.regosebagai basis keputusan. - OPA Auth memanggil
POST /v1/data/verify_accessuntuk setiap request masuk; OPA mengevaluasi policy Rego terhadapdata.jsondan mengembalikan keputusan allow/deny beserta detail role & grant user.
Ringkasan
opa-config adalah "otak" dari subsistem OPA — bukan yang menerima traffic dari Traefik (itu tugas opa-auth) atau yang mengisi data (itu tugas opa-data), melainkan yang benar-benar memutuskan izin berdasarkan aturan Rego dan data terbaru yang sudah disinkronkan.