Skip to content

Commit 6b0db9b

Browse files
committed
add cluster role/rolebinding for iamroleselector on namespace scope
IAMRoleSelector is a cluster scoped resource. When a controller is configured as namespace scoped, this change adds a cluster role/rolebinding that gives the controller access to iamroleselector and namespaces.
1 parent fc172a9 commit 6b0db9b

2 files changed

Lines changed: 20 additions & 1 deletion

File tree

templates/helm/templates/caches-role.yaml.tpl

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{ VarIncludeTemplate "featuregates" "feature-gates" }}
12
apiVersion: rbac.authorization.k8s.io/v1
23
kind: ClusterRole
34
metadata:
@@ -10,6 +11,16 @@ metadata:
1011
k8s-app: {{ IncludeTemplate "app.name" }}
1112
helm.sh/chart: {{ IncludeTemplate "chart.name-version" }}
1213
rules:
14+
{{ "{{ if contains \"IAMRoleSelector=true\" $featuregates }}" }}
15+
- apiGroups:
16+
- services.k8s.aws
17+
resources:
18+
- iamroleselectors
19+
verbs:
20+
- get
21+
- list
22+
- watch
23+
{{ "{{ end }}" }}
1324
- apiGroups:
1425
- ""
1526
resources:
@@ -18,6 +29,14 @@ rules:
1829
- get
1930
- list
2031
- watch
32+
{{ "{{ if eq .Values.installScope \"namespace\" }}" }}
33+
{{ VarIncludeTemplate "wn" "watch-namespace" }}
34+
{{ "{{ $namespaces := split \",\" $wn }}" }}
35+
resourceNames:
36+
{{ "{{ range $namespaces }}" }}
37+
- {{ "{{ . }}" }}
38+
{{ "{{ end }}" }}
39+
{{ "{{ end }}" }}
2140
---
2241
apiVersion: rbac.authorization.k8s.io/v1
2342
kind: Role

templates/pkg/resource/registry.go.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
acktypes "github.com/aws-controllers-k8s/runtime/pkg/types"
88
)
99

10-
// +kubebuilder:rbac:groups=services.k8s.aws,resources=iamroleselectors,verbs=get;list;watch;create;update;patch;delete
10+
// +kubebuilder:rbac:groups=services.k8s.aws,resources=iamroleselectors,verbs=get;list;watch
1111
// +kubebuilder:rbac:groups=services.k8s.aws,resources=iamroleselectors/status,verbs=get;update;patch
1212
// +kubebuilder:rbac:groups=services.k8s.aws,resources=fieldexports,verbs=get;list;watch;create;update;patch;delete
1313
// +kubebuilder:rbac:groups=services.k8s.aws,resources=fieldexports/status,verbs=get;update;patch

0 commit comments

Comments
 (0)