478 lines
16 KiB
YAML
478 lines
16 KiB
YAML
## Argo Events configuration
|
|
## Ref: https://github.com/argoproj/argo-events
|
|
##
|
|
|
|
# -- Provide a name in place of `argo-events`
|
|
nameOverride: argo-events
|
|
# -- String to fully override "argo-events.fullname" template
|
|
fullnameOverride: ""
|
|
# -- Override the namespace
|
|
# @default -- `.Release.Namespace`
|
|
namespaceOverride: ""
|
|
|
|
# -- Deploy on OpenShift
|
|
openshift: false
|
|
|
|
# -- Create clusterroles that extend existing clusterroles to interact with argo-events crds
|
|
# Only applies for cluster-wide installation (`controller.rbac.namespaced: false`)
|
|
## Ref: https://kubernetes.io/docs/reference/access-authn-authz/rbac/#aggregated-clusterroles
|
|
createAggregateRoles: false
|
|
|
|
## Custom resource configuration
|
|
crds:
|
|
# -- Install and upgrade CRDs
|
|
install: true
|
|
# -- Keep CRDs on chart uninstall
|
|
keep: true
|
|
# -- Annotations to be added to all CRDs
|
|
annotations: {}
|
|
|
|
global:
|
|
image:
|
|
# -- If defined, a repository applied to all Argo Events deployments
|
|
repository: quay.io/argoproj/argo-events
|
|
# -- Overrides the global Argo Events image tag whose default is the chart appVersion
|
|
tag: ""
|
|
# -- If defined, a imagePullPolicy applied to all Argo Events deployments
|
|
imagePullPolicy: IfNotPresent
|
|
|
|
# -- If defined, uses a Secret to pull an image from a private Docker registry or repository
|
|
imagePullSecrets: []
|
|
# -- Annotations for the all deployed pods
|
|
podAnnotations: {}
|
|
# -- Labels for the all deployed pods
|
|
podLabels: {}
|
|
|
|
# -- Additional labels to add to all resources
|
|
additionalLabels: {}
|
|
# app: argo-events
|
|
|
|
# -- Toggle and define securityContext. See [values.yaml]
|
|
securityContext: {}
|
|
# runAsNonRoot: true
|
|
# runAsUser: 9731
|
|
# runAsGroup: 9731
|
|
# fsGroup: 9731
|
|
|
|
# -- Mapping between IP and hostnames that will be injected as entries in the pod's hosts files
|
|
hostAliases: []
|
|
# - ip: 10.20.30.40
|
|
# hostnames:
|
|
# - git.myhostname
|
|
|
|
## Event bus configuration
|
|
configs:
|
|
## NATS event bus
|
|
nats:
|
|
# -- Supported versions of NATS event bus
|
|
# @default -- See [values.yaml]
|
|
versions:
|
|
- version: latest
|
|
natsStreamingImage: nats-streaming:latest
|
|
metricsExporterImage: natsio/prometheus-nats-exporter:latest
|
|
- version: 0.22.1
|
|
natsStreamingImage: nats-streaming:0.22.1
|
|
metricsExporterImage: natsio/prometheus-nats-exporter:0.8.0
|
|
|
|
## JetStream event bus
|
|
jetstream:
|
|
# Default JetStream settings, could be overridden by EventBus JetStream spec
|
|
# Ref: https://docs.nats.io/running-a-nats-service/configuration#jetstream
|
|
settings:
|
|
# -- Maximum size of the memory storage (e.g. 1G)
|
|
maxMemoryStore: -1
|
|
# -- Maximum size of the file storage (e.g. 20G)
|
|
maxFileStore: -1
|
|
streamConfig:
|
|
# -- Maximum number of messages before expiring oldest message
|
|
maxMsgs: 1000000
|
|
# -- Maximum age of existing messages, i.e. “72h”, “4h35m”
|
|
maxAge: 72h
|
|
# Total size of messages before expiring oldest message, 0 means unlimited.
|
|
maxBytes: 1GB
|
|
# -- Number of replicas, defaults to 3 and requires minimal 3
|
|
replicas: 3
|
|
# -- Not documented at the moment
|
|
duplicates: 300s
|
|
# -- 0: Limits, 1: Interest, 2: WorkQueue
|
|
retention: 0
|
|
# -- 0: DiscardOld, 1: DiscardNew
|
|
discard: 0
|
|
# Supported versions of JetStream eventbus
|
|
versions:
|
|
- version: latest
|
|
natsImage: nats:2.10.10
|
|
metricsExporterImage: natsio/prometheus-nats-exporter:0.14.0
|
|
configReloaderImage: natsio/nats-server-config-reloader:0.14.0
|
|
startCommand: /nats-server
|
|
- version: 2.8.1
|
|
natsImage: nats:2.8.1
|
|
metricsExporterImage: natsio/prometheus-nats-exporter:0.9.1
|
|
configReloaderImage: natsio/nats-server-config-reloader:0.7.0
|
|
startCommand: /nats-server
|
|
- version: 2.8.1-alpine
|
|
natsImage: nats:2.8.1-alpine
|
|
metricsExporterImage: natsio/prometheus-nats-exporter:0.9.1
|
|
configReloaderImage: natsio/nats-server-config-reloader:0.7.0
|
|
startCommand: nats-server
|
|
- version: 2.8.2
|
|
natsImage: nats:2.8.2
|
|
metricsExporterImage: natsio/prometheus-nats-exporter:0.9.1
|
|
configReloaderImage: natsio/nats-server-config-reloader:0.7.0
|
|
startCommand: /nats-server
|
|
- version: 2.8.2-alpine
|
|
natsImage: nats:2.8.2-alpine
|
|
metricsExporterImage: natsio/prometheus-nats-exporter:0.9.1
|
|
configReloaderImage: natsio/nats-server-config-reloader:0.7.0
|
|
startCommand: nats-server
|
|
- version: 2.9.1
|
|
natsImage: nats:2.9.1
|
|
metricsExporterImage: natsio/prometheus-nats-exporter:0.9.1
|
|
configReloaderImage: natsio/nats-server-config-reloader:0.7.0
|
|
startCommand: /nats-server
|
|
- version: 2.9.12
|
|
natsImage: nats:2.9.12
|
|
metricsExporterImage: natsio/prometheus-nats-exporter:0.9.1
|
|
configReloaderImage: natsio/nats-server-config-reloader:0.7.0
|
|
startCommand: /nats-server
|
|
- version: 2.9.16
|
|
natsImage: nats:2.9.16
|
|
metricsExporterImage: natsio/prometheus-nats-exporter:0.9.1
|
|
configReloaderImage: natsio/nats-server-config-reloader:0.7.0
|
|
startCommand: /nats-server
|
|
- version: 2.10.10
|
|
natsImage: nats:2.10.10
|
|
metricsExporterImage: natsio/prometheus-nats-exporter:0.14.0
|
|
configReloaderImage: natsio/nats-server-config-reloader:0.14.0
|
|
startCommand: /nats-server
|
|
|
|
# -- Array of extra K8s manifests to deploy
|
|
## Note: Supports use of custom Helm templates
|
|
extraObjects: []
|
|
# - apiVersion: secrets-store.csi.x-k8s.io/v1
|
|
# kind: SecretProviderClass
|
|
# metadata:
|
|
# name: argo-events-secrets-store
|
|
# spec:
|
|
# provider: aws
|
|
# parameters:
|
|
# objects: |
|
|
# - objectName: "argo-events"
|
|
# objectType: "secretsmanager"
|
|
# jmesPath:
|
|
# - path: "client_id"
|
|
# objectAlias: "client_id"
|
|
# - path: "client_secret"
|
|
# objectAlias: "client_secret"
|
|
# secretObjects:
|
|
# - data:
|
|
# - key: client_id
|
|
# objectName: client_id
|
|
# - key: client_secret
|
|
# objectName: client_secret
|
|
# secretName: argo-events-secrets-store
|
|
# type: Opaque
|
|
# labels:
|
|
# app.kubernetes.io/part-of: argocd
|
|
|
|
## Argo Events controller
|
|
controller:
|
|
# -- Argo Events controller name string
|
|
name: controller-manager
|
|
|
|
rbac:
|
|
# -- Create events controller RBAC
|
|
enabled: true
|
|
# -- Restrict events controller to operate only in a single namespace instead of cluster-wide scope.
|
|
namespaced: false
|
|
# -- Additional namespace to be monitored by the controller
|
|
managedNamespace: ""
|
|
# -- Additional user rules for event controller's rbac
|
|
rules: []
|
|
|
|
image:
|
|
# -- Repository to use for the events controller
|
|
# @default -- `""` (defaults to global.image.repository)
|
|
repository: ""
|
|
# -- Tag to use for the events controller
|
|
# @default -- `""` (defaults to global.image.tag)
|
|
tag: ""
|
|
# -- Image pull policy for the events controller
|
|
# @default -- `""` (defaults to global.image.imagePullPolicy)
|
|
imagePullPolicy: ""
|
|
|
|
# -- The number of events controller pods to run.
|
|
replicas: 1
|
|
|
|
# Pod disruption budget
|
|
pdb:
|
|
# -- Deploy a PodDisruptionBudget for the events controller
|
|
enabled: false
|
|
# minAvailable: 1
|
|
# maxUnavailable: 0
|
|
# -- Labels to be added to events controller pdb
|
|
labels: {}
|
|
# -- Annotations to be added to events controller pdb
|
|
annotations: {}
|
|
|
|
# -- Environment variables to pass to events controller
|
|
env: []
|
|
# - name: DEBUG_LOG
|
|
# value: "true"
|
|
|
|
# -- envFrom to pass to events controller
|
|
# @default -- `[]` (See [values.yaml])
|
|
envFrom: []
|
|
# - configMapRef:
|
|
# name: config-map-name
|
|
# - secretRef:
|
|
# name: secret-name
|
|
|
|
# -- Annotations to be added to events controller pods
|
|
podAnnotations: {}
|
|
|
|
# -- Labels to be added to events controller pods
|
|
podLabels: {}
|
|
|
|
# -- Events controller container-level security context
|
|
containerSecurityContext: {}
|
|
# capabilities:
|
|
# drop:
|
|
# - all
|
|
# readOnlyRootFilesystem: true
|
|
# runAsNonRoot: true
|
|
|
|
## Readiness and liveness probes for default backend
|
|
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
|
readinessProbe:
|
|
# -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
|
|
failureThreshold: 3
|
|
# -- Number of seconds after the container has started before [probe] is initiated
|
|
initialDelaySeconds: 10
|
|
# -- How often (in seconds) to perform the [probe]
|
|
periodSeconds: 10
|
|
# -- Minimum consecutive successes for the [probe] to be considered successful after having failed
|
|
successThreshold: 1
|
|
# -- Number of seconds after which the [probe] times out
|
|
timeoutSeconds: 1
|
|
livenessProbe:
|
|
# -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
|
|
failureThreshold: 3
|
|
# -- Number of seconds after the container has started before [probe] is initiated
|
|
initialDelaySeconds: 10
|
|
# -- How often (in seconds) to perform the [probe]
|
|
periodSeconds: 10
|
|
# -- Minimum consecutive successes for the [probe] to be considered successful after having failed
|
|
successThreshold: 1
|
|
# -- Number of seconds after which the [probe] times out
|
|
timeoutSeconds: 1
|
|
|
|
# -- Additional volumes to the events controller pod
|
|
volumes: []
|
|
|
|
# -- Additional volumeMounts to the events controller main container
|
|
volumeMounts: []
|
|
|
|
# -- [Node selector]
|
|
nodeSelector: {}
|
|
# -- [Tolerations] for use with node taints
|
|
tolerations: []
|
|
# -- Assign custom [affinity] rules to the deployment
|
|
affinity: {}
|
|
|
|
# -- Assign custom [TopologySpreadConstraints] rules to the events controller
|
|
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
|
|
## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
|
|
topologySpreadConstraints: []
|
|
# - maxSkew: 1
|
|
# topologyKey: topology.kubernetes.io/zone
|
|
# whenUnsatisfiable: DoNotSchedule
|
|
|
|
# -- Priority class for the events controller pods
|
|
priorityClassName: ""
|
|
|
|
# -- Resource limits and requests for the events controller pods
|
|
resources: {}
|
|
# limits:
|
|
# cpu: 500m
|
|
# memory: 512Mi
|
|
# requests:
|
|
# cpu: 250m
|
|
# memory: 256Mi
|
|
|
|
# -- Additional containers to be added to the events controller pods
|
|
extraContainers: []
|
|
|
|
# -- Init containers to add to the events controller pods
|
|
initContainers: []
|
|
|
|
serviceAccount:
|
|
# -- Create a service account for the events controller
|
|
create: true
|
|
# -- Service account name
|
|
name: ""
|
|
# -- Annotations applied to created service account
|
|
annotations: {}
|
|
# -- Automount API credentials for the Service Account
|
|
automountServiceAccountToken: true
|
|
|
|
## Events controller metrics configuration
|
|
metrics:
|
|
# -- Deploy metrics service
|
|
enabled: false
|
|
service:
|
|
# -- Metrics service annotations
|
|
annotations: {}
|
|
# -- Metrics service labels
|
|
labels: {}
|
|
# -- Metrics service port
|
|
servicePort: 8082
|
|
serviceMonitor:
|
|
# -- Enable a prometheus ServiceMonitor
|
|
enabled: false
|
|
# -- Prometheus ServiceMonitor interval
|
|
interval: 30s
|
|
# -- Prometheus [RelabelConfigs] to apply to samples before scraping
|
|
relabelings: []
|
|
# -- Prometheus [MetricRelabelConfigs] to apply to samples before ingestion
|
|
metricRelabelings: []
|
|
# -- Prometheus ServiceMonitor selector
|
|
selector: {}
|
|
# prometheus: kube-prometheus
|
|
# -- Prometheus ServiceMonitor namespace
|
|
namespace: "" # "monitoring"
|
|
# -- Prometheus ServiceMonitor labels
|
|
additionalLabels: {}
|
|
|
|
## Argo Events admission webhook
|
|
webhook:
|
|
# -- Enable admission webhook. Applies only for cluster-wide installation
|
|
enabled: false
|
|
|
|
# -- Argo Events admission webhook name string
|
|
name: events-webhook
|
|
|
|
image:
|
|
# -- Repository to use for the event controller
|
|
# @default -- `""` (defaults to global.image.repository)
|
|
repository: ""
|
|
# -- Tag to use for the event controller
|
|
# @default -- `""` (defaults to global.image.tag)
|
|
tag: ""
|
|
# -- Image pull policy for the event controller
|
|
# @default -- `""` (defaults to global.image.imagePullPolicy)
|
|
imagePullPolicy: ""
|
|
|
|
# -- The number of webhook pods to run.
|
|
replicas: 1
|
|
|
|
# Pod disruption budget
|
|
pdb:
|
|
# -- Deploy a PodDisruptionBudget for the admission webhook
|
|
enabled: false
|
|
# minAvailable: 1
|
|
# maxUnavailable: 0
|
|
# -- Labels to be added to admission webhook pdb
|
|
labels: {}
|
|
# -- Annotations to be added to admission webhook pdb
|
|
annotations: {}
|
|
|
|
# -- Environment variables to pass to event controller
|
|
# @default -- `[]` (See [values.yaml])
|
|
env: []
|
|
# - name: DEBUG_LOG
|
|
# value: "true"
|
|
|
|
# -- envFrom to pass to event controller
|
|
# @default -- `[]` (See [values.yaml])
|
|
envFrom: []
|
|
# - configMapRef:
|
|
# name: config-map-name
|
|
# - secretRef:
|
|
# name: secret-name
|
|
|
|
# -- Annotations to be added to event controller pods
|
|
podAnnotations: {}
|
|
|
|
# -- Labels to be added to event controller pods
|
|
podLabels: {}
|
|
|
|
# -- Port to listen on
|
|
port: 443
|
|
|
|
# -- Event controller container-level security context
|
|
containerSecurityContext: {}
|
|
# capabilities:
|
|
# drop:
|
|
# - all
|
|
# readOnlyRootFilesystem: true
|
|
# runAsNonRoot: true
|
|
|
|
## Readiness and liveness probes for default backend
|
|
## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
|
|
readinessProbe:
|
|
# -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
|
|
failureThreshold: 3
|
|
# -- Number of seconds after the container has started before [probe] is initiated
|
|
initialDelaySeconds: 10
|
|
# -- How often (in seconds) to perform the [probe]
|
|
periodSeconds: 10
|
|
# -- Minimum consecutive successes for the [probe] to be considered successful after having failed
|
|
successThreshold: 1
|
|
# -- Number of seconds after which the [probe] times out
|
|
timeoutSeconds: 1
|
|
livenessProbe:
|
|
# -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded
|
|
failureThreshold: 3
|
|
# -- Number of seconds after the container has started before [probe] is initiated
|
|
initialDelaySeconds: 10
|
|
# -- How often (in seconds) to perform the [probe]
|
|
periodSeconds: 10
|
|
# -- Minimum consecutive successes for the [probe] to be considered successful after having failed
|
|
successThreshold: 1
|
|
# -- Number of seconds after which the [probe] times out
|
|
timeoutSeconds: 1
|
|
|
|
# -- Additional volumeMounts to the event controller main container
|
|
volumeMounts: []
|
|
|
|
# -- Additional volumes to the event controller pod
|
|
volumes: []
|
|
|
|
# -- [Node selector]
|
|
nodeSelector: {}
|
|
# -- [Tolerations] for use with node taints
|
|
tolerations: []
|
|
# -- Assign custom [affinity] rules to the deployment
|
|
affinity: {}
|
|
|
|
# -- Assign custom [TopologySpreadConstraints] rules to the event controller
|
|
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
|
|
## If labelSelector is left out, it will default to the labelSelector configuration of the deployment
|
|
topologySpreadConstraints: []
|
|
# - maxSkew: 1
|
|
# topologyKey: topology.kubernetes.io/zone
|
|
# whenUnsatisfiable: DoNotSchedule
|
|
|
|
# -- Priority class for the event controller pods
|
|
priorityClassName: ""
|
|
|
|
# -- Resource limits and requests for the event controller pods
|
|
resources: {}
|
|
# limits:
|
|
# cpu: 500m
|
|
# memory: 512Mi
|
|
# requests:
|
|
# cpu: 250m
|
|
# memory: 256Mi
|
|
|
|
serviceAccount:
|
|
# -- Create a service account for the admission webhook
|
|
create: true
|
|
# -- Service account name
|
|
name: ""
|
|
# -- Annotations applied to created service account
|
|
annotations: {}
|
|
# -- Automount API credentials for the Service Account
|
|
automountServiceAccountToken: true
|