Skip to content

Commit adc3b8f

Browse files
committed
docs: add Helm chart parity tracking document
1 parent b2ce459 commit adc3b8f

1 file changed

Lines changed: 64 additions & 0 deletions

File tree

docs/design/helm-parity.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Helm Chart Parity Tracking
2+
3+
This document tracks the mapping between upstream `coder/coder` Helm chart
4+
values and the `CoderControlPlane` CRD fields managed by this operator.
5+
6+
## Legend
7+
8+
| Status | Meaning |
9+
|--------|---------|
10+
|| Implemented in CRD |
11+
| 🚧 | Planned / in progress |
12+
|| Not planned / out of scope |
13+
14+
## Phase 1 — Production Readiness
15+
16+
| Helm Chart Value | CRD Field | Status | Notes |
17+
|------------------|-----------|--------|-------|
18+
| `coder.image.repo` / `coder.image.tag` | `spec.image` || Combined as full image reference |
19+
| `coder.replicaCount` | `spec.replicas` || |
20+
| `coder.env` | `spec.extraEnv` || |
21+
| `coder.service.type` | `spec.service.type` || |
22+
| `coder.service.httpNodePort` | `spec.service.port` || Port only; nodePort inferred by Kubernetes |
23+
| `coder.service.annotations` | `spec.service.annotations` || |
24+
| `coder.serviceAccount.create` | `spec.serviceAccount.disableCreate` || Inverted sense |
25+
| `coder.serviceAccount.name` | `spec.serviceAccount.name` || |
26+
| `coder.serviceAccount.annotations` | `spec.serviceAccount.annotations` || |
27+
| `coder.serviceAccount.labels` | `spec.serviceAccount.labels` || |
28+
| `coder.workspaceProxy` ||| Workspace proxy mode not in scope |
29+
| `coder.resources` | `spec.resources` || |
30+
| `coder.securityContext` | `spec.securityContext` || Container-level |
31+
| `coder.podSecurityContext` | `spec.podSecurityContext` || Pod-level |
32+
| `coder.tls.secretNames` | `spec.tls.secretNames` || Enables Coder built-in TLS |
33+
| `coder.readinessProbe` | `spec.readinessProbe` || |
34+
| `coder.livenessProbe` | `spec.livenessProbe` || |
35+
| `coder.env` (`CODER_ACCESS_URL`) | `spec.envUseClusterAccessURL` || Auto-injects default in-cluster URL |
36+
| `coder.rbac.createWorkspacePerms` | `spec.rbac.workspacePerms` || |
37+
| `coder.rbac.enableDeployments` | `spec.rbac.enableDeployments` || |
38+
| `coder.rbac.extraRules` | `spec.rbac.extraRules` || |
39+
40+
## Phase 2 — Operability & HA
41+
42+
| Helm Chart Value | CRD Field | Status | Notes |
43+
|------------------|-----------|--------|-------|
44+
| `coder.envFrom` | `spec.envFrom` || |
45+
| `coder.volumes` | `spec.volumes` || |
46+
| `coder.volumeMounts` | `spec.volumeMounts` || |
47+
| `coder.certs.secrets` | `spec.certs.secrets` || CA cert Secret selectors |
48+
| `coder.nodeSelector` | `spec.nodeSelector` || |
49+
| `coder.tolerations` | `spec.tolerations` || |
50+
| `coder.affinity` | `spec.affinity` || |
51+
| `coder.topologySpreadConstraints` | `spec.topologySpreadConstraints` || |
52+
| `coder.ingress.*` | `spec.expose.ingress` || Part of unified expose API |
53+
| Gateway API | `spec.expose.gateway` || HTTPRoute; Gateway CRDs optional |
54+
| `coder.imagePullSecrets` | `spec.imagePullSecrets` || |
55+
56+
## Not Planned
57+
58+
| Helm Chart Value | Reason |
59+
|------------------|--------|
60+
| `coder.workspaceProxy` | Workspace proxy mode is a separate concern |
61+
| `coder.podDisruptionBudget` | Future enhancement |
62+
| `coder.initContainers` | Future enhancement |
63+
| `coder.command` | Not safe to override in operator mode |
64+
| `provisionerDaemon.*` | Separate provisioner deployment (future) |

0 commit comments

Comments
 (0)