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: 1.10.1-r2@sha256:591cc1c55a0a67ced2bf64c766de05230b7b620bd73e2df8254c9d064a5dfc61
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 # -- Prometheus ServiceMonitor interval; empty uses Prometheus's global one
170 # -- Prometheus ServiceMonitor scrapeTimeout; empty uses Prometheus's global one
172 # -- Labels to be added to the ServiceMonitor
174 # -- Annotations to be added to the ServiceMonitor
175 additionalAnnotations: {}
176 # -- RelabelConfigs to apply to samples before scraping
178 # -- MetricRelabelConfigs to apply to samples before ingestion
179 metricRelabelings: []
180 # -- TLS configuration for the ServiceMonitor. When set, scheme will be https
182 # caFile: /etc/istio-certs/root-cert.pem
183 # certFile: /etc/istio-certs/cert-chain.pem
184 # insecureSkipVerify: true
185 # keyFile: /etc/istio-certs/key.pem
186 # -- Configure liveness [probe] for the controller
187 # @default -- See [values.yaml]
192 initialDelaySeconds: 30
197 # -- Configure readiness [probe] for the controller
199 ## Configure Pod Disruption Budget for the controller
201 # -- Labels to be added to controller [Pod Disruption Budget]
203 # -- Annotations to be added to controller [Pod Disruption Budget]
205 # -- Deploy a [Pod Disruption Budget] for the controller
207 # -- Minimum number / percentage of pods that should remain scheduled
209 # -- Maximum number / percentage of pods that may be made unavailable
211 # -- Additional volumes to add to the controller pod
217 # -- Additional volumeMounts to add to the controller container
219 # - mountPath: /etc/ssl/certs
222 # -- Configures 3rd party metric providers for controller
223 ## Ref: https://argo-rollouts.readthedocs.io/en/stable/analysis/plugins/
224 metricProviderPlugins: []
225 # - 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
226 # location: "file://./my-custom-plugin" # supports http(s):// urls and file://
228 # -- Configures 3rd party stepPlugins for controller
229 ## Ref: https://argo-rollouts.readthedocs.io/en/stable/features/canary/plugins/
231 # - 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
232 # location: "file://./my-custom-plugin" # supports http(s):// urls and file://
234 # -- Configures 3rd party traffic router plugins for controller
235 ## Ref: https://argo-rollouts.readthedocs.io/en/stable/features/traffic-management/plugins/
236 trafficRouterPlugins: []
237 # - 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
238 # location: "file://./my-custom-plugin" # supports http(s):// urls and file://
240 # -- Whether to create the argo-rollouts-config ConfigMap. Set to false when running multiple
241 # controller instances in the same namespace (e.g. with different --instance-id values) to
242 # avoid Helm ownership conflicts; each secondary instance will read the ConfigMap created by
243 # the primary release.
244 createConfigmap: true
246 # -- Specifies whether a service account should be created
248 # -- Annotations to add to the service account
250 # -- The name of the service account to use.
251 # If not set and create is true, a name is generated using the fullname template
253# -- Annotations to be added to all CRDs
255# -- Annotations for the all deployed pods
257# -- Security Context to set on pod level
260# -- Security Context to set on container level
261containerSecurityContext:
262 allowPrivilegeEscalation: false
266 readOnlyRootFilesystem: true
269# -- Annotations to be added to the Rollout service
270serviceAnnotations: {}
271# -- Labels to be added to the Rollout pods
273# -- Secrets with credentials to pull images from a private registry. Registry secret names as an array.
275# - name: argo-pull-secret
278 # -- Toggles addition of provider-specific RBAC rules to the controller Role and ClusterRole
280 # providerRBAC.enabled must be true in order to toggle the individual providers
282 # -- Adds RBAC rules for the Istio provider
284 # -- Adds RBAC rules for the SMI provider
286 # -- Adds RBAC rules for the Ambassador provider
288 # -- Adds RBAC rules for the AWS Load Balancer Controller provider
289 awsLoadBalancerController: true
290 # -- Adds RBAC rules for the AWS App Mesh provider
292 # -- Adds RBAC rules for the Traefik provider
294 # -- Adds RBAC rules for the Apisix provider
296 # -- Adds RBAC rules for the Contour provider, see `https://github.com/argoproj-labs/rollouts-plugin-trafficrouter-contour/blob/main/README.md`
298 # -- Adds RBAC rules for the Gloo Platform provider, see `https://github.com/argoproj-labs/rollouts-plugin-trafficrouter-glooplatform/blob/main/README.md`
300 # -- Adds RBAC rules for the Gateway API provider
302 # -- Additional RBAC rules for others providers
305 # -- Deploy dashboard server
307 # -- Set cluster role to readonly
309 # -- Value of label `app.kubernetes.io/component`
310 component: rollouts-dashboard
311 # -- Annotations to be added to the dashboard deployment
312 deploymentAnnotations: {}
313 # -- Labels to be added to the dashboard deployment
315 # -- Annotations to be added to application dashboard pods
317 # -- Labels to be added to the application dashboard pods
321 # -- [Tolerations] for use with node taints
323 # -- Assign custom [affinity] rules to the deployment
326 # -- Set the logging level (one of: `debug`, `info`, `warn`, `error`)
328 # -- Set the klog logging level
330 # -- Assign custom [TopologySpreadConstraints] rules to the dashboard server
331 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
332 ## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
333 topologySpreadConstraints: []
335 # topologyKey: topology.kubernetes.io/zone
336 # whenUnsatisfiable: DoNotSchedule
338 # -- [priorityClassName] for the dashboard server
339 priorityClassName: ""
340 # -- flag to enable creation of dashbord cluster role (requires cluster RBAC)
341 createClusterRole: true
342 # -- The number of dashboard pods to run
347 # -- Repository to use
348 repository: chainguard-private/kubectl-argo-rollouts
349 # -- Overrides the image tag (default is the chart appVersion)
350 tag: 1.10.1-r2@sha256:8813696272539f41559c093bf5fa543386e22e0488749f6ef3f18dc3590c9ccb
351 # -- Image pull policy
352 pullPolicy: IfNotPresent
353 # -- Set the root path of the dashboard (e.g. `/rollouts`). Useful when running behind a reverse proxy with a path prefix.
355 # -- Address the dashboard listens on. Since v1.10.1 the dashboard binds to `127.0.0.1` unless told otherwise, which the Service cannot reach.
356 # Set to `""` to omit the flag for images older than v1.8.5, v1.9.2 or v1.10.1.
358 # -- Additional command line arguments to pass to rollouts-dashboard. A list of flags.
360 # -- Additional environment variables for rollouts-dashboard. A list of name/value maps.
364 # -- Resource limits and requests for the dashboard pods.
366 # -- Security Context to set on pod level
369 # -- Security Context to set on container level
370 containerSecurityContext:
371 allowPrivilegeEscalation: false
375 readOnlyRootFilesystem: true
379 # -- Sets the type of the Service
381 # -- The class of the load balancer implementation
382 loadBalancerClass: ""
383 # -- LoadBalancer will get created with the IP specified in this field
385 # -- Source IP ranges to allow access to service from
386 loadBalancerSourceRanges: []
387 # -- Dashboard service external IPs
389 # -- Service annotations
393 # -- Service port name
397 # -- Service target port
399 # -- (int) Service nodePort
402 # -- Specifies whether a dashboard service account should be created
404 # -- Annotations to add to the dashboard service account
406 # -- The name of the service account to use.
407 # If not set and create is true, a name is generated using the fullname template
409 ## Configure Pod Disruption Budget for the dashboard
411 # -- Labels to be added to dashboard [Pod Disruption Budget]
413 # -- Annotations to be added to dashboard [Pod Disruption Budget]
415 # -- Deploy a [Pod Disruption Budget] for the dashboard
417 # -- Minimum number / percentage of pods that should remain scheduled
419 # -- Maximum number / percentage of pods that may be made unavailable
421 ## Ingress configuration.
422 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
425 # -- Enable dashboard ingress support
427 # -- Dashboard ingress annotations
429 # -- Dashboard ingress labels
431 # -- Dashboard ingress class name
433 # -- Dashboard ingress hosts
434 ## Argo Rollouts Dashboard Ingress.
435 ## Hostnames must be provided if Ingress is enabled.
436 ## Secrets must be manually created in the namespace
438 # - argorollouts.example.com
440 # -- Dashboard ingress paths
443 # -- Dashboard ingress path type
445 # -- Dashboard ingress extra paths
449 # serviceName: ssl-redirect
450 # servicePort: use-annotation
451 ## for Kubernetes >=1.19 (when "networking.k8s.io/v1" is used)
458 # name: use-annotation
460 # -- Dashboard ingress tls
462 # - secretName: argorollouts-example-tls
464 # - argorollouts.example.com
465 ## HTTPRoute configuration (Gateway API).
466 ## ref: https://gateway-api.sigs.k8s.io/api-types/httproute/
469 # -- Enable HTTPRoute resource for the dashboard (Gateway API)
471 # -- Additional HTTPRoute labels
473 # -- Additional HTTPRoute annotations
475 # -- Gateway API parentRefs for the HTTPRoute
476 ## Must reference an existing Gateway
477 # @default -- `[]` (See [values.yaml])
479 # - name: example-gateway
480 # namespace: example-gateway-namespace
482 # -- List of hostnames for the HTTPRoute
483 # @default -- `[]` (See [values.yaml])
485 # - argorollouts.example.com
486 # -- HTTPRoute rules configuration
487 # @default -- `[]` (See [values.yaml])
494 # - type: RequestHeaderModifier
495 # requestHeaderModifier:
497 # - name: X-Custom-Header
498 # value: custom-value
500 # -- Additional volumes to add to the dashboard pod
502 # -- Additional volumeMounts to add to the dashboard container
506 # -- Whether to create notifications configmap
509 # -- Whether to create notifications secret.
510 ## If you want to manually create secret, do not forget to add proper label to it: "app.kubernetes.io/component: {{ .Values.controller.component }}".
512 # -- Generic key:value pairs to be inserted into the notifications secret
515 # -- Annotations to be added to the notifications secret
517 # -- Configures notification services
520 # token: $slack-token
522 # -- Notification templates
524 # template.my-purple-template: |
526 # Rollout {{.rollout.metadata.name}} has purple image
530 # "title": "{{ .rollout.metadata.name}}",
534 # -- The trigger defines the condition when the notification should be sent
536 # trigger.on-purple: |
537 # - send: [my-purple-template]
538 # when: rollout.spec.template.spec.containers[0].image == 'argoproj/rollouts-demo:purple'
540 # -- The subscriptions define the subscriptions to the triggers in a general way for all rollouts
545 # - on-rollout-completed
546 # - on-rollout-aborted