feat(argo-rollouts): flag to disable clusterrole/clusterrolebinding creation (#1388)

* feat(argo-rollouts): Add flag to optionally disable the creation of cluster roles (even when running in cluster mode)

Signed-off-by: Joshua Helton <jdoghelton@gmail.com>

* fix README.md with helm-docs.sh

Signed-off-by: Joshua Helton <jdoghelton@gmail.com>

Signed-off-by: Joshua Helton <jdoghelton@gmail.com>
Co-authored-by: JM <jmeridth@gmail.com>
This commit is contained in:
jphelton 2022-08-22 22:43:13 -04:00 committed by GitHub
parent 2125c7ac71
commit b029a6dde3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 21 additions and 8 deletions

View file

@ -2,7 +2,7 @@ apiVersion: v2
appVersion: "v1.2.0" appVersion: "v1.2.0"
description: A Helm chart for Argo Rollouts description: A Helm chart for Argo Rollouts
name: argo-rollouts name: argo-rollouts
version: 2.18.0 version: 2.19.0
icon: https://argoproj.github.io/argo-rollouts/assets/logo.png icon: https://argoproj.github.io/argo-rollouts/assets/logo.png
home: https://github.com/argoproj/argo-helm home: https://github.com/argoproj/argo-helm
maintainers: maintainers:
@ -11,4 +11,4 @@ maintainers:
- name: jessesuen - name: jessesuen
annotations: annotations:
artifacthub.io/changes: | artifacthub.io/changes: |
- "[Added]: Additional manifests to deploy within the chart" - "[Added]: flags to disable the creation of ClusterRoles/ClusterRoleBindings when run in cluster mode "

View file

@ -42,6 +42,7 @@ If dashboard is installed by `--set dashboard.enabled=true`, checkout the argo-r
| apiVersionOverrides.ingress | string | `""` | String to override apiVersion of ingresses rendered by this helm chart | | apiVersionOverrides.ingress | string | `""` | String to override apiVersion of ingresses rendered by this helm chart |
| clusterInstall | bool | `true` | `false` runs controller in namespaced mode (does not require cluster RBAC) | | clusterInstall | bool | `true` | `false` runs controller in namespaced mode (does not require cluster RBAC) |
| crdAnnotations | object | `{}` | Annotations to be added to all CRDs | | crdAnnotations | object | `{}` | Annotations to be added to all CRDs |
| createClusterAggregateRoles | bool | `true` | flag to enable creation of cluster aggregate roles (requires cluster RBAC) |
| extraObjects | list | `[]` | Additional manifests to deploy within the chart. A list of objects. | | extraObjects | list | `[]` | Additional manifests to deploy within the chart. A list of objects. |
| fullnameOverride | string | `nil` | String to fully override "argo-rollouts.fullname" template | | fullnameOverride | string | `nil` | String to fully override "argo-rollouts.fullname" template |
| imagePullSecrets | list | `[]` | Secrets with credentials to pull images from a private registry. Registry secret names as an array. | | imagePullSecrets | list | `[]` | Secrets with credentials to pull images from a private registry. Registry secret names as an array. |
@ -62,6 +63,7 @@ If dashboard is installed by `--set dashboard.enabled=true`, checkout the argo-r
| containerSecurityContext | object | `{}` | Security Context to set on container level | | containerSecurityContext | object | `{}` | Security Context to set on container level |
| controller.affinity | object | `{}` | Assign custom [affinity] rules to the deployment | | controller.affinity | object | `{}` | Assign custom [affinity] rules to the deployment |
| controller.component | string | `"rollouts-controller"` | Value of label `app.kubernetes.io/component` | | controller.component | string | `"rollouts-controller"` | Value of label `app.kubernetes.io/component` |
| controller.createClusterRole | bool | `true` | flag to enable creation of cluster controller role (requires cluster RBAC) |
| controller.extraArgs | list | `[]` | Additional command line arguments to pass to rollouts-controller. A list of flags. | | controller.extraArgs | list | `[]` | Additional command line arguments to pass to rollouts-controller. A list of flags. |
| controller.extraContainers | list | `[]` | Literal yaml for extra containers to be added to controller deployment. | | controller.extraContainers | list | `[]` | Literal yaml for extra containers to be added to controller deployment. |
| controller.extraEnv | list | `[]` | Additional environment variables for rollouts-controller. A list of name/value maps. | | controller.extraEnv | list | `[]` | Additional environment variables for rollouts-controller. A list of name/value maps. |
@ -100,6 +102,7 @@ If dashboard is installed by `--set dashboard.enabled=true`, checkout the argo-r
| dashboard.affinity | object | `{}` | Assign custom [affinity] rules to the deployment | | dashboard.affinity | object | `{}` | Assign custom [affinity] rules to the deployment |
| dashboard.component | string | `"rollouts-dashboard"` | Value of label `app.kubernetes.io/component` | | dashboard.component | string | `"rollouts-dashboard"` | Value of label `app.kubernetes.io/component` |
| dashboard.containerSecurityContext | object | `{}` | Security Context to set on container level | | dashboard.containerSecurityContext | object | `{}` | Security Context to set on container level |
| dashboard.createClusterRole | bool | `true` | flag to enable creation of dashbord cluster role (requires cluster RBAC) |
| dashboard.enabled | bool | `false` | Deploy dashboard server | | dashboard.enabled | bool | `false` | Deploy dashboard server |
| dashboard.extraArgs | list | `[]` | Additional command line arguments to pass to rollouts-dashboard. A list of flags. | | dashboard.extraArgs | list | `[]` | Additional command line arguments to pass to rollouts-dashboard. A list of flags. |
| dashboard.extraEnv | list | `[]` | Additional environment variables for rollouts-dashboard. A list of name/value maps. | | dashboard.extraEnv | list | `[]` | Additional environment variables for rollouts-dashboard. A list of name/value maps. |
@ -172,4 +175,4 @@ Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/
[Tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ [Tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
[priorityClassName]: https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/ [priorityClassName]: https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/
[Pod Disruption Budget]: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#pod-disruption-budgets [Pod Disruption Budget]: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#pod-disruption-budgets
[values.yaml]: https://github.com/argoproj/argo-helm/blob/argo-rollouts-2.18.0/charts/argo-rollouts/values.yaml [values.yaml]: https://github.com/argoproj/argo-helm/blob/argo-rollouts-2.19.0/charts/argo-rollouts/values.yaml

View file

@ -1,4 +1,4 @@
{{- if .Values.clusterInstall }} {{- if and .Values.clusterInstall .Values.createClusterAggregateRoles }}
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:

View file

@ -1,4 +1,4 @@
{{- if .Values.clusterInstall }} {{- if and .Values.clusterInstall .Values.controller.createClusterRole }}
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:

View file

@ -1,4 +1,4 @@
{{- if .Values.clusterInstall }} {{- if and .Values.clusterInstall .Values.controller.createClusterRole }}
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
metadata: metadata:

View file

@ -1,4 +1,4 @@
{{- if and .Values.dashboard.enabled .Values.clusterInstall }} {{- if and .Values.dashboard.enabled .Values.clusterInstall .Values.dashboard.createClusterRole }}
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:

View file

@ -1,4 +1,4 @@
{{- if and .Values.dashboard.enabled .Values.clusterInstall }} {{- if and .Values.dashboard.enabled .Values.clusterInstall .Values.dashboard.createClusterRole }}
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
metadata: metadata:

View file

@ -6,6 +6,9 @@ keepCRDs: true
# -- `false` runs controller in namespaced mode (does not require cluster RBAC) # -- `false` runs controller in namespaced mode (does not require cluster RBAC)
clusterInstall: true clusterInstall: true
# -- flag to enable creation of cluster aggregate roles (requires cluster RBAC)
createClusterAggregateRoles: true
# -- String to partially override "argo-rollouts.fullname" template # -- String to partially override "argo-rollouts.fullname" template
nameOverride: nameOverride:
@ -80,6 +83,9 @@ controller:
# cpu: 50m # cpu: 50m
# memory: 64Mi # memory: 64Mi
# -- flag to enable creation of cluster controller role (requires cluster RBAC)
createClusterRole: true
metrics: metrics:
# -- Deploy metrics service # -- Deploy metrics service
enabled: false enabled: false
@ -181,6 +187,10 @@ dashboard:
affinity: {} affinity: {}
# -- [priorityClassName] for the dashboard server # -- [priorityClassName] for the dashboard server
priorityClassName: "" priorityClassName: ""
# -- flag to enable creation of dashbord cluster role (requires cluster RBAC)
createClusterRole: true
# -- The number of dashboard pods to run # -- The number of dashboard pods to run
replicas: 1 replicas: 1
image: image: