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:c42bcf3fb4961a3a99ba263e236c056224f03d95b341701b82034aa5b529018b
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:9991e452712c59ceb62dbcba8c7bd3b84867799e5060d0dbb1351589a91a2c72
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
allowPrivilegeEscalation: false
365
capabilities:
366
drop:
367
- ALL
368
readOnlyRootFilesystem: true
369
seccompProfile:
370
type: RuntimeDefault
371
service:
372
# -- Sets the type of the Service
373
type: ClusterIP
374
# -- The class of the load balancer implementation
375
loadBalancerClass: ""
376
# -- LoadBalancer will get created with the IP specified in this field
377
loadBalancerIP: ""
378
# -- Source IP ranges to allow access to service from
379
loadBalancerSourceRanges: []
380
# -- Dashboard service external IPs
381
externalIPs: []
382
# -- Service annotations
383
annotations: {}
384
# -- Service labels
385
labels: {}
386
# -- Service port name
387
portName: dashboard
388
# -- Service port
389
port: 3100
390
# -- Service target port
391
targetPort: 3100
392
# -- (int) Service nodePort
393
nodePort:
394
serviceAccount:
395
# -- Specifies whether a dashboard service account should be created
396
create: true
397
# -- Annotations to add to the dashboard service account
398
annotations: {}
399
# -- The name of the service account to use.
400
# If not set and create is true, a name is generated using the fullname template
401
name: ""
402
## Configure Pod Disruption Budget for the dashboard
403
pdb:
404
# -- Labels to be added to dashboard [Pod Disruption Budget]
405
labels: {}
406
# -- Annotations to be added to dashboard [Pod Disruption Budget]
407
annotations: {}
408
# -- Deploy a [Pod Disruption Budget] for the dashboard
409
enabled: false
410
# -- Minimum number / percentage of pods that should remain scheduled
411
minAvailable: # 1
412
# -- Maximum number / percentage of pods that may be made unavailable
413
maxUnavailable: # 0
414
## Ingress configuration.
415
## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
416
##
417
ingress:
418
# -- Enable dashboard ingress support
419
enabled: false
420
# -- Dashboard ingress annotations
421
annotations: {}
422
# -- Dashboard ingress labels
423
labels: {}
424
# -- Dashboard ingress class name
425
ingressClassName: ""
426
# -- Dashboard ingress hosts
427
## Argo Rollouts Dashboard Ingress.
428
## Hostnames must be provided if Ingress is enabled.
429
## Secrets must be manually created in the namespace
430
hosts: []
431
# - argorollouts.example.com
432
433
# -- Dashboard ingress paths
434
paths:
435
- /
436
# -- Dashboard ingress path type
437
pathType: Prefix
438
# -- Dashboard ingress extra paths
439
extraPaths: []
440
# - path: /*
441
# backend:
442
# serviceName: ssl-redirect
443
# servicePort: use-annotation
444
## for Kubernetes >=1.19 (when "networking.k8s.io/v1" is used)
445
# - path: /*
446
# pathType: Prefix
447
# backend:
448
# service
449
# name: ssl-redirect
450
# port:
451
# name: use-annotation
452
453
# -- Dashboard ingress tls
454
tls: []
455
# - secretName: argorollouts-example-tls
456
# hosts:
457
# - argorollouts.example.com
458
## HTTPRoute configuration (Gateway API).
459
## ref: https://gateway-api.sigs.k8s.io/api-types/httproute/
460
##
461
httproute:
462
# -- Enable HTTPRoute resource for the dashboard (Gateway API)
463
enabled: false
464
# -- Additional HTTPRoute labels
465
labels: {}
466
# -- Additional HTTPRoute annotations
467
annotations: {}
468
# -- Gateway API parentRefs for the HTTPRoute
469
## Must reference an existing Gateway
470
# @default -- `[]` (See [values.yaml])
471
parentRefs: []
472
# - name: example-gateway
473
# namespace: example-gateway-namespace
474
# sectionName: https
475
# -- List of hostnames for the HTTPRoute
476
# @default -- `[]` (See [values.yaml])
477
hostnames: []
478
# - argorollouts.example.com
479
# -- HTTPRoute rules configuration
480
# @default -- `[]` (See [values.yaml])
481
rules:
482
- matches:
483
- path:
484
type: PathPrefix
485
value: /
486
# filters: []
487
# - type: RequestHeaderModifier
488
# requestHeaderModifier:
489
# add:
490
# - name: X-Custom-Header
491
# value: custom-value
492
# timeouts: {}
493
# -- Additional volumes to add to the dashboard pod
494
volumes: []
495
# -- Additional volumeMounts to add to the dashboard container
496
volumeMounts: []
497
notifications:
498
configmap:
499
# -- Whether to create notifications configmap
500
create: true
501
secret:
502
# -- Whether to create notifications secret.
503
## If you want to manually create secret, do not forget to add proper label to it: "app.kubernetes.io/component: {{ .Values.controller.component }}".
504
create: false
505
# -- Generic key:value pairs to be inserted into the notifications secret
506
items: {}
507
# slack-token:
508
# -- Annotations to be added to the notifications secret
509
annotations: {}
510
# -- Configures notification services
511
notifiers: {}
512
# service.slack: |
513
# token: $slack-token
514
515
# -- Notification templates
516
templates: {}
517
# template.my-purple-template: |
518
# message: |
519
# Rollout {{.rollout.metadata.name}} has purple image
520
# slack:
521
# attachments: |
522
# [{
523
# "title": "{{ .rollout.metadata.name}}",
524
# "color": "#800080"
525
# }]
526
527
# -- The trigger defines the condition when the notification should be sent
528
triggers: {}
529
# trigger.on-purple: |
530
# - send: [my-purple-template]
531
# when: rollout.spec.template.spec.containers[0].image == 'argoproj/rollouts-demo:purple'
532
533
# -- The subscriptions define the subscriptions to the triggers in a general way for all rollouts
534
subscriptions: []
535
# - recipients:
536
# - slack:<channel>
537
# triggers:
538
# - on-rollout-completed
539
# - on-rollout-aborted
540

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.