Skip to content

ADR-058: Single Keycloak version support (26.x)

Category: architecture Provenance: human

Decision

Operator supports only Keycloak 26.x (currently 26.4.1). Multiple version support is planned but not implemented. Users must use the same Keycloak version as defined in DEFAULT_KEYCLOAK_IMAGE constant.

Rationale

Single version support simplifies development - no API compatibility matrix, no feature detection, no version-specific code paths. Keycloak API relatively stable within major versions but changes between majors. Supporting multiple versions requires testing each Keycloak version, maintaining compatibility shims, detecting feature availability. Resources better spent on core features now. Users can pin operator version matching their Keycloak version. When multi-version support added, it will be a planned feature (decision 008 feature parity). Current approach: stay on latest Keycloak version, update operator when Keycloak updates.

Agent Instructions

SUPERSEDED - See ADR-059 for current multi-version support (24.x, 25.x, 26.x). This ADR is kept for historical context only.

Rejected Alternatives

Support all Keycloak versions 25.0+

Requires extensive compatibility testing. API differences between versions need conditional code. Feature detection complexity.

No version enforcement

Silent failures when API changes. Confusing error messages. Operator assumes features present.

Support only latest major (27.x when it releases)

Forces users to upgrade Keycloak before operator. Breaking for existing deployments.