Skip to content

Commit be1df4a

Browse files
ChrisJBurnsclaude
andauthored
Remove configMapRef from MCPOIDCConfig (#64)
Since MCPOIDCConfig is a dedicated typed CRD, there is no need for a configMapRef indirection — the type's own fields should always be used inline. This simplifies the CEL union to just kubernetesServiceAccount or inline. Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 9a55a90 commit be1df4a

1 file changed

Lines changed: 2 additions & 6 deletions

File tree

rfcs/THV-0023-crd-v1beta1-optimization.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -195,10 +195,6 @@ spec:
195195
requiredClaims:
196196
iss: https://kubernetes.default.svc
197197
# OR
198-
configMapRef:
199-
name: oidc-config
200-
key: oidc.json
201-
# OR
202198
inline:
203199
issuer: https://keycloak.example.com/realms/prod
204200
clientId: toolhive-client
@@ -226,7 +222,7 @@ status:
226222
```
227223

228224
**Key design decisions:**
229-
- CEL validation ensures exactly one of `kubernetesServiceAccount`, `configMapRef`, or `inline` is set
225+
- CEL validation ensures exactly one of `kubernetesServiceAccount` or `inline` is set
230226
- `audience` and `scopes` are intentionally excluded from the shared config - they are per-server fields specified in the reference
231227

232228
#### New CRD 2: MCPTelemetryConfig
@@ -503,7 +499,7 @@ CRDs use CEL (Common Expression Language) for admission-time validation:
503499

504500
| CRD | Rule | Validation |
505501
|-----|------|------------|
506-
| MCPOIDCConfig | Exactly one source | `kubernetesServiceAccount`, `configMapRef`, or `inline` - only one allowed |
502+
| MCPOIDCConfig | Exactly one source | `kubernetesServiceAccount` or `inline` - only one allowed |
507503
| MCPAuthzConfig | Exactly one source | `configMapRef` or `inline` - only one allowed |
508504
| MCPServerSpec | Transport/port consistency | `mcpPort` cannot be set when transport is `stdio` |
509505
| IncomingAuthConfig | Auth mode selection | Either `oidcConfigRef` or `anonymous` - only one allowed |

0 commit comments

Comments
 (0)