1# -- Install and upgrade CRDs
3# -- Keep CRD's on helm uninstall
5# -- `false` runs controller in namespaced mode (does not require cluster RBAC)
7# -- flag to enable creation of cluster aggregate roles (requires cluster RBAC)
8createClusterAggregateRoles: true
9# -- String to partially override "argo-rollouts.fullname" template
11# -- String to fully override "argo-rollouts.fullname" template
13# -- Override the namespace
14# @default -- `.Release.Namespace`
16## Override APIVersions
17## If you want to template helm charts but cannot access k8s API server
18## you can set api versions here
20 # -- String to override apiVersion of ingresses rendered by this helm chart
21 ingress: "" # networking.k8s.io/v1beta1
22# -- Override the Kubernetes version, which is used to evaluate certain manifests
23kubeVersionOverride: ""
24# -- Additional manifests to deploy within the chart. A list of objects.
25## Can be used to add secrets for Analysis with 3rd-party monitoring solutions.
33# address: https://api.datadoghq.com
34# api-key: <datadog-api-key>
35# app-key: <datadog-app-key>
38 # -- Annotations for all deployed Deployments
39 deploymentAnnotations: {}
40 # -- Labels for all deployed Deployments
42 # -- Number of old deployment ReplicaSets to retain. The rest will be garbage collected.
43 revisionHistoryLimit: 10
44 # -- Specifies the deployment DNS configuration for controller and dashboard.
49 # - ns1.svc.cluster-domain.example
50 # - my.dns.search.suffix
57 # -- Value of label `app.kubernetes.io/component`
58 component: rollouts-controller
59 # -- Annotations to be added to the controller deployment
60 deploymentAnnotations: {}
61 # -- Labels to be added to the controller deployment
63 # -- Annotations to be added to application controller pods
65 # -- Labels to be added to the application controller pods
69 # -- [Tolerations] for use with node taints
71 # -- Assign custom [affinity] rules to the deployment
74 # -- Set the logging level (one of: `debug`, `info`, `warn`, `error`)
76 # -- Set the klog logging level
78 # -- Set the logging format (one of: `text`, `json`)
80 # -- Assign custom [TopologySpreadConstraints] rules to the controller
81 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
82 ## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
83 topologySpreadConstraints: []
85 # topologyKey: topology.kubernetes.io/zone
86 # whenUnsatisfiable: DoNotSchedule
88 # -- terminationGracePeriodSeconds for container lifecycle hook
89 terminationGracePeriodSeconds: 30
90 # -- Specify lifecycle hooks for the controller
92 # -- [priorityClassName] for the controller
94 # -- The number of controller pods to run
99 # -- Repository to use
100 repository: chainguard-private/argo-rollouts
101 # -- Overrides the image tag (default is the chart appVersion)
102 tag: latest@sha256:c0de2e195bdbb564a1d4f5775652e4a40d9299064504d3632ce2a5182b0a9947
103 # -- Image pull policy
104 pullPolicy: IfNotPresent
105 # -- Enable AWS target group verification before progressing through steps (requires AWS privileges)
106 awsVerifyTargetGroup: false
107 # -- Set the AWS TargetGroupBinding apiVersion (e.g. `elbv2.k8s.aws/v1beta1` for standard EKS, `eks.amazonaws.com/v1` for EKS Auto Mode)
108 awsTargetGroupBindingAPIVersion: ""
109 # -- Set the ALB tag key for resource ID (e.g. `ingress.k8s.aws/resource` for standard EKS, `ingress.eks.amazonaws.com` for EKS Auto Mode)
110 albTagKeyResourceID: ""
111 # -- Enable self-service notification support, allowing the controller to pull notification config from the rollout's namespace
112 selfServiceNotification: false
113 # -- Enable pprof profiling on the controller by specifying a listen address (e.g. `:6060` or `localhost:6060`)
115 # -- Additional command line arguments to pass to rollouts-controller. A list of flags.
117 # -- Additional environment variables for rollouts-controller. A list of name/value maps.
122 # -- Literal yaml for extra containers to be added to controller deployment.
123 ## Additional containers to add to the rollouts controller deployment
124 ## This will be rendered as the literal yaml
126 # -- Init containers to add to the rollouts controller pod
127 ## This will be rendered as the literal yaml
129 # - name: download-tools
135 # -- Resource limits and requests for the controller pods.
140 # ephemeral-storage: 1Gi
145 # -- flag to enable creation of cluster controller role (requires cluster RBAC)
146 createClusterRole: true
147 # Controller container ports
149 # -- Metrics container port
151 # -- Healthz container port
154 # -- Deploy metrics service
157 # -- Metrics service port name
159 # -- Metrics service port
161 # -- Service annotations
164 # -- Enable a prometheus ServiceMonitor
166 # -- Namespace to be used for the ServiceMonitor
168 # -- Labels to be added to the ServiceMonitor
170 # -- Annotations to be added to the ServiceMonitor
171 additionalAnnotations: {}
172 # -- RelabelConfigs to apply to samples before scraping
174 # -- MetricRelabelConfigs to apply to samples before ingestion
175 metricRelabelings: []
176 # -- TLS configuration for the ServiceMonitor. When set, scheme will be https
178 # caFile: /etc/istio-certs/root-cert.pem
179 # certFile: /etc/istio-certs/cert-chain.pem
180 # insecureSkipVerify: true
181 # keyFile: /etc/istio-certs/key.pem
182 # -- Configure liveness [probe] for the controller
183 # @default -- See [values.yaml]
188 initialDelaySeconds: 30
193 # -- Configure readiness [probe] for the controller
194 # @default -- See [values.yaml]
199 initialDelaySeconds: 15
204 ## Configure Pod Disruption Budget for the controller
206 # -- Labels to be added to controller [Pod Disruption Budget]
208 # -- Annotations to be added to controller [Pod Disruption Budget]
210 # -- Deploy a [Pod Disruption Budget] for the controller
212 # -- Minimum number / percentage of pods that should remain scheduled
214 # -- Maximum number / percentage of pods that may be made unavailable
216 # -- Additional volumes to add to the controller pod
222 # -- Additional volumeMounts to add to the controller container
224 # - mountPath: /etc/ssl/certs
227 # -- Configures 3rd party metric providers for controller
228 ## Ref: https://argo-rollouts.readthedocs.io/en/stable/analysis/plugins/
229 metricProviderPlugins: []
230 # - name: "argoproj-labs/sample-prometheus" # name of the plugin, it must match the name required by the plugin so that it can find its configuration
231 # location: "file://./my-custom-plugin" # supports http(s):// urls and file://
233 # -- Configures 3rd party stepPlugins for controller
234 ## Ref: https://argo-rollouts.readthedocs.io/en/stable/features/canary/plugins/
236 # - name: "argoproj-labs/step-exec" # name of the plugin, it must match the name required by the plugin so it can find it's configuration
237 # location: "file://./my-custom-plugin" # supports http(s):// urls and file://
239 # -- Configures 3rd party traffic router plugins for controller
240 ## Ref: https://argo-rollouts.readthedocs.io/en/stable/features/traffic-management/plugins/
241 trafficRouterPlugins: []
242 # - name: "argoproj-labs/sample-nginx" # name of the plugin, it must match the name required by the plugin so it can find it's configuration
243 # location: "file://./my-custom-plugin" # supports http(s):// urls and file://
245 # -- Whether to create the argo-rollouts-config ConfigMap. Set to false when running multiple
246 # controller instances in the same namespace (e.g. with different --instance-id values) to
247 # avoid Helm ownership conflicts; each secondary instance will read the ConfigMap created by
248 # the primary release.
249 createConfigmap: true
251 # -- Specifies whether a service account should be created
253 # -- Annotations to add to the service account
255 # -- The name of the service account to use.
256 # If not set and create is true, a name is generated using the fullname template
258# -- Annotations to be added to all CRDs
260# -- Annotations for the all deployed pods
262# -- Security Context to set on pod level
265# -- Security Context to set on container level
266containerSecurityContext:
267 allowPrivilegeEscalation: false
271 readOnlyRootFilesystem: true
274# -- Annotations to be added to the Rollout service
275serviceAnnotations: {}
276# -- Labels to be added to the Rollout pods
278# -- Secrets with credentials to pull images from a private registry. Registry secret names as an array.
280# - name: argo-pull-secret
283 # -- Toggles addition of provider-specific RBAC rules to the controller Role and ClusterRole
285 # providerRBAC.enabled must be true in order to toggle the individual providers
287 # -- Adds RBAC rules for the Istio provider
289 # -- Adds RBAC rules for the SMI provider
291 # -- Adds RBAC rules for the Ambassador provider
293 # -- Adds RBAC rules for the AWS Load Balancer Controller provider
294 awsLoadBalancerController: true
295 # -- Adds RBAC rules for the AWS App Mesh provider
297 # -- Adds RBAC rules for the Traefik provider
299 # -- Adds RBAC rules for the Apisix provider
301 # -- Adds RBAC rules for the Contour provider, see `https://github.com/argoproj-labs/rollouts-plugin-trafficrouter-contour/blob/main/README.md`
303 # -- Adds RBAC rules for the Gloo Platform provider, see `https://github.com/argoproj-labs/rollouts-plugin-trafficrouter-glooplatform/blob/main/README.md`
305 # -- Adds RBAC rules for the Gateway API provider
307 # -- Additional RBAC rules for others providers
310 # -- Deploy dashboard server
312 # -- Set cluster role to readonly
314 # -- Value of label `app.kubernetes.io/component`
315 component: rollouts-dashboard
316 # -- Annotations to be added to the dashboard deployment
317 deploymentAnnotations: {}
318 # -- Labels to be added to the dashboard deployment
320 # -- Annotations to be added to application dashboard pods
322 # -- Labels to be added to the application dashboard pods
326 # -- [Tolerations] for use with node taints
328 # -- Assign custom [affinity] rules to the deployment
331 # -- Set the logging level (one of: `debug`, `info`, `warn`, `error`)
333 # -- Set the klog logging level
335 # -- Assign custom [TopologySpreadConstraints] rules to the dashboard server
336 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
337 ## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
338 topologySpreadConstraints: []
340 # topologyKey: topology.kubernetes.io/zone
341 # whenUnsatisfiable: DoNotSchedule
343 # -- [priorityClassName] for the dashboard server
344 priorityClassName: ""
345 # -- flag to enable creation of dashbord cluster role (requires cluster RBAC)
346 createClusterRole: true
347 # -- The number of dashboard pods to run
352 # -- Repository to use
353 repository: chainguard-private/kubectl-argo-rollouts
354 # -- Overrides the image tag (default is the chart appVersion)
355 tag: latest@sha256:beece2ad9395036846adcf27f32a28b55eeb8c0df4dc6f7fcedb7eb9c0ba0243
356 # -- Image pull policy
357 pullPolicy: IfNotPresent
358 # -- Set the root path of the dashboard (e.g. `/rollouts`). Useful when running behind a reverse proxy with a path prefix.
360 # -- Additional command line arguments to pass to rollouts-dashboard. A list of flags.
362 # -- Additional environment variables for rollouts-dashboard. A list of name/value maps.
366 # -- Resource limits and requests for the dashboard pods.
368 # -- Security Context to set on pod level
371 # -- Security Context to set on container level
372 containerSecurityContext: {}
374 # -- Sets the type of the Service
376 # -- The class of the load balancer implementation
377 loadBalancerClass: ""
378 # -- LoadBalancer will get created with the IP specified in this field
380 # -- Source IP ranges to allow access to service from
381 loadBalancerSourceRanges: []
382 # -- Dashboard service external IPs
384 # -- Service annotations
388 # -- Service port name
392 # -- Service target port
394 # -- (int) Service nodePort
397 # -- Specifies whether a dashboard service account should be created
399 # -- Annotations to add to the dashboard service account
401 # -- The name of the service account to use.
402 # If not set and create is true, a name is generated using the fullname template
404 ## Configure Pod Disruption Budget for the dashboard
406 # -- Labels to be added to dashboard [Pod Disruption Budget]
408 # -- Annotations to be added to dashboard [Pod Disruption Budget]
410 # -- Deploy a [Pod Disruption Budget] for the dashboard
412 # -- Minimum number / percentage of pods that should remain scheduled
414 # -- Maximum number / percentage of pods that may be made unavailable
416 ## Ingress configuration.
417 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
420 # -- Enable dashboard ingress support
422 # -- Dashboard ingress annotations
424 # -- Dashboard ingress labels
426 # -- Dashboard ingress class name
428 # -- Dashboard ingress hosts
429 ## Argo Rollouts Dashboard Ingress.
430 ## Hostnames must be provided if Ingress is enabled.
431 ## Secrets must be manually created in the namespace
433 # - argorollouts.example.com
435 # -- Dashboard ingress paths
438 # -- Dashboard ingress path type
440 # -- Dashboard ingress extra paths
444 # serviceName: ssl-redirect
445 # servicePort: use-annotation
446 ## for Kubernetes >=1.19 (when "networking.k8s.io/v1" is used)
453 # name: use-annotation
455 # -- Dashboard ingress tls
457 # - secretName: argorollouts-example-tls
459 # - argorollouts.example.com
460 # -- Additional volumes to add to the dashboard pod
462 # -- Additional volumeMounts to add to the dashboard container
466 # -- Whether to create notifications configmap
469 # -- Whether to create notifications secret.
470 ## If you want to manually create secret, do not forget to add proper label to it: "app.kubernetes.io/component: {{ .Values.controller.component }}".
472 # -- Generic key:value pairs to be inserted into the notifications secret
475 # -- Annotations to be added to the notifications secret
477 # -- Configures notification services
480 # token: $slack-token
482 # -- Notification templates
484 # template.my-purple-template: |
486 # Rollout {{.rollout.metadata.name}} has purple image
490 # "title": "{{ .rollout.metadata.name}}",
494 # -- The trigger defines the condition when the notification should be sent
496 # trigger.on-purple: |
497 # - send: [my-purple-template]
498 # when: rollout.spec.template.spec.containers[0].image == 'argoproj/rollouts-demo:purple'
500 # -- The subscriptions define the subscriptions to the triggers in a general way for all rollouts
505 # - on-rollout-completed
506 # - on-rollout-aborted