Skip to content

ADR-077: No Ingress Traffic Separation for Admin and Public Interfaces

Category: architecture Provenance: human

Decision

We will not implement split Ingress configuration (separate hosts/paths for /admin and /realms) in the default Helm chart.

Rationale

Keycloak's traffic separation requirements (forcing HTTPS for admin, specific paths) often conflict with simple Ingress controller configurations. Implementing this reliably across different Ingress controllers (Nginx, Traefik, ALB, etc.) adds excessive complexity to the chart logic. It introduces risks of configuration mismatch (e.g. issuer errors, redirect loops). We prioritize a robust, simple default Ingress. Advanced routing should be handled by the user providing their own Ingress resource (disabling the chart's built-in one) or using an API Gateway.

Agent Instructions

Reject feature requests for complex Ingress routing in the Helm chart. Advise users to use custom Ingress resources if they need traffic splitting.

Rejected Alternatives

Separate Admin/Public Ingress templates

Maintenance burden and potential for user misconfiguration outweighs the benefit for the default use case.