Toggle for provider-specific RBAC + Added missing RBAC rules
Signed-off-by: Richard Johansson <richard.jimmy.johansson@gmail.com>
This commit is contained in:
parent
f3888bc996
commit
ebf9fe6eef
4 changed files with 144 additions and 6 deletions
|
@ -2,7 +2,7 @@ apiVersion: v2
|
||||||
appVersion: v1.3.1
|
appVersion: v1.3.1
|
||||||
description: A Helm chart for Argo Rollouts
|
description: A Helm chart for Argo Rollouts
|
||||||
name: argo-rollouts
|
name: argo-rollouts
|
||||||
version: 2.21.2
|
version: 2.21.3
|
||||||
home: https://github.com/argoproj/argo-helm
|
home: https://github.com/argoproj/argo-helm
|
||||||
icon: https://argoproj.github.io/argo-rollouts/assets/logo.png
|
icon: https://argoproj.github.io/argo-rollouts/assets/logo.png
|
||||||
keywords:
|
keywords:
|
||||||
|
@ -15,4 +15,6 @@ maintainers:
|
||||||
url: https://argoproj.github.io/
|
url: https://argoproj.github.io/
|
||||||
annotations:
|
annotations:
|
||||||
artifacthub.io/changes: |
|
artifacthub.io/changes: |
|
||||||
- "[Added]: Add support for topologySpreadConstraints"
|
- "[Added]: Flag to toggle provider specific RBAC rules in Role and ClusterRole"
|
||||||
|
- "[Fixed]: Added missing RBAC rules in Role so that it aligns with ClusterRole"
|
||||||
|
- "[Fixed]: Added missing RBAC rules for Traefik provider"
|
||||||
|
|
|
@ -89,7 +89,9 @@ rules:
|
||||||
- create
|
- create
|
||||||
- get
|
- get
|
||||||
- update
|
- update
|
||||||
# secret access to run analysis templates which reference secrets, allow init containers to manipulate secrets
|
# secret read access to run analysis templates which reference secrets
|
||||||
|
# secret write access to allow init containers to manipulate secrets
|
||||||
|
# configmap access to read notification-engine configuration
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
resources:
|
resources:
|
||||||
|
@ -110,6 +112,7 @@ rules:
|
||||||
verbs:
|
verbs:
|
||||||
- list
|
- list
|
||||||
- update
|
- update
|
||||||
|
- watch
|
||||||
# pods eviction needed for restart
|
# pods eviction needed for restart
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
|
@ -151,6 +154,7 @@ rules:
|
||||||
- update
|
- update
|
||||||
- patch
|
- patch
|
||||||
- delete
|
- delete
|
||||||
|
{{- if .Values.enabledProviders.istio }}
|
||||||
# virtualservice/destinationrule access needed for using the Istio provider
|
# virtualservice/destinationrule access needed for using the Istio provider
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- networking.istio.io
|
- networking.istio.io
|
||||||
|
@ -163,6 +167,8 @@ rules:
|
||||||
- update
|
- update
|
||||||
- patch
|
- patch
|
||||||
- list
|
- list
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.enabledProviders.smi }}
|
||||||
# trafficsplit access needed for using the SMI provider
|
# trafficsplit access needed for using the SMI provider
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- split.smi-spec.io
|
- split.smi-spec.io
|
||||||
|
@ -174,6 +180,8 @@ rules:
|
||||||
- get
|
- get
|
||||||
- update
|
- update
|
||||||
- patch
|
- patch
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.enabledProviders.ambassador }}
|
||||||
# ambassador access needed for Ambassador provider
|
# ambassador access needed for Ambassador provider
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- getambassador.io
|
- getambassador.io
|
||||||
|
@ -188,7 +196,9 @@ rules:
|
||||||
- update
|
- update
|
||||||
- list
|
- list
|
||||||
- delete
|
- delete
|
||||||
# Endpoints and TargetGroupBindings needed for ALB target group verification
|
{{- end }}
|
||||||
|
{{- if .Values.enabledProviders.awsLoadBalancerController }}
|
||||||
|
# Endpoints and TargetGroupBindings needed for ALB target group verification when using AWS Load Balancer Controller
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
resources:
|
resources:
|
||||||
|
@ -202,6 +212,8 @@ rules:
|
||||||
verbs:
|
verbs:
|
||||||
- list
|
- list
|
||||||
- get
|
- get
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.enabledProviders.awsAppMesh }}
|
||||||
# AppMesh virtualservices/virtualrouter CRD read-only access needed for using the App Mesh provider
|
# AppMesh virtualservices/virtualrouter CRD read-only access needed for using the App Mesh provider
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- appmesh.k8s.aws
|
- appmesh.k8s.aws
|
||||||
|
@ -224,3 +236,15 @@ rules:
|
||||||
- update
|
- update
|
||||||
- patch
|
- patch
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if .Values.enabledProviders.traefik }}
|
||||||
|
# Traefik access needed when using the Traefik provider
|
||||||
|
- apiGroups:
|
||||||
|
- traefik.containo.us
|
||||||
|
resources:
|
||||||
|
- traefikservices
|
||||||
|
verbs:
|
||||||
|
- watch
|
||||||
|
- get
|
||||||
|
- update
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
|
@ -56,7 +56,19 @@ rules:
|
||||||
- update
|
- update
|
||||||
- patch
|
- patch
|
||||||
- delete
|
- delete
|
||||||
|
# deployments and podtemplates read access needed for workload reference support
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
- apps
|
||||||
|
resources:
|
||||||
|
- deployments
|
||||||
|
- podtemplates
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- watch
|
||||||
# services patch needed to update selector of canary/stable/active/preview services
|
# services patch needed to update selector of canary/stable/active/preview services
|
||||||
|
# services create needed to create and delete services for experiments
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
resources:
|
resources:
|
||||||
|
@ -66,7 +78,19 @@ rules:
|
||||||
- list
|
- list
|
||||||
- watch
|
- watch
|
||||||
- patch
|
- patch
|
||||||
# secret access to run analysis templates which reference secrets
|
- create
|
||||||
|
- delete
|
||||||
|
# leases create/get/update needed for leader election
|
||||||
|
- apiGroups:
|
||||||
|
- coordination.k8s.io
|
||||||
|
resources:
|
||||||
|
- leases
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- get
|
||||||
|
- update
|
||||||
|
# secret read access to run analysis templates which reference secrets
|
||||||
|
# secret write access to allow init containers to manipulate secrets
|
||||||
# configmap access to read notification-engine configuration
|
# configmap access to read notification-engine configuration
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
|
@ -88,6 +112,7 @@ rules:
|
||||||
verbs:
|
verbs:
|
||||||
- list
|
- list
|
||||||
- update
|
- update
|
||||||
|
- watch
|
||||||
# pods eviction needed for restart
|
# pods eviction needed for restart
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- ""
|
- ""
|
||||||
|
@ -129,16 +154,21 @@ rules:
|
||||||
- update
|
- update
|
||||||
- patch
|
- patch
|
||||||
- delete
|
- delete
|
||||||
# virtualservice access needed for using the Istio provider
|
{{- if .Values.enabledProviders.istio }}
|
||||||
|
# virtualservice/destinationrule access needed for using the Istio provider
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- networking.istio.io
|
- networking.istio.io
|
||||||
resources:
|
resources:
|
||||||
- virtualservices
|
- virtualservices
|
||||||
|
- destinationrules
|
||||||
verbs:
|
verbs:
|
||||||
- watch
|
- watch
|
||||||
- get
|
- get
|
||||||
- update
|
- update
|
||||||
|
- patch
|
||||||
- list
|
- list
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.enabledProviders.smi }}
|
||||||
# trafficsplit access needed for using the SMI provider
|
# trafficsplit access needed for using the SMI provider
|
||||||
- apiGroups:
|
- apiGroups:
|
||||||
- split.smi-spec.io
|
- split.smi-spec.io
|
||||||
|
@ -151,3 +181,70 @@ rules:
|
||||||
- update
|
- update
|
||||||
- patch
|
- patch
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if .Values.enabledProviders.ambassador }}
|
||||||
|
# ambassador access needed for Ambassador provider
|
||||||
|
- apiGroups:
|
||||||
|
- getambassador.io
|
||||||
|
- x.getambassador.io
|
||||||
|
resources:
|
||||||
|
- mappings
|
||||||
|
- ambassadormappings
|
||||||
|
verbs:
|
||||||
|
- create
|
||||||
|
- watch
|
||||||
|
- get
|
||||||
|
- update
|
||||||
|
- list
|
||||||
|
- delete
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.enabledProviders.awsLoadBalancerController }}
|
||||||
|
# Endpoints and TargetGroupBindings needed for ALB target group verification when using AWS Load Balancer Controller
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- endpoints
|
||||||
|
verbs:
|
||||||
|
- get
|
||||||
|
- apiGroups:
|
||||||
|
- elbv2.k8s.aws
|
||||||
|
resources:
|
||||||
|
- targetgroupbindings
|
||||||
|
verbs:
|
||||||
|
- list
|
||||||
|
- get
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.enabledProviders.awsAppMesh }}
|
||||||
|
# AppMesh virtualservices/virtualrouter CRD read-only access needed for using the App Mesh provider
|
||||||
|
- apiGroups:
|
||||||
|
- appmesh.k8s.aws
|
||||||
|
resources:
|
||||||
|
- virtualservices
|
||||||
|
verbs:
|
||||||
|
- watch
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
# AppMesh virtualnode CRD r/w access needed for using the App Mesh provider
|
||||||
|
- apiGroups:
|
||||||
|
- appmesh.k8s.aws
|
||||||
|
resources:
|
||||||
|
- virtualnodes
|
||||||
|
- virtualrouters
|
||||||
|
verbs:
|
||||||
|
- watch
|
||||||
|
- get
|
||||||
|
- list
|
||||||
|
- update
|
||||||
|
- patch
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.enabledProviders.traefik }}
|
||||||
|
# Traefik access needed when using the Traefik provider
|
||||||
|
- apiGroups:
|
||||||
|
- traefik.containo.us
|
||||||
|
resources:
|
||||||
|
- traefikservices
|
||||||
|
verbs:
|
||||||
|
- watch
|
||||||
|
- get
|
||||||
|
- update
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
|
@ -190,6 +190,21 @@ podLabels: {}
|
||||||
imagePullSecrets: []
|
imagePullSecrets: []
|
||||||
# - name: argo-pull-secret
|
# - name: argo-pull-secret
|
||||||
|
|
||||||
|
## Adds provider-specific RBAC permissions to the controller role and cluster role
|
||||||
|
enabledProviders:
|
||||||
|
# -- Adds RBAC for the Istio provider
|
||||||
|
istio: true
|
||||||
|
# -- Adds RBAC for the SMI provider
|
||||||
|
smi: true
|
||||||
|
# -- Adds RBAC for the Ambassador provider
|
||||||
|
ambassador: true
|
||||||
|
# -- Adds RBAC for the AWS Load Balancer Controller provider
|
||||||
|
awsLoadBalancerController: true
|
||||||
|
# -- Adds RBAC for the AWS App Mesh provider
|
||||||
|
awsAppMesh: true
|
||||||
|
# -- Adds RBAC for the Traefik provider
|
||||||
|
traefik: true
|
||||||
|
|
||||||
dashboard:
|
dashboard:
|
||||||
# -- Deploy dashboard server
|
# -- Deploy dashboard server
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
Loading…
Reference in a new issue