ADR-0018: Rename project Kurator → MKurator¶
- Status: Accepted
- Date: 2026-06-03
- Supersedes: ADR-0006 (identity only; MQ scope unchanged)
Context¶
The operator shipped as Kurator (ADR-0006) with
module github.com/platformrelay/mkurator, API group messaging.kurator.dev, and Helm chart
charts/kurator. The maintainer renamed the GitHub repository to mkurator and
wanted the product name MKurator (emphasising MQ curation) reflected consistently
in module paths, CRDs, namespaces, images, and docs.
Decision¶
- Display name: MKurator
- Slug / identifiers:
mkurator(namespaces, images, kind cluster, chart dir) - Go module:
github.com/platformrelay/mkurator - GitHub / GHCR:
github.com/platformrelay/MKurator,ghcr.io/platformrelay/mkurator - API group / domain:
messaging.mkurator.dev, versionv1alpha1(breaking) - System namespace:
mkurator-system(waskurator-system) - E2E namespaces:
mkurator-e2e-*(waskurator-e2e-*) - Local kind cluster default:
mkurator(CLUSTER_NAMEoverrides) - Helm chart path:
charts/mkurator - Leader election ID and webhook names use
mkurator/mkurator.devprefixes
Consequences¶
- Breaking: API group change requires uninstalling old CRDs (
messaging.kurator.dev) and reinstallingmessaging.mkurator.devCRDs; existing CRs must be migrated or recreated. - All kubebuilder markers, generated CRDs, RBAC, webhooks, and samples regenerated.
- CI image references and
cliff.tomlrepo updated toplatformrelay/MKurator. - Local kind clusters named
kuratorcontinue to work viaCLUSTER_NAME=kuratoruntil recreated; new defaults usemkurator. - Workspace directory may remain
IBM-Message-Queue-Operator; module path is authoritative. - Environment variable prefix
KURATOR_(e.g.KURATOR_LOG_LEVEL,KURATOR_E2E_MQ,KURATOR_INTEGRATION_MQ) was deliberately retained for compatibility with existing scripts, CI, and developer muscle memory; only product identifiers (module, API group, namespaces, images) usemkurator.
Alternatives considered¶
- Keep API group
messaging.kurator.dev— avoids CRD migration but contradicts the rename; rejected for consistency. - Rename only repo, not API group — rejected; full rename reduces long-term confusion.