You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(rbac): fail fast when secretResourceNames is set without namespaced RBAC
rbac.secretResourceNames was silently ignored when rbac.namespaced is
false, since Kubernetes RBAC does not support resourceNames on
cluster-scoped list/watch rules. Add a requirements.yaml check to
surface this at template/install time instead.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: traefik/templates/requirements.yaml
+4Lines changed: 4 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -39,6 +39,10 @@
39
39
{{- end }}
40
40
{{- end }}
41
41
42
+
{{- if and (not .Values.rbac.namespaced) (not (empty .Values.rbac.secretResourceNames)) }}
43
+
{{- fail "ERROR: rbac.secretResourceNames requires rbac.namespaced to be true. Kubernetes RBAC does not support resourceNames on cluster-scoped list/watch rules." }}
44
+
{{- end }}
45
+
42
46
{{- range $name, $config := .Values.ingressRoute }}
43
47
{{- if regexMatch "[A-Z]" $name }}
44
48
{{- fail (printf "ERROR: ingressRoute key %q contains uppercase characters and would generate an invalid Kubernetes resource name (RFC 1123 requires lowercase)." $name) }}
- it: should fail when setting rbac.secretResourceNames without namespaced RBAC
428
+
set:
429
+
rbac:
430
+
namespaced: false
431
+
secretResourceNames:
432
+
- traefik-tls-cert
433
+
asserts:
434
+
- failedTemplate:
435
+
errorMessage: "ERROR: rbac.secretResourceNames requires rbac.namespaced to be true. Kubernetes RBAC does not support resourceNames on cluster-scoped list/watch rules."
436
+
- it: should not fail when setting rbac.secretResourceNames with namespaced RBAC
437
+
set:
438
+
rbac:
439
+
namespaced: true
440
+
secretResourceNames:
441
+
- traefik-tls-cert
442
+
asserts:
443
+
- notFailedTemplate: {}
427
444
- it: should fail when trying to use certResolvers
0 commit comments