Skip to content

Decision Records

This section contains Architecture Decision Records (ADRs) documenting significant architectural and design decisions made during the development of the Keycloak Operator.

Browse by Category

Architecture Decisions (37 records)

Core design decisions affecting system structure, behavior, and runtime characteristics.

Development Decisions (33 records)

Tooling, processes, testing strategies, and development workflow decisions.

About ADRs

Architecture Decision Records capture important architectural decisions along with their context and consequences. Each ADR documents:

  • Decision: What was decided
  • Context: Why the decision was needed
  • Rationale: Why this particular solution was chosen
  • Consequences: Expected positive and negative outcomes
  • Alternatives: Other options considered and why they were rejected

Key Decision Records

Here are some particularly important ADRs for understanding the system:

  • ADR-017: Kubernetes RBAC over Keycloak security
  • ADR-063: Namespace grant list authorization (current model)
  • ADR-040: Admission webhooks for validation
  • ADR-019: Drift detection
  • ADR-001: Kopf as operator framework

Architecture Decisions

Development Decisions