diff --git a/library/common-test/tests/rbac/rbac_test.yaml b/library/common-test/tests/rbac/rbac_test.yaml index e7655ba0..041d7ae7 100644 --- a/library/common-test/tests/rbac/rbac_test.yaml +++ b/library/common-test/tests/rbac/rbac_test.yaml @@ -14,6 +14,89 @@ tests: - isKind: of: Deployment +# TODO: check that these fails are valid... + + - it: should fail with no apiGroups in rules + set: + rbac: + main: + enabled: true + rules: + - apiGroups: [] + resources: + - something + verbs: + - something + asserts: + - failedTemplate: + errorMessage: are required in RBAC rules. + + - it: should fail with no resources in rules + set: + rbac: + main: + enabled: true + rules: + - apiGroups: + - something + resources: [] + verbs: + - something + asserts: + - failedTemplate: + errorMessage: are required in RBAC rules. + + - it: should fail with no verbs in rules + set: + rbac: + main: + enabled: true + rules: + - apiGroups: + - something + resources: + - something + verbs: [] + asserts: + - failedTemplate: + errorMessage: are required in RBAC rules. + + - it: should fail with no kind in subjects + set: + rbac: + main: + enabled: true + subjects: + - kind: "" + asserts: + - failedTemplate: + errorMessage: is required in RBAC subjects. + + - it: should fail with no name in subjects + set: + rbac: + main: + enabled: true + subjects: + - kind: something + name: "" + asserts: + - failedTemplate: + errorMessage: is required in RBAC subjects. + + - it: should fail with no apiGroup in subjects + set: + rbac: + main: + enabled: true + subjects: + - kind: something + name: something + apiGroup: "" + asserts: + - failedTemplate: + errorMessage: is required in RBAC subjects. + - it: should pass with rbac account enabled (Role) documentIndex: &roleDoc 0 set: diff --git a/library/common/1.0.0/templates/class/_rbac.tpl b/library/common/1.0.0/templates/class/_rbac.tpl index 23971a1d..0f469726 100644 --- a/library/common/1.0.0/templates/class/_rbac.tpl +++ b/library/common/1.0.0/templates/class/_rbac.tpl @@ -48,18 +48,18 @@ metadata: {{- end }} {{- with $rbacValues.rules -}} rules: - {{/* Make sure that still works with values like "" also with tpl */}} + {{/* TODO: Make sure that still works with values like "" also with tpl and on subjects*/}} {{- range . }} - apiGroups: - {{- range (required " are required in RBAC rules" .apiGroups) }} + {{- range (required " are required in RBAC rules." .apiGroups) }} - {{ tpl . $root }} {{- end }} resources: - {{- range (required " are required in RBAC rules" .resources) }} + {{- range (required " are required in RBAC rules." .resources) }} - {{ tpl . $root }} {{- end }} verbs: - {{- range (required " are required in RBAC rules" .verbs) }} + {{- range (required " are required in RBAC rules." .verbs) }} - {{ tpl . $root }} {{- end }} {{- end }} @@ -93,9 +93,9 @@ subjects: namespace: {{ $root.Release.Namespace }} {{- with $rbacValues.subjects -}} {{- range . }} - - kind: {{ tpl (required " is required in RBAC subjects" .kind) $root }} - name: {{ tpl (required " is required in RBAC subjects" .name) $root }} - apiGroup: {{ tpl (required " is required in RBAC subjects" .apiGroup) $root }} + - kind: {{ tpl (required " is required in RBAC subjects." .kind) $root }} + name: {{ tpl (required " is required in RBAC subjects." .name) $root }} + apiGroup: {{ tpl (required " is required in RBAC subjects." .apiGroup) $root }} {{- end }} {{- end -}} {{- end -}}