# Default values for keda. # This is a YAML-formatted file. # Declare variables to be passed into your templates. global: image: # -- Global image registry of KEDA components registry: null image: keda: # -- Image registry of KEDA operator registry: ghcr.io # -- Image name of KEDA operator repository: kedacore/keda # -- Image tag of KEDA operator. Optional, given app version of Helm chart is used by default tag: "" metricsApiServer: # -- Image registry of KEDA Metrics API Server registry: ghcr.io # -- Image name of KEDA Metrics API Server repository: kedacore/keda-metrics-apiserver # -- Image tag of KEDA Metrics API Server. Optional, given app version of Helm chart is used by default tag: "" webhooks: # -- Image registry of KEDA admission-webhooks registry: ghcr.io # -- Image name of KEDA admission-webhooks repository: kedacore/keda-admission-webhooks # -- Image tag of KEDA admission-webhooks . Optional, given app version of Helm chart is used by default tag: "" # -- Image pullPolicy for all KEDA components pullPolicy: Always # -- Kubernetes cluster name. Used in features such as emitting CloudEvents clusterName: kubernetes-default # -- Kubernetes cluster domain clusterDomain: cluster.local crds: # -- Defines whether the KEDA CRDs have to be installed or not. install: true # -- Custom annotations specifically for CRDs additionalAnnotations: {} # foo: bar # -- Defines Kubernetes namespaces to watch to scale their workloads. Default watches all namespaces watchNamespace: "" # -- Name of secret to use to pull images to use to pull Docker images imagePullSecrets: [] networkPolicy: # -- Enable network policies enabled: false # -- Flavor of the network policies (cilium) flavor: "cilium" # -- Allow use of extra egress rules for cilium network policies cilium: operator: extraEgressRules: [] operator: # -- Name of the KEDA operator name: keda-operator # -- ReplicaSets for this Deployment you want to retain (Default: 10) revisionHistoryLimit: 10 # -- Capability to configure the number of replicas for KEDA operator. # While you can run more replicas of our operator, only one operator instance will be the leader and serving traffic. # You can run multiple replicas, but they will not improve the performance of KEDA, it could only reduce downtime during a failover. # Learn more in [our documentation](https://keda.sh/docs/latest/operate/cluster/#high-availability). replicaCount: 1 # --Disable response compression for k8s restAPI in client-go. # Disabling compression simply means that turns off the process of making data smaller for K8s restAPI in client-go for faster transmission. disableCompression: true # -- [Affinity] for pod scheduling for KEDA operator. Takes precedence over the `affinity` field affinity: {} # podAntiAffinity: # requiredDuringSchedulingIgnoredDuringExecution: # - labelSelector: # matchExpressions: # - key: app # operator: In # values: # - keda-operator # topologyKey: "kubernetes.io/hostname" # -- Additional containers to run as part of the operator deployment extraContainers: [] # - name: hello-many # args: # - -c # - "while true; do echo hi; sleep 300; done" # command: # - /bin/sh # image: 'busybox:glibc' # -- Additional init containers to run as part of the operator deployment extraInitContainers: [] # - name: hello-once # args: # - -c # - "echo 'Hello World!'" # command: # - /bin/sh # image: 'busybox:glibc' # -- Liveness probes for operator ([docs](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)) livenessProbe: initialDelaySeconds: 25 periodSeconds: 10 timeoutSeconds: 1 failureThreshold: 3 successThreshold: 1 # -- Readiness probes for operator ([docs](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-readiness-probes)) readinessProbe: initialDelaySeconds: 20 periodSeconds: 3 timeoutSeconds: 1 failureThreshold: 3 successThreshold: 1 metricsServer: # -- ReplicaSets for this Deployment you want to retain (Default: 10) revisionHistoryLimit: 10 # -- Capability to configure the number of replicas for KEDA metric server. # While you can run more replicas of our metric server, only one instance will used and serve traffic. # You can run multiple replicas, but they will not improve the performance of KEDA, it could only reduce downtime during a failover. # Learn more in [our documentation](https://keda.sh/docs/latest/operate/cluster/#high-availability). replicaCount: 1 # --Disable response compression for k8s restAPI in client-go. # Disabling compression simply means that turns off the process of making data smaller for K8s restAPI in client-go for faster transmission. disableCompression: true # use ClusterFirstWithHostNet if `useHostNetwork: true` https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy # -- Defined the DNS policy for the metric server dnsPolicy: ClusterFirst # -- Enable metric server to use host network useHostNetwork: false # -- [Affinity] for pod scheduling for Metrics API Server. Takes precedence over the `affinity` field affinity: {} # podAntiAffinity: # requiredDuringSchedulingIgnoredDuringExecution: # - labelSelector: # matchExpressions: # - key: app # operator: In # values: # - keda-operator-metrics-apiserver # topologyKey: "kubernetes.io/hostname" # -- Liveness probes for Metrics API Server ([docs](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)) livenessProbe: initialDelaySeconds: 5 periodSeconds: 10 timeoutSeconds: 1 failureThreshold: 3 successThreshold: 1 # -- Readiness probes for Metrics API Server ([docs](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-readiness-probes)) readinessProbe: initialDelaySeconds: 5 periodSeconds: 3 timeoutSeconds: 1 failureThreshold: 3 successThreshold: 1 webhooks: # It also used to enable or disable webhook patching in the operator enabled: true # -- Port number to use for KEDA admission webhooks. Default is 9443. port: "" # -- Port number to use for KEDA admission webhooks health probe healthProbePort: 8081 # -- Liveness probes for admission webhooks ([docs](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/)) livenessProbe: initialDelaySeconds: 25 periodSeconds: 10 timeoutSeconds: 1 failureThreshold: 3 successThreshold: 1 # -- Readiness probes for admission webhooks ([docs](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#define-readiness-probes)) readinessProbe: initialDelaySeconds: 20 periodSeconds: 3 timeoutSeconds: 1 failureThreshold: 3 successThreshold: 1 # -- Timeout in seconds for KEDA admission webhooks timeoutSeconds: 10 # -- Enable webhook to use host network, this is required on EKS with custom CNI useHostNetwork: false # -- Name of the KEDA admission webhooks name: keda-admission-webhooks # -- ReplicaSets for this Deployment you want to retain (Default: 10) revisionHistoryLimit: 10 # -- Capability to configure the number of replicas for KEDA admission webhooks replicaCount: 1 # -- [Affinity] for pod scheduling for KEDA admission webhooks. Takes precedence over the `affinity` field affinity: {} # podAntiAffinity: # requiredDuringSchedulingIgnoredDuringExecution: # - labelSelector: # matchExpressions: # - key: app # operator: In # values: # - keda-admission-webhooks # topologyKey: "kubernetes.io/hostname" # -- [Failure policy](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#failure-policy) to use with KEDA admission webhooks failurePolicy: Ignore upgradeStrategy: # -- Capability to configure [Deployment upgrade strategy] for operator operator: {} # type: RollingUpdate # rollingUpdate: # maxUnavailable: 1 # maxSurge: 1 # -- Capability to configure [Deployment upgrade strategy] for Metrics Api Server metricsApiServer: {} # type: RollingUpdate # rollingUpdate: # maxUnavailable: 1 # maxSurge: 1 # -- Capability to configure [Deployment upgrade strategy] for Admission webhooks webhooks: {} # type: RollingUpdate # rollingUpdate: # maxUnavailable: 1 # maxSurge: 1 podDisruptionBudget: # -- Capability to configure [Pod Disruption Budget] operator: {} # minAvailable: 1 # maxUnavailable: 1 # -- Capability to configure [Pod Disruption Budget] metricServer: {} # minAvailable: 1 # maxUnavailable: 1 # -- Capability to configure [Pod Disruption Budget] webhooks: {} # minAvailable: 1 # maxUnavailable: 1 # -- Custom labels to add into metadata additionalLabels: {} # foo: bar # -- Custom annotations to add into metadata additionalAnnotations: {} # foo: bar podAnnotations: # -- Pod annotations for KEDA operator keda: {} # -- Pod annotations for KEDA Metrics Adapter metricsAdapter: {} # -- Pod annotations for KEDA Admission webhooks webhooks: {} podLabels: # -- Pod labels for KEDA operator keda: {} # -- Pod labels for KEDA Metrics Adapter metricsAdapter: {} # -- Pod labels for KEDA Admission webhooks webhooks: {} rbac: # -- Specifies whether RBAC should be used create: true # -- Specifies whether RBAC for CRDs should be [aggregated](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#aggregated-clusterroles) to default roles (view, edit, admin) aggregateToDefaultRoles: false # -- Whether RBAC for configured CRDs that can have a `scale` subresource should be created enabledCustomScaledRefKinds: true # -- Customize the namespace of k8s metrics-server deployment # This could also be achieved by the Kubernetes control plane manager flag --use-service-account-credentials: # [docs](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/) controlPlaneServiceAccountsNamespace: kube-system # -- List of custom resources that support the `scale` subresource and can be referenced by `scaledobject.spec.scaleTargetRef`. # The feature needs to be also enabled by `enabledCustomScaledRefKinds`. # If left empty, RBAC for `apiGroups: *` and `resources: *, */scale` will be created # note: Deployments and StatefulSets are supported out of the box scaledRefKinds: - apiGroup: "*" kind: "*" # - apiGroup: argoproj.io # kind: Rollout serviceAccount: operator: # -- Specifies whether a service account should be created create: true # -- The name of the service account to use. name: keda-operator # -- Specifies whether a service account should automount API-Credentials automountServiceAccountToken: true # -- Annotations to add to the service account annotations: {} metricServer: # -- Specifies whether a service account should be created create: true # -- The name of the service account to use. name: keda-metrics-server # -- Specifies whether a service account should automount API-Credentials automountServiceAccountToken: true # -- Annotations to add to the service account annotations: {} webhooks: # -- Specifies whether a service account should be created create: true # -- The name of the service account to use. name: keda-webhook # -- Specifies whether a service account should automount API-Credentials automountServiceAccountToken: true # -- Annotations to add to the service account annotations: {} podIdentity: azureWorkload: # -- Set to true to enable Azure Workload Identity usage. # See https://keda.sh/docs/concepts/authentication/#azure-workload-identity # This will be set as a label on the KEDA service account. enabled: false # Set to the value of the Azure Active Directory Client and Tenant Ids # respectively. These will be set as annotations on the KEDA service account. # -- Id of Azure Active Directory Client to use for authentication with Azure Workload Identity. ([docs](https://keda.sh/docs/concepts/authentication/#azure-workload-identity)) clientId: "" # -- Id Azure Active Directory Tenant to use for authentication with for Azure Workload Identity. ([docs](https://keda.sh/docs/concepts/authentication/#azure-workload-identity)) tenantId: "" # Set to the value of the service account token expiration duration. # This will be set as an annotation on the KEDA service account. # -- Duration in seconds to automatically expire tokens for the service account. ([docs](https://keda.sh/docs/concepts/authentication/#azure-workload-identity)) tokenExpiration: 3600 aws: irsa: # -- Specifies whether [AWS IAM Roles for Service Accounts (IRSA)](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) is to be enabled or not. enabled: false # -- Sets the token audience for IRSA. # This will be set as an annotation on the KEDA service account. audience: "sts.amazonaws.com" # -- Set to the value of the ARN of an IAM role with a web identity provider. # This will be set as an annotation on the KEDA service account. roleArn: "" # -- Sets the use of an STS regional endpoint instead of global. # Recommended to use regional endpoint in almost all cases. # This will be set as an annotation on the KEDA service account. stsRegionalEndpoints: "true" # -- Set to the value of the service account token expiration duration. # This will be set as an annotation on the KEDA service account. tokenExpiration: 86400 gcp: # -- Set to true to enable GCP Workload Identity. # See https://keda.sh/docs/2.10/authentication-providers/gcp-workload-identity/ # This will be set as a annotation on the KEDA service account. enabled: false # -- GCP IAM Service Account Email which you would like to use for workload identity. gcpIAMServiceAccount: "" # -- Set this if you are using an external scaler and want to communicate # over TLS (recommended). This variable holds the name of the secret that # will be mounted to the /grpccerts path on the Pod grpcTLSCertsSecret: "" # -- Set this if you are using HashiCorp Vault and want to communicate # over TLS (recommended). This variable holds the name of the secret that # will be mounted to the /vault path on the Pod hashiCorpVaultTLS: "" logging: operator: # -- Logging level for KEDA Operator. # allowed values: `debug`, `info`, `error`, or an integer value greater than 0, specified as string level: info # -- Logging format for KEDA Operator. # allowed values: `json` or `console` format: console # -- Logging time encoding for KEDA Operator. # allowed values are `epoch`, `millis`, `nano`, `iso8601`, `rfc3339` or `rfc3339nano` timeEncoding: rfc3339 # -- If enabled, the stack traces will be also printed stackTracesEnabled: false metricServer: # -- Logging level for Metrics Server. # allowed values: `0` for info, `4` for debug, or an integer value greater than 0, specified as string level: 0 # -- Logging stderrthreshold for Metrics Server # allowed values: 'DEBUG','INFO','WARN','ERROR','ALERT','EMERG' stderrthreshold: ERROR webhooks: # -- Logging level for KEDA Operator. # allowed values: `debug`, `info`, `error`, or an integer value greater than 0, specified as string level: info # -- Logging format for KEDA Admission webhooks. # allowed values: `json` or `console` format: console # -- Logging time encoding for KEDA Operator. # allowed values are `epoch`, `millis`, `nano`, `iso8601`, `rfc3339` or `rfc3339nano` timeEncoding: rfc3339 # -- [Security context] for all containers # @default -- [See below](#KEDA-is-secure-by-default) securityContext: # -- [Security context] of the operator container # @default -- [See below](#KEDA-is-secure-by-default) operator: capabilities: drop: - ALL allowPrivilegeEscalation: false readOnlyRootFilesystem: true seccompProfile: type: RuntimeDefault # -- [Security context] of the metricServer container # @default -- [See below](#KEDA-is-secure-by-default) metricServer: capabilities: drop: - ALL allowPrivilegeEscalation: false readOnlyRootFilesystem: true seccompProfile: type: RuntimeDefault # -- [Security context] of the admission webhooks container # @default -- [See below](#KEDA-is-secure-by-default) webhooks: capabilities: drop: - ALL allowPrivilegeEscalation: false readOnlyRootFilesystem: true seccompProfile: type: RuntimeDefault # -- [Pod security context] for all pods # @default -- [See below](#KEDA-is-secure-by-default) podSecurityContext: # -- [Pod security context] of the KEDA operator pod # @default -- [See below](#KEDA-is-secure-by-default) operator: runAsNonRoot: true # runAsUser: 1000 # runAsGroup: 1000 # fsGroup: 1000 # -- [Pod security context] of the KEDA metrics apiserver pod # @default -- [See below](#KEDA-is-secure-by-default) metricServer: runAsNonRoot: true # runAsUser: 1000 # runAsGroup: 1000 # fsGroup: 1000 # -- [Pod security context] of the KEDA admission webhooks # @default -- [See below](#KEDA-is-secure-by-default) webhooks: runAsNonRoot: true # runAsUser: 1000 # runAsGroup: 1000 # fsGroup: 1000 service: # -- KEDA Metric Server service type type: ClusterIP # -- HTTPS port for KEDA Metric Server service portHttps: 443 # -- HTTPS port for KEDA Metric Server container portHttpsTarget: 6443 # -- Annotations to add the KEDA Metric Server service annotations: {} # We provides the default values that we describe in our docs: # https://keda.sh/docs/latest/operate/cluster/ # If you want to specify the resources (or totally remove the defaults), change or comment the following # lines, adjust them as necessary, or simply add the curly braces after 'operator' and/or 'metricServer' # and remove/comment the default values resources: # -- Manage [resource request & limits] of KEDA operator pod operator: limits: cpu: 1 memory: 1000Mi requests: cpu: 100m memory: 100Mi # -- Manage [resource request & limits] of KEDA metrics apiserver pod metricServer: limits: cpu: 1 memory: 1000Mi requests: cpu: 100m memory: 100Mi # -- Manage [resource request & limits] of KEDA admission webhooks pod webhooks: limits: cpu: 1 memory: 1000Mi requests: cpu: 100m memory: 100Mi # -- Node selector for pod scheduling ([docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/)) nodeSelector: {} # -- Tolerations for pod scheduling ([docs](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/)) tolerations: [] topologySpreadConstraints: # -- [Pod Topology Constraints] of KEDA operator pod operator: [] # -- [Pod Topology Constraints] of KEDA metrics apiserver pod metricsServer: [] # -- [Pod Topology Constraints] of KEDA admission webhooks pod webhooks: [] # -- [Affinity] for pod scheduling for KEDA operator, Metrics API Server and KEDA admission webhooks. affinity: {} # podAntiAffinity: # requiredDuringSchedulingIgnoredDuringExecution: # - labelSelector: # matchExpressions: # - key: app # operator: In # values: # - keda-operator # - keda-operator-metrics-apiserver # - keda-admission-webhooks # topologyKey: "kubernetes.io/hostname" # -- priorityClassName for all KEDA components priorityClassName: "" ## The default HTTP timeout in milliseconds that KEDA should use ## when making requests to external services. Removing this defaults to a ## reasonable default http: # -- The default HTTP timeout to use for all scalers that use raw HTTP clients (some scalers use SDKs to access target services. These have built-in HTTP clients, and the timeout does not necessarily apply to them) timeout: 3000 keepAlive: # -- Enable HTTP connection keep alive enabled: true # -- The minimum TLS version to use for all scalers that use raw HTTP clients (some scalers use SDKs to access target services. These have built-in HTTP clients, and this value does not necessarily apply to them) minTlsVersion: TLS12 ## This setting lets you enable profiling for all of the components of KEDA and in the specific port you choose ## This can be useful when trying to investigate errors like memory leaks or CPU or even look at goroutines to understand better ## This setting is disabled by default profiling: operator: # -- Enable profiling for KEDA operator enabled: false # -- Expose profiling on a specific port port: 8082 metricsServer: # -- Enable profiling for KEDA metrics server enabled: false # -- Expose profiling on a specific port port: 8083 webhooks: # -- Enable profiling for KEDA admission webhook enabled: false # -- Expose profiling on a specific port port: 8084 ## Extra KEDA Operator and Metrics Adapter container arguments extraArgs: # -- Additional KEDA Operator container arguments keda: {} # -- Additional Metrics Adapter container arguments metricsAdapter: {} # -- Additional environment variables that will be passed onto all KEDA components env: [] # - name: ENV_NAME # value: 'ENV-VALUE' # Extra volumes and volume mounts for the deployment. Optional. volumes: keda: # -- Extra volumes for KEDA deployment extraVolumes: [] # -- Extra volume mounts for KEDA deployment extraVolumeMounts: [] metricsApiServer: # -- Extra volumes for metric server deployment extraVolumes: [] # -- Extra volume mounts for metric server deployment extraVolumeMounts: [] webhooks: # -- Extra volumes for admission webhooks deployment extraVolumes: [] # -- Extra volume mounts for admission webhooks deployment extraVolumeMounts: [] prometheus: metricServer: # -- Enable metric server Prometheus metrics expose enabled: false # -- HTTP port used for exposing metrics server prometheus metrics port: 8080 # -- HTTP port name for exposing metrics server prometheus metrics portName: metrics # -- App Protocol for service when scraping metrics endpoint # appProtocol: http serviceMonitor: # -- Enables ServiceMonitor creation for the Prometheus Operator enabled: false # -- JobLabel selects the label from the associated Kubernetes service which will be used as the job label for all metrics. [ServiceMonitor Spec] jobLabel: "" # -- TargetLabels transfers labels from the Kubernetes `Service` onto the created metrics targetLabels: [] # -- PodTargetLabels transfers labels on the Kubernetes `Pod` onto the created metrics podTargetLabels: [] # -- Name of the service port this endpoint refers to. Mutually exclusive with targetPort port: metrics # -- Name or number of the target port of the Pod behind the Service, the port must be specified with container port property. Mutually exclusive with port targetPort: "" # -- Interval at which metrics should be scraped If not specified Prometheus’ global scrape interval is used. interval: "" # -- Timeout after which the scrape is ended If not specified, the Prometheus global scrape timeout is used unless it is less than Interval in which the latter is used scrapeTimeout: "" # -- DEPRECATED. List of expressions that define custom relabeling rules for metric server ServiceMonitor crd (prometheus operator). [RelabelConfig Spec] relabellings: [] # -- List of expressions that define custom relabeling rules for metric server ServiceMonitor crd (prometheus operator). [RelabelConfig Spec] relabelings: [] # -- List of expressions that define custom metric relabeling rules for metric server ServiceMonitor crd after scrape has happened (prometheus operator). [RelabelConfig Spec] metricRelabelings: [] # -- Additional labels to add for metric server using ServiceMonitor crd (prometheus operator) additionalLabels: {} # -- HTTP scheme used for scraping. Defaults to `http` scheme: http # -- TLS configuration for scraping metrics tlsConfig: {} # caFile: /etc/prom-certs/root-cert.pem # certFile: /etc/prom-certs/cert-chain.pem # insecureSkipVerify: true # keyFile: /etc/prom-certs/key.pem podMonitor: # -- Enables PodMonitor creation for the Prometheus Operator enabled: false # -- Scraping interval for metric server using podMonitor crd (prometheus operator) interval: "" # -- Scraping timeout for metric server using podMonitor crd (prometheus operator) scrapeTimeout: "" # -- Scraping namespace for metric server using podMonitor crd (prometheus operator) namespace: "" # -- Additional labels to add for metric server using podMonitor crd (prometheus operator) additionalLabels: {} # -- List of expressions that define custom relabeling rules for metric server podMonitor crd (prometheus operator) relabelings: [] # -- List of expressions that define custom metric relabeling rules for metric server PodMonitor crd after scrape has happened (prometheus operator). [RelabelConfig Spec] metricRelabelings: [] operator: # -- Enable KEDA Operator prometheus metrics expose enabled: false # -- Port used for exposing KEDA Operator prometheus metrics port: 8080 # -- App Protocol for service when scraping metrics endpoint # appProtocol: http serviceMonitor: # -- Enables ServiceMonitor creation for the Prometheus Operator enabled: false # -- JobLabel selects the label from the associated Kubernetes service which will be used as the job label for all metrics. [ServiceMonitor Spec] jobLabel: "" # -- TargetLabels transfers labels from the Kubernetes `Service` onto the created metrics targetLabels: [] # -- PodTargetLabels transfers labels on the Kubernetes `Pod` onto the created metrics podTargetLabels: [] # -- Name of the service port this endpoint refers to. Mutually exclusive with targetPort port: metrics # -- Name or number of the target port of the Pod behind the Service, # the port must be specified with container port property. Mutually exclusive with port targetPort: "" # -- Interval at which metrics should be scraped If not specified Prometheus’ global scrape interval is used. interval: "" # -- Timeout after which the scrape is ended If not specified, the Prometheus global scrape timeout is used unless it is less than Interval in which the latter is used scrapeTimeout: "" # -- DEPRECATED. List of expressions that define custom relabeling rules for metric server ServiceMonitor crd (prometheus operator). [RelabelConfig Spec] relabellings: [] # -- List of expressions that define custom relabeling rules for metric server ServiceMonitor crd (prometheus operator). [RelabelConfig Spec] relabelings: [] # -- List of expressions that define custom metric relabeling rules for metric server ServiceMonitor crd after scrape has happened (prometheus operator). [RelabelConfig Spec] metricRelabelings: [] # -- Additional labels to add for metric server using ServiceMonitor crd (prometheus operator) additionalLabels: {} # -- HTTP scheme used for scraping. Defaults to `http` scheme: http # -- TLS configuration for scraping metrics tlsConfig: {} # caFile: /etc/prom-certs/root-cert.pem # certFile: /etc/prom-certs/cert-chain.pem # insecureSkipVerify: true # keyFile: /etc/prom-certs/key.pem podMonitor: # -- Enables PodMonitor creation for the Prometheus Operator enabled: false # -- Scraping interval for KEDA Operator using podMonitor crd (prometheus operator) interval: "" # -- Scraping timeout for KEDA Operator using podMonitor crd (prometheus operator) scrapeTimeout: "" # -- Scraping namespace for KEDA Operator using podMonitor crd (prometheus operator) namespace: "" # -- Additional labels to add for KEDA Operator using podMonitor crd (prometheus operator) additionalLabels: {} # -- List of expressions that define custom relabeling rules for KEDA Operator podMonitor crd (prometheus operator) relabelings: [] # -- List of expressions that define custom metric relabeling rules for metric server PodMonitor crd after scrape has happened (prometheus operator). [RelabelConfig Spec] metricRelabelings: [] prometheusRules: # -- Enables PrometheusRules creation for the Prometheus Operator enabled: false # -- Scraping namespace for KEDA Operator using prometheusRules crd (prometheus operator) namespace: "" # -- Additional labels to add for KEDA Operator using prometheusRules crd (prometheus operator) additionalLabels: {} # -- Additional alerts to add for KEDA Operator using prometheusRules crd (prometheus operator) alerts: [] # - alert: KedaScalerErrors # annotations: # description: Keda scaledObject {{ $labels.scaledObject }} is experiencing errors with {{ $labels.scaler }} scaler # summary: Keda Scaler {{ $labels.scaler }} Errors # expr: sum by ( scaledObject , scaler) (rate(keda_metrics_adapter_scaler_errors[2m])) > 0 # for: 2m # labels: webhooks: # -- Enable KEDA admission webhooks prometheus metrics expose enabled: false # -- Port used for exposing KEDA admission webhooks prometheus metrics port: 8080 # -- App Protocol for service when scraping metrics endpoint # appProtocol: http serviceMonitor: # -- Enables ServiceMonitor creation for the Prometheus webhooks enabled: false # -- jobLabel selects the label from the associated Kubernetes service which will be used as the job label for all metrics. [ServiceMonitor Spec] jobLabel: "" # -- TargetLabels transfers labels from the Kubernetes `Service` onto the created metrics targetLabels: [] # -- PodTargetLabels transfers labels on the Kubernetes `Pod` onto the created metrics podTargetLabels: [] # -- Name of the service port this endpoint refers to. Mutually exclusive with targetPort port: metrics # -- Name or number of the target port of the Pod behind the Service, the port must be specified with container port property. Mutually exclusive with port targetPort: "" # -- Interval at which metrics should be scraped If not specified Prometheus’ global scrape interval is used. interval: "" # -- Timeout after which the scrape is ended If not specified, the Prometheus global scrape timeout is used unless it is less than Interval in which the latter is used scrapeTimeout: "" # -- DEPRECATED. List of expressions that define custom relabeling rules for metric server ServiceMonitor crd (prometheus operator). [RelabelConfig Spec] relabellings: [] # -- List of expressions that define custom relabeling rules for metric server ServiceMonitor crd (prometheus operator). [RelabelConfig Spec] relabelings: [] # -- List of expressions that define custom metric relabeling rules for metric server ServiceMonitor crd after scrape has happened (prometheus operator). [RelabelConfig Spec] metricRelabelings: [] # -- Additional labels to add for metric server using ServiceMonitor crd (prometheus operator) additionalLabels: {} # -- HTTP scheme used for scraping. Defaults to `http` scheme: http # -- TLS configuration for scraping metrics tlsConfig: {} # caFile: /etc/prom-certs/root-cert.pem # certFile: /etc/prom-certs/cert-chain.pem # insecureSkipVerify: true # keyFile: /etc/prom-certs/key.pem prometheusRules: # -- Enables PrometheusRules creation for the Prometheus Operator enabled: false # -- Scraping namespace for KEDA admission webhooks using prometheusRules crd (prometheus operator) namespace: "" # -- Additional labels to add for KEDA admission webhooks using prometheusRules crd (prometheus operator) additionalLabels: {} # -- Additional alerts to add for KEDA admission webhooks using prometheusRules crd (prometheus operator) alerts: [] opentelemetry: collector: # -- Uri of OpenTelemetry Collector to push telemetry to uri: "" operator: # -- Enable pushing metrics to an OpenTelemetry Collector for operator enabled: false certificates: # -- Enables the self generation for KEDA TLS certificates inside KEDA operator autoGenerated: true # -- Secret name to be mounted with KEDA TLS certificates secretName: kedaorg-certs # -- Path where KEDA TLS certificates are mounted mountPath: /certs certManager: # -- Enables Cert-manager for certificate management enabled: false # -- Certificate duration duration: 8760h0m0s # 1 year # -- Certificate renewal time before expiration renewBefore: 5840h0m0s # 8 months # -- Generates a self-signed CA with Cert-manager. # If generateCA is false, the secret with the CA # has to be annotated with `cert-manager.io/allow-direct-injection: "true"` generateCA: true # -- Secret name where the CA is stored (generatedby cert-manager or user given) caSecretName: "kedaorg-ca" # -- Add labels/annotations to secrets created by Certificate resources # [docs](https://cert-manager.io/docs/usage/certificate/#creating-certificate-resources) secretTemplate: {} # annotations: # my-secret-annotation-1: "foo" # my-secret-annotation-2: "bar" # labels: # my-secret-label: foo # -- Reference to custom Issuer. If issuer.generate is false, then issuer.group, issuer.kind and issuer.name are required issuer: # -- Generates an Issuer resource with Cert-manager generate: true # -- Custom Issuer name. Required when generate: false name: foo-org-ca # -- Custom Issuer kind. Required when generate: false kind: ClusterIssuer # -- Custom Issuer group. Required when generate: false group: cert-manager.io operator: # -- Location(s) of CA files for authentication of external TLS connections such as TLS-enabled metrics sources # caDirs: # - /custom/ca permissions: metricServer: restrict: # -- Restrict Secret Access for Metrics Server secret: false operator: restrict: # -- Restrict Secret Access for KEDA operator # if true, KEDA operator will be able to read only secrets in {{ .Release.Namespace }} namespace secret: false # -- Array of strings denoting what secrets the KEDA operator will be able to read, this takes into account # also the configured `watchNamespace`. # the default is an empty array -> no restriction on the secret name namesAllowList: [] # -- Creates roles and rolebindings from namespaced service accounts in the array which allow the KEDA operator # to request service account tokens for use with the boundServiceAccountToken trigger source. # If the namespace does not exist, this will cause the helm chart installation to fail. serviceAccountTokenCreationRoles: [] # - name: myServiceAccount # namespace: myServiceAccountNamespace # -- Array of extra K8s manifests to deploy extraObjects: [] # - apiVersion: keda.sh/v1alpha1 # kind: ClusterTriggerAuthentication # metadata: # name: aws-credentials # namespace: keda # spec: # podIdentity: # provider: aws-eks # -- Capability to turn on/off ASCII art in Helm installation notes asciiArt: true # -- When specified, each rendered resource will have `app.kubernetes.io/managed-by: ${this}` label on it. Useful, when using only helm template with some other solution. customManagedBy: "" # -- Enable service links in pods. Although enabled, mirroring k8s default, it is highly recommended to disable, # due to its legacy status [Legacy container links](https://docs.docker.com/engine/network/links/) enableServiceLinks: true