Architecture Decision Records
These ADRs capture the significant design decisions behind this chart — the why behind defaults and structure, so future changes are made with full context. Format: Michael Nygard's ADR.
| # | Decision |
|---|---|
| 0001 | Maintain a fork of twuni/docker-registry.helm |
| 0002 | Recommended labels via a shared helper; immutable selector labels |
| 0003 | Merge user labels with chart labels via a helper |
| 0004 | Deployment by default, StatefulSet opt-in |
| 0005 | service.create defaults to true |
| 0006 | existingSecret over per-provider key overrides |
| 0007 | Stable haSharedSecret via lookup |
| 0008 | PodMonitor is additive, not a replacement |
| 0009 | Four-layer test strategy with an in-chart helm test hook |
| 0010 | values.yaml as docs source; helm-docs + values.schema.json |
| 0011 | In-chart TLS material and Redis cache credentials |
| 0012 | Render the ConfigMap without mutating .Values |
| 0013 | Pin GitHub Actions to commit SHAs |
| 0014 | Checksum-verify third-party binaries downloaded in CI |
| 0015 | Pin the helm-unittest plugin version in CI |
| 0016 | Remove the PR-diff smoketest workflow |
| 0017 | Share the pod template between Deployment and StatefulSet |
| 0018 | Align the garbage-collect CronJob pod spec with the workload |
Adding an ADR
Copy the format of an existing record, use the next number, and link it in the table above. Keep them short: Status, Context, Decision, Consequences.