feat: migrate to opala (MAPCO-7171)#30
Conversation
shimoncohen
commented
Sep 3, 2025
| Question | Answer |
|---|---|
| Bug fix | ✖ |
| New feature | ✔ |
| Breaking change | ✔ |
| Deprecations | ✖ |
| Documentation | ✖ |
| Tests added | ✖ |
| Chore | ✖ |
There was a problem hiding this comment.
Pull Request Overview
This PR migrates from a custom Envoy/OPA authorization setup to a simplified nginx-based solution called "opala". The changes significantly reduce complexity by removing Envoy proxy and OPA containers while maintaining authorization capabilities through nginx JavaScript modules.
- Removes Envoy proxy, OPA containers, and related configuration files
- Migrates to nginx-based authorization using JavaScript modules and external OPA service calls
- Updates nginx configuration to support OpenTelemetry tracing and external authorization validation
Reviewed Changes
Copilot reviewed 17 out of 18 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| helm/values.yaml | Removes authentication/OPA config, updates nginx settings with authorization URL and OpenTelemetry configuration |
| helm/templates/route.yaml | Removes OpenShift route template entirely |
| helm/templates/opa-secret.yaml | Removes OPA policy secret template |
| helm/templates/nginx-service.yaml | Removes nginx service template |
| helm/templates/nginx-deployment.yaml | Removes complex nginx deployment with Envoy/OPA sidecars |
| helm/templates/nginx-configmap.yaml | Simplifies configmap by removing JWT JavaScript and making nginx.conf templated |
| helm/templates/ingress.yaml | Removes ingress template |
| helm/templates/ingress-tls-secret.yaml | Removes TLS secret template |
| helm/templates/envoy-configmap.yaml | Removes Envoy configuration template |
| helm/templates/_helpers.tpl | Adds OpenTelemetry trace configuration helper function |
| helm/config/policy.rego | Removes OPA policy file |
| helm/config/nginx.conf | Updates to load OpenTelemetry module and support authorization JavaScript |
| helm/config/log_format.conf | Updates OpenTelemetry variable names from opentelemetry_ to otel_ prefix |
| helm/config/jwt.js | Removes JWT parsing JavaScript module |
| helm/config/envoy.yaml | Removes Envoy proxy configuration |
| helm/config/default.conf | Adds OpenTelemetry tracing and external OPA authorization validation |
| helm/Chart.yaml | Adds dependency on common nginx chart |
Comments suppressed due to low confidence (1)
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
syncush
left a comment
There was a problem hiding this comment.
it should be easy to add mc-labels-annotation for this chart, please do so.
it is a quick win
alebinson
left a comment
There was a problem hiding this comment.
Basically looks good to me.
10x!
Think in this case, let's run with the change. Errors, is any, we'll fix
bd50fe5
Co-authored-by: Netanel Cohen <34451523+netanelC@users.noreply.github.com>