Skip to content

Architecture Decision Records

This directory holds Architecture Decision Records (ADRs): short documents that capture a significant decision, its context, and its consequences. They are the durable record of why the project looks the way it does.

When to write one

Write an ADR when a decision is non-obvious, hard to reverse, or likely to be questioned later — e.g. choice of framework, an external protocol, an API shape, or a tooling trade-off. Don't write one for routine, easily reversible choices.

How to add one

  1. Copy 0000-template.md to the next number, e.g. 0005-short-title.md.
  2. Fill in Context, Decision, Consequences, and Alternatives.
  3. Set the status (ProposedAccepted → optionally Superseded by ADR-NNNN).
  4. Add it to the index below and link it from the relevant doc/code.

ADRs are immutable once Accepted: to change a decision, write a new ADR that supersedes the old one rather than editing history.

Index

ADR Title Status
0001 Use Kubebuilder + controller-runtime Accepted
0002 Manage MQ via the mqweb REST API behind an MQAdmin port Accepted
0003 Decouple connection details with QueueManagerConnection Accepted
0004 Use Task as the task runner Accepted
0005 Keep tooling lean; borrow discipline, not org overhead Accepted
0006 Project name and module identity (Kurator) Superseded by 0018
0007 Structured logging with logr and slog Accepted
0008 Generate changelogs with git-cliff Accepted
0009 Validating admission webhooks (no MQ at admission) Accepted
0010 Drift-based MQ reconciliation (DEFINE + DISPLAY) Accepted
0011 Layered testing strategy (mock → envtest → MQ → kind) Accepted
0012 Operator scope — existing Queue Manager only Accepted
0013 Finalizers and deletion (MQ object before CR removal) Accepted
0014 MQ error taxonomy and requeue strategy Accepted
0015 Kubernetes Events on status transitions only Accepted
0016 Release supply chain (image, SBOM, signing, scan) Accepted
0017 PCF adapter behind the MQAdmin port Accepted (scaffold only; full adapter parked)
0018 Rename project Kurator → MKurator Accepted
0019 OSS maturity posture (docs site, governance, supply chain) Accepted
0020 CI merge-gate matrix (L0–L5 ↔ workflows) Accepted
0021 Attribute API shape — typed fields + attributes escape hatch Accepted
0022 Deletion and adoption policies for MQ object CRs Accepted
0023 Connection client cache lifecycle and Secret handling Accepted
0024 MQSC command construction hygiene (structured-first) Accepted
0025 CEL-first admission validation; webhooks for stateful checks Accepted
0026 v1beta1 graduation plan — conversion scope and deprecation policy Accepted