ADR-001: Kopf as operator framework¶
Category: architecture Provenance: guided-ai
Decision¶
Use Kopf (Python) instead of Go-based frameworks (controller-runtime, operator-sdk) for implementing the Keycloak operator.
Rationale¶
Better LLM support: Python is better understood by language models, enabling more effective AI-assisted development. Better testing: pytest ecosystem is more mature and flexible than Go testing frameworks. SRE-friendly: Python aligns better with SRE backgrounds and existing automation tooling. Trade-off: Slightly higher resource usage acceptable for operators managing relatively few resources.
Agent Instructions¶
When implementing operator logic or handlers, always use Kopf decorators and patterns.