2 # -- Common tag for Argo Workflows images. Defaults to `.Chart.AppVersion`.
4 # -- imagePullPolicy to apply to all containers
6 # -- Secrets with credentials to pull images from a private registry
8 # - name: argo-pull-secret
9## Custom resource configuration
11 # -- Install and upgrade CRDs
13 # -- Keep CRDs on chart uninstall
15 # -- Use full CRDs with complete OpenAPI schemas. When false, uses minified CRDs with x-kubernetes-preserve-unknown-fields.
16 # Full CRDs are very large and are installed via a pre-install/pre-upgrade hook Job that uses server-side apply.
18 # -- Annotations to be added to all CRDs (only applies when crds.full=false)
20 # Configuration for the CRD install Job (only used when crds.full=true)
22 # -- Image for the kubectl container that applies CRDs
24 # -- Repository for the kubectl image
25 repository: cgr.dev/chainguard-private/kubectl
26 # -- Tag for the kubectl image
27 tag: latest@sha256:a56de917c0c555cd0bf7fccdd953ef26b87276392963b9562a483ed67e373901
28 # -- Override base URL to download full CRD YAML files from. Defaults to this chart's release tag on GitHub. Ignored if hostPath is set.
30 # -- Host path to mount CRD files from (for local/CI testing). When set, CRDs are applied from this path instead of downloading.
32 # -- Resources for the CRD install Job containers
34 # -- Node selector for the CRD install Job
36 # -- Pod security context for the CRD install Job pod
37 podSecurityContext: {}
38 # -- Optional labels to add to the CRD install Job pod
40 # -- Tolerations for the CRD install Job
42 # -- Image pull secrets for the CRD install Job
44 # -- Security context for the CRD install Job container
46 readOnlyRootFilesystem: true
48 allowPrivilegeEscalation: false
56 # -- Extra environment variables to provide to the CRD install Job container
59 # value: "http://proxy.example.com:8080"
61 # value: "http://proxy.example.com:8080"
63 # value: "localhost,127.0.0.1,10.96.0.0/12,192.168.0.0/16"
64# -- Create ClusterRoles that extend existing ClusterRoles to interact with Argo Workflows CRDs.
65## Ref: https://kubernetes.io/docs/reference/access-authn-authz/rbac/#aggregated-clusterroles
66createAggregateRoles: true
67# -- String to partially override "argo-workflows.fullname" template
69# -- String to fully override "argo-workflows.fullname" template
71# -- Override the namespace
72# @default -- `.Release.Namespace`
74# -- Labels to set on all resources
76# -- Override the Kubernetes version, which is used to evaluate certain manifests
77kubeVersionOverride: ""
80 # -- String to override apiVersion of autoscaling rendered by this helm chart
81 autoscaling: "" # autoscaling/v2
82 # -- String to override apiVersion of GKE resources rendered by this helm chart
83 cloudgoogle: "" # cloud.google.com/v1
84 # -- String to override apiVersion of monitoring CRDs (ServiceMonitor) rendered by this helm chart
85 monitoring: "" # monitoring.coreos.com/v1
86# -- Restrict Argo to operate only in a single namespace (the namespace of the
87# Helm release) by apply Roles and RoleBindings instead of the Cluster
88# equivalents, and start workflow-controller with the --namespaced flag. Use it
89# in clusters with strict access policy.
92 # -- Deprecated; use controller.workflowNamespaces instead.
95 # -- Specifies whether a service account should be created
97 # -- Specifies whether a secret for each service account should be created
99 # -- Labels applied to created service account
101 # -- Annotations applied to created service account
103 # -- Service account which is used to run workflows
104 name: "argo-workflow"
105 # -- Secrets with credentials to pull images from a private registry. Same format as `.Values.images.pullSecrets`
108 # -- Adds Role and RoleBinding for the above specified service account to be able to run workflows.
109 # A Role and Rolebinding pair is also created for each namespace in controller.workflowNamespaces (see below)
111 # -- Allows permissions for the Argo Agent. Only required if using http/plugin templates
112 agentPermissions: false
113 # -- Allows permissions for the Argo Artifact GC pod. Only required if using artifact gc
115 # -- Extra service accounts to be added to the RoleBinding
117 # - name: my-service-account
118 # namespace: my-namespace
119 # -- Additional rules for the service account that runs the workflows.
123 # -- Registry to use for the controller
125 # -- Registry to use for the controller
126 repository: chainguard-private/argo-workflowcontroller
127 # -- Image tag for the workflow controller. Defaults to `.Values.images.tag`.
128 tag: latest@sha256:4a1fb003cfd64225fda6c516a56fe5f406fafb8ef23eec16e1f93d933144b91e
129 # -- parallelism dictates how many workflows can be running at the same time
131 # -- Globally limits the rate at which pods are created.
132 # This is intended to mitigate flooding of the Kubernetes API server by workflows with a large amount of
134 resourceRateLimit: {}
139 # -- Adds Role and RoleBinding for the controller.
141 # -- Allows controller to get, list, and watch certain k8s secrets
143 # -- Allows controller to get, list and watch all k8s secrets. Can only be used if secretWhitelist is empty.
144 accessAllSecrets: false
145 # -- Allows controller to create and update ConfigMaps. Enables memoization feature
146 writeConfigMaps: false
148 # -- Create a ConfigMap for the controller
152 # -- ConfigMap annotations
154 # -- Limits the maximum number of incomplete workflows in a namespace
155 namespaceParallelism:
156 # -- Resolves ongoing, uncommon AWS EKS bug: https://github.com/argoproj/argo-workflows/pull/4224
158 # -- deploymentAnnotations is an optional map of annotations to be applied to the controller Deployment
159 deploymentAnnotations: {}
160 # -- podAnnotations is an optional map of annotations to be applied to the controller Pods
162 # -- Optional labels to add to the controller pods
164 # -- SecurityContext to set on the controller pods
165 podSecurityContext: {}
168 # -- Enables prometheus metrics server
170 # -- Path is the path where metrics are emitted. Must start with a "/".
172 # -- Frequency at which prometheus scrapes metrics
174 # -- Port is the port where metrics are emitted
176 # -- How often custom metrics are cleared from memory
178 # -- Flag that instructs prometheus to ignore metric emission errors.
180 # -- Flag that use a self-signed cert for TLS
182 # -- Container metrics port name
184 # -- Service metrics port
186 # -- Service metrics port name
187 servicePortName: metrics
188 # -- serviceMonitor scheme
190 # -- Flag to enable headless service
191 headlessService: false
192 # -- When true, honorLabels preserves the metric’s labels when they collide with the target’s labels.
193 ## Ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#honorlabels
195 # -- ServiceMonitor relabel configs to apply to samples before scraping
196 ## Ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#relabelconfig
198 # -- ServiceMonitor metric relabel configs to apply to samples before ingestion
199 ## Ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#endpoint
200 metricRelabelings: []
201 # -- ServiceMonitor will add labels from the service to the Prometheus metric
202 ## Ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#servicemonitorspec
204 # -- Manipulate the metrics created by the workflow controller
205 ## Ref: https://argo-workflows.readthedocs.io/en/latest/metrics/#modifiers
207 # -- the controller container's securityContext
209 readOnlyRootFilesystem: true
211 allowPrivilegeEscalation: false
215 # -- enable Workflow Archive to store the status of workflows. Postgres and MySQL (>= 5.7.8) are available.
216 ## Ref: https://argo-workflows.readthedocs.io/en/stable/workflow-archive/
221 # # save the entire workflow into etcd and DB
222 # nodeStatusOffLoad: false
223 # # enable archiving of old workflows
229 # tableName: argo_workflows
230 # # the database secrets must be in the same namespace of the controller
232 # name: argo-postgres-config
235 # name: argo-postgres-config
238 # # sslMode must be one of: disable, require, verify-ca, verify-full
239 # # you can find more information about those ssl options here: https://godoc.org/github.com/lib/pq
245 # tableName: argo_workflows
247 # name: argo-mysql-config
250 # name: argo-mysql-config
253 # -- Default values that will apply to all Workflows from this controller, unless overridden on the Workflow-level.
254 # Only valid for 2.7+
255 ## See more: https://argo-workflows.readthedocs.io/en/stable/default-workflow-specs/
259 # secondsAfterCompletion: 86400
260 # # Ref: https://argo-workflows.readthedocs.io/en/stable/artifact-repository-ref/
261 # artifactRepositoryRef:
262 # configMap: my-artifact-repository # default is "artifact-repositories"
263 # key: v2-s3-artifact-repository # default can be set by the `workflows.argoproj.io/default-artifact-repository` annotation in config map.
265 # -- Number of workflow workers
266 workflowWorkers: # 32
267 # -- Number of workflow TTL workers
268 workflowTTLWorkers: # 4
269 # -- Number of pod cleanup workers
270 podCleanupWorkers: # 4
271 # -- Number of cron workflow workers
272 # Only valid for 3.5+
273 cronWorkflowWorkers: # 8
274 # -- Restricts the Workflows that the controller will process.
275 # Only valid for 2.9+
276 workflowRestrictions: {}
277 # templateReferencing: Strict|Secure
279 # telemetryConfig controls the path and port for prometheus telemetry. Telemetry is enabled and emitted in the same endpoint
280 # as metrics by default, but can be overridden using this config.
282 # -- Enables prometheus telemetry server
286 # -- Frequency at which prometheus scrapes telemetry data
288 # -- telemetry container port
290 # -- How often custom metrics are cleared from memory
292 # -- Flag that instructs prometheus to ignore metric emission errors.
294 # -- Flag that use a self-signed cert for TLS
296 # -- telemetry service port
298 # -- telemetry service port name
299 servicePortName: telemetry
300 # -- telemetry serviceMonitor scheme to use
303 # -- Enable a prometheus ServiceMonitor
305 # -- Prometheus ServiceMonitor labels
307 # -- Prometheus ServiceMonitor namespace
308 namespace: "" # "monitoring"
310 # -- Create a service account for the controller
312 # -- Service account name
314 # -- Labels applied to created service account
316 # -- Annotations applied to created service account
318 # -- Workflow controller name string
319 name: workflow-controller
320 # -- Specify all namespaces where this workflow controller instance will manage
321 # workflows. This controls where the service account and RBAC resources will
322 # be created. Only valid when singleNamespace is false.
326 # -- Configures the controller to filter workflow submissions
327 # to only those which have a matching instanceID attribute.
328 ## NOTE: If `instanceID.enabled` is set to `true` then either `instanceID.userReleaseName`
329 ## or `instanceID.explicitID` must be defined.
331 # -- Use ReleaseName as instanceID
332 useReleaseName: false
333 # useReleaseName: true
335 # -- Use a custom instanceID
337 # explicitID: unique-argo-controller-identifier
339 # -- Set the logging level (one of: `debug`, `info`, `warn`, `error`)
341 # -- Set the glog logging level
343 # -- Set the logging format (one of: `text`, `json`)
345 # -- Service type of the controller Service
346 serviceType: ClusterIP
347 # -- Annotations to be applied to the controller Service
348 serviceAnnotations: {}
349 # -- Optional labels to add to the controller Service
351 # -- The class of the load balancer implementation
352 loadBalancerClass: ""
353 # -- Source ranges to allow access to service from. Only applies to service type `LoadBalancer`
354 loadBalancerSourceRanges: []
355 # -- Resource limits and requests for the controller
357 # -- Configure liveness [probe] for the controller
358 # @default -- See [values.yaml]
364 initialDelaySeconds: 90
367 # -- Extra environment variables to provide to the controller container
372 # -- envFrom to pass to the controller container
374 # -- Extra arguments to be added to the controller
376 # -- Additional volume mounts to the controller main container
378 # -- Additional volumes to the controller pod
380 # -- The number of controller pods to run
382 # -- The number of revisions to keep.
383 revisionHistoryLimit: 10
385 # -- Configure [Pod Disruption Budget] for the controller pods
391 kubernetes.io/os: linux
392 # -- [Tolerations] for use with node taints
394 # -- Assign custom [affinity] rules
396 # -- Assign custom [TopologySpreadConstraints] rules to the workflow controller
397 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
398 ## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
399 topologySpreadConstraints: []
401 # topologyKey: topology.kubernetes.io/zone
402 # whenUnsatisfiable: DoNotSchedule
404 # -- Leverage a PriorityClass to ensure your pods survive resource shortages.
405 ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
406 priorityClassName: ""
407 # -- Configure Argo Server to show custom [links]
408 ## Ref: https://argo-workflows.readthedocs.io/en/stable/links/
410 # -- Configure Argo Server to show custom [columns]
411 ## Ref: https://github.com/argoproj/argo-workflows/pull/10693
413 # -- Set ui navigation bar background color
415 clusterWorkflowTemplates:
416 # -- Create a ClusterRole and CRB for the controller to access ClusterWorkflowTemplates.
418 # -- Extra service accounts to be added to the ClusterRoleBinding
420 # - name: my-service-account
421 # namespace: my-namespace
422 # -- Extra containers to be added to the controller deployment
424 # -- Enables init containers to be added to the controller deployment
425 extraInitContainers: []
426 # -- Workflow retention by number of workflows
433 # -- Enable to emit events on node completion.
434 ## This can take up a lot of space in k8s (typically etcd) resulting in errors when trying to create new events:
435 ## "Unable to create audit event: etcdserver: mvcc: database space exceeded"
438 # -- Enable to emit events on workflow status changes.
439 ## This can take up a lot of space in k8s (typically etcd), resulting in errors when trying to create new events:
440 ## "Unable to create audit event: etcdserver: mvcc: database space exceeded"
442 # -- Configure when workflow controller runs in a different k8s cluster with the workflow workloads,
443 # or needs to communicate with the k8s apiserver using an out-of-cluster kubeconfig secret.
444 # @default -- `{}` (See [values.yaml])
446 # # name of the kubeconfig secret, may not be empty when kubeConfig specified
447 # secretName: kubeconfig-secret
448 # # key of the kubeconfig secret, may not be empty when kubeConfig specified
449 # secretKey: kubeconfig
450 # # mounting path of the kubeconfig secret, default to /kube/config
451 # mountPath: /kubeconfig/mount/path
452 # # volume name when mounting the secret, default to kubeconfig
453 # volumeName: kube-config-volume
455 # -- Specifies the duration in seconds before a terminating pod is forcefully killed. A zero value indicates that the pod will be forcefully terminated immediately.
456 # @default -- `30` seconds (Kubernetes default)
457 podGCGracePeriodSeconds:
458 # -- The duration in seconds before the pods in the GC queue get deleted. A zero value indicates that the pods will be deleted immediately.
459 # @default -- `5s` (Argo Workflows default)
460 podGCDeleteDelayDuration: ""
461 # -- enable Synchronization to use a database. Postgres and MySQL (>= 5.7.8) are available.
462 ## Ref: https://argo-workflows.readthedocs.io/en/latest/workflow-controller-configmap/#syncconfig
464 # controllerName: argo-workflows
472 # tableName: argo_workflows
473 # # the database secrets must be in the same namespace of the controller
475 # name: argo-postgres-config
478 # name: argo-postgres-config
481 # # sslMode must be one of: disable, require, verify-ca, verify-full
482 # # you can find more information about those ssl options here: https://godoc.org/github.com/lib/pq
488 # tableName: argo_workflows
490 # name: argo-mysql-config
493 # name: argo-mysql-config
497 # -- Enable to restart of pods that fail before entering Running state.
498 ## This is useful for recovering from transient infrastructure issues like node eviction due to DiskPressure or MemoryPressure without requiring a retryStrategy on every template.
499 ## ref: https://argo-workflows.readthedocs.io/en/latest/pod-restarts/
501 # -- Maximum number of automatic restarts per node before giving up.
503# mainContainer adds default config for main container that could be overriden in workflows template
505 # -- imagePullPolicy to apply to Workflow main container. Defaults to `.Values.images.pullPolicy`.
507 # -- Resource limits and requests for the Workflow main container
509 # -- Adds environment variables for the Workflow main container
511 # -- Adds reference environment variables for the Workflow main container
513 # -- sets security context for the Workflow main container
515# executor controls how the init and wait container should be customized
518 # -- Registry to use for the Workflow Executors
520 # -- Repository to use for the Workflow Executors
521 repository: chainguard-private/argo-exec
522 # -- Image tag for the workflow executor. Defaults to `.Values.images.tag`.
523 tag: latest@sha256:b03427cdd8ee689142afd17b6cebd3788f3d9b053df9c374092b3ac316c785f8
524 # -- Image PullPolicy to use for the Workflow Executors. Defaults to `.Values.images.pullPolicy`.
526 # -- Resource limits and requests for the Workflow Executors
528 # -- Passes arguments to the executor processes
530 # -- Adds environment variables for the executor.
532 # -- sets security context for the executor container
535 # -- Deploy the Argo Server
537 # -- Value for base href in index.html. Used if the server is running behind reverse proxy under subpath different from /.
538 ## only updates base url of resources on client side,
539 ## it's expected that a proxy server rewrites the request URL and gets rid of this prefix
540 ## https://github.com/argoproj/argo-workflows/issues/716#issuecomment-433213190
543 # -- Registry to use for the server
545 # -- Repository to use for the server
546 repository: chainguard-private/argo-cli
547 # -- Image tag for the Argo Workflows server. Defaults to `.Values.images.tag`.
548 tag: latest@sha256:08a0ac75c0c4e0bc7d12d747c598a56fc2312221a39a92a9ad2a1b90864f589f
549 # -- optional map of annotations to be applied to the ui Deployment
550 deploymentAnnotations: {}
551 # -- optional map of annotations to be applied to the ui Pods
553 # -- Optional labels to add to the UI pods
555 # -- SecurityContext to set on the server pods
556 podSecurityContext: {}
558 # -- Adds Role and RoleBinding for the server.
560 # -- Servers container-level security context
562 readOnlyRootFilesystem: false
564 allowPrivilegeEscalation: false
568 # -- Server name string
570 # -- Service type for server pods
571 serviceType: ClusterIP
572 # -- Service port for server
574 # -- Service target port for server
575 serviceTargetPort: 2746
576 # -- Service node port
577 serviceNodePort: # 32746
578 # -- Service port name
579 servicePortName: "" # http
580 # -- Mapping between IP and hostnames that will be injected as entries in the pod's hosts files
587 # -- Create a service account for the server
589 # -- Service account name
591 # -- Labels applied to created service account
593 # -- Annotations applied to created service account
595 # -- Annotations to be applied to the UI Service
596 serviceAnnotations: {}
597 # -- Optional labels to add to the UI Service
599 # -- The class of the load balancer implementation
600 loadBalancerClass: ""
601 # -- Static IP address to assign to loadBalancer service type `LoadBalancer`
603 # -- Source ranges to allow access to service from. Only applies to service type `LoadBalancer`
604 loadBalancerSourceRanges: []
605 # -- Resource limits and requests for the server
607 # -- The number of server pods to run
609 # -- The number of revisions to keep.
610 revisionHistoryLimit: 10
611 ## Argo Server Horizontal Pod Autoscaler
613 # -- Enable Horizontal Pod Autoscaler ([HPA]) for the Argo Server
615 # -- Minimum number of replicas for the Argo Server [HPA]
617 # -- Maximum number of replicas for the Argo Server [HPA]
619 # -- Average CPU utilization percentage for the Argo Server [HPA]
620 targetCPUUtilizationPercentage: 50
621 # -- Average memory utilization percentage for the Argo Server [HPA]
622 targetMemoryUtilizationPercentage: 50
623 # -- Configures the scaling behavior of the target in both Up and Down directions.
624 # This is only available on HPA apiVersion `autoscaling/v2beta2` and newer
627 # stabilizationWindowSeconds: 300
633 # stabilizationWindowSeconds: 300
638 # -- Configure [Pod Disruption Budget] for the server pods
644 kubernetes.io/os: linux
645 # -- [Tolerations] for use with node taints
647 # -- Assign custom [affinity] rules
649 # -- Assign custom [TopologySpreadConstraints] rules to the argo server
650 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
651 ## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
652 topologySpreadConstraints: []
654 # topologyKey: topology.kubernetes.io/zone
655 # whenUnsatisfiable: DoNotSchedule
657 # -- Leverage a PriorityClass to ensure your pods survive resource shortages
658 ## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
659 priorityClassName: ""
660 # -- Run the argo server in "secure" mode. Configure this value instead of `--secure` in extraArgs.
661 ## See the following documentation for more details on secure mode:
662 ## https://argo-workflows.readthedocs.io/en/stable/tls/
664 # -- Extra environment variables to provide to the argo-server container
669 # -- envFrom to pass to the argo-server container
671 # -- Deprecated; use server.authModes instead.
673 # -- A list of supported authentication modes. Available values are `server`, `client`, or `sso`. If you provide sso, please configure `.Values.server.sso` as well.
674 ## Ref: https://argo-workflows.readthedocs.io/en/stable/argo-server-auth-mode/
676 # -- Extra arguments to provide to the Argo server binary.
677 ## Ref: https://argo-workflows.readthedocs.io/en/stable/argo-server/#options
680 # -- Set the logging level (one of: `debug`, `info`, `warn`, `error`)
682 # -- Set the glog logging level
684 # -- Set the logging format (one of: `text`, `json`)
686 # -- Volume to be mounted in Pods for temporary files.
689 # -- Additional volume mounts to the server main container.
691 # -- Additional volumes to the server pod.
693 ## Ingress configuration.
694 # ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
696 # -- Enable an ingress resource
698 # -- Additional ingress annotations
700 # -- Additional ingress labels
702 # -- Defines which ingress controller will implement the resource
704 # -- List of ingress hosts
705 ## Hostnames must be provided if Ingress is enabled.
706 ## Secrets must be manually created in the namespace
708 # - argoworkflows.example.com
710 # -- List of ingress paths
713 # -- Ingress path type. One of `Exact`, `Prefix` or `ImplementationSpecific`
715 # -- Additional ingress paths
719 # serviceName: ssl-redirect
720 # servicePort: use-annotation
721 ## for Kubernetes >=1.19 (when "networking.k8s.io/v1" is used)
728 # name: use-annotation
730 # -- Ingress TLS configuration
732 # - secretName: argoworkflows-example-tls
734 # - argoworkflows.example.com
735 ## Create a Google Backendconfig for use with the GKE Ingress Controller
736 ## https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-configuration#configuring_ingress_features_through_backendconfig_parameters
738 # -- Enable BackendConfig custom resource for Google Kubernetes Engine
740 # -- [BackendConfigSpec]
745 # oauthclientCredentials:
746 # secretName: argoworkflows-secret
748 ## Create a Google Managed Certificate for use with the GKE Ingress Controller
749 ## https://cloud.google.com/kubernetes-engine/docs/how-to/managed-certs
750 GKEmanagedCertificate:
751 # -- Enable ManagedCertificate custom resource for Google Kubernetes Engine.
753 # -- Domains for the Google Managed Certificate
755 - argoworkflows.example.com
756 ## Create a Google FrontendConfig Custom Resource, for use with the GKE Ingress Controller
757 ## https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-features#configuring_ingress_features_through_frontendconfig_parameters
759 # -- Enable FrontConfig custom resource for Google Kubernetes Engine
761 # -- [FrontendConfigSpec]
766 # responseCodeName: RESPONSE_CODE
768 # Gateway API HTTPRoute configuration
769 # NOTE: Gateway API support is in EXPERIMENTAL status
770 # Support depends on your Gateway controller implementation
771 # Some controllers may require additional configuration (e.g., BackendTLSPolicy for HTTPS backends)
772 # Refer to https://gateway-api.sigs.k8s.io/implementations/ for controller-specific details
774 # -- Enable HTTPRoute resource for Argo Workflows server (Gateway API)
776 # -- Additional HTTPRoute labels
778 # -- Additional HTTPRoute annotations
780 # -- Gateway API parentRefs for the HTTPRoute
781 ## Must reference an existing Gateway
782 # @default -- `[]` (See [values.yaml])
784 # - name: example-gateway
785 # namespace: example-gateway-namespace
787 # -- List of hostnames for the HTTPRoute
788 # @default -- `[]` (See [values.yaml])
790 # - argoworkflows.example.com
791 # -- HTTPRoute rules configuration
792 # @default -- `[]` (See [values.yaml])
799 # - type: RequestHeaderModifier
800 # requestHeaderModifier:
802 # - name: X-Custom-Header
803 # value: custom-value
807 # Gateway API BackendTLSPolicy configuration
808 # NOTE: BackendTLSPolicy support is in EXPERIMENTAL status
809 # Required for HTTPS backends when using Gateway API
810 # Not all Gateway controllers support this resource (e.g., Cilium does not support it yet)
812 # -- Enable BackendTLSPolicy resource for Argo Workflows server (Gateway API)
814 # -- Additional BackendTLSPolicy labels
816 # -- Additional BackendTLSPolicy annotations
818 # -- Target references for the BackendTLSPolicy
819 # @default -- `[]` (See [values.yaml])
823 # name: argo-workflows-server
825 # -- TLS validation configuration
826 # @default -- `{}` (See [values.yaml])
828 # hostname: argo-workflows-server.argo.svc.cluster.local
830 # - name: example-ca-cert
833 # wellKnownCACertificates: System
834 clusterWorkflowTemplates:
835 # -- Create a ClusterRole and CRB for the server to access ClusterWorkflowTemplates.
837 # -- Give the server permissions to edit ClusterWorkflowTemplates.
839 # SSO configuration when SSO is specified as a server auth mode.
841 # -- Create SSO configuration. If you set `true` , please also set `.Values.server.authModes` as `sso`.
843 # -- The root URL of the OIDC identity provider
844 issuer: https://accounts.google.com
846 # -- Name of secret to retrieve the app OIDC client ID
847 name: argo-server-sso
848 # -- Key of secret to retrieve the app OIDC client ID
851 # -- Name of a secret to retrieve the app OIDC client secret
852 name: argo-server-sso
853 # -- Key of a secret to retrieve the app OIDC client secret
855 # -- The OIDC redirect URL. Should be in the form <argo-root-url>/oauth2/callback.
858 # -- Adds ServiceAccount Policy to server (Cluster)Role.
860 # -- Whitelist to allow server to fetch Secrets
861 ## When present, restricts secrets the server can read to a given list.
862 ## You can use it to restrict the server to only be able to access the
863 ## service account token secrets that are associated with service accounts
864 ## used for authorization.
866 # -- Scopes requested from the SSO ID provider
867 ## The 'groups' scope requests group membership information, which is usually used for authorization decisions.
870 # -- Define how long your login is valid for (in hours)
871 ## If omitted, defaults to 10h.
873 # -- Alternate root URLs that can be included for some OIDC providers
875 # -- Override claim name for OIDC groups
876 customGroupClaimName: ""
877 # -- Specify the user info endpoint that contains the groups claim
878 ## Configure this if your OIDC provider provides groups information only using the user-info endpoint (e.g. Okta)
880 # -- Skip TLS verification for the HTTP client
881 insecureSkipVerify: false
882 # -- Filter the groups returned by the OIDC provider
883 ## A logical "OR" is used between each regex in the list
884 filterGroupsRegex: []
886 # - ".*argo-workflow.*"
887 # -- Extra containers to be added to the server deployment
889 # -- Enables init containers to be added to the server deployment
890 extraInitContainers: []
891 # -- Specify postStart and preStop lifecycle hooks for server container
893 # -- terminationGracePeriodSeconds for container lifecycle hook
894 terminationGracePeriodSeconds: 30
895 ## livenessProbe for server
896 ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
898 # -- Enable Kubernetes liveness probe for server
901 # -- Http port to use for the liveness probe
903 # -- Http path to use for the liveness probe
905 # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
907 # -- Number of seconds after the container has started before [probe] is initiated
908 initialDelaySeconds: 10
909 # -- How often (in seconds) to perform the [probe]
911 # -- Number of seconds after which the [probe] times out
913 # -- Minimum consecutive successes for the [probe] to be considered successful after having failed
915# -- Array of extra K8s manifests to deploy
917# - apiVersion: secrets-store.csi.x-k8s.io/v1
918# kind: SecretProviderClass
920# name: argo-server-sso
925# - objectName: "argo/server/sso"
926# objectType: "secretsmanager"
929# objectAlias: "client_id"
930# - path: "client_secret"
931# objectAlias: "client_secret"
935# objectName: client_id
936# - key: client_secret
937# objectName: client_secret
938# secretName: argo-server-sso-secrets-store
941# -- Use static credentials for S3 (eg. when not using AWS IRSA)
942useStaticCredentials: true
944 # -- Archive the main container logs as an artifact
946 # -- Store artifact in a S3-compliant object store
947 # @default -- See [values.yaml]
949 # # Note the `key` attribute is not the actual secret, it's the PATH to
950 # # the contents in the associated secret, as defined by the `name` attribute.
952 # name: "{{ .Release.Name }}-minio"
955 # name: "{{ .Release.Name }}-minio"
957 # sessionTokenSecret:
958 # name: "{{ .Release.Name }}-minio"
960 # # insecure will disable TLS. Primarily used for minio installs not configured with TLS
971 # enableEncryption: true
972 # -- Store artifact in a GCS object store
973 # @default -- `{}` (See [values.yaml])
975 # bucket: <project>-argo
976 # keyFormat: "{{ \"{{workflow.namespace}}/{{workflow.name}}/{{pod.name}}\" }}"
977 # # serviceAccountKeySecret is a secret selector.
978 # # It references the k8s secret named 'my-gcs-credentials'.
979 # # This secret is expected to have the key 'serviceAccountKey',
980 # # containing the base64 encoded credentials
983 # # If it's running on GKE and Workload Identity is used,
984 # # serviceAccountKeySecret is not needed.
985 # serviceAccountKeySecret:
986 # name: my-gcs-credentials
987 # key: serviceAccountKey
988 # -- Store artifact in Azure Blob Storage
989 # @default -- `{}` (See [values.yaml])
991 # endpoint: https://mystorageaccountname.blob.core.windows.net
992 # container: my-container-name
993 # blobNameFormat: path/in/container
994 # # accountKeySecret is a secret selector.
995 # # It references the k8s secret named 'my-azure-storage-credentials'.
996 # # This secret is expected to have the key 'account-access-key',
997 # # containing the base64 encoded credentials to the storage account.
998 # # If a managed identity has been assigned to the machines running the
999 # # workflow (e.g., https://docs.microsoft.com/en-us/azure/aks/use-managed-identity)
1000 # # then accountKeySecret is not needed, and useSDKCreds should be
1001 # # set to true instead:
1004 # name: my-azure-storage-credentials
1005 # key: account-access-key
1006# -- The section of custom artifact repository.
1007# Utilize a custom artifact repository that is not one of the current base ones (s3, gcs, azure)
1008customArtifactRepository: {}
1010# repoUrl: https://artifactory.example.com/raw
1012# name: artifactory-creds
1015# name: artifactory-creds
1018# -- The section of [artifact repository ref](https://argo-workflows.readthedocs.io/en/stable/artifact-repository-ref/).
1019# Each map key is the name of configmap
1020# @default -- `{}` (See [values.yaml])
1021artifactRepositoryRef: {}
1023# # If you want to use this config map by default, name it "artifact-repositories".
1024# # Otherwise, you can provide a reference to a
1025# # different config map in `artifactRepositoryRef.configMap`.
1026# artifact-repositories:
1027# # -- v3.0 and after - if you want to use a specific key, put that key into this annotation.
1029# workflows.argoproj.io/default-artifact-repository: default-v1-s3-artifact-repository
1030# # 1st data of configmap. See above artifactRepository or customArtifactRepository.
1031# default-v1-s3-artifact-repository:
1035# endpoint: minio:9000
1038# name: my-minio-cred
1041# name: my-minio-cred
1044# oss-artifact-repository:
1047# endpoint: http://oss-cn-zhangjiakou-internal.aliyuncs.com
1049# # accessKeySecret and secretKeySecret are secret selectors.
1050# # It references the k8s secret named 'bucket-workflow-artifect-credentials'.
1051# # This secret is expected to have the keys 'accessKey'
1052# # and 'secretKey', containing the base64 encoded credentials
1055# name: $mybucket-credentials
1058# name: $mybucket-credentials
1061# another-artifact-repositories:
1063# workflows.argoproj.io/default-artifact-repository: gcs
1066# keyFormat: prefix/in/bucket/{{workflow.name}}/{{pod.name}}
1067# serviceAccountKeySecret:
1068# name: my-gcs-credentials
1069# key: serviceAccountKey
1072 # -- The command/args for each image on workflow, needed when the command is not specified and the emissary executor is used.
1073 ## See more: https://argo-workflows.readthedocs.io/en/stable/workflow-executors/#emissary-emissary
1075 # argoproj/argosay:v2:
1077 # docker/whalesay:latest: