Skip to content

ADR-014: Separate Helm charts per resource type

Category: architecture Provenance: guided-ai

Decision

Maintain independent Helm charts: keycloak-operator, keycloak-realm, keycloak-client. Each chart has independent versioning and release cycles.

Rationale

Flexibility: Users can update charts independently of operator. Separation of concerns: Operator chart vs resource CRD charts have different lifecycles. GitOps friendly: Teams can pin different chart versions per environment. Helm best practices: One chart per deployable unit.

Agent Instructions

Chart-specific changes require scoped commits: feat(chart-operator):, feat(chart-realm):, feat(chart-client):. Each chart in charts/ directory has its own Chart.yaml version. Chart releases are independent of operator image releases. Helm repository contains all chart versions at https://vriesdemichael.github.io/keycloak-operator/charts.