DirectorySecurity AdvisoriesPricing
Sign in
Directory
argo-rollouts logoHELM

argo-rollouts

Helm chart
Last changed
Request a free trial

Contact our team to test out this Helm chart and related images for free. Please also indicate any other images you would like to evaluate.

Overview
Chart versions
Default values
Chart metadata
Images

Tag:
Compare:

1
# -- Install and upgrade CRDs
2
installCRDs: true
3
# -- Keep CRD's on helm uninstall
4
keepCRDs: true
5
# -- `false` runs controller in namespaced mode (does not require cluster RBAC)
6
clusterInstall: true
7
# -- flag to enable creation of cluster aggregate roles (requires cluster RBAC)
8
createClusterAggregateRoles: true
9
# -- String to partially override "argo-rollouts.fullname" template
10
nameOverride:
11
# -- String to fully override "argo-rollouts.fullname" template
12
fullnameOverride:
13
# -- Override the namespace
14
# @default -- `.Release.Namespace`
15
namespaceOverride: ""
16
## Override APIVersions
17
## If you want to template helm charts but cannot access k8s API server
18
## you can set api versions here
19
apiVersionOverrides:
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
23
kubeVersionOverride: ""
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.
26
extraObjects: []
27
# - apiVersion: v1
28
# kind: Secret
29
# metadata:
30
# name: datadog
31
# type: Opaque
32
# data:
33
# address: https://api.datadoghq.com
34
# api-key: <datadog-api-key>
35
# app-key: <datadog-app-key>
36
37
global:
38
# -- Annotations for all deployed Deployments
39
deploymentAnnotations: {}
40
# -- Labels for all deployed Deployments
41
deploymentLabels: {}
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.
45
dnsConfig: {}
46
# nameservers:
47
# - 1.2.3.4
48
# searches:
49
# - ns1.svc.cluster-domain.example
50
# - my.dns.search.suffix
51
# options:
52
# - name: ndots
53
# value: "1"
54
# - name: attempts
55
# value: "3"
56
controller:
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
62
deploymentLabels: {}
63
# -- Annotations to be added to application controller pods
64
podAnnotations: {}
65
# -- Labels to be added to the application controller pods
66
podLabels: {}
67
# -- [Node selector]
68
nodeSelector: {}
69
# -- [Tolerations] for use with node taints
70
tolerations: []
71
# -- Assign custom [affinity] rules to the deployment
72
affinity: {}
73
logging:
74
# -- Set the logging level (one of: `debug`, `info`, `warn`, `error`)
75
level: info
76
# -- Set the klog logging level
77
kloglevel: "0"
78
# -- Set the logging format (one of: `text`, `json`)
79
format: "text"
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: []
84
# - maxSkew: 1
85
# topologyKey: topology.kubernetes.io/zone
86
# whenUnsatisfiable: DoNotSchedule
87
88
# -- terminationGracePeriodSeconds for container lifecycle hook
89
terminationGracePeriodSeconds: 30
90
# -- Specify lifecycle hooks for the controller
91
lifecycle: {}
92
# -- [priorityClassName] for the controller
93
priorityClassName: ""
94
# -- The number of controller pods to run
95
replicas: 2
96
image:
97
# -- Registry to use
98
registry: cgr.dev
99
# -- Repository to use
100
repository: chainguard-private/argo-rollouts
101
# -- Overrides the image tag (default is the chart appVersion)
102
tag: 1.10.0@sha256:343cfb352bd3f8b0af40c8aefce5dd7bd710d014d8d35b798c3c19351dbdd760
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`)
114
pprofAddress: ""
115
# -- Additional command line arguments to pass to rollouts-controller. A list of flags.
116
extraArgs: []
117
# -- Additional environment variables for rollouts-controller. A list of name/value maps.
118
extraEnv: []
119
# - name: AWS_REGION
120
# value: us-east-1
121
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
125
extraContainers: []
126
# -- Init containers to add to the rollouts controller pod
127
## This will be rendered as the literal yaml
128
initContainers: []
129
# - name: download-tools
130
# image: alpine:3.8
131
# command: [sh, -c]
132
# args:
133
# - ls
134
135
# -- Resource limits and requests for the controller pods.
136
resources: {}
137
# limits:
138
# cpu: 100m
139
# memory: 128Mi
140
# ephemeral-storage: 1Gi
141
# requests:
142
# cpu: 50m
143
# memory: 64Mi
144
145
# -- flag to enable creation of cluster controller role (requires cluster RBAC)
146
createClusterRole: true
147
# Controller container ports
148
containerPorts:
149
# -- Metrics container port
150
metrics: 8090
151
# -- Healthz container port
152
healthz: 8080
153
metrics:
154
# -- Deploy metrics service
155
enabled: false
156
service:
157
# -- Metrics service port name
158
portName: metrics
159
# -- Metrics service port
160
port: 8090
161
# -- Service annotations
162
annotations: {}
163
serviceMonitor:
164
# -- Enable a prometheus ServiceMonitor
165
enabled: false
166
# -- Namespace to be used for the ServiceMonitor
167
namespace: ""
168
# -- Labels to be added to the ServiceMonitor
169
additionalLabels: {}
170
# -- Annotations to be added to the ServiceMonitor
171
additionalAnnotations: {}
172
# -- RelabelConfigs to apply to samples before scraping
173
relabelings: []
174
# -- MetricRelabelConfigs to apply to samples before ingestion
175
metricRelabelings: []
176
# -- TLS configuration for the ServiceMonitor. When set, scheme will be https
177
tlsConfig: {}
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]
184
livenessProbe:
185
httpGet:
186
path: /healthz
187
port: healthz
188
initialDelaySeconds: 30
189
periodSeconds: 20
190
failureThreshold: 3
191
successThreshold: 1
192
timeoutSeconds: 10
193
# -- Configure readiness [probe] for the controller
194
readinessProbe: {}
195
## Configure Pod Disruption Budget for the controller
196
pdb:
197
# -- Labels to be added to controller [Pod Disruption Budget]
198
labels: {}
199
# -- Annotations to be added to controller [Pod Disruption Budget]
200
annotations: {}
201
# -- Deploy a [Pod Disruption Budget] for the controller
202
enabled: false
203
# -- Minimum number / percentage of pods that should remain scheduled
204
minAvailable: # 1
205
# -- Maximum number / percentage of pods that may be made unavailable
206
maxUnavailable: # 0
207
# -- Additional volumes to add to the controller pod
208
volumes: []
209
# - configMap:
210
# name: my-certs-cm
211
# name: my-certs
212
213
# -- Additional volumeMounts to add to the controller container
214
volumeMounts: []
215
# - mountPath: /etc/ssl/certs
216
# name: my-certs
217
218
# -- Configures 3rd party metric providers for controller
219
## Ref: https://argo-rollouts.readthedocs.io/en/stable/analysis/plugins/
220
metricProviderPlugins: []
221
# - 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
222
# location: "file://./my-custom-plugin" # supports http(s):// urls and file://
223
224
# -- Configures 3rd party stepPlugins for controller
225
## Ref: https://argo-rollouts.readthedocs.io/en/stable/features/canary/plugins/
226
stepPlugins: []
227
# - 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
228
# location: "file://./my-custom-plugin" # supports http(s):// urls and file://
229
230
# -- Configures 3rd party traffic router plugins for controller
231
## Ref: https://argo-rollouts.readthedocs.io/en/stable/features/traffic-management/plugins/
232
trafficRouterPlugins: []
233
# - 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
234
# location: "file://./my-custom-plugin" # supports http(s):// urls and file://
235
236
# -- Whether to create the argo-rollouts-config ConfigMap. Set to false when running multiple
237
# controller instances in the same namespace (e.g. with different --instance-id values) to
238
# avoid Helm ownership conflicts; each secondary instance will read the ConfigMap created by
239
# the primary release.
240
createConfigmap: true
241
serviceAccount:
242
# -- Specifies whether a service account should be created
243
create: true
244
# -- Annotations to add to the service account
245
annotations: {}
246
# -- The name of the service account to use.
247
# If not set and create is true, a name is generated using the fullname template
248
name: ""
249
# -- Annotations to be added to all CRDs
250
crdAnnotations: {}
251
# -- Annotations for the all deployed pods
252
podAnnotations: {}
253
# -- Security Context to set on pod level
254
podSecurityContext:
255
runAsNonRoot: true
256
# -- Security Context to set on container level
257
containerSecurityContext:
258
allowPrivilegeEscalation: false
259
capabilities:
260
drop:
261
- ALL
262
readOnlyRootFilesystem: true
263
seccompProfile:
264
type: RuntimeDefault
265
# -- Annotations to be added to the Rollout service
266
serviceAnnotations: {}
267
# -- Labels to be added to the Rollout pods
268
podLabels: {}
269
# -- Secrets with credentials to pull images from a private registry. Registry secret names as an array.
270
imagePullSecrets: []
271
# - name: argo-pull-secret
272
273
providerRBAC:
274
# -- Toggles addition of provider-specific RBAC rules to the controller Role and ClusterRole
275
enabled: true
276
# providerRBAC.enabled must be true in order to toggle the individual providers
277
providers:
278
# -- Adds RBAC rules for the Istio provider
279
istio: true
280
# -- Adds RBAC rules for the SMI provider
281
smi: true
282
# -- Adds RBAC rules for the Ambassador provider
283
ambassador: true
284
# -- Adds RBAC rules for the AWS Load Balancer Controller provider
285
awsLoadBalancerController: true
286
# -- Adds RBAC rules for the AWS App Mesh provider
287
awsAppMesh: true
288
# -- Adds RBAC rules for the Traefik provider
289
traefik: true
290
# -- Adds RBAC rules for the Apisix provider
291
apisix: true
292
# -- Adds RBAC rules for the Contour provider, see `https://github.com/argoproj-labs/rollouts-plugin-trafficrouter-contour/blob/main/README.md`
293
contour: true
294
# -- Adds RBAC rules for the Gloo Platform provider, see `https://github.com/argoproj-labs/rollouts-plugin-trafficrouter-glooplatform/blob/main/README.md`
295
glooPlatform: true
296
# -- Adds RBAC rules for the Gateway API provider
297
gatewayAPI: true
298
# -- Additional RBAC rules for others providers
299
additionalRules: []
300
dashboard:
301
# -- Deploy dashboard server
302
enabled: false
303
# -- Set cluster role to readonly
304
readonly: false
305
# -- Value of label `app.kubernetes.io/component`
306
component: rollouts-dashboard
307
# -- Annotations to be added to the dashboard deployment
308
deploymentAnnotations: {}
309
# -- Labels to be added to the dashboard deployment
310
deploymentLabels: {}
311
# -- Annotations to be added to application dashboard pods
312
podAnnotations: {}
313
# -- Labels to be added to the application dashboard pods
314
podLabels: {}
315
# -- [Node selector]
316
nodeSelector: {}
317
# -- [Tolerations] for use with node taints
318
tolerations: []
319
# -- Assign custom [affinity] rules to the deployment
320
affinity: {}
321
logging:
322
# -- Set the logging level (one of: `debug`, `info`, `warn`, `error`)
323
level: info
324
# -- Set the klog logging level
325
kloglevel: "0"
326
# -- Assign custom [TopologySpreadConstraints] rules to the dashboard server
327
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
328
## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
329
topologySpreadConstraints: []
330
# - maxSkew: 1
331
# topologyKey: topology.kubernetes.io/zone
332
# whenUnsatisfiable: DoNotSchedule
333
334
# -- [priorityClassName] for the dashboard server
335
priorityClassName: ""
336
# -- flag to enable creation of dashbord cluster role (requires cluster RBAC)
337
createClusterRole: true
338
# -- The number of dashboard pods to run
339
replicas: 1
340
image:
341
# -- Registry to use
342
registry: cgr.dev
343
# -- Repository to use
344
repository: chainguard-private/kubectl-argo-rollouts
345
# -- Overrides the image tag (default is the chart appVersion)
346
tag: 1.10.0@sha256:02d9486721e72113f4486735f0ea0d09b23d57cad22e42315e924c0123565c3f
347
# -- Image pull policy
348
pullPolicy: IfNotPresent
349
# -- Set the root path of the dashboard (e.g. `/rollouts`). Useful when running behind a reverse proxy with a path prefix.
350
rootPath: ""
351
# -- Additional command line arguments to pass to rollouts-dashboard. A list of flags.
352
extraArgs: []
353
# -- Additional environment variables for rollouts-dashboard. A list of name/value maps.
354
extraEnv: []
355
# - name: FOO
356
# value: bar
357
# -- Resource limits and requests for the dashboard pods.
358
resources: {}
359
# -- Security Context to set on pod level
360
podSecurityContext:
361
runAsNonRoot: true
362
# -- Security Context to set on container level
363
containerSecurityContext: {}
364
service:
365
# -- Sets the type of the Service
366
type: ClusterIP
367
# -- The class of the load balancer implementation
368
loadBalancerClass: ""
369
# -- LoadBalancer will get created with the IP specified in this field
370
loadBalancerIP: ""
371
# -- Source IP ranges to allow access to service from
372
loadBalancerSourceRanges: []
373
# -- Dashboard service external IPs
374
externalIPs: []
375
# -- Service annotations
376
annotations: {}
377
# -- Service labels
378
labels: {}
379
# -- Service port name
380
portName: dashboard
381
# -- Service port
382
port: 3100
383
# -- Service target port
384
targetPort: 3100
385
# -- (int) Service nodePort
386
nodePort:
387
serviceAccount:
388
# -- Specifies whether a dashboard service account should be created
389
create: true
390
# -- Annotations to add to the dashboard service account
391
annotations: {}
392
# -- The name of the service account to use.
393
# If not set and create is true, a name is generated using the fullname template
394
name: ""
395
## Configure Pod Disruption Budget for the dashboard
396
pdb:
397
# -- Labels to be added to dashboard [Pod Disruption Budget]
398
labels: {}
399
# -- Annotations to be added to dashboard [Pod Disruption Budget]
400
annotations: {}
401
# -- Deploy a [Pod Disruption Budget] for the dashboard
402
enabled: false
403
# -- Minimum number / percentage of pods that should remain scheduled
404
minAvailable: # 1
405
# -- Maximum number / percentage of pods that may be made unavailable
406
maxUnavailable: # 0
407
## Ingress configuration.
408
## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
409
##
410
ingress:
411
# -- Enable dashboard ingress support
412
enabled: false
413
# -- Dashboard ingress annotations
414
annotations: {}
415
# -- Dashboard ingress labels
416
labels: {}
417
# -- Dashboard ingress class name
418
ingressClassName: ""
419
# -- Dashboard ingress hosts
420
## Argo Rollouts Dashboard Ingress.
421
## Hostnames must be provided if Ingress is enabled.
422
## Secrets must be manually created in the namespace
423
hosts: []
424
# - argorollouts.example.com
425
426
# -- Dashboard ingress paths
427
paths:
428
- /
429
# -- Dashboard ingress path type
430
pathType: Prefix
431
# -- Dashboard ingress extra paths
432
extraPaths: []
433
# - path: /*
434
# backend:
435
# serviceName: ssl-redirect
436
# servicePort: use-annotation
437
## for Kubernetes >=1.19 (when "networking.k8s.io/v1" is used)
438
# - path: /*
439
# pathType: Prefix
440
# backend:
441
# service
442
# name: ssl-redirect
443
# port:
444
# name: use-annotation
445
446
# -- Dashboard ingress tls
447
tls: []
448
# - secretName: argorollouts-example-tls
449
# hosts:
450
# - argorollouts.example.com
451
## HTTPRoute configuration (Gateway API).
452
## ref: https://gateway-api.sigs.k8s.io/api-types/httproute/
453
##
454
httproute:
455
# -- Enable HTTPRoute resource for the dashboard (Gateway API)
456
enabled: false
457
# -- Additional HTTPRoute labels
458
labels: {}
459
# -- Additional HTTPRoute annotations
460
annotations: {}
461
# -- Gateway API parentRefs for the HTTPRoute
462
## Must reference an existing Gateway
463
# @default -- `[]` (See [values.yaml])
464
parentRefs: []
465
# - name: example-gateway
466
# namespace: example-gateway-namespace
467
# sectionName: https
468
# -- List of hostnames for the HTTPRoute
469
# @default -- `[]` (See [values.yaml])
470
hostnames: []
471
# - argorollouts.example.com
472
# -- HTTPRoute rules configuration
473
# @default -- `[]` (See [values.yaml])
474
rules:
475
- matches:
476
- path:
477
type: PathPrefix
478
value: /
479
# filters: []
480
# - type: RequestHeaderModifier
481
# requestHeaderModifier:
482
# add:
483
# - name: X-Custom-Header
484
# value: custom-value
485
# timeouts: {}
486
# -- Additional volumes to add to the dashboard pod
487
volumes: []
488
# -- Additional volumeMounts to add to the dashboard container
489
volumeMounts: []
490
notifications:
491
configmap:
492
# -- Whether to create notifications configmap
493
create: true
494
secret:
495
# -- Whether to create notifications secret.
496
## If you want to manually create secret, do not forget to add proper label to it: "app.kubernetes.io/component: {{ .Values.controller.component }}".
497
create: false
498
# -- Generic key:value pairs to be inserted into the notifications secret
499
items: {}
500
# slack-token:
501
# -- Annotations to be added to the notifications secret
502
annotations: {}
503
# -- Configures notification services
504
notifiers: {}
505
# service.slack: |
506
# token: $slack-token
507
508
# -- Notification templates
509
templates: {}
510
# template.my-purple-template: |
511
# message: |
512
# Rollout {{.rollout.metadata.name}} has purple image
513
# slack:
514
# attachments: |
515
# [{
516
# "title": "{{ .rollout.metadata.name}}",
517
# "color": "#800080"
518
# }]
519
520
# -- The trigger defines the condition when the notification should be sent
521
triggers: {}
522
# trigger.on-purple: |
523
# - send: [my-purple-template]
524
# when: rollout.spec.template.spec.containers[0].image == 'argoproj/rollouts-demo:purple'
525
526
# -- The subscriptions define the subscriptions to the triggers in a general way for all rollouts
527
subscriptions: []
528
# - recipients:
529
# - slack:<channel>
530
# triggers:
531
# - on-rollout-completed
532
# - on-rollout-aborted
533

The trusted source for open source

Talk to an expert
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsChainguard OS PackagesChainguard ActionsChainguard Agent SkillsIntegrationsPricing
© 2026 Chainguard, Inc. All Rights Reserved.
Chainguard® and the Chainguard logo are registered trademarks of Chainguard, Inc. in the United States and/or other countries.
The other respective trademarks mentioned on this page are owned by the respective companies and use of them does not imply any affiliation or endorsement.