1# This file has been modified by Chainguard, Inc.
3# Copyright Chainguard, Inc. All Rights Reserved.
4# Chainguard, Inc. modifications are subject to the license
5# available at: https://www.chainguard.dev/legal/software-license-agreement
7# Copyright Broadcom, Inc. All Rights Reserved.
8# SPDX-License-Identifier: APACHE-2.0
10## @section Global parameters
11## Global Docker image parameters
12## Please, note that this will override the image parameters, including dependencies, configured to use the global value
13## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
16## @param global.imageRegistry Global Docker image registry
17## @param global.imagePullSecrets Global Docker registry secret names as an array
18## @param global.defaultStorageClass Global default StorageClass for Persistent Volume(s)
24 ## - myRegistryKeySecretName
27 defaultStorageClass: ""
28 ## Security parameters
31 ## @param global.security.allowInsecureImages Allows skipping image verification
32 allowInsecureImages: false
33 ## Compatibility adaptations for Kubernetes platforms
36 ## Compatibility adaptations for Openshift
39 ## @param global.compatibility.openshift.adaptSecurityContext Adapt the securityContext sections of the deployment to make them compatible with Openshift restricted-v2 SCC: remove runAsUser, runAsGroup and fsGroup and let the platform use their allowed default IDs. Possible values: auto (apply if the detected running cluster is Openshift), force (perform the adaptation always), disabled (do not perform adaptation)
41 adaptSecurityContext: auto
43## @section Common parameters
46## @param kubeVersion Override Kubernetes version
49## @param nameOverride String to partially override common.names.fullname
52## @param fullnameOverride String to fully override common.names.fullname
55## @param commonLabels Labels to add to all deployed objects
58## @param commonAnnotations Annotations to add to all deployed objects
61## @param clusterDomain Kubernetes cluster domain name
63clusterDomain: cluster.local
64## @param extraDeploy Array of extra objects to deploy with the release
67## Enable diagnostic mode in the deployments/statefulsets
70 ## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
73 ## @param diagnosticMode.command Command to override all containers in the deployments/statefulsets
77 ## @param diagnosticMode.args Args to override all containers in the deployments/statefulsets
81## @section Common Grafana Loki Parameters
84 ## Iamguarded Grafana Loki image
85 ## @param loki.image.registry [default: REGISTRY_NAME] Grafana Loki image registry
86 ## @param loki.image.repository [default: REPOSITORY_NAME/grafana-loki] Grafana Loki image repository
87 ## @skip loki.image.tag Grafana Loki image tag (immutable tags are recommended)
88 ## @param loki.image.digest Grafana Loki image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
89 ## @param loki.image.pullPolicy Grafana Loki image pull policy
90 ## @param loki.image.pullSecrets Grafana Loki image pull secrets
94 repository: chainguard-private/loki-iamguarded
97 ## Specify a imagePullPolicy
98 ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
100 pullPolicy: IfNotPresent
101 ## Optionally specify an array of imagePullSecrets.
102 ## Secrets must be manually created in the namespace.
103 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
106 ## - myRegistryKeySecretName
109 ## @param loki.configuration [string] Loki components configuration
115 http_listen_port: {{ .Values.loki.containerPorts.http }}
116 grpc_listen_port: {{ .Values.loki.containerPorts.grpc }}
118 compactor_address: http://{{ include "grafana-loki.compactor.fullname" . }}:{{ .Values.compactor.service.ports.http }}
127 - {{ include "grafana-loki.gossip-ring.fullname" . }}
134 replication_factor: 1
135 chunk_idle_period: 30m
136 chunk_block_size: 262144
137 chunk_encoding: snappy
138 chunk_retain_period: 1m
140 dir: {{ .Values.loki.dataDir }}/wal
143 retention_period: 336h
144 reject_old_samples: true
145 reject_old_samples_max_age: 168h
146 max_cache_freshness_per_query: 10m
147 split_queries_by_interval: 15m
148 allow_structured_metadata: true
153 store: boltdb-shipper
154 object_store: filesystem
161 object_store: filesystem
167 object_store: filesystem
176 active_index_directory: {{ .Values.loki.dataDir }}/loki/index
177 cache_location: {{ .Values.loki.dataDir }}/loki/cache
179 {{- if .Values.indexGateway.enabled }}
180 index_gateway_client:
181 server_address: {{ (printf "dns:///%s:9095" (include "grafana-loki.index-gateway.fullname" .)) }}
184 directory: {{ .Values.loki.dataDir }}/chunks
185 index_queries_cache_config:
186 {{- if .Values.memcachedindexqueries.enabled }}
191 consistent_hash: true
192 addresses: dns+{{ include "grafana-loki.memcached-index-queries.host" . }}
196 active_index_directory: {{ .Values.loki.dataDir }}/loki/tsdb-index
197 cache_location: {{ .Values.loki.dataDir }}/loki/tsdb-cache
198 {{- if .Values.indexGateway.enabled }}
199 index_gateway_client:
200 server_address: {{ (printf "dns:///%s:9095" (include "grafana-loki.index-gateway.fullname" .)) }}
204 max_outstanding_requests_per_tenant: 32768
210 {{- if .Values.memcachedchunks.enabled }}
216 consistent_hash: true
217 addresses: dns+{{ include "grafana-loki.memcached-chunks.host" . }}
219 {{- if .Values.memcachedindexwrites.enabled }}
220 write_dedupe_cache_config:
225 consistent_hash: true
226 addresses: dns+{{ include "grafana-loki.memcached-index-writes.host" . }}
230 retention_deletes_enabled: false
234 align_queries_with_step: true
239 {{- if .Values.memcachedfrontend.enabled }}
241 consistent_hash: true
242 addresses: dns+{{ include "grafana-loki.memcached-frontend.host" . }}
252 {{- if not .Values.queryScheduler.enabled }}
254 frontend_address: {{ include "grafana-loki.query-frontend.fullname" . }}:{{ .Values.queryFrontend.service.ports.grpc }}
258 log_queries_longer_than: 5s
259 compress_responses: true
260 tail_proxy_url: http://{{ include "grafana-loki.querier.fullname" . }}:{{ .Values.querier.service.ports.http }}
263 working_directory: {{ .Values.loki.dataDir }}/loki/retention
264 compaction_interval: 10m
265 retention_enabled: true
266 retention_delete_delay: 2h
267 retention_delete_worker_count: 150
268 delete_request_store: filesystem
274 directory: {{ .Values.loki.dataDir }}/conf/rules
278 rule_path: /tmp/loki/scratch
279 alertmanager_url: https://alertmanager.xx
280 external_url: https://alertmanager.xx
281 ## @param loki.overrideConfiguration [object] Loki components configuration override. Values defined here takes precedence over loki.configuration
283 ## overrideConfiguration:
284 ## auth_enabled: true
286 overrideConfiguration: {}
287 ## @param loki.existingConfigmap Name of a ConfigMap with the Loki configuration
289 existingConfigmap: ""
290 ## @param loki.dataDir path to the Loki data directory
292 dataDir: "/iamguarded/grafana-loki"
293 ## @param loki.containerPorts.http Loki components web container port
294 ## @param loki.containerPorts.grpc Loki components GRPC container port
295 ## @param loki.containerPorts.gossipRing Loki components Gossip Ring container port
301 ## Gossip Ring parameters
304 ## Gossip Ring service parameters
307 ## @param loki.gossipRing.service.ports.http Gossip Ring HTTP headless service port
311 ## @param loki.gossipRing.service.annotations Additional custom annotations for Gossip Ring headless service
314 ## @param loki.gossipRing.excludeFromIstioMesh Exclude the memberlist gossip port from Istio sidecar capture so the gossip ring can form inside a mesh
316 # -- Exclude the memberlist gossip port from Istio sidecar capture so the gossip ring can form inside a mesh
317 excludeFromIstioMesh: false
318## @section Compactor Deployment Parameters
321 ## @param compactor.enabled Enable Compactor deployment
324 ## @param compactor.extraEnvVars Array with extra environment variables to add to compactor nodes
331 ## @param compactor.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for compactor nodes
334 ## @param compactor.extraEnvVarsSecret Name of existing Secret containing extra env vars for compactor nodes
336 extraEnvVarsSecret: ""
337 ## @param compactor.command Override default container command (useful when using custom images)
340 ## @param compactor.args Override default container args (useful when using custom images)
343 ## @param compactor.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
346 ## @param compactor.replicaCount Number of Compactor replicas to deploy
349 ## Configure extra options for Compactor containers' liveness, readiness and startup probes
350 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
351 ## @param compactor.livenessProbe.enabled Enable livenessProbe on Compactor nodes
352 ## @param compactor.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
353 ## @param compactor.livenessProbe.periodSeconds Period seconds for livenessProbe
354 ## @param compactor.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
355 ## @param compactor.livenessProbe.failureThreshold Failure threshold for livenessProbe
356 ## @param compactor.livenessProbe.successThreshold Success threshold for livenessProbe
361 initialDelaySeconds: 60
365 ## @param compactor.readinessProbe.enabled Enable readinessProbe on Compactor nodes
366 ## @param compactor.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
367 ## @param compactor.readinessProbe.periodSeconds Period seconds for readinessProbe
368 ## @param compactor.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
369 ## @param compactor.readinessProbe.failureThreshold Failure threshold for readinessProbe
370 ## @param compactor.readinessProbe.successThreshold Success threshold for readinessProbe
375 initialDelaySeconds: 60
379 ## @param compactor.startupProbe.enabled Enable startupProbe on Compactor containers
380 ## @param compactor.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
381 ## @param compactor.startupProbe.periodSeconds Period seconds for startupProbe
382 ## @param compactor.startupProbe.timeoutSeconds Timeout seconds for startupProbe
383 ## @param compactor.startupProbe.failureThreshold Failure threshold for startupProbe
384 ## @param compactor.startupProbe.successThreshold Success threshold for startupProbe
388 initialDelaySeconds: 30
393 ## @param compactor.customLivenessProbe Custom livenessProbe that overrides the default one
395 customLivenessProbe: {}
396 ## @param compactor.customReadinessProbe Custom readinessProbe that overrides the default one
398 customReadinessProbe: {}
399 ## @param compactor.customStartupProbe Custom startupProbe that overrides the default one
401 customStartupProbe: {}
402 ## compactor resource requests and limits
403 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
404 ## @param compactor.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if compactor.resources is set (compactor.resources is recommended for production).
406 resourcesPreset: "nano"
407 ## @param compactor.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
418 ## Configure Pods Security Context
419 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
420 ## @param compactor.podSecurityContext.enabled Enabled Compactor pods' Security Context
421 ## @param compactor.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
422 ## @param compactor.podSecurityContext.sysctls Set kernel settings using the sysctl interface
423 ## @param compactor.podSecurityContext.supplementalGroups Set filesystem extra groups
424 ## @param compactor.podSecurityContext.fsGroup Set Compactor pod's Security Context fsGroup
428 fsGroupChangePolicy: Always
430 supplementalGroups: []
432 ## Configure Container Security Context
433 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
434 ## @param compactor.containerSecurityContext.enabled Enable containers' Security Context
435 ## @param compactor.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
436 ## @param compactor.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
437 ## @param compactor.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
438 ## @param compactor.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
439 ## @param compactor.containerSecurityContext.privileged Set container's Security Context privileged
440 ## @param compactor.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
441 ## @param compactor.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
442 ## @param compactor.containerSecurityContext.capabilities.drop List of capabilities to be dropped
443 ## @param compactor.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
445 containerSecurityContext:
452 readOnlyRootFilesystem: true
453 allowPrivilegeEscalation: false
457 type: "RuntimeDefault"
458 ## @param compactor.lifecycleHooks for the compactor container(s) to automate configuration before or after startup
461 ## @param compactor.automountServiceAccountToken Mount Service Account token in pod
463 automountServiceAccountToken: false
464 ## @param compactor.hostAliases compactor pods host aliases
465 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
468 ## @param compactor.podLabels Extra labels for compactor pods
469 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
472 ## @param compactor.podAnnotations Annotations for compactor pods
473 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
476 ## @param compactor.podAffinityPreset Pod affinity preset. Ignored if `compactor.affinity` is set. Allowed values: `soft` or `hard`
477 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
479 podAffinityPreset: ""
480 ## @param compactor.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `compactor.affinity` is set. Allowed values: `soft` or `hard`
481 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
483 podAntiAffinityPreset: soft
484 ## Node compactor.affinity preset
485 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
488 ## @param compactor.nodeAffinityPreset.type Node affinity preset type. Ignored if `compactor.affinity` is set. Allowed values: `soft` or `hard`
491 ## @param compactor.nodeAffinityPreset.key Node label key to match. Ignored if `compactor.affinity` is set
494 ## @param compactor.nodeAffinityPreset.values Node label values to match. Ignored if `compactor.affinity` is set
501 ## @param compactor.affinity Affinity for Compactor pods assignment
502 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
503 ## NOTE: `compactor.podAffinityPreset`, `compactor.podAntiAffinityPreset`, and `compactor.nodeAffinityPreset` will be ignored when it's set
506 ## @param compactor.nodeSelector Node labels for Compactor pods assignment
507 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
510 ## @param compactor.tolerations Tolerations for Compactor pods assignment
511 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
514 ## @param compactor.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
515 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
517 topologySpreadConstraints: []
518 ## @param compactor.priorityClassName Compactor pods' priorityClassName
520 priorityClassName: ""
521 ## @param compactor.schedulerName Kubernetes pod scheduler registry
522 ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
525 ## @param compactor.updateStrategy.type Compactor statefulset strategy type
526 ## @param compactor.updateStrategy.rollingUpdate [object,nullable] Compactor statefulset rolling update configuration parameters
527 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
532 ## @param compactor.extraVolumes Optionally specify extra list of additional volumes for the Compactor pod(s)
535 ## @param compactor.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Compactor container(s)
537 extraVolumeMounts: []
538 ## @param compactor.sidecars Add additional sidecar containers to the Compactor pod(s)
541 ## - name: your-image-name
543 ## imagePullPolicy: Always
546 ## containerPort: 1234
549 ## @param compactor.initContainers Add additional init containers to the Compactor pod(s)
550 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
553 ## - name: your-image-name
555 ## imagePullPolicy: Always
556 ## command: ['sh', '-c', 'echo "hello world"']
559 ## Pod Disruption Budget configuration
560 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
561 ## @param compactor.pdb.create Enable/disable a Pod Disruption Budget creation
562 ## @param compactor.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
563 ## @param compactor.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `compactor.pdb.minAvailable` and `compactor.pdb.maxUnavailable` are empty.
569 ## Enable persistence using Persistent Volume Claims
570 ## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
573 ## @param compactor.persistence.enabled Enable persistence in Compactor instances
576 ## @param compactor.persistence.existingClaim Name of an existing PVC to use
579 ## @param compactor.persistence.storageClass PVC Storage Class for Memcached data volume
580 ## If defined, storageClassName: <storageClass>
581 ## If set to "-", storageClassName: "", which disables dynamic provisioning
582 ## If undefined (the default) or set to null, no storageClassName spec is
583 ## set, choosing the default provisioner. (gp2 on AWS, standard on
584 ## GKE, AWS & OpenStack)
587 ## @param compactor.persistence.accessModes PVC Access modes
591 ## @param compactor.persistence.size PVC Storage Request for Memcached data volume
594 ## @param compactor.persistence.annotations Additional PVC annotations
597 ## @param compactor.persistence.selector Selector to match an existing Persistent Volume for Compactor's data PVC
598 ## If set, the PVC can't have a PV dynamically provisioned for it
605 ## @param compactor.persistence.dataSource PVC data source
608 ## @param compactor.enableServiceLinks Whether information about services should be injected into pod's environment variable
609 ## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
610 ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
612 enableServiceLinks: true
613 ## @section Compactor Traffic Exposure Parameters
616 ## compactor service parameters
619 ## @param compactor.service.type Compactor service type
622 ## @param compactor.service.ports.http Compactor HTTP service port
623 ## @param compactor.service.ports.grpc Compactor gRPC service port
628 ## Node ports to expose
629 ## NOTE: choose port between <30000-32767>
630 ## @param compactor.service.nodePorts.http Node port for HTTP
634 ## @param compactor.service.sessionAffinityConfig Additional settings for the sessionAffinity
635 ## sessionAffinityConfig:
637 ## timeoutSeconds: 300
639 sessionAffinityConfig: {}
640 ## @param compactor.service.sessionAffinity Control where client requests go, to the same pod or round-robin
641 ## Values: ClientIP or None
642 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
644 sessionAffinity: None
645 ## @param compactor.service.clusterIP Compactor service Cluster IP
650 ## @param compactor.service.loadBalancerIP Compactor service Load Balancer IP
651 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
654 ## @param compactor.service.loadBalancerSourceRanges Compactor service Load Balancer sources
655 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
657 ## loadBalancerSourceRanges:
660 loadBalancerSourceRanges: []
661 ## @param compactor.service.externalTrafficPolicy Compactor service external traffic policy
662 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
664 externalTrafficPolicy: Cluster
665 ## @param compactor.service.annotations Additional custom annotations for Compactor service
668 ## @param compactor.service.extraPorts Extra ports to expose in the Compactor service
672 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
675 ## @param compactor.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
678 ## @param compactor.networkPolicy.allowExternal Don't require server label for connections
679 ## The Policy model to apply. When set to false, only pods with the correct
680 ## server label will have network access to the ports server is listening
681 ## on. When true, server will accept connections from any source
682 ## (with the correct destination port).
685 ## @param compactor.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
687 allowExternalEgress: true
688 ## @param compactor.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `compactor.networkPolicy.allowExternal` is true.
690 addExternalClientAccess: true
691 ## @param compactor.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
701 ## - matchExpressions:
707 ## @param compactor.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
717 ## - matchExpressions:
724 ## @param compactor.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `compactor.networkPolicy.allowExternal` is true.
726 ## ingressPodMatchLabels:
729 ingressPodMatchLabels: {}
730 ## @param compactor.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `compactor.networkPolicy.allowExternal` is true.
731 ## @param compactor.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `compactor.networkPolicy.allowExternal` is true.
733 ingressNSMatchLabels: {}
734 ingressNSPodMatchLabels: {}
735## @section Gateway Deployment Parameters
738 ## @param gateway.enabled Enable Gateway deployment
741 ## Iamguarded Nginx image
742 ## @param gateway.image.registry [default: REGISTRY_NAME] Nginx image registry
743 ## @param gateway.image.repository [default: REPOSITORY_NAME/nginx] Nginx image repository
744 ## @skip gateway.image.tag Nginx image tag (immutable tags are recommended)
745 ## @param gateway.image.digest Nginx image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
746 ## @param gateway.image.pullPolicy Nginx image pull policy
747 ## @param gateway.image.pullSecrets Nginx image pull secrets
748 ## @param gateway.image.debug Enable debugging in the initialization process
752 repository: chainguard-private/nginx-iamguarded
755 ## Specify a imagePullPolicy
756 ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
758 pullPolicy: IfNotPresent
759 ## Optionally specify an array of imagePullSecrets.
760 ## Secrets must be manually created in the namespace.
761 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
764 ## - myRegistryKeySecretName
768 ## @param gateway.extraEnvVars Array with extra environment variables to add to gateway nodes
775 ## @param gateway.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for gateway nodes
778 ## @param gateway.extraEnvVarsSecret Name of existing Secret containing extra env vars for gateway nodes
780 extraEnvVarsSecret: ""
781 ## @param gateway.command Override default container command (useful when using custom images)
784 ## @param gateway.args Override default container args (useful when using custom images)
787 ## @param gateway.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
790 ## @param gateway.verboseLogging Show the gateway access_log
792 verboseLogging: false
793 ## @param gateway.replicaCount Number of Gateway replicas to deploy
796 ## @param gateway.auth.enabled Enable basic auth
797 ## @param gateway.auth.username Basic auth username
798 ## @param gateway.auth.password Basic auth password
799 ## @param gateway.auth.existingSecret Name of a secret containing the Basic auth password
806 ## Configure extra options for Gateway containers' liveness, readiness and startup probes
807 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
808 ## @param gateway.livenessProbe.enabled Enable livenessProbe on Gateway nodes
809 ## @param gateway.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
810 ## @param gateway.livenessProbe.periodSeconds Period seconds for livenessProbe
811 ## @param gateway.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
812 ## @param gateway.livenessProbe.failureThreshold Failure threshold for livenessProbe
813 ## @param gateway.livenessProbe.successThreshold Success threshold for livenessProbe
818 initialDelaySeconds: 10
822 ## @param gateway.readinessProbe.enabled Enable readinessProbe on Gateway nodes
823 ## @param gateway.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
824 ## @param gateway.readinessProbe.periodSeconds Period seconds for readinessProbe
825 ## @param gateway.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
826 ## @param gateway.readinessProbe.failureThreshold Failure threshold for readinessProbe
827 ## @param gateway.readinessProbe.successThreshold Success threshold for readinessProbe
832 initialDelaySeconds: 10
836 ## @param gateway.startupProbe.enabled Enable startupProbe on Gateway containers
837 ## @param gateway.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
838 ## @param gateway.startupProbe.periodSeconds Period seconds for startupProbe
839 ## @param gateway.startupProbe.timeoutSeconds Timeout seconds for startupProbe
840 ## @param gateway.startupProbe.failureThreshold Failure threshold for startupProbe
841 ## @param gateway.startupProbe.successThreshold Success threshold for startupProbe
845 initialDelaySeconds: 10
850 ## @param gateway.customLivenessProbe Custom livenessProbe that overrides the default one
852 customLivenessProbe: {}
853 ## @param gateway.customReadinessProbe Custom readinessProbe that overrides the default one
855 customReadinessProbe: {}
856 ## @param gateway.customStartupProbe Custom startupProbe that overrides the default one
858 customStartupProbe: {}
859 ## @param gateway.containerPorts.http Gateway HTTP port
863 ## gateway resource requests and limits
864 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
865 ## @param gateway.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if gateway.resources is set (gateway.resources is recommended for production).
867 resourcesPreset: "nano"
868 ## @param gateway.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
879 ## Configure Pods Security Context
880 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
881 ## @param gateway.podSecurityContext.enabled Enabled Gateway pods' Security Context
882 ## @param gateway.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
883 ## @param gateway.podSecurityContext.sysctls Set kernel settings using the sysctl interface
884 ## @param gateway.podSecurityContext.supplementalGroups Set filesystem extra groups
885 ## @param gateway.podSecurityContext.fsGroup Set Gateway pod's Security Context fsGroup
889 fsGroupChangePolicy: Always
891 supplementalGroups: []
893 ## Configure Container Security Context
894 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
895 ## @param gateway.containerSecurityContext.enabled Enabled containers' Security Context
896 ## @param gateway.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
897 ## @param gateway.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
898 ## @param gateway.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
899 ## @param gateway.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
900 ## @param gateway.containerSecurityContext.privileged Set container's Security Context privileged
901 ## @param gateway.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
902 ## @param gateway.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
903 ## @param gateway.containerSecurityContext.capabilities.drop List of capabilities to be dropped
904 ## @param gateway.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
906 containerSecurityContext:
913 readOnlyRootFilesystem: true
914 allowPrivilegeEscalation: false
918 type: "RuntimeDefault"
919 ## @param gateway.lifecycleHooks for the gateway container(s) to automate configuration before or after startup
922 ## @param gateway.automountServiceAccountToken Mount Service Account token in pod
924 automountServiceAccountToken: false
925 ## @param gateway.hostAliases gateway pods host aliases
926 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
929 ## @param gateway.podLabels Extra labels for gateway pods
930 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
933 ## @param gateway.podAnnotations Annotations for gateway pods
934 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
937 ## @param gateway.podAffinityPreset Pod affinity preset. Ignored if `gateway.affinity` is set. Allowed values: `soft` or `hard`
938 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
940 podAffinityPreset: ""
941 ## @param gateway.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `gateway.affinity` is set. Allowed values: `soft` or `hard`
942 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
944 podAntiAffinityPreset: soft
945 ## Node gateway.affinity preset
946 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
949 ## @param gateway.nodeAffinityPreset.type Node affinity preset type. Ignored if `gateway.affinity` is set. Allowed values: `soft` or `hard`
952 ## @param gateway.nodeAffinityPreset.key Node label key to match. Ignored if `gateway.affinity` is set
955 ## @param gateway.nodeAffinityPreset.values Node label values to match. Ignored if `gateway.affinity` is set
962 ## @param gateway.affinity Affinity for Gateway pods assignment
963 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
964 ## NOTE: `gateway.podAffinityPreset`, `gateway.podAntiAffinityPreset`, and `gateway.nodeAffinityPreset` will be ignored when it's set
967 ## @param gateway.nodeSelector Node labels for Gateway pods assignment
968 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
971 ## @param gateway.tolerations Tolerations for Gateway pods assignment
972 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
975 ## @param gateway.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
976 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
978 topologySpreadConstraints: []
979 ## @param gateway.priorityClassName Gateway pods' priorityClassName
981 priorityClassName: ""
982 ## @param gateway.schedulerName Kubernetes pod scheduler registry
983 ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
986 ## @param gateway.updateStrategy.type Gateway statefulset strategy type
987 ## @param gateway.updateStrategy.rollingUpdate [object,nullable] Gateway statefulset rolling update configuration parameters
988 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
993 ## @param gateway.extraVolumes Optionally specify extra list of additional volumes for the Gateway pod(s)
996 ## @param gateway.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Gateway container(s)
998 extraVolumeMounts: []
999 ## @param gateway.sidecars Add additional sidecar containers to the Gateway pod(s)
1002 ## - name: your-image-name
1003 ## image: your-image
1004 ## imagePullPolicy: Always
1007 ## containerPort: 1234
1010 ## Pod Disruption Budget configuration
1011 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
1012 ## @param gateway.pdb.create Enable/disable a Pod Disruption Budget creation
1013 ## @param gateway.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
1014 ## @param gateway.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `gateway.pdb.minAvailable` and `gateway.pdb.maxUnavailable` are empty.
1020 ## @param gateway.initContainers Add additional init containers to the Gateway pod(s)
1021 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
1024 ## - name: your-image-name
1025 ## image: your-image
1026 ## imagePullPolicy: Always
1027 ## command: ['sh', '-c', 'echo "hello world"']
1030 ## @param gateway.enableServiceLinks Whether information about services should be injected into pod's environment variable
1031 ## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
1032 ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
1034 enableServiceLinks: true
1035 ## @section Gateway Traffic Exposure Parameters
1038 ## gateway service parameters
1041 ## @param gateway.service.type Gateway service type
1044 ## @param gateway.service.ports.http Gateway HTTP service port
1048 ## Node ports to expose
1049 ## NOTE: choose port between <30000-32767>
1050 ## @param gateway.service.nodePorts.http Node port for HTTP
1054 ## @param gateway.service.sessionAffinityConfig Additional settings for the sessionAffinity
1055 ## sessionAffinityConfig:
1057 ## timeoutSeconds: 300
1059 sessionAffinityConfig: {}
1060 ## @param gateway.service.sessionAffinity Control where client requests go, to the same pod or round-robin
1061 ## Values: ClientIP or None
1062 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
1064 sessionAffinity: None
1065 ## @param gateway.service.clusterIP Gateway service Cluster IP
1070 ## @param gateway.service.loadBalancerIP Gateway service Load Balancer IP
1071 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
1074 ## @param gateway.service.loadBalancerSourceRanges Gateway service Load Balancer sources
1075 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
1077 ## loadBalancerSourceRanges:
1080 loadBalancerSourceRanges: []
1081 ## @param gateway.service.externalTrafficPolicy Gateway service external traffic policy
1082 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
1084 externalTrafficPolicy: Cluster
1085 ## @param gateway.service.annotations Additional custom annotations for Gateway service
1088 ## @param gateway.service.extraPorts Extra ports to expose in the Gateway service
1091 ## @param gateway.service.nginx.config to override configurations i.e (client_max_body_size) in nginx http block
1096 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
1099 ## @param gateway.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
1102 ## @param gateway.networkPolicy.allowExternal Don't require server label for connections
1103 ## The Policy model to apply. When set to false, only pods with the correct
1104 ## server label will have network access to the ports server is listening
1105 ## on. When true, server will accept connections from any source
1106 ## (with the correct destination port).
1109 ## @param gateway.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
1111 allowExternalEgress: true
1112 ## @param gateway.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `gateway.networkPolicy.allowExternal` is true.
1114 addExternalClientAccess: true
1115 ## @param gateway.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
1125 ## - matchExpressions:
1131 ## @param gateway.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
1141 ## - matchExpressions:
1148 ## @param gateway.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `gateway.networkPolicy.allowExternal` is true.
1150 ## ingressPodMatchLabels:
1151 ## my-client: "true"
1153 ingressPodMatchLabels: {}
1154 ## @param gateway.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `gateway.networkPolicy.allowExternal` is true.
1155 ## @param gateway.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `gateway.networkPolicy.allowExternal` is true.
1157 ingressNSMatchLabels: {}
1158 ingressNSPodMatchLabels: {}
1159 ## Configure the ingress resource that allows you to access the Loki Gateway installation
1160 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
1163 ## @param gateway.ingress.enabled Enable ingress record generation for Loki Gateway
1166 ## @param gateway.ingress.pathType Ingress path type
1168 pathType: ImplementationSpecific
1169 ## @param gateway.ingress.apiVersion Force Ingress API version (automatically detected if not set)
1172 ## @param gateway.ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
1173 ## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
1174 ## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
1176 ingressClassName: ""
1177 ## @param gateway.ingress.hostname Default host for the ingress record
1179 hostname: grafana-loki.local
1180 ## @param gateway.ingress.path Default path for the ingress record
1181 ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers
1184 ## @param gateway.ingress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
1185 ## For a full list of possible ingress annotations, please see
1186 ## ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md
1187 ## Use this parameter to set the required annotations for cert-manager, see
1188 ## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
1192 ## kubernetes.io/ingress.class: nginx
1193 ## cert-manager.io/cluster-issuer: cluster-issuer-name
1196 ## @param gateway.ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter
1197 ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}`
1199 ## - Use the `ingress.secrets` parameter to create this TLS secret
1200 ## - Rely on cert-manager to create it by setting the corresponding annotations
1201 ## - Rely on Helm to create self-signed certificates by setting `ingress.selfSigned=true`
1204 ## @param gateway.ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
1207 ## @param gateway.ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record
1210 ## - name: Loki Gateway.local
1214 ## @param gateway.ingress.extraPaths An array with additional arbitrary paths that may need to be added to the ingress under the main host
1219 ## serviceName: ssl-redirect
1220 ## servicePort: use-annotation
1223 ## @param gateway.ingress.extraTls TLS configuration for additional hostname(s) to be covered with this ingress record
1224 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
1228 ## - Loki Gateway.local
1229 ## secretName: Loki Gateway.local-tls
1232 ## @param gateway.ingress.secrets Custom TLS certificates as secrets
1233 ## NOTE: 'key' and 'certificate' are expected in PEM format
1234 ## NOTE: 'name' should line up with a 'secretName' set further up
1235 ## If it is not set and you're using cert-manager, this is unneeded, as it will create a secret for you with valid certificates
1236 ## If it is not set and you're NOT using cert-manager either, self-signed certificates will be created valid for 365 days
1237 ## It is also possible to create and manage the certificates outside of this helm chart
1238 ## Please see README.md for more information
1241 ## - name: Loki Gateway.local-tls
1243 ## -----BEGIN RSA PRIVATE KEY-----
1245 ## -----END RSA PRIVATE KEY-----
1247 ## -----BEGIN CERTIFICATE-----
1249 ## -----END CERTIFICATE-----
1252## @section index-gateway Deployment Parameters
1255 ## @param indexGateway.enabled Enable index-gateway deployment
1258 ## @param indexGateway.extraEnvVars Array with extra environment variables to add to indexGateway nodes
1265 ## @param indexGateway.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for indexGateway nodes
1268 ## @param indexGateway.extraEnvVarsSecret Name of existing Secret containing extra env vars for indexGateway nodes
1270 extraEnvVarsSecret: ""
1271 ## @param indexGateway.command Override default container command (useful when using custom images)
1274 ## @param indexGateway.args Override default container args (useful when using custom images)
1277 ## @param indexGateway.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
1280 ## @param indexGateway.replicaCount Number of index-gateway replicas to deploy
1283 ## @param indexGateway.podManagementPolicy podManagementPolicy to manage scaling operation
1284 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
1286 podManagementPolicy: ""
1287 ## Configure extra options for index-gateway containers' liveness, readiness and startup probes
1288 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
1289 ## @param indexGateway.livenessProbe.enabled Enable livenessProbe on index-gateway nodes
1290 ## @param indexGateway.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
1291 ## @param indexGateway.livenessProbe.periodSeconds Period seconds for livenessProbe
1292 ## @param indexGateway.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
1293 ## @param indexGateway.livenessProbe.failureThreshold Failure threshold for livenessProbe
1294 ## @param indexGateway.livenessProbe.successThreshold Success threshold for livenessProbe
1299 initialDelaySeconds: 60
1303 ## @param indexGateway.readinessProbe.enabled Enable readinessProbe on index-gateway nodes
1304 ## @param indexGateway.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
1305 ## @param indexGateway.readinessProbe.periodSeconds Period seconds for readinessProbe
1306 ## @param indexGateway.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
1307 ## @param indexGateway.readinessProbe.failureThreshold Failure threshold for readinessProbe
1308 ## @param indexGateway.readinessProbe.successThreshold Success threshold for readinessProbe
1313 initialDelaySeconds: 60
1317 ## @param indexGateway.startupProbe.enabled Enable startupProbe on index-gateway containers
1318 ## @param indexGateway.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
1319 ## @param indexGateway.startupProbe.periodSeconds Period seconds for startupProbe
1320 ## @param indexGateway.startupProbe.timeoutSeconds Timeout seconds for startupProbe
1321 ## @param indexGateway.startupProbe.failureThreshold Failure threshold for startupProbe
1322 ## @param indexGateway.startupProbe.successThreshold Success threshold for startupProbe
1326 initialDelaySeconds: 30
1329 failureThreshold: 15
1331 ## @param indexGateway.customLivenessProbe Custom livenessProbe that overrides the default one
1333 customLivenessProbe: {}
1334 ## @param indexGateway.customReadinessProbe Custom readinessProbe that overrides the default one
1336 customReadinessProbe: {}
1337 ## @param indexGateway.customStartupProbe Custom startupProbe that overrides the default one
1339 customStartupProbe: {}
1340 ## indexGateway resource requests and limits
1341 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
1342 ## @param indexGateway.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if indexGateway.resources is set (indexGateway.resources is recommended for production).
1344 resourcesPreset: "nano"
1345 ## @param indexGateway.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
1356 ## Configure Pods Security Context
1357 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
1358 ## @param indexGateway.podSecurityContext.enabled Enabled index-gateway pods' Security Context
1359 ## @param indexGateway.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
1360 ## @param indexGateway.podSecurityContext.sysctls Set kernel settings using the sysctl interface
1361 ## @param indexGateway.podSecurityContext.supplementalGroups Set filesystem extra groups
1362 ## @param indexGateway.podSecurityContext.fsGroup Set index-gateway pod's Security Context fsGroup
1366 fsGroupChangePolicy: Always
1368 supplementalGroups: []
1370 ## Configure Container Security Context
1371 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
1372 ## @param indexGateway.containerSecurityContext.enabled Enabled containers' Security Context
1373 ## @param indexGateway.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
1374 ## @param indexGateway.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
1375 ## @param indexGateway.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
1376 ## @param indexGateway.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
1377 ## @param indexGateway.containerSecurityContext.privileged Set container's Security Context privileged
1378 ## @param indexGateway.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
1379 ## @param indexGateway.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
1380 ## @param indexGateway.containerSecurityContext.capabilities.drop List of capabilities to be dropped
1381 ## @param indexGateway.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
1383 containerSecurityContext:
1390 readOnlyRootFilesystem: true
1391 allowPrivilegeEscalation: false
1395 type: "RuntimeDefault"
1396 ## @param indexGateway.lifecycleHooks for the indexGateway container(s) to automate configuration before or after startup
1399 ## @param indexGateway.automountServiceAccountToken Mount Service Account token in pod
1401 automountServiceAccountToken: false
1402 ## @param indexGateway.hostAliases indexGateway pods host aliases
1403 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
1406 ## @param indexGateway.podLabels Extra labels for indexGateway pods
1407 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1410 ## @param indexGateway.podAnnotations Annotations for indexGateway pods
1411 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
1414 ## @param indexGateway.podAffinityPreset Pod affinity preset. Ignored if `indexGateway.affinity` is set. Allowed values: `soft` or `hard`
1415 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1417 podAffinityPreset: ""
1418 ## @param indexGateway.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `indexGateway.affinity` is set. Allowed values: `soft` or `hard`
1419 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1421 podAntiAffinityPreset: soft
1422 ## Node indexGateway.affinity preset
1423 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
1426 ## @param indexGateway.nodeAffinityPreset.type Node affinity preset type. Ignored if `indexGateway.affinity` is set. Allowed values: `soft` or `hard`
1429 ## @param indexGateway.nodeAffinityPreset.key Node label key to match. Ignored if `indexGateway.affinity` is set
1432 ## @param indexGateway.nodeAffinityPreset.values Node label values to match. Ignored if `indexGateway.affinity` is set
1439 ## @param indexGateway.affinity Affinity for index-gateway pods assignment
1440 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
1441 ## NOTE: `indexGateway.podAffinityPreset`, `indexGateway.podAntiAffinityPreset`, and `indexGateway.nodeAffinityPreset` will be ignored when it's set
1444 ## @param indexGateway.nodeSelector Node labels for index-gateway pods assignment
1445 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
1448 ## @param indexGateway.tolerations Tolerations for index-gateway pods assignment
1449 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1452 ## @param indexGateway.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
1453 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
1455 topologySpreadConstraints: []
1456 ## @param indexGateway.priorityClassName index-gateway pods' priorityClassName
1458 priorityClassName: ""
1459 ## @param indexGateway.schedulerName Kubernetes pod scheduler registry
1460 ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
1463 ## @param indexGateway.updateStrategy.type index-gateway statefulset strategy type
1464 ## @param indexGateway.updateStrategy.rollingUpdate [object,nullable] index-gateway statefulset rolling update configuration parameters
1465 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
1470 ## @param indexGateway.extraVolumes Optionally specify extra list of additional volumes for the index-gateway pod(s)
1473 ## @param indexGateway.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the index-gateway container(s)
1475 extraVolumeMounts: []
1476 ## @param indexGateway.sidecars Add additional sidecar containers to the index-gateway pod(s)
1479 ## - name: your-image-name
1480 ## image: your-image
1481 ## imagePullPolicy: Always
1484 ## containerPort: 1234
1487 ## @param indexGateway.initContainers Add additional init containers to the index-gateway pod(s)
1488 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
1491 ## - name: your-image-name
1492 ## image: your-image
1493 ## imagePullPolicy: Always
1494 ## command: ['sh', '-c', 'echo "hello world"']
1497 ## @param indexGateway.enableServiceLinks Whether information about services should be injected into pod's environment variable
1498 ## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
1499 ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
1501 enableServiceLinks: true
1502 ## Pod Disruption Budget configuration
1503 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
1504 ## @param indexGateway.pdb.create Enable/disable a Pod Disruption Budget creation
1505 ## @param indexGateway.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
1506 ## @param indexGateway.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `indexGateway.pdb.minAvailable` and `indexGateway.pdb.maxUnavailable` are empty.
1512 ## @section index-gateway Persistence Parameters
1515 ## Enable persistence using Persistent Volume Claims
1516 ## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
1519 ## @param indexGateway.persistence.enabled Enable persistence in index-gateway instances
1522 ## @param indexGateway.persistence.storageClass PVC Storage Class for index-gateway's data volume
1523 ## If defined, storageClassName: <storageClass>
1524 ## If set to "-", storageClassName: "", which disables dynamic provisioning
1525 ## If undefined (the default) or set to null, no storageClassName spec is
1526 ## set, choosing the default provisioner. (gp2 on AWS, standard on
1527 ## GKE, AWS & OpenStack)
1530 ## @param indexGateway.persistence.subPath The subdirectory of the volume to mount to
1533 ## @param indexGateway.persistence.accessModes PVC Access modes
1537 ## @param indexGateway.persistence.size PVC Storage Request for index-gateway's data volume
1540 ## @param indexGateway.persistence.annotations Additional PVC annotations
1543 ## @param indexGateway.persistence.selector Selector to match an existing Persistent Volume for index-gateway's data PVC
1544 ## If set, the PVC can't have a PV dynamically provisioned for it
1551 ## @section index-gateway Traffic Exposure Parameters
1554 ## indexGateway service parameters
1557 ## @param indexGateway.service.type index-gateway service type
1560 ## @param indexGateway.service.ports.http index-gateway HTTP service port
1561 ## @param indexGateway.service.ports.grpc index-gateway GRPC service port
1566 ## Node ports to expose
1567 ## NOTE: choose port between <30000-32767>
1568 ## @param indexGateway.service.nodePorts.http Node port for HTTP
1569 ## @param indexGateway.service.nodePorts.grpc Node port for GRPC
1574 ## @param indexGateway.service.sessionAffinityConfig Additional settings for the sessionAffinity
1575 ## sessionAffinityConfig:
1577 ## timeoutSeconds: 300
1579 sessionAffinityConfig: {}
1580 ## @param indexGateway.service.sessionAffinity Control where client requests go, to the same pod or round-robin
1581 ## Values: ClientIP or None
1582 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
1584 sessionAffinity: None
1585 ## @param indexGateway.service.clusterIP index-gateway service Cluster IP
1590 ## @param indexGateway.service.loadBalancerIP index-gateway service Load Balancer IP
1591 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
1594 ## @param indexGateway.service.loadBalancerSourceRanges index-gateway service Load Balancer sources
1595 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
1597 ## loadBalancerSourceRanges:
1600 loadBalancerSourceRanges: []
1601 ## @param indexGateway.service.externalTrafficPolicy index-gateway service external traffic policy
1602 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
1604 externalTrafficPolicy: Cluster
1605 ## @param indexGateway.service.annotations Additional custom annotations for index-gateway service
1608 ## @param indexGateway.service.extraPorts Extra ports to expose in the index-gateway service
1612 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
1615 ## @param indexGateway.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
1618 ## @param indexGateway.networkPolicy.allowExternal Don't require server label for connections
1619 ## The Policy model to apply. When set to false, only pods with the correct
1620 ## server label will have network access to the ports server is listening
1621 ## on. When true, server will accept connections from any source
1622 ## (with the correct destination port).
1625 ## @param indexGateway.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
1627 allowExternalEgress: true
1628 ## @param indexGateway.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `indexGateway.networkPolicy.allowExternal` is true.
1630 addExternalClientAccess: true
1631 ## @param indexGateway.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
1641 ## - matchExpressions:
1647 ## @param indexGateway.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
1657 ## - matchExpressions:
1664 ## @param indexGateway.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `indexGateway.networkPolicy.allowExternal` is true.
1666 ## ingressPodMatchLabels:
1667 ## my-client: "true"
1669 ingressPodMatchLabels: {}
1670 ## @param indexGateway.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `indexGateway.networkPolicy.allowExternal` is true.
1671 ## @param indexGateway.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `indexGateway.networkPolicy.allowExternal` is true.
1673 ingressNSMatchLabels: {}
1674 ingressNSPodMatchLabels: {}
1675## @section Distributor Deployment Parameters
1678 ## @param distributor.extraEnvVars Array with extra environment variables to add to distributor nodes
1685 ## @param distributor.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for distributor nodes
1688 ## @param distributor.extraEnvVarsSecret Name of existing Secret containing extra env vars for distributor nodes
1690 extraEnvVarsSecret: ""
1691 ## @param distributor.command Override default container command (useful when using custom images)
1694 ## @param distributor.args Override default container args (useful when using custom images)
1697 ## @param distributor.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
1700 ## @param distributor.replicaCount Number of Distributor replicas to deploy
1703 ## Configure extra options for Distributor containers' liveness, readiness and startup probes
1704 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
1705 ## @param distributor.livenessProbe.enabled Enable livenessProbe on Distributor nodes
1706 ## @param distributor.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
1707 ## @param distributor.livenessProbe.periodSeconds Period seconds for livenessProbe
1708 ## @param distributor.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
1709 ## @param distributor.livenessProbe.failureThreshold Failure threshold for livenessProbe
1710 ## @param distributor.livenessProbe.successThreshold Success threshold for livenessProbe
1715 initialDelaySeconds: 10
1719 ## @param distributor.readinessProbe.enabled Enable readinessProbe on Distributor nodes
1720 ## @param distributor.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
1721 ## @param distributor.readinessProbe.periodSeconds Period seconds for readinessProbe
1722 ## @param distributor.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
1723 ## @param distributor.readinessProbe.failureThreshold Failure threshold for readinessProbe
1724 ## @param distributor.readinessProbe.successThreshold Success threshold for readinessProbe
1729 initialDelaySeconds: 10
1733 ## @param distributor.startupProbe.enabled Enable startupProbe on Distributor containers
1734 ## @param distributor.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
1735 ## @param distributor.startupProbe.periodSeconds Period seconds for startupProbe
1736 ## @param distributor.startupProbe.timeoutSeconds Timeout seconds for startupProbe
1737 ## @param distributor.startupProbe.failureThreshold Failure threshold for startupProbe
1738 ## @param distributor.startupProbe.successThreshold Success threshold for startupProbe
1742 initialDelaySeconds: 30
1745 failureThreshold: 15
1747 ## @param distributor.customLivenessProbe Custom livenessProbe that overrides the default one
1749 customLivenessProbe: {}
1750 ## @param distributor.customReadinessProbe Custom readinessProbe that overrides the default one
1752 customReadinessProbe: {}
1753 ## @param distributor.customStartupProbe Custom startupProbe that overrides the default one
1755 customStartupProbe: {}
1756 ## distributor resource requests and limits
1757 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
1758 ## @param distributor.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if distributor.resources is set (distributor.resources is recommended for production).
1760 resourcesPreset: "nano"
1761 ## @param distributor.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
1772 ## Configure Pods Security Context
1773 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
1774 ## @param distributor.podSecurityContext.enabled Enabled Distributor pods' Security Context
1775 ## @param distributor.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
1776 ## @param distributor.podSecurityContext.sysctls Set kernel settings using the sysctl interface
1777 ## @param distributor.podSecurityContext.supplementalGroups Set filesystem extra groups
1778 ## @param distributor.podSecurityContext.fsGroup Set Distributor pod's Security Context fsGroup
1782 fsGroupChangePolicy: Always
1784 supplementalGroups: []
1786 ## Configure Container Security Context
1787 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
1788 ## @param distributor.containerSecurityContext.enabled Enabled containers' Security Context
1789 ## @param distributor.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
1790 ## @param distributor.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
1791 ## @param distributor.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
1792 ## @param distributor.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
1793 ## @param distributor.containerSecurityContext.privileged Set container's Security Context privileged
1794 ## @param distributor.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
1795 ## @param distributor.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
1796 ## @param distributor.containerSecurityContext.capabilities.drop List of capabilities to be dropped
1797 ## @param distributor.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
1799 containerSecurityContext:
1806 readOnlyRootFilesystem: true
1807 allowPrivilegeEscalation: false
1811 type: "RuntimeDefault"
1812 ## @param distributor.lifecycleHooks for the distributor container(s) to automate configuration before or after startup
1815 ## @param distributor.automountServiceAccountToken Mount Service Account token in pod
1817 automountServiceAccountToken: false
1818 ## @param distributor.hostAliases distributor pods host aliases
1819 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
1822 ## @param distributor.podLabels Extra labels for distributor pods
1823 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1826 ## @param distributor.podAnnotations Annotations for distributor pods
1827 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
1830 ## @param distributor.podAffinityPreset Pod affinity preset. Ignored if `distributor.affinity` is set. Allowed values: `soft` or `hard`
1831 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1833 podAffinityPreset: ""
1834 ## @param distributor.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `distributor.affinity` is set. Allowed values: `soft` or `hard`
1835 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1837 podAntiAffinityPreset: soft
1838 ## Node distributor.affinity preset
1839 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
1842 ## @param distributor.nodeAffinityPreset.type Node affinity preset type. Ignored if `distributor.affinity` is set. Allowed values: `soft` or `hard`
1845 ## @param distributor.nodeAffinityPreset.key Node label key to match. Ignored if `distributor.affinity` is set
1848 ## @param distributor.nodeAffinityPreset.values Node label values to match. Ignored if `distributor.affinity` is set
1855 ## @param distributor.affinity Affinity for Distributor pods assignment
1856 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
1857 ## NOTE: `distributor.podAffinityPreset`, `distributor.podAntiAffinityPreset`, and `distributor.nodeAffinityPreset` will be ignored when it's set
1860 ## @param distributor.nodeSelector Node labels for Distributor pods assignment
1861 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
1864 ## @param distributor.tolerations Tolerations for Distributor pods assignment
1865 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1868 ## @param distributor.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
1869 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
1871 topologySpreadConstraints: []
1872 ## @param distributor.priorityClassName Distributor pods' priorityClassName
1874 priorityClassName: ""
1875 ## @param distributor.schedulerName Kubernetes pod scheduler registry
1876 ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
1879 ## @param distributor.updateStrategy.type Distributor statefulset strategy type
1880 ## @param distributor.updateStrategy.rollingUpdate [object,nullable] Distributor statefulset rolling update configuration parameters
1881 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
1886 ## @param distributor.extraVolumes Optionally specify extra list of additional volumes for the Distributor pod(s)
1889 ## @param distributor.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Distributor container(s)
1891 extraVolumeMounts: []
1892 ## @param distributor.sidecars Add additional sidecar containers to the Distributor pod(s)
1895 ## - name: your-image-name
1896 ## image: your-image
1897 ## imagePullPolicy: Always
1900 ## containerPort: 1234
1903 ## @param distributor.initContainers Add additional init containers to the Distributor pod(s)
1904 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
1907 ## - name: your-image-name
1908 ## image: your-image
1909 ## imagePullPolicy: Always
1910 ## command: ['sh', '-c', 'echo "hello world"']
1913 ## @param distributor.enableServiceLinks Whether information about services should be injected into pod's environment variable
1914 ## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
1915 ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
1917 enableServiceLinks: true
1918 ## Pod Disruption Budget configuration
1919 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
1920 ## @param distributor.pdb.create Enable/disable a Pod Disruption Budget creation
1921 ## @param distributor.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
1922 ## @param distributor.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `distributor.pdb.minAvailable` and `distributor.pdb.maxUnavailable` are empty.
1928 ## @section Distributor Traffic Exposure Parameters
1931 ## distributor service parameters
1934 ## @param distributor.service.type Distributor service type
1937 ## @param distributor.service.ports.http Distributor HTTP service port
1938 ## @param distributor.service.ports.grpc Distributor GRPC service port
1943 ## Node ports to expose
1944 ## NOTE: choose port between <30000-32767>
1945 ## @param distributor.service.nodePorts.http Node port for HTTP
1946 ## @param distributor.service.nodePorts.grpc Node port for GRPC
1951 ## @param distributor.service.sessionAffinityConfig Additional settings for the sessionAffinity
1952 ## sessionAffinityConfig:
1954 ## timeoutSeconds: 300
1956 sessionAffinityConfig: {}
1957 ## @param distributor.service.sessionAffinity Control where client requests go, to the same pod or round-robin
1958 ## Values: ClientIP or None
1959 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
1961 sessionAffinity: None
1962 ## @param distributor.service.clusterIP Distributor service Cluster IP
1967 ## @param distributor.service.loadBalancerIP Distributor service Load Balancer IP
1968 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
1971 ## @param distributor.service.loadBalancerSourceRanges Distributor service Load Balancer sources
1972 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
1974 ## loadBalancerSourceRanges:
1977 loadBalancerSourceRanges: []
1978 ## @param distributor.service.externalTrafficPolicy Distributor service external traffic policy
1979 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
1981 externalTrafficPolicy: Cluster
1982 ## @param distributor.service.annotations Additional custom annotations for Distributor service
1985 ## @param distributor.service.extraPorts Extra ports to expose in the Distributor service
1989 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
1992 ## @param distributor.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
1995 ## @param distributor.networkPolicy.allowExternal Don't require server label for connections
1996 ## The Policy model to apply. When set to false, only pods with the correct
1997 ## server label will have network access to the ports server is listening
1998 ## on. When true, server will accept connections from any source
1999 ## (with the correct destination port).
2002 ## @param distributor.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
2004 allowExternalEgress: true
2005 ## @param distributor.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `distributor.networkPolicy.allowExternal` is true.
2007 addExternalClientAccess: true
2008 ## @param distributor.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
2018 ## - matchExpressions:
2024 ## @param distributor.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
2034 ## - matchExpressions:
2041 ## @param distributor.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `distributor.networkPolicy.allowExternal` is true.
2043 ## ingressPodMatchLabels:
2044 ## my-client: "true"
2046 ingressPodMatchLabels: {}
2047 ## @param distributor.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `distributor.networkPolicy.allowExternal` is true.
2048 ## @param distributor.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `distributor.networkPolicy.allowExternal` is true.
2050 ingressNSMatchLabels: {}
2051 ingressNSPodMatchLabels: {}
2052## @section Ingester Deployment Parameters
2055 ## @param ingester.extraEnvVars Array with extra environment variables to add to ingester nodes
2062 ## @param ingester.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for ingester nodes
2065 ## @param ingester.extraEnvVarsSecret Name of existing Secret containing extra env vars for ingester nodes
2067 extraEnvVarsSecret: ""
2068 ## @param ingester.command Override default container command (useful when using custom images)
2071 ## @param ingester.args Override default container args (useful when using custom images)
2074 ## @param ingester.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
2077 ## @param ingester.replicaCount Number of Ingester replicas to deploy
2080 ## Configure extra options for Ingester containers' liveness, readiness and startup probes
2081 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
2082 ## @param ingester.livenessProbe.enabled Enable livenessProbe on Ingester nodes
2083 ## @param ingester.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
2084 ## @param ingester.livenessProbe.periodSeconds Period seconds for livenessProbe
2085 ## @param ingester.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
2086 ## @param ingester.livenessProbe.failureThreshold Failure threshold for livenessProbe
2087 ## @param ingester.livenessProbe.successThreshold Success threshold for livenessProbe
2092 initialDelaySeconds: 10
2096 ## @param ingester.readinessProbe.enabled Enable readinessProbe on Ingester nodes
2097 ## @param ingester.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
2098 ## @param ingester.readinessProbe.periodSeconds Period seconds for readinessProbe
2099 ## @param ingester.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
2100 ## @param ingester.readinessProbe.failureThreshold Failure threshold for readinessProbe
2101 ## @param ingester.readinessProbe.successThreshold Success threshold for readinessProbe
2106 initialDelaySeconds: 10
2110 ## @param ingester.startupProbe.enabled Enable startupProbe on Ingester containers
2111 ## @param ingester.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
2112 ## @param ingester.startupProbe.periodSeconds Period seconds for startupProbe
2113 ## @param ingester.startupProbe.timeoutSeconds Timeout seconds for startupProbe
2114 ## @param ingester.startupProbe.failureThreshold Failure threshold for startupProbe
2115 ## @param ingester.startupProbe.successThreshold Success threshold for startupProbe
2119 initialDelaySeconds: 30
2122 failureThreshold: 15
2124 ## @param ingester.customLivenessProbe Custom livenessProbe that overrides the default one
2126 customLivenessProbe: {}
2127 ## @param ingester.customReadinessProbe Custom readinessProbe that overrides the default one
2129 customReadinessProbe: {}
2130 ## @param ingester.customStartupProbe Custom startupProbe that overrides the default one
2132 customStartupProbe: {}
2133 ## @param ingester.lifecycleHooks for the ingester container(s) to automate configuration before or after startup
2136 ## ingester resource requests and limits
2137 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
2138 ## @param ingester.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if ingester.resources is set (ingester.resources is recommended for production).
2140 resourcesPreset: "micro"
2141 ## @param ingester.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
2152 ## Configure Pods Security Context
2153 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
2154 ## @param ingester.podSecurityContext.enabled Enabled Ingester pods' Security Context
2155 ## @param ingester.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
2156 ## @param ingester.podSecurityContext.sysctls Set kernel settings using the sysctl interface
2157 ## @param ingester.podSecurityContext.supplementalGroups Set filesystem extra groups
2158 ## @param ingester.podSecurityContext.fsGroup Set Ingester pod's Security Context fsGroup
2162 fsGroupChangePolicy: Always
2164 supplementalGroups: []
2166 ## Configure Container Security Context
2167 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
2168 ## @param ingester.containerSecurityContext.enabled Enabled containers' Security Context
2169 ## @param ingester.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
2170 ## @param ingester.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
2171 ## @param ingester.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
2172 ## @param ingester.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
2173 ## @param ingester.containerSecurityContext.privileged Set container's Security Context privileged
2174 ## @param ingester.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
2175 ## @param ingester.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
2176 ## @param ingester.containerSecurityContext.capabilities.drop List of capabilities to be dropped
2177 ## @param ingester.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
2179 containerSecurityContext:
2186 readOnlyRootFilesystem: true
2187 allowPrivilegeEscalation: false
2191 type: "RuntimeDefault"
2192 ## @param ingester.automountServiceAccountToken Mount Service Account token in pod
2194 automountServiceAccountToken: false
2195 ## @param ingester.hostAliases ingester pods host aliases
2196 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
2199 ## @param ingester.podLabels Extra labels for ingester pods
2200 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
2203 ## @param ingester.podAnnotations Annotations for ingester pods
2204 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
2207 ## @param ingester.podAffinityPreset Pod affinity preset. Ignored if `ingester.affinity` is set. Allowed values: `soft` or `hard`
2208 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
2210 podAffinityPreset: ""
2211 ## @param ingester.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `ingester.affinity` is set. Allowed values: `soft` or `hard`
2212 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
2214 podAntiAffinityPreset: soft
2215 ## Node ingester.affinity preset
2216 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
2219 ## @param ingester.nodeAffinityPreset.type Node affinity preset type. Ignored if `ingester.affinity` is set. Allowed values: `soft` or `hard`
2222 ## @param ingester.nodeAffinityPreset.key Node label key to match. Ignored if `ingester.affinity` is set
2225 ## @param ingester.nodeAffinityPreset.values Node label values to match. Ignored if `ingester.affinity` is set
2232 ## @param ingester.affinity Affinity for ingester pods assignment
2233 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
2234 ## NOTE: `ingester.podAffinityPreset`, `ingester.podAntiAffinityPreset`, and `ingester.nodeAffinityPreset` will be ignored when it's set
2237 ## @param ingester.nodeSelector Node labels for Ingester pods assignment
2238 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
2241 ## @param ingester.tolerations Tolerations for Ingester pods assignment
2242 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2245 ## @param ingester.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
2246 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
2248 topologySpreadConstraints: []
2249 ## @param ingester.podManagementPolicy podManagementPolicy to manage scaling operation
2250 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
2252 podManagementPolicy: ""
2253 ## @param ingester.priorityClassName Ingester pods' priorityClassName
2255 priorityClassName: ""
2256 ## @param ingester.schedulerName Kubernetes pod scheduler registry
2257 ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
2260 ## @param ingester.updateStrategy.type Ingester statefulset strategy type
2261 ## @param ingester.updateStrategy.rollingUpdate [object,nullable] Ingester statefulset rolling update configuration parameters
2262 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
2267 ## @param ingester.extraVolumes Optionally specify extra list of additional volumes for the Ingester pod(s)
2270 ## @param ingester.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the ingester container(s)
2272 extraVolumeMounts: []
2273 ## @param ingester.sidecars Add additional sidecar containers to the Ingester pod(s)
2276 ## - name: your-image-name
2277 ## image: your-image
2278 ## imagePullPolicy: Always
2281 ## containerPort: 1234
2284 ## @param ingester.initContainers Add additional init containers to the Ingester pod(s)
2285 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
2288 ## - name: your-image-name
2289 ## image: your-image
2290 ## imagePullPolicy: Always
2291 ## command: ['sh', '-c', 'echo "hello world"']
2294 ## @param ingester.enableServiceLinks Whether information about services should be injected into pod's environment variable
2295 ## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
2296 ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
2298 enableServiceLinks: true
2299 ## Pod Disruption Budget configuration
2300 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
2301 ## @param ingester.pdb.create Enable/disable a Pod Disruption Budget creation
2302 ## @param ingester.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
2303 ## @param ingester.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `ingester.pdb.minAvailable` and `ingester.pdb.maxUnavailable` are empty.
2309 ## @section Ingester Persistence Parameters
2312 ## Enable persistence using Persistent Volume Claims
2313 ## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
2316 ## @param ingester.persistence.enabled Enable persistence in Ingester instances
2319 ## @param ingester.persistence.storageClass PVC Storage Class for Memcached data volume
2320 ## If defined, storageClassName: <storageClass>
2321 ## If set to "-", storageClassName: "", which disables dynamic provisioning
2322 ## If undefined (the default) or set to null, no storageClassName spec is
2323 ## set, choosing the default provisioner. (gp2 on AWS, standard on
2324 ## GKE, AWS & OpenStack)
2327 ## @param ingester.persistence.subPath The subdirectory of the volume to mount to
2330 ## @param ingester.persistence.accessModes PVC Access modes
2334 ## @param ingester.persistence.size PVC Storage Request for Memcached data volume
2337 ## @param ingester.persistence.annotations Additional PVC annotations
2340 ## @param ingester.persistence.selector Selector to match an existing Persistent Volume for Ingester's data PVC
2341 ## If set, the PVC can't have a PV dynamically provisioned for it
2348 ## @section Ingester Traffic Exposure Parameters
2351 ## ingester service parameters
2354 ## @param ingester.service.type Ingester service type
2357 ## @param ingester.service.ports.http Ingester HTTP service port
2358 ## @param ingester.service.ports.grpc Ingester GRPC service port
2363 ## Node ports to expose
2364 ## NOTE: choose port between <30000-32767>
2365 ## @param ingester.service.nodePorts.http Node port for HTTP
2366 ## @param ingester.service.nodePorts.grpc Node port for GRPC
2371 ## @param ingester.service.sessionAffinityConfig Additional settings for the sessionAffinity
2372 ## sessionAffinityConfig:
2374 ## timeoutSeconds: 300
2376 sessionAffinityConfig: {}
2377 ## @param ingester.service.sessionAffinity Control where client requests go, to the same pod or round-robin
2378 ## Values: ClientIP or None
2379 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
2381 sessionAffinity: None
2382 ## @param ingester.service.clusterIP Ingester service Cluster IP
2387 ## @param ingester.service.loadBalancerIP Ingester service Load Balancer IP
2388 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
2391 ## @param ingester.service.loadBalancerSourceRanges Ingester service Load Balancer sources
2392 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
2394 ## loadBalancerSourceRanges:
2397 loadBalancerSourceRanges: []
2398 ## @param ingester.service.externalTrafficPolicy Ingester service external traffic policy
2399 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
2401 externalTrafficPolicy: Cluster
2402 ## @param ingester.service.annotations Additional custom annotations for Ingester service
2405 ## @param ingester.service.extraPorts Extra ports to expose in the Ingester service
2409 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
2412 ## @param ingester.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
2415 ## @param ingester.networkPolicy.allowExternal Don't require server label for connections
2416 ## The Policy model to apply. When set to false, only pods with the correct
2417 ## server label will have network access to the ports server is listening
2418 ## on. When true, server will accept connections from any source
2419 ## (with the correct destination port).
2422 ## @param ingester.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
2424 allowExternalEgress: true
2425 ## @param ingester.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `ingester.networkPolicy.allowExternal` is true.
2427 addExternalClientAccess: true
2428 ## @param ingester.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
2438 ## - matchExpressions:
2444 ## @param ingester.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
2454 ## - matchExpressions:
2461 ## @param ingester.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `ingester.networkPolicy.allowExternal` is true.
2463 ## ingressPodMatchLabels:
2464 ## my-client: "true"
2466 ingressPodMatchLabels: {}
2467 ## @param ingester.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `ingester.networkPolicy.allowExternal` is true.
2468 ## @param ingester.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `ingester.networkPolicy.allowExternal` is true.
2470 ingressNSMatchLabels: {}
2471 ingressNSPodMatchLabels: {}
2472## @section Querier Deployment Parameters
2475 ## @param querier.replicaCount Number of Querier replicas to deploy
2478 ## @param querier.extraEnvVars Array with extra environment variables to add to Querier nodes
2485 ## @param querier.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Querier nodes
2488 ## @param querier.extraEnvVarsSecret Name of existing Secret containing extra env vars for Querier nodes
2490 extraEnvVarsSecret: ""
2491 ## @param querier.command Override default container command (useful when using custom images)
2494 ## @param querier.args Override default container args (useful when using custom images)
2497 ## @param querier.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
2500 ## @param querier.podManagementPolicy podManagementPolicy to manage scaling operation
2501 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
2503 podManagementPolicy: ""
2504 ## Configure extra options for Querier containers' liveness, readiness and startup probes
2505 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
2506 ## @param querier.livenessProbe.enabled Enable livenessProbe on Querier nodes
2507 ## @param querier.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
2508 ## @param querier.livenessProbe.periodSeconds Period seconds for livenessProbe
2509 ## @param querier.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
2510 ## @param querier.livenessProbe.failureThreshold Failure threshold for livenessProbe
2511 ## @param querier.livenessProbe.successThreshold Success threshold for livenessProbe
2516 initialDelaySeconds: 10
2520 ## @param querier.readinessProbe.enabled Enable readinessProbe on Querier nodes
2521 ## @param querier.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
2522 ## @param querier.readinessProbe.periodSeconds Period seconds for readinessProbe
2523 ## @param querier.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
2524 ## @param querier.readinessProbe.failureThreshold Failure threshold for readinessProbe
2525 ## @param querier.readinessProbe.successThreshold Success threshold for readinessProbe
2530 initialDelaySeconds: 10
2534 ## @param querier.startupProbe.enabled Enable startupProbe on Querier containers
2535 ## @param querier.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
2536 ## @param querier.startupProbe.periodSeconds Period seconds for startupProbe
2537 ## @param querier.startupProbe.timeoutSeconds Timeout seconds for startupProbe
2538 ## @param querier.startupProbe.failureThreshold Failure threshold for startupProbe
2539 ## @param querier.startupProbe.successThreshold Success threshold for startupProbe
2543 initialDelaySeconds: 30
2546 failureThreshold: 15
2548 ## @param querier.customLivenessProbe Custom livenessProbe that overrides the default one
2550 customLivenessProbe: {}
2551 ## @param querier.customReadinessProbe Custom readinessProbe that overrides the default one
2553 customReadinessProbe: {}
2554 ## @param querier.customStartupProbe Custom startupProbe that overrides the default one
2556 customStartupProbe: {}
2557 ## querier resource requests and limits
2558 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
2559 ## @param querier.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if querier.resources is set (querier.resources is recommended for production).
2561 resourcesPreset: "nano"
2562 ## @param querier.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
2573 ## Configure Pods Security Context
2574 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
2575 ## @param querier.podSecurityContext.enabled Enabled Querier pods' Security Context
2576 ## @param querier.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
2577 ## @param querier.podSecurityContext.sysctls Set kernel settings using the sysctl interface
2578 ## @param querier.podSecurityContext.supplementalGroups Set filesystem extra groups
2579 ## @param querier.podSecurityContext.fsGroup Set Querier pod's Security Context fsGroup
2583 fsGroupChangePolicy: Always
2585 supplementalGroups: []
2587 ## Configure Container Security Context
2588 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
2589 ## @param querier.containerSecurityContext.enabled Enabled containers' Security Context
2590 ## @param querier.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
2591 ## @param querier.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
2592 ## @param querier.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
2593 ## @param querier.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
2594 ## @param querier.containerSecurityContext.privileged Set container's Security Context privileged
2595 ## @param querier.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
2596 ## @param querier.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
2597 ## @param querier.containerSecurityContext.capabilities.drop List of capabilities to be dropped
2598 ## @param querier.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
2600 containerSecurityContext:
2607 readOnlyRootFilesystem: true
2608 allowPrivilegeEscalation: false
2612 type: "RuntimeDefault"
2613 ## @param querier.lifecycleHooks for the Querier container(s) to automate configuration before or after startup
2616 ## @param querier.automountServiceAccountToken Mount Service Account token in pod
2618 automountServiceAccountToken: false
2619 ## @param querier.hostAliases querier pods host aliases
2620 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
2623 ## @param querier.podLabels Extra labels for querier pods
2624 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
2627 ## @param querier.podAnnotations Annotations for querier pods
2628 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
2631 ## @param querier.podAffinityPreset Pod affinity preset. Ignored if `querier.affinity` is set. Allowed values: `soft` or `hard`
2632 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
2634 podAffinityPreset: ""
2635 ## @param querier.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `querier.affinity` is set. Allowed values: `soft` or `hard`
2636 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
2638 podAntiAffinityPreset: soft
2639 ## Node querier.affinity preset
2640 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
2643 ## @param querier.nodeAffinityPreset.type Node affinity preset type. Ignored if `querier.affinity` is set. Allowed values: `soft` or `hard`
2646 ## @param querier.nodeAffinityPreset.key Node label key to match. Ignored if `querier.affinity` is set
2649 ## @param querier.nodeAffinityPreset.values Node label values to match. Ignored if `querier.affinity` is set
2656 ## @param querier.affinity Affinity for Querier pods assignment
2657 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
2658 ## NOTE: `querier.podAffinityPreset`, `querier.podAntiAffinityPreset`, and `querier.nodeAffinityPreset` will be ignored when it's set
2661 ## @param querier.nodeSelector Node labels for Querier pods assignment
2662 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
2665 ## @param querier.tolerations Tolerations for Querier pods assignment
2666 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2669 ## @param querier.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
2670 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
2672 topologySpreadConstraints: []
2673 ## @param querier.priorityClassName Querier pods' priorityClassName
2675 priorityClassName: ""
2676 ## @param querier.schedulerName Kubernetes pod scheduler registry
2677 ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
2680 ## @param querier.updateStrategy.type Querier statefulset strategy type
2681 ## @param querier.updateStrategy.rollingUpdate [object,nullable] Querier statefulset rolling update configuration parameters
2682 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
2687 ## @param querier.extraVolumes Optionally specify extra list of additional volumes for the Querier pod(s)
2690 ## @param querier.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the querier container(s)
2692 extraVolumeMounts: []
2693 ## @param querier.sidecars Add additional sidecar containers to the Querier pod(s)
2696 ## - name: your-image-name
2697 ## image: your-image
2698 ## imagePullPolicy: Always
2701 ## containerPort: 1234
2704 ## @param querier.initContainers Add additional init containers to the Querier pod(s)
2705 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
2708 ## - name: your-image-name
2709 ## image: your-image
2710 ## imagePullPolicy: Always
2711 ## command: ['sh', '-c', 'echo "hello world"']
2714 ## @param querier.enableServiceLinks Whether information about services should be injected into pod's environment variable
2715 ## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
2716 ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
2718 enableServiceLinks: true
2719 ## Pod Disruption Budget configuration
2720 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
2721 ## @param querier.pdb.create Enable/disable a Pod Disruption Budget creation
2722 ## @param querier.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
2723 ## @param querier.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `querier.pdb.minAvailable` and `querier.pdb.maxUnavailable` are empty.
2729 ## @section Querier Persistence Parameters
2732 ## Enable persistence using Persistent Volume Claims
2733 ## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
2736 ## @param querier.persistence.enabled Enable persistence in Querier instances
2739 ## @param querier.persistence.storageClass PVC Storage Class for Memcached data volume
2740 ## If defined, storageClassName: <storageClass>
2741 ## If set to "-", storageClassName: "", which disables dynamic provisioning
2742 ## If undefined (the default) or set to null, no storageClassName spec is
2743 ## set, choosing the default provisioner. (gp2 on AWS, standard on
2744 ## GKE, AWS & OpenStack)
2747 ## @param querier.persistence.subPath The subdirectory of the volume to mount to
2750 ## @param querier.persistence.accessModes PVC Access modes
2754 ## @param querier.persistence.size PVC Storage Request for Memcached data volume
2757 ## @param querier.persistence.annotations Additional PVC annotations
2760 ## @param querier.persistence.selector Selector to match an existing Persistent Volume for Querier's data PVC
2761 ## If set, the PVC can't have a PV dynamically provisioned for it
2768 ## @section Querier Traffic Exposure Parameters
2771 ## querier service parameters
2774 ## @param querier.service.type Querier service type
2777 ## @param querier.service.ports.http Querier HTTP service port
2778 ## @param querier.service.ports.grpc Querier GRPC service port
2783 ## Node ports to expose
2784 ## NOTE: choose port between <30000-32767>
2785 ## @param querier.service.nodePorts.http Node port for HTTP
2786 ## @param querier.service.nodePorts.grpc Node port for GRPC
2791 ## @param querier.service.sessionAffinityConfig Additional settings for the sessionAffinity
2792 ## sessionAffinityConfig:
2794 ## timeoutSeconds: 300
2796 sessionAffinityConfig: {}
2797 ## @param querier.service.sessionAffinity Control where client requests go, to the same pod or round-robin
2798 ## Values: ClientIP or None
2799 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
2801 sessionAffinity: None
2802 ## @param querier.service.clusterIP Querier service Cluster IP
2807 ## @param querier.service.loadBalancerIP Querier service Load Balancer IP
2808 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
2811 ## @param querier.service.loadBalancerSourceRanges Querier service Load Balancer sources
2812 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
2814 ## loadBalancerSourceRanges:
2817 loadBalancerSourceRanges: []
2818 ## @param querier.service.externalTrafficPolicy Querier service external traffic policy
2819 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
2821 externalTrafficPolicy: Cluster
2822 ## @param querier.service.annotations Additional custom annotations for Querier service
2825 ## @param querier.service.extraPorts Extra ports to expose in the Querier service
2829 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
2832 ## @param querier.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
2835 ## @param querier.networkPolicy.allowExternal Don't require server label for connections
2836 ## The Policy model to apply. When set to false, only pods with the correct
2837 ## server label will have network access to the ports server is listening
2838 ## on. When true, server will accept connections from any source
2839 ## (with the correct destination port).
2842 ## @param querier.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
2844 allowExternalEgress: true
2845 ## @param querier.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `querier.networkPolicy.allowExternal` is true.
2847 addExternalClientAccess: true
2848 ## @param querier.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
2858 ## - matchExpressions:
2864 ## @param querier.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
2874 ## - matchExpressions:
2881 ## @param querier.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `querier.networkPolicy.allowExternal` is true.
2883 ## ingressPodMatchLabels:
2884 ## my-client: "true"
2886 ingressPodMatchLabels: {}
2887 ## @param querier.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `querier.networkPolicy.allowExternal` is true.
2888 ## @param querier.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `querier.networkPolicy.allowExternal` is true.
2890 ingressNSMatchLabels: {}
2891 ingressNSPodMatchLabels: {}
2892## @section Query Frontend Deployment Parameters
2895 ## @param queryFrontend.extraEnvVars Array with extra environment variables to add to queryFrontend nodes
2902 ## @param queryFrontend.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for queryFrontend nodes
2905 ## @param queryFrontend.extraEnvVarsSecret Name of existing Secret containing extra env vars for queryFrontend nodes
2907 extraEnvVarsSecret: ""
2908 ## @param queryFrontend.command Override default container command (useful when using custom images)
2911 ## @param queryFrontend.args Override default container args (useful when using custom images)
2914 ## @param queryFrontend.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
2917 ## @param queryFrontend.replicaCount Number of queryFrontend replicas to deploy
2920 ## Configure extra options for queryFrontend containers' liveness, readiness and startup probes
2921 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
2922 ## @param queryFrontend.livenessProbe.enabled Enable livenessProbe on queryFrontend nodes
2923 ## @param queryFrontend.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
2924 ## @param queryFrontend.livenessProbe.periodSeconds Period seconds for livenessProbe
2925 ## @param queryFrontend.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
2926 ## @param queryFrontend.livenessProbe.failureThreshold Failure threshold for livenessProbe
2927 ## @param queryFrontend.livenessProbe.successThreshold Success threshold for livenessProbe
2932 initialDelaySeconds: 10
2936 ## @param queryFrontend.readinessProbe.enabled Enable readinessProbe on queryFrontend nodes
2937 ## @param queryFrontend.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
2938 ## @param queryFrontend.readinessProbe.periodSeconds Period seconds for readinessProbe
2939 ## @param queryFrontend.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
2940 ## @param queryFrontend.readinessProbe.failureThreshold Failure threshold for readinessProbe
2941 ## @param queryFrontend.readinessProbe.successThreshold Success threshold for readinessProbe
2946 initialDelaySeconds: 10
2950 ## @param queryFrontend.startupProbe.enabled Enable startupProbe on queryFrontend containers
2951 ## @param queryFrontend.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
2952 ## @param queryFrontend.startupProbe.periodSeconds Period seconds for startupProbe
2953 ## @param queryFrontend.startupProbe.timeoutSeconds Timeout seconds for startupProbe
2954 ## @param queryFrontend.startupProbe.failureThreshold Failure threshold for startupProbe
2955 ## @param queryFrontend.startupProbe.successThreshold Success threshold for startupProbe
2959 initialDelaySeconds: 30
2962 failureThreshold: 15
2964 ## @param queryFrontend.customLivenessProbe Custom livenessProbe that overrides the default one
2966 customLivenessProbe: {}
2967 ## @param queryFrontend.customReadinessProbe Custom readinessProbe that overrides the default one
2969 customReadinessProbe: {}
2970 ## @param queryFrontend.customStartupProbe Custom startupProbe that overrides the default one
2972 customStartupProbe: {}
2973 ## queryFrontend resource requests and limits
2974 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
2975 ## @param queryFrontend.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if queryFrontend.resources is set (queryFrontend.resources is recommended for production).
2977 resourcesPreset: "nano"
2978 ## @param queryFrontend.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
2989 ## Configure Pods Security Context
2990 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
2991 ## @param queryFrontend.podSecurityContext.enabled Enabled queryFrontend pods' Security Context
2992 ## @param queryFrontend.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
2993 ## @param queryFrontend.podSecurityContext.sysctls Set kernel settings using the sysctl interface
2994 ## @param queryFrontend.podSecurityContext.supplementalGroups Set filesystem extra groups
2995 ## @param queryFrontend.podSecurityContext.fsGroup Set queryFrontend pod's Security Context fsGroup
2999 fsGroupChangePolicy: Always
3001 supplementalGroups: []
3003 ## Configure Container Security Context
3004 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
3005 ## @param queryFrontend.containerSecurityContext.enabled Enabled containers' Security Context
3006 ## @param queryFrontend.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
3007 ## @param queryFrontend.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
3008 ## @param queryFrontend.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
3009 ## @param queryFrontend.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
3010 ## @param queryFrontend.containerSecurityContext.privileged Set container's Security Context privileged
3011 ## @param queryFrontend.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
3012 ## @param queryFrontend.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
3013 ## @param queryFrontend.containerSecurityContext.capabilities.drop List of capabilities to be dropped
3014 ## @param queryFrontend.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
3016 containerSecurityContext:
3023 readOnlyRootFilesystem: true
3024 allowPrivilegeEscalation: false
3028 type: "RuntimeDefault"
3029 ## @param queryFrontend.lifecycleHooks for the queryFrontend container(s) to automate configuration before or after startup
3032 ## @param queryFrontend.automountServiceAccountToken Mount Service Account token in pod
3034 automountServiceAccountToken: false
3035 ## @param queryFrontend.hostAliases queryFrontend pods host aliases
3036 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
3039 ## @param queryFrontend.podLabels Extra labels for queryFrontend pods
3040 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
3043 ## @param queryFrontend.podAnnotations Annotations for queryFrontend pods
3044 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
3047 ## @param queryFrontend.podAffinityPreset Pod affinity preset. Ignored if `queryFrontend.affinity` is set. Allowed values: `soft` or `hard`
3048 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
3050 podAffinityPreset: ""
3051 ## @param queryFrontend.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `queryFrontend.affinity` is set. Allowed values: `soft` or `hard`
3052 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
3054 podAntiAffinityPreset: soft
3055 ## Node queryFrontend.affinity preset
3056 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
3059 ## @param queryFrontend.nodeAffinityPreset.type Node affinity preset type. Ignored if `queryFrontend.affinity` is set. Allowed values: `soft` or `hard`
3062 ## @param queryFrontend.nodeAffinityPreset.key Node label key to match. Ignored if `queryFrontend.affinity` is set
3065 ## @param queryFrontend.nodeAffinityPreset.values Node label values to match. Ignored if `queryFrontend.affinity` is set
3072 ## @param queryFrontend.affinity Affinity for queryFrontend pods assignment
3073 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
3074 ## NOTE: `queryFrontend.podAffinityPreset`, `queryFrontend.podAntiAffinityPreset`, and `queryFrontend.nodeAffinityPreset` will be ignored when it's set
3077 ## @param queryFrontend.nodeSelector Node labels for queryFrontend pods assignment
3078 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
3081 ## @param queryFrontend.tolerations Tolerations for queryFrontend pods assignment
3082 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
3085 ## @param queryFrontend.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
3086 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
3088 topologySpreadConstraints: []
3089 ## @param queryFrontend.priorityClassName queryFrontend pods' priorityClassName
3091 priorityClassName: ""
3092 ## @param queryFrontend.schedulerName Kubernetes pod scheduler registry
3093 ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
3096 ## @param queryFrontend.updateStrategy.type queryFrontend statefulset strategy type
3097 ## @param queryFrontend.updateStrategy.rollingUpdate [object,nullable] queryFrontend statefulset rolling update configuration parameters
3098 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
3103 ## @param queryFrontend.extraVolumes Optionally specify extra list of additional volumes for the queryFrontend pod(s)
3106 ## @param queryFrontend.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the queryFrontend container(s)
3108 extraVolumeMounts: []
3109 ## @param queryFrontend.sidecars Add additional sidecar containers to the queryFrontend pod(s)
3112 ## - name: your-image-name
3113 ## image: your-image
3114 ## imagePullPolicy: Always
3117 ## containerPort: 1234
3120 ## @param queryFrontend.initContainers Add additional init containers to the queryFrontend pod(s)
3121 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
3124 ## - name: your-image-name
3125 ## image: your-image
3126 ## imagePullPolicy: Always
3127 ## command: ['sh', '-c', 'echo "hello world"']
3130 ## @param queryFrontend.enableServiceLinks Whether information about services should be injected into pod's environment variable
3131 ## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
3132 ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
3134 enableServiceLinks: true
3135 ## Pod Disruption Budget configuration
3136 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
3137 ## @param queryFrontend.pdb.create Enable/disable a Pod Disruption Budget creation
3138 ## @param queryFrontend.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
3139 ## @param queryFrontend.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `queryFrontend.pdb.minAvailable` and `queryFrontend.pdb.maxUnavailable` are empty.
3145 ## @section Query Frontend Traffic Exposure Parameters
3148 ## queryFrontend service parameters
3151 ## @param queryFrontend.service.type queryFrontend service type
3154 ## @param queryFrontend.service.ports.http queryFrontend HTTP service port
3155 ## @param queryFrontend.service.ports.grpc queryFrontend GRPC service port
3160 ## Node ports to expose
3161 ## NOTE: choose port between <30000-32767>
3162 ## @param queryFrontend.service.nodePorts.http Node port for HTTP
3163 ## @param queryFrontend.service.nodePorts.grpc Node port for GRPC
3168 ## @param queryFrontend.service.sessionAffinityConfig Additional settings for the sessionAffinity
3169 ## sessionAffinityConfig:
3171 ## timeoutSeconds: 300
3173 sessionAffinityConfig: {}
3174 ## @param queryFrontend.service.sessionAffinity Control where client requests go, to the same pod or round-robin
3175 ## Values: ClientIP or None
3176 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
3178 sessionAffinity: None
3179 ## @param queryFrontend.service.clusterIP queryFrontend service Cluster IP
3184 ## @param queryFrontend.service.loadBalancerIP queryFrontend service Load Balancer IP
3185 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
3188 ## @param queryFrontend.service.loadBalancerSourceRanges queryFrontend service Load Balancer sources
3189 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
3191 ## loadBalancerSourceRanges:
3194 loadBalancerSourceRanges: []
3195 ## @param queryFrontend.service.externalTrafficPolicy queryFrontend service external traffic policy
3196 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
3198 externalTrafficPolicy: Cluster
3199 ## @param queryFrontend.service.annotations Additional custom annotations for queryFrontend service
3202 ## @param queryFrontend.service.extraPorts Extra ports to expose in the queryFrontend service
3205 ## Headless service properties
3208 ## @param queryFrontend.service.headless.annotations Annotations for the headless service.
3212 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
3215 ## @param queryFrontend.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
3218 ## @param queryFrontend.networkPolicy.allowExternal Don't require server label for connections
3219 ## The Policy model to apply. When set to false, only pods with the correct
3220 ## server label will have network access to the ports server is listening
3221 ## on. When true, server will accept connections from any source
3222 ## (with the correct destination port).
3225 ## @param queryFrontend.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
3227 allowExternalEgress: true
3228 ## @param queryFrontend.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `queryFrontend.networkPolicy.allowExternal` is true.
3230 addExternalClientAccess: true
3231 ## @param queryFrontend.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
3241 ## - matchExpressions:
3247 ## @param queryFrontend.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
3257 ## - matchExpressions:
3264 ## @param queryFrontend.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `queryFrontend.networkPolicy.allowExternal` is true.
3266 ## ingressPodMatchLabels:
3267 ## my-client: "true"
3269 ingressPodMatchLabels: {}
3270 ## @param queryFrontend.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `queryFrontend.networkPolicy.allowExternal` is true.
3271 ## @param queryFrontend.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `queryFrontend.networkPolicy.allowExternal` is true.
3273 ingressNSMatchLabels: {}
3274 ingressNSPodMatchLabels: {}
3275## @section Query Scheduler Deployment Parameters
3278 ## @param queryScheduler.enabled Deploy Query Scheduler component
3281 ## @param queryScheduler.extraEnvVars Array with extra environment variables to add to queryScheduler nodes
3288 ## @param queryScheduler.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for queryScheduler nodes
3291 ## @param queryScheduler.extraEnvVarsSecret Name of existing Secret containing extra env vars for queryScheduler nodes
3293 extraEnvVarsSecret: ""
3294 ## @param queryScheduler.command Override default container command (useful when using custom images)
3297 ## @param queryScheduler.args Override default container args (useful when using custom images)
3300 ## @param queryScheduler.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
3303 ## @param queryScheduler.replicaCount Number of queryScheduler replicas to deploy
3306 ## Configure extra options for queryScheduler containers' liveness, readiness and startup probes
3307 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
3308 ## @param queryScheduler.livenessProbe.enabled Enable livenessProbe on queryScheduler nodes
3309 ## @param queryScheduler.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
3310 ## @param queryScheduler.livenessProbe.periodSeconds Period seconds for livenessProbe
3311 ## @param queryScheduler.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
3312 ## @param queryScheduler.livenessProbe.failureThreshold Failure threshold for livenessProbe
3313 ## @param queryScheduler.livenessProbe.successThreshold Success threshold for livenessProbe
3318 initialDelaySeconds: 10
3322 ## @param queryScheduler.minReadySeconds Minimum time to wait before performing readiness check
3325 ## @param queryScheduler.readinessProbe.enabled Enable readinessProbe on queryScheduler nodes
3326 ## @param queryScheduler.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
3327 ## @param queryScheduler.readinessProbe.periodSeconds Period seconds for readinessProbe
3328 ## @param queryScheduler.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
3329 ## @param queryScheduler.readinessProbe.failureThreshold Failure threshold for readinessProbe
3330 ## @param queryScheduler.readinessProbe.successThreshold Success threshold for readinessProbe
3335 initialDelaySeconds: 10
3339 ## @param queryScheduler.startupProbe.enabled Enable startupProbe on queryScheduler containers
3340 ## @param queryScheduler.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
3341 ## @param queryScheduler.startupProbe.periodSeconds Period seconds for startupProbe
3342 ## @param queryScheduler.startupProbe.timeoutSeconds Timeout seconds for startupProbe
3343 ## @param queryScheduler.startupProbe.failureThreshold Failure threshold for startupProbe
3344 ## @param queryScheduler.startupProbe.successThreshold Success threshold for startupProbe
3348 initialDelaySeconds: 30
3351 failureThreshold: 15
3353 ## @param queryScheduler.customLivenessProbe Custom livenessProbe that overrides the default one
3355 customLivenessProbe: {}
3356 ## @param queryScheduler.customReadinessProbe Custom readinessProbe that overrides the default one
3358 customReadinessProbe: {}
3359 ## @param queryScheduler.customStartupProbe Custom startupProbe that overrides the default one
3361 customStartupProbe: {}
3362 ## queryScheduler resource requests and limits
3363 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
3364 ## @param queryScheduler.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if queryScheduler.resources is set (queryScheduler.resources is recommended for production).
3366 resourcesPreset: "nano"
3367 ## @param queryScheduler.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
3378 ## Configure Pods Security Context
3379 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
3380 ## @param queryScheduler.podSecurityContext.enabled Enabled queryScheduler pods' Security Context
3381 ## @param queryScheduler.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
3382 ## @param queryScheduler.podSecurityContext.sysctls Set kernel settings using the sysctl interface
3383 ## @param queryScheduler.podSecurityContext.supplementalGroups Set filesystem extra groups
3384 ## @param queryScheduler.podSecurityContext.fsGroup Set queryScheduler pod's Security Context fsGroup
3388 fsGroupChangePolicy: Always
3390 supplementalGroups: []
3392 ## Configure Container Security Context
3393 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
3394 ## @param queryScheduler.containerSecurityContext.enabled Enabled containers' Security Context
3395 ## @param queryScheduler.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
3396 ## @param queryScheduler.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
3397 ## @param queryScheduler.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
3398 ## @param queryScheduler.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
3399 ## @param queryScheduler.containerSecurityContext.privileged Set container's Security Context privileged
3400 ## @param queryScheduler.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
3401 ## @param queryScheduler.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
3402 ## @param queryScheduler.containerSecurityContext.capabilities.drop List of capabilities to be dropped
3403 ## @param queryScheduler.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
3405 containerSecurityContext:
3412 readOnlyRootFilesystem: true
3413 allowPrivilegeEscalation: false
3417 type: "RuntimeDefault"
3418 ## @param queryScheduler.lifecycleHooks for the queryScheduler container(s) to automate configuration before or after startup
3421 ## @param queryScheduler.automountServiceAccountToken Mount Service Account token in pod
3423 automountServiceAccountToken: false
3424 ## @param queryScheduler.hostAliases queryScheduler pods host aliases
3425 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
3428 ## @param queryScheduler.podLabels Extra labels for queryScheduler pods
3429 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
3432 ## @param queryScheduler.podAnnotations Annotations for queryScheduler pods
3433 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
3436 ## @param queryScheduler.podAffinityPreset Pod affinity preset. Ignored if `queryScheduler.affinity` is set. Allowed values: `soft` or `hard`
3437 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
3439 podAffinityPreset: ""
3440 ## @param queryScheduler.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `queryScheduler.affinity` is set. Allowed values: `soft` or `hard`
3441 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
3443 podAntiAffinityPreset: soft
3444 ## Node queryScheduler.affinity preset
3445 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
3448 ## @param queryScheduler.nodeAffinityPreset.type Node affinity preset type. Ignored if `queryScheduler.affinity` is set. Allowed values: `soft` or `hard`
3451 ## @param queryScheduler.nodeAffinityPreset.key Node label key to match. Ignored if `queryScheduler.affinity` is set
3454 ## @param queryScheduler.nodeAffinityPreset.values Node label values to match. Ignored if `queryScheduler.affinity` is set
3461 ## @param queryScheduler.affinity Affinity for queryScheduler pods assignment
3462 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
3463 ## NOTE: `queryScheduler.podAffinityPreset`, `queryScheduler.podAntiAffinityPreset`, and `queryScheduler.nodeAffinityPreset` will be ignored when it's set
3466 ## @param queryScheduler.nodeSelector Node labels for queryScheduler pods assignment
3467 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
3470 ## @param queryScheduler.tolerations Tolerations for queryScheduler pods assignment
3471 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
3474 ## @param queryScheduler.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
3475 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
3477 topologySpreadConstraints: []
3478 ## @param queryScheduler.priorityClassName queryScheduler pods' priorityClassName
3480 priorityClassName: ""
3481 ## @param queryScheduler.schedulerName Kubernetes pod scheduler registry
3482 ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
3485 ## @param queryScheduler.updateStrategy.type queryScheduler statefulset strategy type
3486 ## @param queryScheduler.updateStrategy.rollingUpdate [object,nullable] queryScheduler statefulset rolling update configuration parameters
3487 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
3492 ## @param queryScheduler.extraVolumes Optionally specify extra list of additional volumes for the queryScheduler pod(s)
3495 ## @param queryScheduler.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the queryScheduler container(s)
3497 extraVolumeMounts: []
3498 ## @param queryScheduler.sidecars Add additional sidecar containers to the queryScheduler pod(s)
3501 ## - name: your-image-name
3502 ## image: your-image
3503 ## imagePullPolicy: Always
3506 ## containerPort: 1234
3509 ## @param queryScheduler.initContainers Add additional init containers to the queryScheduler pod(s)
3510 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
3513 ## - name: your-image-name
3514 ## image: your-image
3515 ## imagePullPolicy: Always
3516 ## command: ['sh', '-c', 'echo "hello world"']
3519 ## @param queryScheduler.enableServiceLinks Whether information about services should be injected into pod's environment variable
3520 ## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
3521 ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
3523 enableServiceLinks: true
3524 ## Pod Disruption Budget configuration
3525 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
3526 ## @param queryScheduler.pdb.create Enable/disable a Pod Disruption Budget creation
3527 ## @param queryScheduler.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
3528 ## @param queryScheduler.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `queryScheduler.pdb.minAvailable` and `queryScheduler.pdb.maxUnavailable` are empty.
3534 ## @section Query Scheduler Traffic Exposure Parameters
3537 ## queryScheduler service parameters
3540 ## @param queryScheduler.service.type queryScheduler service type
3543 ## @param queryScheduler.service.ports.http queryScheduler HTTP service port
3544 ## @param queryScheduler.service.ports.grpc queryScheduler GRPC service port
3549 ## Node ports to expose
3550 ## NOTE: choose port between <30000-32767>
3551 ## @param queryScheduler.service.nodePorts.http Node port for HTTP
3552 ## @param queryScheduler.service.nodePorts.grpc Node port for GRPC
3557 ## @param queryScheduler.service.sessionAffinityConfig Additional settings for the sessionAffinity
3558 ## sessionAffinityConfig:
3560 ## timeoutSeconds: 300
3562 sessionAffinityConfig: {}
3563 ## @param queryScheduler.service.sessionAffinity Control where client requests go, to the same pod or round-robin
3564 ## Values: ClientIP or None
3565 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
3567 sessionAffinity: None
3568 ## @param queryScheduler.service.clusterIP queryScheduler service Cluster IP
3573 ## @param queryScheduler.service.loadBalancerIP queryScheduler service Load Balancer IP
3574 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
3577 ## @param queryScheduler.service.loadBalancerSourceRanges queryScheduler service Load Balancer sources
3578 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
3580 ## loadBalancerSourceRanges:
3583 loadBalancerSourceRanges: []
3584 ## @param queryScheduler.service.externalTrafficPolicy queryScheduler service external traffic policy
3585 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
3587 externalTrafficPolicy: Cluster
3588 ## @param queryScheduler.service.annotations Additional custom annotations for queryScheduler service
3591 ## @param queryScheduler.service.extraPorts Extra ports to expose in the queryScheduler service
3595 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
3598 ## @param queryScheduler.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
3601 ## @param queryScheduler.networkPolicy.allowExternal Don't require server label for connections
3602 ## The Policy model to apply. When set to false, only pods with the correct
3603 ## server label will have network access to the ports server is listening
3604 ## on. When true, server will accept connections from any source
3605 ## (with the correct destination port).
3608 ## @param queryScheduler.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
3610 allowExternalEgress: true
3611 ## @param queryScheduler.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `queryScheduler.networkPolicy.allowExternal` is true.
3613 addExternalClientAccess: true
3614 ## @param queryScheduler.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
3624 ## - matchExpressions:
3630 ## @param queryScheduler.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
3640 ## - matchExpressions:
3647 ## @param queryScheduler.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `queryScheduler.networkPolicy.allowExternal` is true.
3649 ## ingressPodMatchLabels:
3650 ## my-client: "true"
3652 ingressPodMatchLabels: {}
3653 ## @param queryScheduler.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `queryScheduler.networkPolicy.allowExternal` is true.
3654 ## @param queryScheduler.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `queryScheduler.networkPolicy.allowExternal` is true.
3656 ingressNSMatchLabels: {}
3657 ingressNSPodMatchLabels: {}
3658## @section Ruler Deployment Parameters
3661 ## @param ruler.enabled Deploy ruler component
3664 ## @param ruler.extraEnvVars Array with extra environment variables to add to ruler nodes
3671 ## @param ruler.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for ruler nodes
3674 ## @param ruler.extraEnvVarsSecret Name of existing Secret containing extra env vars for ruler nodes
3676 extraEnvVarsSecret: ""
3677 ## @param ruler.command Override default container command (useful when using custom images)
3680 ## @param ruler.args Override default container args (useful when using custom images)
3683 ## @param ruler.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
3686 ## @param ruler.podManagementPolicy podManagementPolicy to manage scaling operation
3687 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
3689 podManagementPolicy: ""
3690 ## @param ruler.replicaCount Number of Ruler replicas to deploy
3693 ## Configure extra options for Ruler containers' liveness, readiness and startup probes
3694 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
3695 ## @param ruler.livenessProbe.enabled Enable livenessProbe on Ruler nodes
3696 ## @param ruler.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
3697 ## @param ruler.livenessProbe.periodSeconds Period seconds for livenessProbe
3698 ## @param ruler.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
3699 ## @param ruler.livenessProbe.failureThreshold Failure threshold for livenessProbe
3700 ## @param ruler.livenessProbe.successThreshold Success threshold for livenessProbe
3705 initialDelaySeconds: 10
3709 ## @param ruler.readinessProbe.enabled Enable readinessProbe on Ruler nodes
3710 ## @param ruler.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
3711 ## @param ruler.readinessProbe.periodSeconds Period seconds for readinessProbe
3712 ## @param ruler.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
3713 ## @param ruler.readinessProbe.failureThreshold Failure threshold for readinessProbe
3714 ## @param ruler.readinessProbe.successThreshold Success threshold for readinessProbe
3719 initialDelaySeconds: 10
3723 ## @param ruler.startupProbe.enabled Enable startupProbe on Ruler containers
3724 ## @param ruler.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
3725 ## @param ruler.startupProbe.periodSeconds Period seconds for startupProbe
3726 ## @param ruler.startupProbe.timeoutSeconds Timeout seconds for startupProbe
3727 ## @param ruler.startupProbe.failureThreshold Failure threshold for startupProbe
3728 ## @param ruler.startupProbe.successThreshold Success threshold for startupProbe
3732 initialDelaySeconds: 30
3735 failureThreshold: 15
3737 ## @param ruler.customLivenessProbe Custom livenessProbe that overrides the default one
3739 customLivenessProbe: {}
3740 ## @param ruler.customReadinessProbe Custom readinessProbe that overrides the default one
3742 customReadinessProbe: {}
3743 ## @param ruler.customStartupProbe Custom startupProbe that overrides the default one
3745 customStartupProbe: {}
3746 ## @param ruler.lifecycleHooks for the ruler container(s) to automate configuration before or after startup
3749 ## ruler resource requests and limits
3750 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
3751 ## @param ruler.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if ruler.resources is set (ruler.resources is recommended for production).
3753 resourcesPreset: "nano"
3754 ## @param ruler.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
3765 ## Configure Pods Security Context
3766 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
3767 ## @param ruler.podSecurityContext.enabled Enabled Ruler pods' Security Context
3768 ## @param ruler.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
3769 ## @param ruler.podSecurityContext.sysctls Set kernel settings using the sysctl interface
3770 ## @param ruler.podSecurityContext.supplementalGroups Set filesystem extra groups
3771 ## @param ruler.podSecurityContext.fsGroup Set Ruler pod's Security Context fsGroup
3775 fsGroupChangePolicy: Always
3777 supplementalGroups: []
3779 ## Configure Container Security Context
3780 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
3781 ## @param ruler.containerSecurityContext.enabled Enabled containers' Security Context
3782 ## @param ruler.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
3783 ## @param ruler.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
3784 ## @param ruler.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
3785 ## @param ruler.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
3786 ## @param ruler.containerSecurityContext.privileged Set container's Security Context privileged
3787 ## @param ruler.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
3788 ## @param ruler.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
3789 ## @param ruler.containerSecurityContext.capabilities.drop List of capabilities to be dropped
3790 ## @param ruler.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
3792 containerSecurityContext:
3799 readOnlyRootFilesystem: true
3800 allowPrivilegeEscalation: false
3804 type: "RuntimeDefault"
3805 ## @param ruler.automountServiceAccountToken Mount Service Account token in pod
3807 automountServiceAccountToken: false
3808 ## @param ruler.hostAliases ruler pods host aliases
3809 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
3812 ## @param ruler.podLabels Extra labels for ruler pods
3813 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
3816 ## @param ruler.podAnnotations Annotations for ruler pods
3817 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
3820 ## @param ruler.podAffinityPreset Pod affinity preset. Ignored if `ruler.affinity` is set. Allowed values: `soft` or `hard`
3821 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
3823 podAffinityPreset: ""
3824 ## @param ruler.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `ruler.affinity` is set. Allowed values: `soft` or `hard`
3825 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
3827 podAntiAffinityPreset: soft
3828 ## Node ruler.affinity preset
3829 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
3832 ## @param ruler.nodeAffinityPreset.type Node affinity preset type. Ignored if `ruler.affinity` is set. Allowed values: `soft` or `hard`
3835 ## @param ruler.nodeAffinityPreset.key Node label key to match. Ignored if `ruler.affinity` is set
3838 ## @param ruler.nodeAffinityPreset.values Node label values to match. Ignored if `ruler.affinity` is set
3845 ## @param ruler.affinity Affinity for ruler pods assignment
3846 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
3847 ## NOTE: `ruler.podAffinityPreset`, `ruler.podAntiAffinityPreset`, and `ruler.nodeAffinityPreset` will be ignored when it's set
3850 ## @param ruler.nodeSelector Node labels for Ruler pods assignment
3851 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
3854 ## @param ruler.tolerations Tolerations for Ruler pods assignment
3855 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
3858 ## @param ruler.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
3859 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
3861 topologySpreadConstraints: []
3862 ## @param ruler.priorityClassName Ruler pods' priorityClassName
3864 priorityClassName: ""
3865 ## @param ruler.schedulerName Kubernetes pod scheduler registry
3866 ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
3869 ## @param ruler.updateStrategy.type Ruler statefulset strategy type
3870 ## @param ruler.updateStrategy.rollingUpdate [object,nullable] Ruler statefulset rolling update configuration parameters
3871 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
3876 ## @param ruler.extraVolumes Optionally specify extra list of additional volumes for the Ruler pod(s)
3879 ## @param ruler.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the ruler container(s)
3881 extraVolumeMounts: []
3882 ## @param ruler.sidecars Add additional sidecar containers to the Ruler pod(s)
3885 ## - name: your-image-name
3886 ## image: your-image
3887 ## imagePullPolicy: Always
3890 ## containerPort: 1234
3893 ## @param ruler.initContainers Add additional init containers to the Ruler pod(s)
3894 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
3897 ## - name: your-image-name
3898 ## image: your-image
3899 ## imagePullPolicy: Always
3900 ## command: ['sh', '-c', 'echo "hello world"']
3903 ## @param ruler.enableServiceLinks Whether information about services should be injected into pod's environment variable
3904 ## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
3905 ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
3907 enableServiceLinks: true
3908 ## Pod Disruption Budget configuration
3909 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
3910 ## @param ruler.pdb.create Enable/disable a Pod Disruption Budget creation
3911 ## @param ruler.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
3912 ## @param ruler.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `ruler.pdb.minAvailable` and `ruler.pdb.maxUnavailable` are empty.
3918 ## @section Ruler Persistence Parameters
3921 ## Enable persistence using Persistent Volume Claims
3922 ## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
3925 ## @param ruler.persistence.enabled Enable persistence in Ruler instances
3928 ## @param ruler.persistence.storageClass PVC Storage Class for Memcached data volume
3929 ## If defined, storageClassName: <storageClass>
3930 ## If set to "-", storageClassName: "", which disables dynamic provisioning
3931 ## If undefined (the default) or set to null, no storageClassName spec is
3932 ## set, choosing the default provisioner. (gp2 on AWS, standard on
3933 ## GKE, AWS & OpenStack)
3936 ## @param ruler.persistence.subPath The subdirectory of the volume to mount to
3939 ## @param ruler.persistence.accessModes PVC Access modes
3943 ## @param ruler.persistence.size PVC Storage Request for Memcached data volume
3946 ## @param ruler.persistence.annotations Additional PVC annotations
3949 ## @param ruler.persistence.selector Selector to match an existing Persistent Volume for Ruler's data PVC
3950 ## If set, the PVC can't have a PV dynamically provisioned for it
3957 ## @section Ruler Traffic Exposure Parameters
3960 ## ruler service parameters
3963 ## @param ruler.service.type Ruler service type
3966 ## @param ruler.service.ports.http Ruler HTTP service port
3967 ## @param ruler.service.ports.grpc Ruler GRPC service port
3972 ## Node ports to expose
3973 ## NOTE: choose port between <30000-32767>
3974 ## @param ruler.service.nodePorts.http Node port for HTTP
3975 ## @param ruler.service.nodePorts.grpc Node port for GRPC
3980 ## @param ruler.service.sessionAffinityConfig Additional settings for the sessionAffinity
3981 ## sessionAffinityConfig:
3983 ## timeoutSeconds: 300
3985 sessionAffinityConfig: {}
3986 ## @param ruler.service.sessionAffinity Control where client requests go, to the same pod or round-robin
3987 ## Values: ClientIP or None
3988 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
3990 sessionAffinity: None
3991 ## @param ruler.service.clusterIP Ruler service Cluster IP
3996 ## @param ruler.service.loadBalancerIP Ruler service Load Balancer IP
3997 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
4000 ## @param ruler.service.loadBalancerSourceRanges Ruler service Load Balancer sources
4001 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
4003 ## loadBalancerSourceRanges:
4006 loadBalancerSourceRanges: []
4007 ## @param ruler.service.externalTrafficPolicy Ruler service external traffic policy
4008 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
4010 externalTrafficPolicy: Cluster
4011 ## @param ruler.service.annotations Additional custom annotations for Ruler service
4014 ## @param ruler.service.extraPorts Extra ports to expose in the Ruler service
4018 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
4021 ## @param ruler.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
4024 ## @param ruler.networkPolicy.allowExternal Don't require server label for connections
4025 ## The Policy model to apply. When set to false, only pods with the correct
4026 ## server label will have network access to the ports server is listening
4027 ## on. When true, server will accept connections from any source
4028 ## (with the correct destination port).
4031 ## @param ruler.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
4033 allowExternalEgress: true
4034 ## @param ruler.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `ruler.networkPolicy.allowExternal` is true.
4036 addExternalClientAccess: true
4037 ## @param ruler.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
4047 ## - matchExpressions:
4053 ## @param ruler.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
4063 ## - matchExpressions:
4070 ## @param ruler.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `ruler.networkPolicy.allowExternal` is true.
4072 ## ingressPodMatchLabels:
4073 ## my-client: "true"
4075 ingressPodMatchLabels: {}
4076 ## @param ruler.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `ruler.networkPolicy.allowExternal` is true.
4077 ## @param ruler.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `ruler.networkPolicy.allowExternal` is true.
4079 ingressNSMatchLabels: {}
4080 ingressNSPodMatchLabels: {}
4081## @section table-manager Deployment Parameters
4084 ## @param tableManager.enabled Deploy table-manager
4087 ## @param tableManager.extraEnvVars Array with extra environment variables to add to tableManager nodes
4094 ## @param tableManager.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for tableManager nodes
4097 ## @param tableManager.extraEnvVarsSecret Name of existing Secret containing extra env vars for tableManager nodes
4099 extraEnvVarsSecret: ""
4100 ## @param tableManager.command Override default container command (useful when using custom images)
4103 ## @param tableManager.args Override default container args (useful when using custom images)
4106 ## @param tableManager.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
4109 ## @param tableManager.replicaCount Number of table-manager replicas to deploy
4112 ## Configure extra options for table-manager containers' liveness, readiness and startup probes
4113 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
4114 ## @param tableManager.livenessProbe.enabled Enable livenessProbe on table-manager nodes
4115 ## @param tableManager.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
4116 ## @param tableManager.livenessProbe.periodSeconds Period seconds for livenessProbe
4117 ## @param tableManager.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
4118 ## @param tableManager.livenessProbe.failureThreshold Failure threshold for livenessProbe
4119 ## @param tableManager.livenessProbe.successThreshold Success threshold for livenessProbe
4124 initialDelaySeconds: 10
4128 ## @param tableManager.readinessProbe.enabled Enable readinessProbe on table-manager nodes
4129 ## @param tableManager.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
4130 ## @param tableManager.readinessProbe.periodSeconds Period seconds for readinessProbe
4131 ## @param tableManager.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
4132 ## @param tableManager.readinessProbe.failureThreshold Failure threshold for readinessProbe
4133 ## @param tableManager.readinessProbe.successThreshold Success threshold for readinessProbe
4138 initialDelaySeconds: 10
4142 ## @param tableManager.startupProbe.enabled Enable startupProbe on table-manager containers
4143 ## @param tableManager.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
4144 ## @param tableManager.startupProbe.periodSeconds Period seconds for startupProbe
4145 ## @param tableManager.startupProbe.timeoutSeconds Timeout seconds for startupProbe
4146 ## @param tableManager.startupProbe.failureThreshold Failure threshold for startupProbe
4147 ## @param tableManager.startupProbe.successThreshold Success threshold for startupProbe
4151 initialDelaySeconds: 30
4154 failureThreshold: 15
4156 ## @param tableManager.customLivenessProbe Custom livenessProbe that overrides the default one
4158 customLivenessProbe: {}
4159 ## @param tableManager.customReadinessProbe Custom readinessProbe that overrides the default one
4161 customReadinessProbe: {}
4162 ## @param tableManager.customStartupProbe Custom startupProbe that overrides the default one
4164 customStartupProbe: {}
4165 ## tableManager resource requests and limits
4166 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
4167 ## @param tableManager.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if tableManager.resources is set (tableManager.resources is recommended for production).
4169 resourcesPreset: "nano"
4170 ## @param tableManager.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
4181 ## Configure Pods Security Context
4182 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
4183 ## @param tableManager.podSecurityContext.enabled Enabled table-manager pods' Security Context
4184 ## @param tableManager.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
4185 ## @param tableManager.podSecurityContext.sysctls Set kernel settings using the sysctl interface
4186 ## @param tableManager.podSecurityContext.supplementalGroups Set filesystem extra groups
4187 ## @param tableManager.podSecurityContext.fsGroup Set table-manager pod's Security Context fsGroup
4191 fsGroupChangePolicy: Always
4193 supplementalGroups: []
4195 ## Configure Container Security Context
4196 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
4197 ## @param tableManager.containerSecurityContext.enabled Enabled containers' Security Context
4198 ## @param tableManager.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
4199 ## @param tableManager.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
4200 ## @param tableManager.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
4201 ## @param tableManager.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
4202 ## @param tableManager.containerSecurityContext.privileged Set container's Security Context privileged
4203 ## @param tableManager.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
4204 ## @param tableManager.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
4205 ## @param tableManager.containerSecurityContext.capabilities.drop List of capabilities to be dropped
4206 ## @param tableManager.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
4208 containerSecurityContext:
4215 readOnlyRootFilesystem: true
4216 allowPrivilegeEscalation: false
4220 type: "RuntimeDefault"
4221 ## @param tableManager.lifecycleHooks for the tableManager container(s) to automate configuration before or after startup
4224 ## @param tableManager.automountServiceAccountToken Mount Service Account token in pod
4226 automountServiceAccountToken: false
4227 ## @param tableManager.hostAliases tableManager pods host aliases
4228 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
4231 ## @param tableManager.podLabels Extra labels for tableManager pods
4232 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
4235 ## @param tableManager.podAnnotations Annotations for tableManager pods
4236 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
4239 ## @param tableManager.podAffinityPreset Pod affinity preset. Ignored if `tableManager.affinity` is set. Allowed values: `soft` or `hard`
4240 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
4242 podAffinityPreset: ""
4243 ## @param tableManager.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `tableManager.affinity` is set. Allowed values: `soft` or `hard`
4244 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
4246 podAntiAffinityPreset: soft
4247 ## Node tableManager.affinity preset
4248 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
4251 ## @param tableManager.nodeAffinityPreset.type Node affinity preset type. Ignored if `tableManager.affinity` is set. Allowed values: `soft` or `hard`
4254 ## @param tableManager.nodeAffinityPreset.key Node label key to match. Ignored if `tableManager.affinity` is set
4257 ## @param tableManager.nodeAffinityPreset.values Node label values to match. Ignored if `tableManager.affinity` is set
4264 ## @param tableManager.affinity Affinity for table-manager pods assignment
4265 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
4266 ## NOTE: `tableManager.podAffinityPreset`, `tableManager.podAntiAffinityPreset`, and `tableManager.nodeAffinityPreset` will be ignored when it's set
4269 ## @param tableManager.nodeSelector Node labels for table-manager pods assignment
4270 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
4273 ## @param tableManager.tolerations Tolerations for table-manager pods assignment
4274 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
4277 ## @param tableManager.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
4278 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
4280 topologySpreadConstraints: []
4281 ## @param tableManager.priorityClassName table-manager pods' priorityClassName
4283 priorityClassName: ""
4284 ## @param tableManager.schedulerName Kubernetes pod scheduler registry
4285 ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
4288 ## @param tableManager.updateStrategy.type table-manager statefulset strategy type
4289 ## @param tableManager.updateStrategy.rollingUpdate [object,nullable] table-manager statefulset rolling update configuration parameters
4290 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
4295 ## @param tableManager.extraVolumes Optionally specify extra list of additional volumes for the table-manager pod(s)
4298 ## @param tableManager.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the table-manager container(s)
4300 extraVolumeMounts: []
4301 ## @param tableManager.sidecars Add additional sidecar containers to the table-manager pod(s)
4304 ## - name: your-image-name
4305 ## image: your-image
4306 ## imagePullPolicy: Always
4309 ## containerPort: 1234
4312 ## @param tableManager.initContainers Add additional init containers to the table-manager pod(s)
4313 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
4316 ## - name: your-image-name
4317 ## image: your-image
4318 ## imagePullPolicy: Always
4319 ## command: ['sh', '-c', 'echo "hello world"']
4322 ## @param tableManager.enableServiceLinks Whether information about services should be injected into pod's environment variable
4323 ## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace.
4324 ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
4326 enableServiceLinks: true
4327 ## Pod Disruption Budget configuration
4328 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
4329 ## @param tableManager.pdb.create Enable/disable a Pod Disruption Budget creation
4330 ## @param tableManager.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
4331 ## @param tableManager.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `tableManager.pdb.minAvailable` and `tableManager.pdb.maxUnavailable` are empty.
4337 ## @section table-manager Traffic Exposure Parameters
4340 ## tableManager service parameters
4343 ## @param tableManager.service.type table-manager service type
4346 ## @param tableManager.service.ports.http table-manager HTTP service port
4347 ## @param tableManager.service.ports.grpc table-manager GRPC service port
4352 ## Node ports to expose
4353 ## NOTE: choose port between <30000-32767>
4354 ## @param tableManager.service.nodePorts.http Node port for HTTP
4355 ## @param tableManager.service.nodePorts.grpc Node port for GRPC
4360 ## @param tableManager.service.sessionAffinityConfig Additional settings for the sessionAffinity
4361 ## sessionAffinityConfig:
4363 ## timeoutSeconds: 300
4365 sessionAffinityConfig: {}
4366 ## @param tableManager.service.sessionAffinity Control where client requests go, to the same pod or round-robin
4367 ## Values: ClientIP or None
4368 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
4370 sessionAffinity: None
4371 ## @param tableManager.service.clusterIP table-manager service Cluster IP
4376 ## @param tableManager.service.loadBalancerIP table-manager service Load Balancer IP
4377 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
4380 ## @param tableManager.service.loadBalancerSourceRanges table-manager service Load Balancer sources
4381 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
4383 ## loadBalancerSourceRanges:
4386 loadBalancerSourceRanges: []
4387 ## @param tableManager.service.externalTrafficPolicy table-manager service external traffic policy
4388 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
4390 externalTrafficPolicy: Cluster
4391 ## @param tableManager.service.annotations Additional custom annotations for table-manager service
4394 ## @param tableManager.service.extraPorts Extra ports to expose in the table-manager service
4398 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
4401 ## @param tableManager.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
4404 ## @param tableManager.networkPolicy.allowExternal Don't require server label for connections
4405 ## The Policy model to apply. When set to false, only pods with the correct
4406 ## server label will have network access to the ports server is listening
4407 ## on. When true, server will accept connections from any source
4408 ## (with the correct destination port).
4411 ## @param tableManager.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
4413 allowExternalEgress: true
4414 ## @param tableManager.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `tableManager.networkPolicy.allowExternal` is true.
4416 addExternalClientAccess: true
4417 ## @param tableManager.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
4427 ## - matchExpressions:
4433 ## @param tableManager.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
4443 ## - matchExpressions:
4450 ## @param tableManager.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `tableManager.networkPolicy.allowExternal` is true.
4452 ## ingressPodMatchLabels:
4453 ## my-client: "true"
4455 ingressPodMatchLabels: {}
4456 ## @param tableManager.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `tableManager.networkPolicy.allowExternal` is true.
4457 ## @param tableManager.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `tableManager.networkPolicy.allowExternal` is true.
4459 ingressNSMatchLabels: {}
4460 ingressNSPodMatchLabels: {}
4461## @section Grafana Alloy Deployment Parameters
4464 ## @param grafanaalloy.enabled Deploy Grafana Alloy
4467 ## @param grafanaalloy.resourceType Type of controller to use for deploying Grafana Alloy in the cluster.
4468 ## Must be one of 'daemonset', 'deployment', or 'statefulset'.
4470 resourceType: 'daemonset'
4471 ## @param grafanaalloy.replicaCount Number of pods to deploy. Ignored when grafanaalloy.resourceType is 'daemonset'.
4474 ## @section Alloy container specific parameters
4479 repository: chainguard-private/configmap-reload-iamguarded
4485 repository: chainguard-private/os-shell-iamguarded
4491 repository: chainguard-private/grafana-alloy-iamguarded
4497 repository: chainguard-private/os-shell-iamguarded
4500 ## @param grafanaalloy.alloy.stabilityLevel Minimum stability level of components and behavior to enable. Must be
4501 ## one of "experimental", "public-preview", or "generally-available".
4502 stabilityLevel: "generally-available"
4503 ## @param grafanaalloy.alloy.listenAddr Address to listen for traffic on. 0.0.0.0 exposes the UI to other containers.
4505 ## @param grafanaalloy.alloy.uiPathPrefix Base path where the UI is exposed.
4507 ## @param grafanaalloy.alloy.storagePath Path to where Grafana Alloy stores data (for example, the Write-Ahead Log).
4508 storagePath: /tmp/alloy
4509 ## @param grafanaalloy.alloy.enableReporting Enables sending Grafana Labs anonymous usage stats to help improve Grafana grafanaalloy.alloy.
4510 enableReporting: true
4511 ## @param grafanaalloy.alloy.mounts.varlog Mount /var/log from the host into the container for log collection.
4512 ## @param grafanaalloy.alloy.mounts.dockercontainers Mount /var/lib/docker/containers from the host into the container for log
4516 dockercontainers: true
4517 ## @param grafanaalloy.alloy.clustering.enabled Deploy Grafana Alloy in a cluster to allow for load distribution.
4518 ## @param grafanaalloy.alloy.clustering.name Name for the Grafana Alloy cluster. Used for differentiating between clusters.
4519 ## @param grafanaalloy.alloy.clustering.portName Name for the port used for clustering, useful if running inside an Istio Mesh
4525 ## @param grafanaalloy.alloy.createSecret Create a Secret with the default configuration for Grafana Alloy to send logs to Loki.
4528 ## @param grafanaalloy.alloy.existingSecret The name of an existing Secret with your custom configuration for Grafana Alloy. If the grafanaalloy.alloy.createSecret is set, it will create a Secret with this name.
4530 existingSecret: "{{ ternary (printf \"%s-alloy\" (lower .Release.Name)) \"\" .Values.alloy.createSecret }}"
4531 ## @param grafanaalloy.alloy.configuration Specify content for Grafana Alloy config file. Omitted if grafanaalloy.alloy.existingSecret is provided.
4533 ## configuration: |-
4537 ## @param grafanaalloy.alloy.extraConfig Append extra configuration to the default config file
4540## @section Init Container Parameters
4543## 'volumePermissions' init container parameters
4544## Changes the owner and group of the persistent volume mount point to runAsUser:fsGroup values
4545## based on the *podSecurityContext/*containerSecurityContext parameters
4548 ## @param volumePermissions.enabled Enable init container that changes the owner/group of the PV mount point to `runAsUser:fsGroup`
4551 ## OS Shell + Utility image
4552 ## @param volumePermissions.image.registry [default: REGISTRY_NAME] OS Shell + Utility image registry
4553 ## @param volumePermissions.image.repository [default: REPOSITORY_NAME/os-shell] OS Shell + Utility image repository
4554 ## @skip volumePermissions.image.tag OS Shell + Utility image tag (immutable tags are recommended)
4555 ## @param volumePermissions.image.digest OS Shell + Utility image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
4556 ## @param volumePermissions.image.pullPolicy OS Shell + Utility image pull policy
4557 ## @param volumePermissions.image.pullSecrets OS Shell + Utility image pull secrets
4561 repository: chainguard-private/os-shell-iamguarded
4564 pullPolicy: IfNotPresent
4565 ## Optionally specify an array of imagePullSecrets.
4566 ## Secrets must be manually created in the namespace.
4567 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
4570 ## - myRegistryKeySecretName
4573 ## Init container's resource requests and limits
4574 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
4575 ## @param volumePermissions.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if volumePermissions.resources is set (volumePermissions.resources is recommended for production).
4577 resourcesPreset: "nano"
4578 ## @param volumePermissions.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
4589 ## Init container Container Security Context
4590 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
4591 ## @param volumePermissions.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
4592 ## @param volumePermissions.containerSecurityContext.runAsUser Set init container's Security Context runAsUser
4593 ## @param volumePermissions.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
4594 ## NOTE: when runAsUser is set to special value "auto", init container will try to chown the
4595 ## data folder to auto-determined user&group, using commands: `id -u`:`id -G | cut -d" " -f2`
4596 ## "auto" is especially useful for OpenShift which has scc with dynamic user ids (and 0 is not allowed)
4598 containerSecurityContext:
4602 type: "RuntimeDefault"
4603## @section Other Parameters
4606## Service account for Loki to use
4607## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
4610 ## @param serviceAccount.create Enable creation of ServiceAccount for Loki pods
4613 ## @param serviceAccount.name The name of the ServiceAccount to use
4614 ## If not set and create is true, a name is generated using the common.names.fullname template
4617 ## @param serviceAccount.automountServiceAccountToken Allows auto mount of ServiceAccountToken on the serviceAccount created
4618 ## Can be set to false if pods using this serviceAccount do not need to use K8s API
4620 automountServiceAccountToken: false
4621 ## @param serviceAccount.annotations Additional custom annotations for the ServiceAccount
4624## @section Metrics Parameters
4625## Prometheus Exporter / Metrics
4628 ## @param metrics.enabled Enable metrics
4631 ## Prometheus Operator ServiceMonitor configuration
4634 ## @param metrics.serviceMonitor.enabled Create ServiceMonitor Resource for scraping metrics using Prometheus Operator
4637 ## @param metrics.serviceMonitor.namespace Namespace for the ServiceMonitor Resource (defaults to the Release Namespace)
4640 ## @param metrics.serviceMonitor.interval Interval at which metrics should be scraped.
4641 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
4644 ## @param metrics.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended
4645 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
4648 ## @param metrics.serviceMonitor.labels Additional labels that can be used so ServiceMonitor will be discovered by Prometheus
4651 ## @param metrics.serviceMonitor.selector Prometheus instance selector labels
4654 ## @param metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping
4657 ## @param metrics.serviceMonitor.metricRelabelings MetricRelabelConfigs to apply to samples before ingestion
4659 metricRelabelings: []
4660 ## @param metrics.serviceMonitor.honorLabels Specify honorLabels parameter to add the scrape endpoint
4663 ## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus.
4666## @section External Memcached (Chunks) Parameters
4668externalMemcachedChunks:
4669 ## @param externalMemcachedChunks.host Host of a running external memcached instance
4672 ## @param externalMemcachedChunks.port Port of a running external memcached instance
4675## @section Memcached Sub-chart Parameters (Chunks)
4676## Memcached sub-chart (Chunks)
4681 repository: chainguard-private/memcached-iamguarded
4687 repository: chainguard-private/os-shell-iamguarded
4690 ## @param memcachedchunks.enabled Deploy memcached sub-chart
4693 ## @param memcachedchunks.nameOverride override the subchart name
4696 ## @param memcachedchunks.architecture Memcached architecture
4698 architecture: high-availability
4699 ## @param memcachedchunks.service.ports.memcached Memcached service port
4704 ## Memcached resource requests and limits
4705 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
4706 ## @param memcachedchunks.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production).
4708 resourcesPreset: "nano"
4709 ## @param memcachedchunks.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
4720## @section External Memcached (Frontend) Parameters
4722externalMemcachedFrontend:
4723 ## @param externalMemcachedFrontend.host Host of a running external memcached instance
4726 ## @param externalMemcachedFrontend.port Port of a running external memcached instance
4729## @section Memcached Sub-chart Parameters (Frontend)
4730## Memcached sub-chart (Frontend)
4735 repository: chainguard-private/memcached-iamguarded
4741 repository: chainguard-private/os-shell-iamguarded
4744 ## @param memcachedfrontend.enabled Deploy memcached sub-chart
4747 ## @param memcachedfrontend.architecture Memcached architecture
4749 architecture: high-availability
4750 ## @param memcachedfrontend.nameOverride override the subchart name
4753 ## @param memcachedfrontend.service.ports.memcached Memcached service port
4758 ## Memcached resource requests and limits
4759 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
4760 ## @param memcachedfrontend.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production).
4762 resourcesPreset: "nano"
4763 ## @param memcachedfrontend.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
4774## @section External Memcached (Index-Queries) Parameters
4776externalMemcachedIndexQueries:
4777 ## @param externalMemcachedIndexQueries.host Host of a running external memcached instance
4780 ## @param externalMemcachedIndexQueries.port Port of a running external memcached instance
4783## @section Memcached Sub-chart Parameters (Index-Queries)
4784## Memcached sub-chart (Index-Queries)
4786memcachedindexqueries:
4789 repository: chainguard-private/memcached-iamguarded
4795 repository: chainguard-private/os-shell-iamguarded
4798 ## @param memcachedindexqueries.enabled Deploy memcached sub-chart
4801 ## @param memcachedindexqueries.architecture Memcached architecture
4803 architecture: high-availability
4804 ## @param memcachedindexqueries.nameOverride override the subchart name
4807 ## @param memcachedindexqueries.service.ports.memcached Memcached service port
4812 ## Memcached resource requests and limits
4813 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
4814 ## @param memcachedindexqueries.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production).
4816 resourcesPreset: "nano"
4817 ## @param memcachedindexqueries.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
4828## @section External Memcached (IndexWrites) Parameters
4830externalMemcachedIndexWrites:
4831 ## @param externalMemcachedIndexWrites.host Host of a running external memcached instance
4834 ## @param externalMemcachedIndexWrites.port Port of a running external memcached instance
4837## @section Memcached Sub-chart Parameters (Index-Writes)
4838## Memcached sub-chart (Index-Writes)
4840memcachedindexwrites:
4843 repository: chainguard-private/memcached-exporter-iamguarded
4849 repository: chainguard-private/os-shell-iamguarded
4852 ## @param memcachedindexwrites.enabled Deploy memcached sub-chart
4855 ## @param memcachedindexwrites.architecture Memcached architecture
4857 architecture: high-availability
4858 ## @param memcachedindexwrites.nameOverride override the subchart name
4861 ## @param memcachedindexwrites.service.ports.memcached Memcached service port
4866 ## Memcached resource requests and limits
4867 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
4868 ## @param memcachedindexwrites.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if resources is set (resources is recommended for production).
4870 resourcesPreset: "nano"
4871 ## @param memcachedindexwrites.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)