## 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 # 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-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/workloads/pods/pod-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-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/workloads/pods/pod-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