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## @section Compactor Deployment Parameters
317 ## @param compactor.enabled Enable Compactor deployment
320 ## @param compactor.extraEnvVars Array with extra environment variables to add to compactor nodes
327 ## @param compactor.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for compactor nodes
330 ## @param compactor.extraEnvVarsSecret Name of existing Secret containing extra env vars for compactor nodes
332 extraEnvVarsSecret: ""
333 ## @param compactor.command Override default container command (useful when using custom images)
336 ## @param compactor.args Override default container args (useful when using custom images)
339 ## @param compactor.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
342 ## @param compactor.replicaCount Number of Compactor replicas to deploy
345 ## Configure extra options for Compactor containers' liveness, readiness and startup probes
346 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
347 ## @param compactor.livenessProbe.enabled Enable livenessProbe on Compactor nodes
348 ## @param compactor.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
349 ## @param compactor.livenessProbe.periodSeconds Period seconds for livenessProbe
350 ## @param compactor.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
351 ## @param compactor.livenessProbe.failureThreshold Failure threshold for livenessProbe
352 ## @param compactor.livenessProbe.successThreshold Success threshold for livenessProbe
357 initialDelaySeconds: 60
361 ## @param compactor.readinessProbe.enabled Enable readinessProbe on Compactor nodes
362 ## @param compactor.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
363 ## @param compactor.readinessProbe.periodSeconds Period seconds for readinessProbe
364 ## @param compactor.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
365 ## @param compactor.readinessProbe.failureThreshold Failure threshold for readinessProbe
366 ## @param compactor.readinessProbe.successThreshold Success threshold for readinessProbe
371 initialDelaySeconds: 60
375 ## @param compactor.startupProbe.enabled Enable startupProbe on Compactor containers
376 ## @param compactor.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
377 ## @param compactor.startupProbe.periodSeconds Period seconds for startupProbe
378 ## @param compactor.startupProbe.timeoutSeconds Timeout seconds for startupProbe
379 ## @param compactor.startupProbe.failureThreshold Failure threshold for startupProbe
380 ## @param compactor.startupProbe.successThreshold Success threshold for startupProbe
384 initialDelaySeconds: 30
389 ## @param compactor.customLivenessProbe Custom livenessProbe that overrides the default one
391 customLivenessProbe: {}
392 ## @param compactor.customReadinessProbe Custom readinessProbe that overrides the default one
394 customReadinessProbe: {}
395 ## @param compactor.customStartupProbe Custom startupProbe that overrides the default one
397 customStartupProbe: {}
398 ## compactor resource requests and limits
399 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
400 ## @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).
402 resourcesPreset: "nano"
403 ## @param compactor.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
414 ## Configure Pods Security Context
415 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
416 ## @param compactor.podSecurityContext.enabled Enabled Compactor pods' Security Context
417 ## @param compactor.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
418 ## @param compactor.podSecurityContext.sysctls Set kernel settings using the sysctl interface
419 ## @param compactor.podSecurityContext.supplementalGroups Set filesystem extra groups
420 ## @param compactor.podSecurityContext.fsGroup Set Compactor pod's Security Context fsGroup
424 fsGroupChangePolicy: Always
426 supplementalGroups: []
428 ## Configure Container Security Context
429 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
430 ## @param compactor.containerSecurityContext.enabled Enable containers' Security Context
431 ## @param compactor.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
432 ## @param compactor.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
433 ## @param compactor.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
434 ## @param compactor.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
435 ## @param compactor.containerSecurityContext.privileged Set container's Security Context privileged
436 ## @param compactor.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
437 ## @param compactor.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
438 ## @param compactor.containerSecurityContext.capabilities.drop List of capabilities to be dropped
439 ## @param compactor.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
441 containerSecurityContext:
448 readOnlyRootFilesystem: true
449 allowPrivilegeEscalation: false
453 type: "RuntimeDefault"
454 ## @param compactor.lifecycleHooks for the compactor container(s) to automate configuration before or after startup
457 ## @param compactor.automountServiceAccountToken Mount Service Account token in pod
459 automountServiceAccountToken: false
460 ## @param compactor.hostAliases compactor pods host aliases
461 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
464 ## @param compactor.podLabels Extra labels for compactor pods
465 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
468 ## @param compactor.podAnnotations Annotations for compactor pods
469 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
472 ## @param compactor.podAffinityPreset Pod affinity preset. Ignored if `compactor.affinity` is set. Allowed values: `soft` or `hard`
473 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
475 podAffinityPreset: ""
476 ## @param compactor.podAntiAffinityPreset Pod anti-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 podAntiAffinityPreset: soft
480 ## Node compactor.affinity preset
481 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
484 ## @param compactor.nodeAffinityPreset.type Node affinity preset type. Ignored if `compactor.affinity` is set. Allowed values: `soft` or `hard`
487 ## @param compactor.nodeAffinityPreset.key Node label key to match. Ignored if `compactor.affinity` is set
490 ## @param compactor.nodeAffinityPreset.values Node label values to match. Ignored if `compactor.affinity` is set
497 ## @param compactor.affinity Affinity for Compactor pods assignment
498 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
499 ## NOTE: `compactor.podAffinityPreset`, `compactor.podAntiAffinityPreset`, and `compactor.nodeAffinityPreset` will be ignored when it's set
502 ## @param compactor.nodeSelector Node labels for Compactor pods assignment
503 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
506 ## @param compactor.tolerations Tolerations for Compactor pods assignment
507 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
510 ## @param compactor.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
511 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
513 topologySpreadConstraints: []
514 ## @param compactor.priorityClassName Compactor pods' priorityClassName
516 priorityClassName: ""
517 ## @param compactor.schedulerName Kubernetes pod scheduler registry
518 ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
521 ## @param compactor.updateStrategy.type Compactor statefulset strategy type
522 ## @param compactor.updateStrategy.rollingUpdate [object,nullable] Compactor statefulset rolling update configuration parameters
523 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
528 ## @param compactor.extraVolumes Optionally specify extra list of additional volumes for the Compactor pod(s)
531 ## @param compactor.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Compactor container(s)
533 extraVolumeMounts: []
534 ## @param compactor.sidecars Add additional sidecar containers to the Compactor pod(s)
537 ## - name: your-image-name
539 ## imagePullPolicy: Always
542 ## containerPort: 1234
545 ## @param compactor.initContainers Add additional init containers to the Compactor pod(s)
546 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
549 ## - name: your-image-name
551 ## imagePullPolicy: Always
552 ## command: ['sh', '-c', 'echo "hello world"']
555 ## Pod Disruption Budget configuration
556 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
557 ## @param compactor.pdb.create Enable/disable a Pod Disruption Budget creation
558 ## @param compactor.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
559 ## @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.
565 ## Enable persistence using Persistent Volume Claims
566 ## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
569 ## @param compactor.persistence.enabled Enable persistence in Compactor instances
572 ## @param compactor.persistence.existingClaim Name of an existing PVC to use
575 ## @param compactor.persistence.storageClass PVC Storage Class for Memcached data volume
576 ## If defined, storageClassName: <storageClass>
577 ## If set to "-", storageClassName: "", which disables dynamic provisioning
578 ## If undefined (the default) or set to null, no storageClassName spec is
579 ## set, choosing the default provisioner. (gp2 on AWS, standard on
580 ## GKE, AWS & OpenStack)
583 ## @param compactor.persistence.accessModes PVC Access modes
587 ## @param compactor.persistence.size PVC Storage Request for Memcached data volume
590 ## @param compactor.persistence.annotations Additional PVC annotations
593 ## @param compactor.persistence.selector Selector to match an existing Persistent Volume for Compactor's data PVC
594 ## If set, the PVC can't have a PV dynamically provisioned for it
601 ## @param compactor.persistence.dataSource PVC data source
604 ## @param compactor.enableServiceLinks Whether information about services should be injected into pod's environment variable
605 ## 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.
606 ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
608 enableServiceLinks: true
609 ## @section Compactor Traffic Exposure Parameters
612 ## compactor service parameters
615 ## @param compactor.service.type Compactor service type
618 ## @param compactor.service.ports.http Compactor HTTP service port
619 ## @param compactor.service.ports.grpc Compactor gRPC service port
624 ## Node ports to expose
625 ## NOTE: choose port between <30000-32767>
626 ## @param compactor.service.nodePorts.http Node port for HTTP
630 ## @param compactor.service.sessionAffinityConfig Additional settings for the sessionAffinity
631 ## sessionAffinityConfig:
633 ## timeoutSeconds: 300
635 sessionAffinityConfig: {}
636 ## @param compactor.service.sessionAffinity Control where client requests go, to the same pod or round-robin
637 ## Values: ClientIP or None
638 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
640 sessionAffinity: None
641 ## @param compactor.service.clusterIP Compactor service Cluster IP
646 ## @param compactor.service.loadBalancerIP Compactor service Load Balancer IP
647 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
650 ## @param compactor.service.loadBalancerSourceRanges Compactor service Load Balancer sources
651 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
653 ## loadBalancerSourceRanges:
656 loadBalancerSourceRanges: []
657 ## @param compactor.service.externalTrafficPolicy Compactor service external traffic policy
658 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
660 externalTrafficPolicy: Cluster
661 ## @param compactor.service.annotations Additional custom annotations for Compactor service
664 ## @param compactor.service.extraPorts Extra ports to expose in the Compactor service
668 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
671 ## @param compactor.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
674 ## @param compactor.networkPolicy.allowExternal Don't require server label for connections
675 ## The Policy model to apply. When set to false, only pods with the correct
676 ## server label will have network access to the ports server is listening
677 ## on. When true, server will accept connections from any source
678 ## (with the correct destination port).
681 ## @param compactor.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
683 allowExternalEgress: true
684 ## @param compactor.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `compactor.networkPolicy.allowExternal` is true.
686 addExternalClientAccess: true
687 ## @param compactor.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
697 ## - matchExpressions:
703 ## @param compactor.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
713 ## - matchExpressions:
720 ## @param compactor.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `compactor.networkPolicy.allowExternal` is true.
722 ## ingressPodMatchLabels:
725 ingressPodMatchLabels: {}
726 ## @param compactor.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `compactor.networkPolicy.allowExternal` is true.
727 ## @param compactor.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `compactor.networkPolicy.allowExternal` is true.
729 ingressNSMatchLabels: {}
730 ingressNSPodMatchLabels: {}
731## @section Gateway Deployment Parameters
734 ## @param gateway.enabled Enable Gateway deployment
737 ## Iamguarded Nginx image
738 ## @param gateway.image.registry [default: REGISTRY_NAME] Nginx image registry
739 ## @param gateway.image.repository [default: REPOSITORY_NAME/nginx] Nginx image repository
740 ## @skip gateway.image.tag Nginx image tag (immutable tags are recommended)
741 ## @param gateway.image.digest Nginx image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
742 ## @param gateway.image.pullPolicy Nginx image pull policy
743 ## @param gateway.image.pullSecrets Nginx image pull secrets
744 ## @param gateway.image.debug Enable debugging in the initialization process
748 repository: chainguard-private/nginx-iamguarded
751 ## Specify a imagePullPolicy
752 ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
754 pullPolicy: IfNotPresent
755 ## Optionally specify an array of imagePullSecrets.
756 ## Secrets must be manually created in the namespace.
757 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
760 ## - myRegistryKeySecretName
764 ## @param gateway.extraEnvVars Array with extra environment variables to add to gateway nodes
771 ## @param gateway.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for gateway nodes
774 ## @param gateway.extraEnvVarsSecret Name of existing Secret containing extra env vars for gateway nodes
776 extraEnvVarsSecret: ""
777 ## @param gateway.command Override default container command (useful when using custom images)
780 ## @param gateway.args Override default container args (useful when using custom images)
783 ## @param gateway.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
786 ## @param gateway.verboseLogging Show the gateway access_log
788 verboseLogging: false
789 ## @param gateway.replicaCount Number of Gateway replicas to deploy
792 ## @param gateway.auth.enabled Enable basic auth
793 ## @param gateway.auth.username Basic auth username
794 ## @param gateway.auth.password Basic auth password
795 ## @param gateway.auth.existingSecret Name of a secret containing the Basic auth password
802 ## Configure extra options for Gateway containers' liveness, readiness and startup probes
803 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
804 ## @param gateway.livenessProbe.enabled Enable livenessProbe on Gateway nodes
805 ## @param gateway.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
806 ## @param gateway.livenessProbe.periodSeconds Period seconds for livenessProbe
807 ## @param gateway.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
808 ## @param gateway.livenessProbe.failureThreshold Failure threshold for livenessProbe
809 ## @param gateway.livenessProbe.successThreshold Success threshold for livenessProbe
814 initialDelaySeconds: 10
818 ## @param gateway.readinessProbe.enabled Enable readinessProbe on Gateway nodes
819 ## @param gateway.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
820 ## @param gateway.readinessProbe.periodSeconds Period seconds for readinessProbe
821 ## @param gateway.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
822 ## @param gateway.readinessProbe.failureThreshold Failure threshold for readinessProbe
823 ## @param gateway.readinessProbe.successThreshold Success threshold for readinessProbe
828 initialDelaySeconds: 10
832 ## @param gateway.startupProbe.enabled Enable startupProbe on Gateway containers
833 ## @param gateway.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
834 ## @param gateway.startupProbe.periodSeconds Period seconds for startupProbe
835 ## @param gateway.startupProbe.timeoutSeconds Timeout seconds for startupProbe
836 ## @param gateway.startupProbe.failureThreshold Failure threshold for startupProbe
837 ## @param gateway.startupProbe.successThreshold Success threshold for startupProbe
841 initialDelaySeconds: 10
846 ## @param gateway.customLivenessProbe Custom livenessProbe that overrides the default one
848 customLivenessProbe: {}
849 ## @param gateway.customReadinessProbe Custom readinessProbe that overrides the default one
851 customReadinessProbe: {}
852 ## @param gateway.customStartupProbe Custom startupProbe that overrides the default one
854 customStartupProbe: {}
855 ## @param gateway.containerPorts.http Gateway HTTP port
859 ## gateway resource requests and limits
860 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
861 ## @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).
863 resourcesPreset: "nano"
864 ## @param gateway.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
875 ## Configure Pods Security Context
876 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
877 ## @param gateway.podSecurityContext.enabled Enabled Gateway pods' Security Context
878 ## @param gateway.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
879 ## @param gateway.podSecurityContext.sysctls Set kernel settings using the sysctl interface
880 ## @param gateway.podSecurityContext.supplementalGroups Set filesystem extra groups
881 ## @param gateway.podSecurityContext.fsGroup Set Gateway pod's Security Context fsGroup
885 fsGroupChangePolicy: Always
887 supplementalGroups: []
889 ## Configure Container Security Context
890 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
891 ## @param gateway.containerSecurityContext.enabled Enabled containers' Security Context
892 ## @param gateway.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
893 ## @param gateway.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
894 ## @param gateway.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
895 ## @param gateway.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
896 ## @param gateway.containerSecurityContext.privileged Set container's Security Context privileged
897 ## @param gateway.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
898 ## @param gateway.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
899 ## @param gateway.containerSecurityContext.capabilities.drop List of capabilities to be dropped
900 ## @param gateway.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
902 containerSecurityContext:
909 readOnlyRootFilesystem: true
910 allowPrivilegeEscalation: false
914 type: "RuntimeDefault"
915 ## @param gateway.lifecycleHooks for the gateway container(s) to automate configuration before or after startup
918 ## @param gateway.automountServiceAccountToken Mount Service Account token in pod
920 automountServiceAccountToken: false
921 ## @param gateway.hostAliases gateway pods host aliases
922 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
925 ## @param gateway.podLabels Extra labels for gateway pods
926 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
929 ## @param gateway.podAnnotations Annotations for gateway pods
930 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
933 ## @param gateway.podAffinityPreset Pod affinity preset. Ignored if `gateway.affinity` is set. Allowed values: `soft` or `hard`
934 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
936 podAffinityPreset: ""
937 ## @param gateway.podAntiAffinityPreset Pod anti-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 podAntiAffinityPreset: soft
941 ## Node gateway.affinity preset
942 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
945 ## @param gateway.nodeAffinityPreset.type Node affinity preset type. Ignored if `gateway.affinity` is set. Allowed values: `soft` or `hard`
948 ## @param gateway.nodeAffinityPreset.key Node label key to match. Ignored if `gateway.affinity` is set
951 ## @param gateway.nodeAffinityPreset.values Node label values to match. Ignored if `gateway.affinity` is set
958 ## @param gateway.affinity Affinity for Gateway pods assignment
959 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
960 ## NOTE: `gateway.podAffinityPreset`, `gateway.podAntiAffinityPreset`, and `gateway.nodeAffinityPreset` will be ignored when it's set
963 ## @param gateway.nodeSelector Node labels for Gateway pods assignment
964 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
967 ## @param gateway.tolerations Tolerations for Gateway pods assignment
968 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
971 ## @param gateway.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
972 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
974 topologySpreadConstraints: []
975 ## @param gateway.priorityClassName Gateway pods' priorityClassName
977 priorityClassName: ""
978 ## @param gateway.schedulerName Kubernetes pod scheduler registry
979 ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
982 ## @param gateway.updateStrategy.type Gateway statefulset strategy type
983 ## @param gateway.updateStrategy.rollingUpdate [object,nullable] Gateway statefulset rolling update configuration parameters
984 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
989 ## @param gateway.extraVolumes Optionally specify extra list of additional volumes for the Gateway pod(s)
992 ## @param gateway.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Gateway container(s)
994 extraVolumeMounts: []
995 ## @param gateway.sidecars Add additional sidecar containers to the Gateway pod(s)
998 ## - name: your-image-name
1000 ## imagePullPolicy: Always
1003 ## containerPort: 1234
1006 ## Pod Disruption Budget configuration
1007 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
1008 ## @param gateway.pdb.create Enable/disable a Pod Disruption Budget creation
1009 ## @param gateway.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
1010 ## @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.
1016 ## @param gateway.initContainers Add additional init containers to the Gateway pod(s)
1017 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
1020 ## - name: your-image-name
1021 ## image: your-image
1022 ## imagePullPolicy: Always
1023 ## command: ['sh', '-c', 'echo "hello world"']
1026 ## @param gateway.enableServiceLinks Whether information about services should be injected into pod's environment variable
1027 ## 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.
1028 ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
1030 enableServiceLinks: true
1031 ## @section Gateway Traffic Exposure Parameters
1034 ## gateway service parameters
1037 ## @param gateway.service.type Gateway service type
1040 ## @param gateway.service.ports.http Gateway HTTP service port
1044 ## Node ports to expose
1045 ## NOTE: choose port between <30000-32767>
1046 ## @param gateway.service.nodePorts.http Node port for HTTP
1050 ## @param gateway.service.sessionAffinityConfig Additional settings for the sessionAffinity
1051 ## sessionAffinityConfig:
1053 ## timeoutSeconds: 300
1055 sessionAffinityConfig: {}
1056 ## @param gateway.service.sessionAffinity Control where client requests go, to the same pod or round-robin
1057 ## Values: ClientIP or None
1058 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
1060 sessionAffinity: None
1061 ## @param gateway.service.clusterIP Gateway service Cluster IP
1066 ## @param gateway.service.loadBalancerIP Gateway service Load Balancer IP
1067 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
1070 ## @param gateway.service.loadBalancerSourceRanges Gateway service Load Balancer sources
1071 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
1073 ## loadBalancerSourceRanges:
1076 loadBalancerSourceRanges: []
1077 ## @param gateway.service.externalTrafficPolicy Gateway service external traffic policy
1078 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
1080 externalTrafficPolicy: Cluster
1081 ## @param gateway.service.annotations Additional custom annotations for Gateway service
1084 ## @param gateway.service.extraPorts Extra ports to expose in the Gateway service
1087 ## @param gateway.service.nginx.config to override configurations i.e (client_max_body_size) in nginx http block
1092 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
1095 ## @param gateway.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
1098 ## @param gateway.networkPolicy.allowExternal Don't require server label for connections
1099 ## The Policy model to apply. When set to false, only pods with the correct
1100 ## server label will have network access to the ports server is listening
1101 ## on. When true, server will accept connections from any source
1102 ## (with the correct destination port).
1105 ## @param gateway.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
1107 allowExternalEgress: true
1108 ## @param gateway.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `gateway.networkPolicy.allowExternal` is true.
1110 addExternalClientAccess: true
1111 ## @param gateway.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
1121 ## - matchExpressions:
1127 ## @param gateway.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
1137 ## - matchExpressions:
1144 ## @param gateway.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `gateway.networkPolicy.allowExternal` is true.
1146 ## ingressPodMatchLabels:
1147 ## my-client: "true"
1149 ingressPodMatchLabels: {}
1150 ## @param gateway.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `gateway.networkPolicy.allowExternal` is true.
1151 ## @param gateway.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `gateway.networkPolicy.allowExternal` is true.
1153 ingressNSMatchLabels: {}
1154 ingressNSPodMatchLabels: {}
1155 ## Configure the ingress resource that allows you to access the Loki Gateway installation
1156 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/
1159 ## @param gateway.ingress.enabled Enable ingress record generation for Loki Gateway
1162 ## @param gateway.ingress.pathType Ingress path type
1164 pathType: ImplementationSpecific
1165 ## @param gateway.ingress.apiVersion Force Ingress API version (automatically detected if not set)
1168 ## @param gateway.ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
1169 ## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
1170 ## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
1172 ingressClassName: ""
1173 ## @param gateway.ingress.hostname Default host for the ingress record
1175 hostname: grafana-loki.local
1176 ## @param gateway.ingress.path Default path for the ingress record
1177 ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers
1180 ## @param gateway.ingress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
1181 ## For a full list of possible ingress annotations, please see
1182 ## ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md
1183 ## Use this parameter to set the required annotations for cert-manager, see
1184 ## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
1188 ## kubernetes.io/ingress.class: nginx
1189 ## cert-manager.io/cluster-issuer: cluster-issuer-name
1192 ## @param gateway.ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter
1193 ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}`
1195 ## - Use the `ingress.secrets` parameter to create this TLS secret
1196 ## - Rely on cert-manager to create it by setting the corresponding annotations
1197 ## - Rely on Helm to create self-signed certificates by setting `ingress.selfSigned=true`
1200 ## @param gateway.ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
1203 ## @param gateway.ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record
1206 ## - name: Loki Gateway.local
1210 ## @param gateway.ingress.extraPaths An array with additional arbitrary paths that may need to be added to the ingress under the main host
1215 ## serviceName: ssl-redirect
1216 ## servicePort: use-annotation
1219 ## @param gateway.ingress.extraTls TLS configuration for additional hostname(s) to be covered with this ingress record
1220 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
1224 ## - Loki Gateway.local
1225 ## secretName: Loki Gateway.local-tls
1228 ## @param gateway.ingress.secrets Custom TLS certificates as secrets
1229 ## NOTE: 'key' and 'certificate' are expected in PEM format
1230 ## NOTE: 'name' should line up with a 'secretName' set further up
1231 ## 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
1232 ## If it is not set and you're NOT using cert-manager either, self-signed certificates will be created valid for 365 days
1233 ## It is also possible to create and manage the certificates outside of this helm chart
1234 ## Please see README.md for more information
1237 ## - name: Loki Gateway.local-tls
1239 ## -----BEGIN RSA PRIVATE KEY-----
1241 ## -----END RSA PRIVATE KEY-----
1243 ## -----BEGIN CERTIFICATE-----
1245 ## -----END CERTIFICATE-----
1248## @section index-gateway Deployment Parameters
1251 ## @param indexGateway.enabled Enable index-gateway deployment
1254 ## @param indexGateway.extraEnvVars Array with extra environment variables to add to indexGateway nodes
1261 ## @param indexGateway.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for indexGateway nodes
1264 ## @param indexGateway.extraEnvVarsSecret Name of existing Secret containing extra env vars for indexGateway nodes
1266 extraEnvVarsSecret: ""
1267 ## @param indexGateway.command Override default container command (useful when using custom images)
1270 ## @param indexGateway.args Override default container args (useful when using custom images)
1273 ## @param indexGateway.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
1276 ## @param indexGateway.replicaCount Number of index-gateway replicas to deploy
1279 ## @param indexGateway.podManagementPolicy podManagementPolicy to manage scaling operation
1280 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
1282 podManagementPolicy: ""
1283 ## Configure extra options for index-gateway containers' liveness, readiness and startup probes
1284 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
1285 ## @param indexGateway.livenessProbe.enabled Enable livenessProbe on index-gateway nodes
1286 ## @param indexGateway.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
1287 ## @param indexGateway.livenessProbe.periodSeconds Period seconds for livenessProbe
1288 ## @param indexGateway.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
1289 ## @param indexGateway.livenessProbe.failureThreshold Failure threshold for livenessProbe
1290 ## @param indexGateway.livenessProbe.successThreshold Success threshold for livenessProbe
1295 initialDelaySeconds: 60
1299 ## @param indexGateway.readinessProbe.enabled Enable readinessProbe on index-gateway nodes
1300 ## @param indexGateway.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
1301 ## @param indexGateway.readinessProbe.periodSeconds Period seconds for readinessProbe
1302 ## @param indexGateway.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
1303 ## @param indexGateway.readinessProbe.failureThreshold Failure threshold for readinessProbe
1304 ## @param indexGateway.readinessProbe.successThreshold Success threshold for readinessProbe
1309 initialDelaySeconds: 60
1313 ## @param indexGateway.startupProbe.enabled Enable startupProbe on index-gateway containers
1314 ## @param indexGateway.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
1315 ## @param indexGateway.startupProbe.periodSeconds Period seconds for startupProbe
1316 ## @param indexGateway.startupProbe.timeoutSeconds Timeout seconds for startupProbe
1317 ## @param indexGateway.startupProbe.failureThreshold Failure threshold for startupProbe
1318 ## @param indexGateway.startupProbe.successThreshold Success threshold for startupProbe
1322 initialDelaySeconds: 30
1325 failureThreshold: 15
1327 ## @param indexGateway.customLivenessProbe Custom livenessProbe that overrides the default one
1329 customLivenessProbe: {}
1330 ## @param indexGateway.customReadinessProbe Custom readinessProbe that overrides the default one
1332 customReadinessProbe: {}
1333 ## @param indexGateway.customStartupProbe Custom startupProbe that overrides the default one
1335 customStartupProbe: {}
1336 ## indexGateway resource requests and limits
1337 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
1338 ## @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).
1340 resourcesPreset: "nano"
1341 ## @param indexGateway.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
1352 ## Configure Pods Security Context
1353 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
1354 ## @param indexGateway.podSecurityContext.enabled Enabled index-gateway pods' Security Context
1355 ## @param indexGateway.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
1356 ## @param indexGateway.podSecurityContext.sysctls Set kernel settings using the sysctl interface
1357 ## @param indexGateway.podSecurityContext.supplementalGroups Set filesystem extra groups
1358 ## @param indexGateway.podSecurityContext.fsGroup Set index-gateway pod's Security Context fsGroup
1362 fsGroupChangePolicy: Always
1364 supplementalGroups: []
1366 ## Configure Container Security Context
1367 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
1368 ## @param indexGateway.containerSecurityContext.enabled Enabled containers' Security Context
1369 ## @param indexGateway.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
1370 ## @param indexGateway.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
1371 ## @param indexGateway.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
1372 ## @param indexGateway.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
1373 ## @param indexGateway.containerSecurityContext.privileged Set container's Security Context privileged
1374 ## @param indexGateway.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
1375 ## @param indexGateway.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
1376 ## @param indexGateway.containerSecurityContext.capabilities.drop List of capabilities to be dropped
1377 ## @param indexGateway.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
1379 containerSecurityContext:
1386 readOnlyRootFilesystem: true
1387 allowPrivilegeEscalation: false
1391 type: "RuntimeDefault"
1392 ## @param indexGateway.lifecycleHooks for the indexGateway container(s) to automate configuration before or after startup
1395 ## @param indexGateway.automountServiceAccountToken Mount Service Account token in pod
1397 automountServiceAccountToken: false
1398 ## @param indexGateway.hostAliases indexGateway pods host aliases
1399 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
1402 ## @param indexGateway.podLabels Extra labels for indexGateway pods
1403 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1406 ## @param indexGateway.podAnnotations Annotations for indexGateway pods
1407 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
1410 ## @param indexGateway.podAffinityPreset Pod affinity preset. Ignored if `indexGateway.affinity` is set. Allowed values: `soft` or `hard`
1411 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1413 podAffinityPreset: ""
1414 ## @param indexGateway.podAntiAffinityPreset Pod anti-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 podAntiAffinityPreset: soft
1418 ## Node indexGateway.affinity preset
1419 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
1422 ## @param indexGateway.nodeAffinityPreset.type Node affinity preset type. Ignored if `indexGateway.affinity` is set. Allowed values: `soft` or `hard`
1425 ## @param indexGateway.nodeAffinityPreset.key Node label key to match. Ignored if `indexGateway.affinity` is set
1428 ## @param indexGateway.nodeAffinityPreset.values Node label values to match. Ignored if `indexGateway.affinity` is set
1435 ## @param indexGateway.affinity Affinity for index-gateway pods assignment
1436 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
1437 ## NOTE: `indexGateway.podAffinityPreset`, `indexGateway.podAntiAffinityPreset`, and `indexGateway.nodeAffinityPreset` will be ignored when it's set
1440 ## @param indexGateway.nodeSelector Node labels for index-gateway pods assignment
1441 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
1444 ## @param indexGateway.tolerations Tolerations for index-gateway pods assignment
1445 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1448 ## @param indexGateway.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
1449 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
1451 topologySpreadConstraints: []
1452 ## @param indexGateway.priorityClassName index-gateway pods' priorityClassName
1454 priorityClassName: ""
1455 ## @param indexGateway.schedulerName Kubernetes pod scheduler registry
1456 ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
1459 ## @param indexGateway.updateStrategy.type index-gateway statefulset strategy type
1460 ## @param indexGateway.updateStrategy.rollingUpdate [object,nullable] index-gateway statefulset rolling update configuration parameters
1461 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
1466 ## @param indexGateway.extraVolumes Optionally specify extra list of additional volumes for the index-gateway pod(s)
1469 ## @param indexGateway.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the index-gateway container(s)
1471 extraVolumeMounts: []
1472 ## @param indexGateway.sidecars Add additional sidecar containers to the index-gateway pod(s)
1475 ## - name: your-image-name
1476 ## image: your-image
1477 ## imagePullPolicy: Always
1480 ## containerPort: 1234
1483 ## @param indexGateway.initContainers Add additional init containers to the index-gateway pod(s)
1484 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
1487 ## - name: your-image-name
1488 ## image: your-image
1489 ## imagePullPolicy: Always
1490 ## command: ['sh', '-c', 'echo "hello world"']
1493 ## @param indexGateway.enableServiceLinks Whether information about services should be injected into pod's environment variable
1494 ## 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.
1495 ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
1497 enableServiceLinks: true
1498 ## Pod Disruption Budget configuration
1499 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
1500 ## @param indexGateway.pdb.create Enable/disable a Pod Disruption Budget creation
1501 ## @param indexGateway.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
1502 ## @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.
1508 ## @section index-gateway Persistence Parameters
1511 ## Enable persistence using Persistent Volume Claims
1512 ## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
1515 ## @param indexGateway.persistence.enabled Enable persistence in index-gateway instances
1518 ## @param indexGateway.persistence.storageClass PVC Storage Class for index-gateway's data volume
1519 ## If defined, storageClassName: <storageClass>
1520 ## If set to "-", storageClassName: "", which disables dynamic provisioning
1521 ## If undefined (the default) or set to null, no storageClassName spec is
1522 ## set, choosing the default provisioner. (gp2 on AWS, standard on
1523 ## GKE, AWS & OpenStack)
1526 ## @param indexGateway.persistence.subPath The subdirectory of the volume to mount to
1529 ## @param indexGateway.persistence.accessModes PVC Access modes
1533 ## @param indexGateway.persistence.size PVC Storage Request for index-gateway's data volume
1536 ## @param indexGateway.persistence.annotations Additional PVC annotations
1539 ## @param indexGateway.persistence.selector Selector to match an existing Persistent Volume for index-gateway's data PVC
1540 ## If set, the PVC can't have a PV dynamically provisioned for it
1547 ## @section index-gateway Traffic Exposure Parameters
1550 ## indexGateway service parameters
1553 ## @param indexGateway.service.type index-gateway service type
1556 ## @param indexGateway.service.ports.http index-gateway HTTP service port
1557 ## @param indexGateway.service.ports.grpc index-gateway GRPC service port
1562 ## Node ports to expose
1563 ## NOTE: choose port between <30000-32767>
1564 ## @param indexGateway.service.nodePorts.http Node port for HTTP
1565 ## @param indexGateway.service.nodePorts.grpc Node port for GRPC
1570 ## @param indexGateway.service.sessionAffinityConfig Additional settings for the sessionAffinity
1571 ## sessionAffinityConfig:
1573 ## timeoutSeconds: 300
1575 sessionAffinityConfig: {}
1576 ## @param indexGateway.service.sessionAffinity Control where client requests go, to the same pod or round-robin
1577 ## Values: ClientIP or None
1578 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
1580 sessionAffinity: None
1581 ## @param indexGateway.service.clusterIP index-gateway service Cluster IP
1586 ## @param indexGateway.service.loadBalancerIP index-gateway service Load Balancer IP
1587 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
1590 ## @param indexGateway.service.loadBalancerSourceRanges index-gateway service Load Balancer sources
1591 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
1593 ## loadBalancerSourceRanges:
1596 loadBalancerSourceRanges: []
1597 ## @param indexGateway.service.externalTrafficPolicy index-gateway service external traffic policy
1598 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
1600 externalTrafficPolicy: Cluster
1601 ## @param indexGateway.service.annotations Additional custom annotations for index-gateway service
1604 ## @param indexGateway.service.extraPorts Extra ports to expose in the index-gateway service
1608 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
1611 ## @param indexGateway.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
1614 ## @param indexGateway.networkPolicy.allowExternal Don't require server label for connections
1615 ## The Policy model to apply. When set to false, only pods with the correct
1616 ## server label will have network access to the ports server is listening
1617 ## on. When true, server will accept connections from any source
1618 ## (with the correct destination port).
1621 ## @param indexGateway.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
1623 allowExternalEgress: true
1624 ## @param indexGateway.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `indexGateway.networkPolicy.allowExternal` is true.
1626 addExternalClientAccess: true
1627 ## @param indexGateway.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
1637 ## - matchExpressions:
1643 ## @param indexGateway.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
1653 ## - matchExpressions:
1660 ## @param indexGateway.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `indexGateway.networkPolicy.allowExternal` is true.
1662 ## ingressPodMatchLabels:
1663 ## my-client: "true"
1665 ingressPodMatchLabels: {}
1666 ## @param indexGateway.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `indexGateway.networkPolicy.allowExternal` is true.
1667 ## @param indexGateway.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `indexGateway.networkPolicy.allowExternal` is true.
1669 ingressNSMatchLabels: {}
1670 ingressNSPodMatchLabels: {}
1671## @section Distributor Deployment Parameters
1674 ## @param distributor.extraEnvVars Array with extra environment variables to add to distributor nodes
1681 ## @param distributor.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for distributor nodes
1684 ## @param distributor.extraEnvVarsSecret Name of existing Secret containing extra env vars for distributor nodes
1686 extraEnvVarsSecret: ""
1687 ## @param distributor.command Override default container command (useful when using custom images)
1690 ## @param distributor.args Override default container args (useful when using custom images)
1693 ## @param distributor.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
1696 ## @param distributor.replicaCount Number of Distributor replicas to deploy
1699 ## Configure extra options for Distributor containers' liveness, readiness and startup probes
1700 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
1701 ## @param distributor.livenessProbe.enabled Enable livenessProbe on Distributor nodes
1702 ## @param distributor.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
1703 ## @param distributor.livenessProbe.periodSeconds Period seconds for livenessProbe
1704 ## @param distributor.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
1705 ## @param distributor.livenessProbe.failureThreshold Failure threshold for livenessProbe
1706 ## @param distributor.livenessProbe.successThreshold Success threshold for livenessProbe
1711 initialDelaySeconds: 10
1715 ## @param distributor.readinessProbe.enabled Enable readinessProbe on Distributor nodes
1716 ## @param distributor.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
1717 ## @param distributor.readinessProbe.periodSeconds Period seconds for readinessProbe
1718 ## @param distributor.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
1719 ## @param distributor.readinessProbe.failureThreshold Failure threshold for readinessProbe
1720 ## @param distributor.readinessProbe.successThreshold Success threshold for readinessProbe
1725 initialDelaySeconds: 10
1729 ## @param distributor.startupProbe.enabled Enable startupProbe on Distributor containers
1730 ## @param distributor.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
1731 ## @param distributor.startupProbe.periodSeconds Period seconds for startupProbe
1732 ## @param distributor.startupProbe.timeoutSeconds Timeout seconds for startupProbe
1733 ## @param distributor.startupProbe.failureThreshold Failure threshold for startupProbe
1734 ## @param distributor.startupProbe.successThreshold Success threshold for startupProbe
1738 initialDelaySeconds: 30
1741 failureThreshold: 15
1743 ## @param distributor.customLivenessProbe Custom livenessProbe that overrides the default one
1745 customLivenessProbe: {}
1746 ## @param distributor.customReadinessProbe Custom readinessProbe that overrides the default one
1748 customReadinessProbe: {}
1749 ## @param distributor.customStartupProbe Custom startupProbe that overrides the default one
1751 customStartupProbe: {}
1752 ## distributor resource requests and limits
1753 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
1754 ## @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).
1756 resourcesPreset: "nano"
1757 ## @param distributor.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
1768 ## Configure Pods Security Context
1769 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
1770 ## @param distributor.podSecurityContext.enabled Enabled Distributor pods' Security Context
1771 ## @param distributor.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
1772 ## @param distributor.podSecurityContext.sysctls Set kernel settings using the sysctl interface
1773 ## @param distributor.podSecurityContext.supplementalGroups Set filesystem extra groups
1774 ## @param distributor.podSecurityContext.fsGroup Set Distributor pod's Security Context fsGroup
1778 fsGroupChangePolicy: Always
1780 supplementalGroups: []
1782 ## Configure Container Security Context
1783 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
1784 ## @param distributor.containerSecurityContext.enabled Enabled containers' Security Context
1785 ## @param distributor.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
1786 ## @param distributor.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
1787 ## @param distributor.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
1788 ## @param distributor.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
1789 ## @param distributor.containerSecurityContext.privileged Set container's Security Context privileged
1790 ## @param distributor.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
1791 ## @param distributor.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
1792 ## @param distributor.containerSecurityContext.capabilities.drop List of capabilities to be dropped
1793 ## @param distributor.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
1795 containerSecurityContext:
1802 readOnlyRootFilesystem: true
1803 allowPrivilegeEscalation: false
1807 type: "RuntimeDefault"
1808 ## @param distributor.lifecycleHooks for the distributor container(s) to automate configuration before or after startup
1811 ## @param distributor.automountServiceAccountToken Mount Service Account token in pod
1813 automountServiceAccountToken: false
1814 ## @param distributor.hostAliases distributor pods host aliases
1815 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
1818 ## @param distributor.podLabels Extra labels for distributor pods
1819 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1822 ## @param distributor.podAnnotations Annotations for distributor pods
1823 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
1826 ## @param distributor.podAffinityPreset Pod affinity preset. Ignored if `distributor.affinity` is set. Allowed values: `soft` or `hard`
1827 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
1829 podAffinityPreset: ""
1830 ## @param distributor.podAntiAffinityPreset Pod anti-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 podAntiAffinityPreset: soft
1834 ## Node distributor.affinity preset
1835 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
1838 ## @param distributor.nodeAffinityPreset.type Node affinity preset type. Ignored if `distributor.affinity` is set. Allowed values: `soft` or `hard`
1841 ## @param distributor.nodeAffinityPreset.key Node label key to match. Ignored if `distributor.affinity` is set
1844 ## @param distributor.nodeAffinityPreset.values Node label values to match. Ignored if `distributor.affinity` is set
1851 ## @param distributor.affinity Affinity for Distributor pods assignment
1852 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
1853 ## NOTE: `distributor.podAffinityPreset`, `distributor.podAntiAffinityPreset`, and `distributor.nodeAffinityPreset` will be ignored when it's set
1856 ## @param distributor.nodeSelector Node labels for Distributor pods assignment
1857 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
1860 ## @param distributor.tolerations Tolerations for Distributor pods assignment
1861 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1864 ## @param distributor.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
1865 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
1867 topologySpreadConstraints: []
1868 ## @param distributor.priorityClassName Distributor pods' priorityClassName
1870 priorityClassName: ""
1871 ## @param distributor.schedulerName Kubernetes pod scheduler registry
1872 ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
1875 ## @param distributor.updateStrategy.type Distributor statefulset strategy type
1876 ## @param distributor.updateStrategy.rollingUpdate [object,nullable] Distributor statefulset rolling update configuration parameters
1877 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
1882 ## @param distributor.extraVolumes Optionally specify extra list of additional volumes for the Distributor pod(s)
1885 ## @param distributor.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Distributor container(s)
1887 extraVolumeMounts: []
1888 ## @param distributor.sidecars Add additional sidecar containers to the Distributor pod(s)
1891 ## - name: your-image-name
1892 ## image: your-image
1893 ## imagePullPolicy: Always
1896 ## containerPort: 1234
1899 ## @param distributor.initContainers Add additional init containers to the Distributor pod(s)
1900 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
1903 ## - name: your-image-name
1904 ## image: your-image
1905 ## imagePullPolicy: Always
1906 ## command: ['sh', '-c', 'echo "hello world"']
1909 ## @param distributor.enableServiceLinks Whether information about services should be injected into pod's environment variable
1910 ## 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.
1911 ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
1913 enableServiceLinks: true
1914 ## Pod Disruption Budget configuration
1915 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
1916 ## @param distributor.pdb.create Enable/disable a Pod Disruption Budget creation
1917 ## @param distributor.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
1918 ## @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.
1924 ## @section Distributor Traffic Exposure Parameters
1927 ## distributor service parameters
1930 ## @param distributor.service.type Distributor service type
1933 ## @param distributor.service.ports.http Distributor HTTP service port
1934 ## @param distributor.service.ports.grpc Distributor GRPC service port
1939 ## Node ports to expose
1940 ## NOTE: choose port between <30000-32767>
1941 ## @param distributor.service.nodePorts.http Node port for HTTP
1942 ## @param distributor.service.nodePorts.grpc Node port for GRPC
1947 ## @param distributor.service.sessionAffinityConfig Additional settings for the sessionAffinity
1948 ## sessionAffinityConfig:
1950 ## timeoutSeconds: 300
1952 sessionAffinityConfig: {}
1953 ## @param distributor.service.sessionAffinity Control where client requests go, to the same pod or round-robin
1954 ## Values: ClientIP or None
1955 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
1957 sessionAffinity: None
1958 ## @param distributor.service.clusterIP Distributor service Cluster IP
1963 ## @param distributor.service.loadBalancerIP Distributor service Load Balancer IP
1964 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
1967 ## @param distributor.service.loadBalancerSourceRanges Distributor service Load Balancer sources
1968 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
1970 ## loadBalancerSourceRanges:
1973 loadBalancerSourceRanges: []
1974 ## @param distributor.service.externalTrafficPolicy Distributor service external traffic policy
1975 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
1977 externalTrafficPolicy: Cluster
1978 ## @param distributor.service.annotations Additional custom annotations for Distributor service
1981 ## @param distributor.service.extraPorts Extra ports to expose in the Distributor service
1985 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
1988 ## @param distributor.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
1991 ## @param distributor.networkPolicy.allowExternal Don't require server label for connections
1992 ## The Policy model to apply. When set to false, only pods with the correct
1993 ## server label will have network access to the ports server is listening
1994 ## on. When true, server will accept connections from any source
1995 ## (with the correct destination port).
1998 ## @param distributor.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
2000 allowExternalEgress: true
2001 ## @param distributor.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `distributor.networkPolicy.allowExternal` is true.
2003 addExternalClientAccess: true
2004 ## @param distributor.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
2014 ## - matchExpressions:
2020 ## @param distributor.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
2030 ## - matchExpressions:
2037 ## @param distributor.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `distributor.networkPolicy.allowExternal` is true.
2039 ## ingressPodMatchLabels:
2040 ## my-client: "true"
2042 ingressPodMatchLabels: {}
2043 ## @param distributor.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `distributor.networkPolicy.allowExternal` is true.
2044 ## @param distributor.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `distributor.networkPolicy.allowExternal` is true.
2046 ingressNSMatchLabels: {}
2047 ingressNSPodMatchLabels: {}
2048## @section Ingester Deployment Parameters
2051 ## @param ingester.extraEnvVars Array with extra environment variables to add to ingester nodes
2058 ## @param ingester.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for ingester nodes
2061 ## @param ingester.extraEnvVarsSecret Name of existing Secret containing extra env vars for ingester nodes
2063 extraEnvVarsSecret: ""
2064 ## @param ingester.command Override default container command (useful when using custom images)
2067 ## @param ingester.args Override default container args (useful when using custom images)
2070 ## @param ingester.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
2073 ## @param ingester.replicaCount Number of Ingester replicas to deploy
2076 ## Configure extra options for Ingester containers' liveness, readiness and startup probes
2077 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
2078 ## @param ingester.livenessProbe.enabled Enable livenessProbe on Ingester nodes
2079 ## @param ingester.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
2080 ## @param ingester.livenessProbe.periodSeconds Period seconds for livenessProbe
2081 ## @param ingester.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
2082 ## @param ingester.livenessProbe.failureThreshold Failure threshold for livenessProbe
2083 ## @param ingester.livenessProbe.successThreshold Success threshold for livenessProbe
2088 initialDelaySeconds: 10
2092 ## @param ingester.readinessProbe.enabled Enable readinessProbe on Ingester nodes
2093 ## @param ingester.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
2094 ## @param ingester.readinessProbe.periodSeconds Period seconds for readinessProbe
2095 ## @param ingester.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
2096 ## @param ingester.readinessProbe.failureThreshold Failure threshold for readinessProbe
2097 ## @param ingester.readinessProbe.successThreshold Success threshold for readinessProbe
2102 initialDelaySeconds: 10
2106 ## @param ingester.startupProbe.enabled Enable startupProbe on Ingester containers
2107 ## @param ingester.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
2108 ## @param ingester.startupProbe.periodSeconds Period seconds for startupProbe
2109 ## @param ingester.startupProbe.timeoutSeconds Timeout seconds for startupProbe
2110 ## @param ingester.startupProbe.failureThreshold Failure threshold for startupProbe
2111 ## @param ingester.startupProbe.successThreshold Success threshold for startupProbe
2115 initialDelaySeconds: 30
2118 failureThreshold: 15
2120 ## @param ingester.customLivenessProbe Custom livenessProbe that overrides the default one
2122 customLivenessProbe: {}
2123 ## @param ingester.customReadinessProbe Custom readinessProbe that overrides the default one
2125 customReadinessProbe: {}
2126 ## @param ingester.customStartupProbe Custom startupProbe that overrides the default one
2128 customStartupProbe: {}
2129 ## @param ingester.lifecycleHooks for the ingester container(s) to automate configuration before or after startup
2132 ## ingester resource requests and limits
2133 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
2134 ## @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).
2136 resourcesPreset: "micro"
2137 ## @param ingester.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
2148 ## Configure Pods Security Context
2149 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
2150 ## @param ingester.podSecurityContext.enabled Enabled Ingester pods' Security Context
2151 ## @param ingester.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
2152 ## @param ingester.podSecurityContext.sysctls Set kernel settings using the sysctl interface
2153 ## @param ingester.podSecurityContext.supplementalGroups Set filesystem extra groups
2154 ## @param ingester.podSecurityContext.fsGroup Set Ingester pod's Security Context fsGroup
2158 fsGroupChangePolicy: Always
2160 supplementalGroups: []
2162 ## Configure Container Security Context
2163 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
2164 ## @param ingester.containerSecurityContext.enabled Enabled containers' Security Context
2165 ## @param ingester.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
2166 ## @param ingester.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
2167 ## @param ingester.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
2168 ## @param ingester.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
2169 ## @param ingester.containerSecurityContext.privileged Set container's Security Context privileged
2170 ## @param ingester.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
2171 ## @param ingester.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
2172 ## @param ingester.containerSecurityContext.capabilities.drop List of capabilities to be dropped
2173 ## @param ingester.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
2175 containerSecurityContext:
2182 readOnlyRootFilesystem: true
2183 allowPrivilegeEscalation: false
2187 type: "RuntimeDefault"
2188 ## @param ingester.automountServiceAccountToken Mount Service Account token in pod
2190 automountServiceAccountToken: false
2191 ## @param ingester.hostAliases ingester pods host aliases
2192 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
2195 ## @param ingester.podLabels Extra labels for ingester pods
2196 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
2199 ## @param ingester.podAnnotations Annotations for ingester pods
2200 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
2203 ## @param ingester.podAffinityPreset Pod affinity preset. Ignored if `ingester.affinity` is set. Allowed values: `soft` or `hard`
2204 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
2206 podAffinityPreset: ""
2207 ## @param ingester.podAntiAffinityPreset Pod anti-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 podAntiAffinityPreset: soft
2211 ## Node ingester.affinity preset
2212 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
2215 ## @param ingester.nodeAffinityPreset.type Node affinity preset type. Ignored if `ingester.affinity` is set. Allowed values: `soft` or `hard`
2218 ## @param ingester.nodeAffinityPreset.key Node label key to match. Ignored if `ingester.affinity` is set
2221 ## @param ingester.nodeAffinityPreset.values Node label values to match. Ignored if `ingester.affinity` is set
2228 ## @param ingester.affinity Affinity for ingester pods assignment
2229 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
2230 ## NOTE: `ingester.podAffinityPreset`, `ingester.podAntiAffinityPreset`, and `ingester.nodeAffinityPreset` will be ignored when it's set
2233 ## @param ingester.nodeSelector Node labels for Ingester pods assignment
2234 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
2237 ## @param ingester.tolerations Tolerations for Ingester pods assignment
2238 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2241 ## @param ingester.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
2242 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
2244 topologySpreadConstraints: []
2245 ## @param ingester.podManagementPolicy podManagementPolicy to manage scaling operation
2246 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
2248 podManagementPolicy: ""
2249 ## @param ingester.priorityClassName Ingester pods' priorityClassName
2251 priorityClassName: ""
2252 ## @param ingester.schedulerName Kubernetes pod scheduler registry
2253 ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
2256 ## @param ingester.updateStrategy.type Ingester statefulset strategy type
2257 ## @param ingester.updateStrategy.rollingUpdate [object,nullable] Ingester statefulset rolling update configuration parameters
2258 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
2263 ## @param ingester.extraVolumes Optionally specify extra list of additional volumes for the Ingester pod(s)
2266 ## @param ingester.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the ingester container(s)
2268 extraVolumeMounts: []
2269 ## @param ingester.sidecars Add additional sidecar containers to the Ingester pod(s)
2272 ## - name: your-image-name
2273 ## image: your-image
2274 ## imagePullPolicy: Always
2277 ## containerPort: 1234
2280 ## @param ingester.initContainers Add additional init containers to the Ingester pod(s)
2281 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
2284 ## - name: your-image-name
2285 ## image: your-image
2286 ## imagePullPolicy: Always
2287 ## command: ['sh', '-c', 'echo "hello world"']
2290 ## @param ingester.enableServiceLinks Whether information about services should be injected into pod's environment variable
2291 ## 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.
2292 ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
2294 enableServiceLinks: true
2295 ## Pod Disruption Budget configuration
2296 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
2297 ## @param ingester.pdb.create Enable/disable a Pod Disruption Budget creation
2298 ## @param ingester.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
2299 ## @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.
2305 ## @section Ingester Persistence Parameters
2308 ## Enable persistence using Persistent Volume Claims
2309 ## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
2312 ## @param ingester.persistence.enabled Enable persistence in Ingester instances
2315 ## @param ingester.persistence.storageClass PVC Storage Class for Memcached data volume
2316 ## If defined, storageClassName: <storageClass>
2317 ## If set to "-", storageClassName: "", which disables dynamic provisioning
2318 ## If undefined (the default) or set to null, no storageClassName spec is
2319 ## set, choosing the default provisioner. (gp2 on AWS, standard on
2320 ## GKE, AWS & OpenStack)
2323 ## @param ingester.persistence.subPath The subdirectory of the volume to mount to
2326 ## @param ingester.persistence.accessModes PVC Access modes
2330 ## @param ingester.persistence.size PVC Storage Request for Memcached data volume
2333 ## @param ingester.persistence.annotations Additional PVC annotations
2336 ## @param ingester.persistence.selector Selector to match an existing Persistent Volume for Ingester's data PVC
2337 ## If set, the PVC can't have a PV dynamically provisioned for it
2344 ## @section Ingester Traffic Exposure Parameters
2347 ## ingester service parameters
2350 ## @param ingester.service.type Ingester service type
2353 ## @param ingester.service.ports.http Ingester HTTP service port
2354 ## @param ingester.service.ports.grpc Ingester GRPC service port
2359 ## Node ports to expose
2360 ## NOTE: choose port between <30000-32767>
2361 ## @param ingester.service.nodePorts.http Node port for HTTP
2362 ## @param ingester.service.nodePorts.grpc Node port for GRPC
2367 ## @param ingester.service.sessionAffinityConfig Additional settings for the sessionAffinity
2368 ## sessionAffinityConfig:
2370 ## timeoutSeconds: 300
2372 sessionAffinityConfig: {}
2373 ## @param ingester.service.sessionAffinity Control where client requests go, to the same pod or round-robin
2374 ## Values: ClientIP or None
2375 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
2377 sessionAffinity: None
2378 ## @param ingester.service.clusterIP Ingester service Cluster IP
2383 ## @param ingester.service.loadBalancerIP Ingester service Load Balancer IP
2384 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
2387 ## @param ingester.service.loadBalancerSourceRanges Ingester service Load Balancer sources
2388 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
2390 ## loadBalancerSourceRanges:
2393 loadBalancerSourceRanges: []
2394 ## @param ingester.service.externalTrafficPolicy Ingester service external traffic policy
2395 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
2397 externalTrafficPolicy: Cluster
2398 ## @param ingester.service.annotations Additional custom annotations for Ingester service
2401 ## @param ingester.service.extraPorts Extra ports to expose in the Ingester service
2405 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
2408 ## @param ingester.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
2411 ## @param ingester.networkPolicy.allowExternal Don't require server label for connections
2412 ## The Policy model to apply. When set to false, only pods with the correct
2413 ## server label will have network access to the ports server is listening
2414 ## on. When true, server will accept connections from any source
2415 ## (with the correct destination port).
2418 ## @param ingester.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
2420 allowExternalEgress: true
2421 ## @param ingester.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `ingester.networkPolicy.allowExternal` is true.
2423 addExternalClientAccess: true
2424 ## @param ingester.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
2434 ## - matchExpressions:
2440 ## @param ingester.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
2450 ## - matchExpressions:
2457 ## @param ingester.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `ingester.networkPolicy.allowExternal` is true.
2459 ## ingressPodMatchLabels:
2460 ## my-client: "true"
2462 ingressPodMatchLabels: {}
2463 ## @param ingester.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `ingester.networkPolicy.allowExternal` is true.
2464 ## @param ingester.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `ingester.networkPolicy.allowExternal` is true.
2466 ingressNSMatchLabels: {}
2467 ingressNSPodMatchLabels: {}
2468## @section Querier Deployment Parameters
2471 ## @param querier.replicaCount Number of Querier replicas to deploy
2474 ## @param querier.extraEnvVars Array with extra environment variables to add to Querier nodes
2481 ## @param querier.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Querier nodes
2484 ## @param querier.extraEnvVarsSecret Name of existing Secret containing extra env vars for Querier nodes
2486 extraEnvVarsSecret: ""
2487 ## @param querier.command Override default container command (useful when using custom images)
2490 ## @param querier.args Override default container args (useful when using custom images)
2493 ## @param querier.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
2496 ## @param querier.podManagementPolicy podManagementPolicy to manage scaling operation
2497 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
2499 podManagementPolicy: ""
2500 ## Configure extra options for Querier containers' liveness, readiness and startup probes
2501 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
2502 ## @param querier.livenessProbe.enabled Enable livenessProbe on Querier nodes
2503 ## @param querier.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
2504 ## @param querier.livenessProbe.periodSeconds Period seconds for livenessProbe
2505 ## @param querier.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
2506 ## @param querier.livenessProbe.failureThreshold Failure threshold for livenessProbe
2507 ## @param querier.livenessProbe.successThreshold Success threshold for livenessProbe
2512 initialDelaySeconds: 10
2516 ## @param querier.readinessProbe.enabled Enable readinessProbe on Querier nodes
2517 ## @param querier.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
2518 ## @param querier.readinessProbe.periodSeconds Period seconds for readinessProbe
2519 ## @param querier.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
2520 ## @param querier.readinessProbe.failureThreshold Failure threshold for readinessProbe
2521 ## @param querier.readinessProbe.successThreshold Success threshold for readinessProbe
2526 initialDelaySeconds: 10
2530 ## @param querier.startupProbe.enabled Enable startupProbe on Querier containers
2531 ## @param querier.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
2532 ## @param querier.startupProbe.periodSeconds Period seconds for startupProbe
2533 ## @param querier.startupProbe.timeoutSeconds Timeout seconds for startupProbe
2534 ## @param querier.startupProbe.failureThreshold Failure threshold for startupProbe
2535 ## @param querier.startupProbe.successThreshold Success threshold for startupProbe
2539 initialDelaySeconds: 30
2542 failureThreshold: 15
2544 ## @param querier.customLivenessProbe Custom livenessProbe that overrides the default one
2546 customLivenessProbe: {}
2547 ## @param querier.customReadinessProbe Custom readinessProbe that overrides the default one
2549 customReadinessProbe: {}
2550 ## @param querier.customStartupProbe Custom startupProbe that overrides the default one
2552 customStartupProbe: {}
2553 ## querier resource requests and limits
2554 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
2555 ## @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).
2557 resourcesPreset: "nano"
2558 ## @param querier.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
2569 ## Configure Pods Security Context
2570 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
2571 ## @param querier.podSecurityContext.enabled Enabled Querier pods' Security Context
2572 ## @param querier.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
2573 ## @param querier.podSecurityContext.sysctls Set kernel settings using the sysctl interface
2574 ## @param querier.podSecurityContext.supplementalGroups Set filesystem extra groups
2575 ## @param querier.podSecurityContext.fsGroup Set Querier pod's Security Context fsGroup
2579 fsGroupChangePolicy: Always
2581 supplementalGroups: []
2583 ## Configure Container Security Context
2584 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
2585 ## @param querier.containerSecurityContext.enabled Enabled containers' Security Context
2586 ## @param querier.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
2587 ## @param querier.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
2588 ## @param querier.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
2589 ## @param querier.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
2590 ## @param querier.containerSecurityContext.privileged Set container's Security Context privileged
2591 ## @param querier.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
2592 ## @param querier.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
2593 ## @param querier.containerSecurityContext.capabilities.drop List of capabilities to be dropped
2594 ## @param querier.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
2596 containerSecurityContext:
2603 readOnlyRootFilesystem: true
2604 allowPrivilegeEscalation: false
2608 type: "RuntimeDefault"
2609 ## @param querier.lifecycleHooks for the Querier container(s) to automate configuration before or after startup
2612 ## @param querier.automountServiceAccountToken Mount Service Account token in pod
2614 automountServiceAccountToken: false
2615 ## @param querier.hostAliases querier pods host aliases
2616 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
2619 ## @param querier.podLabels Extra labels for querier pods
2620 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
2623 ## @param querier.podAnnotations Annotations for querier pods
2624 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
2627 ## @param querier.podAffinityPreset Pod affinity preset. Ignored if `querier.affinity` is set. Allowed values: `soft` or `hard`
2628 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
2630 podAffinityPreset: ""
2631 ## @param querier.podAntiAffinityPreset Pod anti-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 podAntiAffinityPreset: soft
2635 ## Node querier.affinity preset
2636 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
2639 ## @param querier.nodeAffinityPreset.type Node affinity preset type. Ignored if `querier.affinity` is set. Allowed values: `soft` or `hard`
2642 ## @param querier.nodeAffinityPreset.key Node label key to match. Ignored if `querier.affinity` is set
2645 ## @param querier.nodeAffinityPreset.values Node label values to match. Ignored if `querier.affinity` is set
2652 ## @param querier.affinity Affinity for Querier pods assignment
2653 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
2654 ## NOTE: `querier.podAffinityPreset`, `querier.podAntiAffinityPreset`, and `querier.nodeAffinityPreset` will be ignored when it's set
2657 ## @param querier.nodeSelector Node labels for Querier pods assignment
2658 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
2661 ## @param querier.tolerations Tolerations for Querier pods assignment
2662 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2665 ## @param querier.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
2666 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
2668 topologySpreadConstraints: []
2669 ## @param querier.priorityClassName Querier pods' priorityClassName
2671 priorityClassName: ""
2672 ## @param querier.schedulerName Kubernetes pod scheduler registry
2673 ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
2676 ## @param querier.updateStrategy.type Querier statefulset strategy type
2677 ## @param querier.updateStrategy.rollingUpdate [object,nullable] Querier statefulset rolling update configuration parameters
2678 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
2683 ## @param querier.extraVolumes Optionally specify extra list of additional volumes for the Querier pod(s)
2686 ## @param querier.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the querier container(s)
2688 extraVolumeMounts: []
2689 ## @param querier.sidecars Add additional sidecar containers to the Querier pod(s)
2692 ## - name: your-image-name
2693 ## image: your-image
2694 ## imagePullPolicy: Always
2697 ## containerPort: 1234
2700 ## @param querier.initContainers Add additional init containers to the Querier pod(s)
2701 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
2704 ## - name: your-image-name
2705 ## image: your-image
2706 ## imagePullPolicy: Always
2707 ## command: ['sh', '-c', 'echo "hello world"']
2710 ## @param querier.enableServiceLinks Whether information about services should be injected into pod's environment variable
2711 ## 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.
2712 ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
2714 enableServiceLinks: true
2715 ## Pod Disruption Budget configuration
2716 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
2717 ## @param querier.pdb.create Enable/disable a Pod Disruption Budget creation
2718 ## @param querier.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
2719 ## @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.
2725 ## @section Querier Persistence Parameters
2728 ## Enable persistence using Persistent Volume Claims
2729 ## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
2732 ## @param querier.persistence.enabled Enable persistence in Querier instances
2735 ## @param querier.persistence.storageClass PVC Storage Class for Memcached data volume
2736 ## If defined, storageClassName: <storageClass>
2737 ## If set to "-", storageClassName: "", which disables dynamic provisioning
2738 ## If undefined (the default) or set to null, no storageClassName spec is
2739 ## set, choosing the default provisioner. (gp2 on AWS, standard on
2740 ## GKE, AWS & OpenStack)
2743 ## @param querier.persistence.subPath The subdirectory of the volume to mount to
2746 ## @param querier.persistence.accessModes PVC Access modes
2750 ## @param querier.persistence.size PVC Storage Request for Memcached data volume
2753 ## @param querier.persistence.annotations Additional PVC annotations
2756 ## @param querier.persistence.selector Selector to match an existing Persistent Volume for Querier's data PVC
2757 ## If set, the PVC can't have a PV dynamically provisioned for it
2764 ## @section Querier Traffic Exposure Parameters
2767 ## querier service parameters
2770 ## @param querier.service.type Querier service type
2773 ## @param querier.service.ports.http Querier HTTP service port
2774 ## @param querier.service.ports.grpc Querier GRPC service port
2779 ## Node ports to expose
2780 ## NOTE: choose port between <30000-32767>
2781 ## @param querier.service.nodePorts.http Node port for HTTP
2782 ## @param querier.service.nodePorts.grpc Node port for GRPC
2787 ## @param querier.service.sessionAffinityConfig Additional settings for the sessionAffinity
2788 ## sessionAffinityConfig:
2790 ## timeoutSeconds: 300
2792 sessionAffinityConfig: {}
2793 ## @param querier.service.sessionAffinity Control where client requests go, to the same pod or round-robin
2794 ## Values: ClientIP or None
2795 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
2797 sessionAffinity: None
2798 ## @param querier.service.clusterIP Querier service Cluster IP
2803 ## @param querier.service.loadBalancerIP Querier service Load Balancer IP
2804 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
2807 ## @param querier.service.loadBalancerSourceRanges Querier service Load Balancer sources
2808 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
2810 ## loadBalancerSourceRanges:
2813 loadBalancerSourceRanges: []
2814 ## @param querier.service.externalTrafficPolicy Querier service external traffic policy
2815 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
2817 externalTrafficPolicy: Cluster
2818 ## @param querier.service.annotations Additional custom annotations for Querier service
2821 ## @param querier.service.extraPorts Extra ports to expose in the Querier service
2825 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
2828 ## @param querier.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
2831 ## @param querier.networkPolicy.allowExternal Don't require server label for connections
2832 ## The Policy model to apply. When set to false, only pods with the correct
2833 ## server label will have network access to the ports server is listening
2834 ## on. When true, server will accept connections from any source
2835 ## (with the correct destination port).
2838 ## @param querier.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
2840 allowExternalEgress: true
2841 ## @param querier.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `querier.networkPolicy.allowExternal` is true.
2843 addExternalClientAccess: true
2844 ## @param querier.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
2854 ## - matchExpressions:
2860 ## @param querier.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
2870 ## - matchExpressions:
2877 ## @param querier.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `querier.networkPolicy.allowExternal` is true.
2879 ## ingressPodMatchLabels:
2880 ## my-client: "true"
2882 ingressPodMatchLabels: {}
2883 ## @param querier.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `querier.networkPolicy.allowExternal` is true.
2884 ## @param querier.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `querier.networkPolicy.allowExternal` is true.
2886 ingressNSMatchLabels: {}
2887 ingressNSPodMatchLabels: {}
2888## @section Query Frontend Deployment Parameters
2891 ## @param queryFrontend.extraEnvVars Array with extra environment variables to add to queryFrontend nodes
2898 ## @param queryFrontend.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for queryFrontend nodes
2901 ## @param queryFrontend.extraEnvVarsSecret Name of existing Secret containing extra env vars for queryFrontend nodes
2903 extraEnvVarsSecret: ""
2904 ## @param queryFrontend.command Override default container command (useful when using custom images)
2907 ## @param queryFrontend.args Override default container args (useful when using custom images)
2910 ## @param queryFrontend.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
2913 ## @param queryFrontend.replicaCount Number of queryFrontend replicas to deploy
2916 ## Configure extra options for queryFrontend containers' liveness, readiness and startup probes
2917 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
2918 ## @param queryFrontend.livenessProbe.enabled Enable livenessProbe on queryFrontend nodes
2919 ## @param queryFrontend.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
2920 ## @param queryFrontend.livenessProbe.periodSeconds Period seconds for livenessProbe
2921 ## @param queryFrontend.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
2922 ## @param queryFrontend.livenessProbe.failureThreshold Failure threshold for livenessProbe
2923 ## @param queryFrontend.livenessProbe.successThreshold Success threshold for livenessProbe
2928 initialDelaySeconds: 10
2932 ## @param queryFrontend.readinessProbe.enabled Enable readinessProbe on queryFrontend nodes
2933 ## @param queryFrontend.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
2934 ## @param queryFrontend.readinessProbe.periodSeconds Period seconds for readinessProbe
2935 ## @param queryFrontend.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
2936 ## @param queryFrontend.readinessProbe.failureThreshold Failure threshold for readinessProbe
2937 ## @param queryFrontend.readinessProbe.successThreshold Success threshold for readinessProbe
2942 initialDelaySeconds: 10
2946 ## @param queryFrontend.startupProbe.enabled Enable startupProbe on queryFrontend containers
2947 ## @param queryFrontend.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
2948 ## @param queryFrontend.startupProbe.periodSeconds Period seconds for startupProbe
2949 ## @param queryFrontend.startupProbe.timeoutSeconds Timeout seconds for startupProbe
2950 ## @param queryFrontend.startupProbe.failureThreshold Failure threshold for startupProbe
2951 ## @param queryFrontend.startupProbe.successThreshold Success threshold for startupProbe
2955 initialDelaySeconds: 30
2958 failureThreshold: 15
2960 ## @param queryFrontend.customLivenessProbe Custom livenessProbe that overrides the default one
2962 customLivenessProbe: {}
2963 ## @param queryFrontend.customReadinessProbe Custom readinessProbe that overrides the default one
2965 customReadinessProbe: {}
2966 ## @param queryFrontend.customStartupProbe Custom startupProbe that overrides the default one
2968 customStartupProbe: {}
2969 ## queryFrontend resource requests and limits
2970 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
2971 ## @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).
2973 resourcesPreset: "nano"
2974 ## @param queryFrontend.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
2985 ## Configure Pods Security Context
2986 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
2987 ## @param queryFrontend.podSecurityContext.enabled Enabled queryFrontend pods' Security Context
2988 ## @param queryFrontend.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
2989 ## @param queryFrontend.podSecurityContext.sysctls Set kernel settings using the sysctl interface
2990 ## @param queryFrontend.podSecurityContext.supplementalGroups Set filesystem extra groups
2991 ## @param queryFrontend.podSecurityContext.fsGroup Set queryFrontend pod's Security Context fsGroup
2995 fsGroupChangePolicy: Always
2997 supplementalGroups: []
2999 ## Configure Container Security Context
3000 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
3001 ## @param queryFrontend.containerSecurityContext.enabled Enabled containers' Security Context
3002 ## @param queryFrontend.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
3003 ## @param queryFrontend.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
3004 ## @param queryFrontend.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
3005 ## @param queryFrontend.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
3006 ## @param queryFrontend.containerSecurityContext.privileged Set container's Security Context privileged
3007 ## @param queryFrontend.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
3008 ## @param queryFrontend.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
3009 ## @param queryFrontend.containerSecurityContext.capabilities.drop List of capabilities to be dropped
3010 ## @param queryFrontend.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
3012 containerSecurityContext:
3019 readOnlyRootFilesystem: true
3020 allowPrivilegeEscalation: false
3024 type: "RuntimeDefault"
3025 ## @param queryFrontend.lifecycleHooks for the queryFrontend container(s) to automate configuration before or after startup
3028 ## @param queryFrontend.automountServiceAccountToken Mount Service Account token in pod
3030 automountServiceAccountToken: false
3031 ## @param queryFrontend.hostAliases queryFrontend pods host aliases
3032 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
3035 ## @param queryFrontend.podLabels Extra labels for queryFrontend pods
3036 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
3039 ## @param queryFrontend.podAnnotations Annotations for queryFrontend pods
3040 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
3043 ## @param queryFrontend.podAffinityPreset Pod affinity preset. Ignored if `queryFrontend.affinity` is set. Allowed values: `soft` or `hard`
3044 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
3046 podAffinityPreset: ""
3047 ## @param queryFrontend.podAntiAffinityPreset Pod anti-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 podAntiAffinityPreset: soft
3051 ## Node queryFrontend.affinity preset
3052 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
3055 ## @param queryFrontend.nodeAffinityPreset.type Node affinity preset type. Ignored if `queryFrontend.affinity` is set. Allowed values: `soft` or `hard`
3058 ## @param queryFrontend.nodeAffinityPreset.key Node label key to match. Ignored if `queryFrontend.affinity` is set
3061 ## @param queryFrontend.nodeAffinityPreset.values Node label values to match. Ignored if `queryFrontend.affinity` is set
3068 ## @param queryFrontend.affinity Affinity for queryFrontend pods assignment
3069 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
3070 ## NOTE: `queryFrontend.podAffinityPreset`, `queryFrontend.podAntiAffinityPreset`, and `queryFrontend.nodeAffinityPreset` will be ignored when it's set
3073 ## @param queryFrontend.nodeSelector Node labels for queryFrontend pods assignment
3074 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
3077 ## @param queryFrontend.tolerations Tolerations for queryFrontend pods assignment
3078 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
3081 ## @param queryFrontend.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
3082 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
3084 topologySpreadConstraints: []
3085 ## @param queryFrontend.priorityClassName queryFrontend pods' priorityClassName
3087 priorityClassName: ""
3088 ## @param queryFrontend.schedulerName Kubernetes pod scheduler registry
3089 ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
3092 ## @param queryFrontend.updateStrategy.type queryFrontend statefulset strategy type
3093 ## @param queryFrontend.updateStrategy.rollingUpdate [object,nullable] queryFrontend statefulset rolling update configuration parameters
3094 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
3099 ## @param queryFrontend.extraVolumes Optionally specify extra list of additional volumes for the queryFrontend pod(s)
3102 ## @param queryFrontend.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the queryFrontend container(s)
3104 extraVolumeMounts: []
3105 ## @param queryFrontend.sidecars Add additional sidecar containers to the queryFrontend pod(s)
3108 ## - name: your-image-name
3109 ## image: your-image
3110 ## imagePullPolicy: Always
3113 ## containerPort: 1234
3116 ## @param queryFrontend.initContainers Add additional init containers to the queryFrontend pod(s)
3117 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
3120 ## - name: your-image-name
3121 ## image: your-image
3122 ## imagePullPolicy: Always
3123 ## command: ['sh', '-c', 'echo "hello world"']
3126 ## @param queryFrontend.enableServiceLinks Whether information about services should be injected into pod's environment variable
3127 ## 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.
3128 ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
3130 enableServiceLinks: true
3131 ## Pod Disruption Budget configuration
3132 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
3133 ## @param queryFrontend.pdb.create Enable/disable a Pod Disruption Budget creation
3134 ## @param queryFrontend.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
3135 ## @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.
3141 ## @section Query Frontend Traffic Exposure Parameters
3144 ## queryFrontend service parameters
3147 ## @param queryFrontend.service.type queryFrontend service type
3150 ## @param queryFrontend.service.ports.http queryFrontend HTTP service port
3151 ## @param queryFrontend.service.ports.grpc queryFrontend GRPC service port
3156 ## Node ports to expose
3157 ## NOTE: choose port between <30000-32767>
3158 ## @param queryFrontend.service.nodePorts.http Node port for HTTP
3159 ## @param queryFrontend.service.nodePorts.grpc Node port for GRPC
3164 ## @param queryFrontend.service.sessionAffinityConfig Additional settings for the sessionAffinity
3165 ## sessionAffinityConfig:
3167 ## timeoutSeconds: 300
3169 sessionAffinityConfig: {}
3170 ## @param queryFrontend.service.sessionAffinity Control where client requests go, to the same pod or round-robin
3171 ## Values: ClientIP or None
3172 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
3174 sessionAffinity: None
3175 ## @param queryFrontend.service.clusterIP queryFrontend service Cluster IP
3180 ## @param queryFrontend.service.loadBalancerIP queryFrontend service Load Balancer IP
3181 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
3184 ## @param queryFrontend.service.loadBalancerSourceRanges queryFrontend service Load Balancer sources
3185 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
3187 ## loadBalancerSourceRanges:
3190 loadBalancerSourceRanges: []
3191 ## @param queryFrontend.service.externalTrafficPolicy queryFrontend service external traffic policy
3192 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
3194 externalTrafficPolicy: Cluster
3195 ## @param queryFrontend.service.annotations Additional custom annotations for queryFrontend service
3198 ## @param queryFrontend.service.extraPorts Extra ports to expose in the queryFrontend service
3201 ## Headless service properties
3204 ## @param queryFrontend.service.headless.annotations Annotations for the headless service.
3208 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
3211 ## @param queryFrontend.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
3214 ## @param queryFrontend.networkPolicy.allowExternal Don't require server label for connections
3215 ## The Policy model to apply. When set to false, only pods with the correct
3216 ## server label will have network access to the ports server is listening
3217 ## on. When true, server will accept connections from any source
3218 ## (with the correct destination port).
3221 ## @param queryFrontend.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
3223 allowExternalEgress: true
3224 ## @param queryFrontend.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `queryFrontend.networkPolicy.allowExternal` is true.
3226 addExternalClientAccess: true
3227 ## @param queryFrontend.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
3237 ## - matchExpressions:
3243 ## @param queryFrontend.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
3253 ## - matchExpressions:
3260 ## @param queryFrontend.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `queryFrontend.networkPolicy.allowExternal` is true.
3262 ## ingressPodMatchLabels:
3263 ## my-client: "true"
3265 ingressPodMatchLabels: {}
3266 ## @param queryFrontend.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `queryFrontend.networkPolicy.allowExternal` is true.
3267 ## @param queryFrontend.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `queryFrontend.networkPolicy.allowExternal` is true.
3269 ingressNSMatchLabels: {}
3270 ingressNSPodMatchLabels: {}
3271## @section Query Scheduler Deployment Parameters
3274 ## @param queryScheduler.enabled Deploy Query Scheduler component
3277 ## @param queryScheduler.extraEnvVars Array with extra environment variables to add to queryScheduler nodes
3284 ## @param queryScheduler.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for queryScheduler nodes
3287 ## @param queryScheduler.extraEnvVarsSecret Name of existing Secret containing extra env vars for queryScheduler nodes
3289 extraEnvVarsSecret: ""
3290 ## @param queryScheduler.command Override default container command (useful when using custom images)
3293 ## @param queryScheduler.args Override default container args (useful when using custom images)
3296 ## @param queryScheduler.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
3299 ## @param queryScheduler.replicaCount Number of queryScheduler replicas to deploy
3302 ## Configure extra options for queryScheduler containers' liveness, readiness and startup probes
3303 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
3304 ## @param queryScheduler.livenessProbe.enabled Enable livenessProbe on queryScheduler nodes
3305 ## @param queryScheduler.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
3306 ## @param queryScheduler.livenessProbe.periodSeconds Period seconds for livenessProbe
3307 ## @param queryScheduler.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
3308 ## @param queryScheduler.livenessProbe.failureThreshold Failure threshold for livenessProbe
3309 ## @param queryScheduler.livenessProbe.successThreshold Success threshold for livenessProbe
3314 initialDelaySeconds: 10
3318 ## @param queryScheduler.minReadySeconds Minimum time to wait before performing readiness check
3321 ## @param queryScheduler.readinessProbe.enabled Enable readinessProbe on queryScheduler nodes
3322 ## @param queryScheduler.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
3323 ## @param queryScheduler.readinessProbe.periodSeconds Period seconds for readinessProbe
3324 ## @param queryScheduler.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
3325 ## @param queryScheduler.readinessProbe.failureThreshold Failure threshold for readinessProbe
3326 ## @param queryScheduler.readinessProbe.successThreshold Success threshold for readinessProbe
3331 initialDelaySeconds: 10
3335 ## @param queryScheduler.startupProbe.enabled Enable startupProbe on queryScheduler containers
3336 ## @param queryScheduler.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
3337 ## @param queryScheduler.startupProbe.periodSeconds Period seconds for startupProbe
3338 ## @param queryScheduler.startupProbe.timeoutSeconds Timeout seconds for startupProbe
3339 ## @param queryScheduler.startupProbe.failureThreshold Failure threshold for startupProbe
3340 ## @param queryScheduler.startupProbe.successThreshold Success threshold for startupProbe
3344 initialDelaySeconds: 30
3347 failureThreshold: 15
3349 ## @param queryScheduler.customLivenessProbe Custom livenessProbe that overrides the default one
3351 customLivenessProbe: {}
3352 ## @param queryScheduler.customReadinessProbe Custom readinessProbe that overrides the default one
3354 customReadinessProbe: {}
3355 ## @param queryScheduler.customStartupProbe Custom startupProbe that overrides the default one
3357 customStartupProbe: {}
3358 ## queryScheduler resource requests and limits
3359 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
3360 ## @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).
3362 resourcesPreset: "nano"
3363 ## @param queryScheduler.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
3374 ## Configure Pods Security Context
3375 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
3376 ## @param queryScheduler.podSecurityContext.enabled Enabled queryScheduler pods' Security Context
3377 ## @param queryScheduler.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
3378 ## @param queryScheduler.podSecurityContext.sysctls Set kernel settings using the sysctl interface
3379 ## @param queryScheduler.podSecurityContext.supplementalGroups Set filesystem extra groups
3380 ## @param queryScheduler.podSecurityContext.fsGroup Set queryScheduler pod's Security Context fsGroup
3384 fsGroupChangePolicy: Always
3386 supplementalGroups: []
3388 ## Configure Container Security Context
3389 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
3390 ## @param queryScheduler.containerSecurityContext.enabled Enabled containers' Security Context
3391 ## @param queryScheduler.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
3392 ## @param queryScheduler.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
3393 ## @param queryScheduler.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
3394 ## @param queryScheduler.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
3395 ## @param queryScheduler.containerSecurityContext.privileged Set container's Security Context privileged
3396 ## @param queryScheduler.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
3397 ## @param queryScheduler.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
3398 ## @param queryScheduler.containerSecurityContext.capabilities.drop List of capabilities to be dropped
3399 ## @param queryScheduler.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
3401 containerSecurityContext:
3408 readOnlyRootFilesystem: true
3409 allowPrivilegeEscalation: false
3413 type: "RuntimeDefault"
3414 ## @param queryScheduler.lifecycleHooks for the queryScheduler container(s) to automate configuration before or after startup
3417 ## @param queryScheduler.automountServiceAccountToken Mount Service Account token in pod
3419 automountServiceAccountToken: false
3420 ## @param queryScheduler.hostAliases queryScheduler pods host aliases
3421 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
3424 ## @param queryScheduler.podLabels Extra labels for queryScheduler pods
3425 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
3428 ## @param queryScheduler.podAnnotations Annotations for queryScheduler pods
3429 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
3432 ## @param queryScheduler.podAffinityPreset Pod affinity preset. Ignored if `queryScheduler.affinity` is set. Allowed values: `soft` or `hard`
3433 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
3435 podAffinityPreset: ""
3436 ## @param queryScheduler.podAntiAffinityPreset Pod anti-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 podAntiAffinityPreset: soft
3440 ## Node queryScheduler.affinity preset
3441 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
3444 ## @param queryScheduler.nodeAffinityPreset.type Node affinity preset type. Ignored if `queryScheduler.affinity` is set. Allowed values: `soft` or `hard`
3447 ## @param queryScheduler.nodeAffinityPreset.key Node label key to match. Ignored if `queryScheduler.affinity` is set
3450 ## @param queryScheduler.nodeAffinityPreset.values Node label values to match. Ignored if `queryScheduler.affinity` is set
3457 ## @param queryScheduler.affinity Affinity for queryScheduler pods assignment
3458 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
3459 ## NOTE: `queryScheduler.podAffinityPreset`, `queryScheduler.podAntiAffinityPreset`, and `queryScheduler.nodeAffinityPreset` will be ignored when it's set
3462 ## @param queryScheduler.nodeSelector Node labels for queryScheduler pods assignment
3463 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
3466 ## @param queryScheduler.tolerations Tolerations for queryScheduler pods assignment
3467 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
3470 ## @param queryScheduler.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
3471 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
3473 topologySpreadConstraints: []
3474 ## @param queryScheduler.priorityClassName queryScheduler pods' priorityClassName
3476 priorityClassName: ""
3477 ## @param queryScheduler.schedulerName Kubernetes pod scheduler registry
3478 ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
3481 ## @param queryScheduler.updateStrategy.type queryScheduler statefulset strategy type
3482 ## @param queryScheduler.updateStrategy.rollingUpdate [object,nullable] queryScheduler statefulset rolling update configuration parameters
3483 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
3488 ## @param queryScheduler.extraVolumes Optionally specify extra list of additional volumes for the queryScheduler pod(s)
3491 ## @param queryScheduler.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the queryScheduler container(s)
3493 extraVolumeMounts: []
3494 ## @param queryScheduler.sidecars Add additional sidecar containers to the queryScheduler pod(s)
3497 ## - name: your-image-name
3498 ## image: your-image
3499 ## imagePullPolicy: Always
3502 ## containerPort: 1234
3505 ## @param queryScheduler.initContainers Add additional init containers to the queryScheduler pod(s)
3506 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
3509 ## - name: your-image-name
3510 ## image: your-image
3511 ## imagePullPolicy: Always
3512 ## command: ['sh', '-c', 'echo "hello world"']
3515 ## @param queryScheduler.enableServiceLinks Whether information about services should be injected into pod's environment variable
3516 ## 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.
3517 ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
3519 enableServiceLinks: true
3520 ## Pod Disruption Budget configuration
3521 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
3522 ## @param queryScheduler.pdb.create Enable/disable a Pod Disruption Budget creation
3523 ## @param queryScheduler.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
3524 ## @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.
3530 ## @section Query Scheduler Traffic Exposure Parameters
3533 ## queryScheduler service parameters
3536 ## @param queryScheduler.service.type queryScheduler service type
3539 ## @param queryScheduler.service.ports.http queryScheduler HTTP service port
3540 ## @param queryScheduler.service.ports.grpc queryScheduler GRPC service port
3545 ## Node ports to expose
3546 ## NOTE: choose port between <30000-32767>
3547 ## @param queryScheduler.service.nodePorts.http Node port for HTTP
3548 ## @param queryScheduler.service.nodePorts.grpc Node port for GRPC
3553 ## @param queryScheduler.service.sessionAffinityConfig Additional settings for the sessionAffinity
3554 ## sessionAffinityConfig:
3556 ## timeoutSeconds: 300
3558 sessionAffinityConfig: {}
3559 ## @param queryScheduler.service.sessionAffinity Control where client requests go, to the same pod or round-robin
3560 ## Values: ClientIP or None
3561 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
3563 sessionAffinity: None
3564 ## @param queryScheduler.service.clusterIP queryScheduler service Cluster IP
3569 ## @param queryScheduler.service.loadBalancerIP queryScheduler service Load Balancer IP
3570 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
3573 ## @param queryScheduler.service.loadBalancerSourceRanges queryScheduler service Load Balancer sources
3574 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
3576 ## loadBalancerSourceRanges:
3579 loadBalancerSourceRanges: []
3580 ## @param queryScheduler.service.externalTrafficPolicy queryScheduler service external traffic policy
3581 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
3583 externalTrafficPolicy: Cluster
3584 ## @param queryScheduler.service.annotations Additional custom annotations for queryScheduler service
3587 ## @param queryScheduler.service.extraPorts Extra ports to expose in the queryScheduler service
3591 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
3594 ## @param queryScheduler.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
3597 ## @param queryScheduler.networkPolicy.allowExternal Don't require server label for connections
3598 ## The Policy model to apply. When set to false, only pods with the correct
3599 ## server label will have network access to the ports server is listening
3600 ## on. When true, server will accept connections from any source
3601 ## (with the correct destination port).
3604 ## @param queryScheduler.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
3606 allowExternalEgress: true
3607 ## @param queryScheduler.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `queryScheduler.networkPolicy.allowExternal` is true.
3609 addExternalClientAccess: true
3610 ## @param queryScheduler.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
3620 ## - matchExpressions:
3626 ## @param queryScheduler.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
3636 ## - matchExpressions:
3643 ## @param queryScheduler.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `queryScheduler.networkPolicy.allowExternal` is true.
3645 ## ingressPodMatchLabels:
3646 ## my-client: "true"
3648 ingressPodMatchLabels: {}
3649 ## @param queryScheduler.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `queryScheduler.networkPolicy.allowExternal` is true.
3650 ## @param queryScheduler.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `queryScheduler.networkPolicy.allowExternal` is true.
3652 ingressNSMatchLabels: {}
3653 ingressNSPodMatchLabels: {}
3654## @section Ruler Deployment Parameters
3657 ## @param ruler.enabled Deploy ruler component
3660 ## @param ruler.extraEnvVars Array with extra environment variables to add to ruler nodes
3667 ## @param ruler.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for ruler nodes
3670 ## @param ruler.extraEnvVarsSecret Name of existing Secret containing extra env vars for ruler nodes
3672 extraEnvVarsSecret: ""
3673 ## @param ruler.command Override default container command (useful when using custom images)
3676 ## @param ruler.args Override default container args (useful when using custom images)
3679 ## @param ruler.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
3682 ## @param ruler.podManagementPolicy podManagementPolicy to manage scaling operation
3683 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
3685 podManagementPolicy: ""
3686 ## @param ruler.replicaCount Number of Ruler replicas to deploy
3689 ## Configure extra options for Ruler containers' liveness, readiness and startup probes
3690 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
3691 ## @param ruler.livenessProbe.enabled Enable livenessProbe on Ruler nodes
3692 ## @param ruler.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
3693 ## @param ruler.livenessProbe.periodSeconds Period seconds for livenessProbe
3694 ## @param ruler.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
3695 ## @param ruler.livenessProbe.failureThreshold Failure threshold for livenessProbe
3696 ## @param ruler.livenessProbe.successThreshold Success threshold for livenessProbe
3701 initialDelaySeconds: 10
3705 ## @param ruler.readinessProbe.enabled Enable readinessProbe on Ruler nodes
3706 ## @param ruler.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
3707 ## @param ruler.readinessProbe.periodSeconds Period seconds for readinessProbe
3708 ## @param ruler.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
3709 ## @param ruler.readinessProbe.failureThreshold Failure threshold for readinessProbe
3710 ## @param ruler.readinessProbe.successThreshold Success threshold for readinessProbe
3715 initialDelaySeconds: 10
3719 ## @param ruler.startupProbe.enabled Enable startupProbe on Ruler containers
3720 ## @param ruler.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
3721 ## @param ruler.startupProbe.periodSeconds Period seconds for startupProbe
3722 ## @param ruler.startupProbe.timeoutSeconds Timeout seconds for startupProbe
3723 ## @param ruler.startupProbe.failureThreshold Failure threshold for startupProbe
3724 ## @param ruler.startupProbe.successThreshold Success threshold for startupProbe
3728 initialDelaySeconds: 30
3731 failureThreshold: 15
3733 ## @param ruler.customLivenessProbe Custom livenessProbe that overrides the default one
3735 customLivenessProbe: {}
3736 ## @param ruler.customReadinessProbe Custom readinessProbe that overrides the default one
3738 customReadinessProbe: {}
3739 ## @param ruler.customStartupProbe Custom startupProbe that overrides the default one
3741 customStartupProbe: {}
3742 ## @param ruler.lifecycleHooks for the ruler container(s) to automate configuration before or after startup
3745 ## ruler resource requests and limits
3746 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
3747 ## @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).
3749 resourcesPreset: "nano"
3750 ## @param ruler.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
3761 ## Configure Pods Security Context
3762 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
3763 ## @param ruler.podSecurityContext.enabled Enabled Ruler pods' Security Context
3764 ## @param ruler.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
3765 ## @param ruler.podSecurityContext.sysctls Set kernel settings using the sysctl interface
3766 ## @param ruler.podSecurityContext.supplementalGroups Set filesystem extra groups
3767 ## @param ruler.podSecurityContext.fsGroup Set Ruler pod's Security Context fsGroup
3771 fsGroupChangePolicy: Always
3773 supplementalGroups: []
3775 ## Configure Container Security Context
3776 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
3777 ## @param ruler.containerSecurityContext.enabled Enabled containers' Security Context
3778 ## @param ruler.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
3779 ## @param ruler.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
3780 ## @param ruler.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
3781 ## @param ruler.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
3782 ## @param ruler.containerSecurityContext.privileged Set container's Security Context privileged
3783 ## @param ruler.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
3784 ## @param ruler.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
3785 ## @param ruler.containerSecurityContext.capabilities.drop List of capabilities to be dropped
3786 ## @param ruler.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
3788 containerSecurityContext:
3795 readOnlyRootFilesystem: true
3796 allowPrivilegeEscalation: false
3800 type: "RuntimeDefault"
3801 ## @param ruler.automountServiceAccountToken Mount Service Account token in pod
3803 automountServiceAccountToken: false
3804 ## @param ruler.hostAliases ruler pods host aliases
3805 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
3808 ## @param ruler.podLabels Extra labels for ruler pods
3809 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
3812 ## @param ruler.podAnnotations Annotations for ruler pods
3813 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
3816 ## @param ruler.podAffinityPreset Pod affinity preset. Ignored if `ruler.affinity` is set. Allowed values: `soft` or `hard`
3817 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
3819 podAffinityPreset: ""
3820 ## @param ruler.podAntiAffinityPreset Pod anti-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 podAntiAffinityPreset: soft
3824 ## Node ruler.affinity preset
3825 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
3828 ## @param ruler.nodeAffinityPreset.type Node affinity preset type. Ignored if `ruler.affinity` is set. Allowed values: `soft` or `hard`
3831 ## @param ruler.nodeAffinityPreset.key Node label key to match. Ignored if `ruler.affinity` is set
3834 ## @param ruler.nodeAffinityPreset.values Node label values to match. Ignored if `ruler.affinity` is set
3841 ## @param ruler.affinity Affinity for ruler pods assignment
3842 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
3843 ## NOTE: `ruler.podAffinityPreset`, `ruler.podAntiAffinityPreset`, and `ruler.nodeAffinityPreset` will be ignored when it's set
3846 ## @param ruler.nodeSelector Node labels for Ruler pods assignment
3847 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
3850 ## @param ruler.tolerations Tolerations for Ruler pods assignment
3851 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
3854 ## @param ruler.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
3855 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
3857 topologySpreadConstraints: []
3858 ## @param ruler.priorityClassName Ruler pods' priorityClassName
3860 priorityClassName: ""
3861 ## @param ruler.schedulerName Kubernetes pod scheduler registry
3862 ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
3865 ## @param ruler.updateStrategy.type Ruler statefulset strategy type
3866 ## @param ruler.updateStrategy.rollingUpdate [object,nullable] Ruler statefulset rolling update configuration parameters
3867 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
3872 ## @param ruler.extraVolumes Optionally specify extra list of additional volumes for the Ruler pod(s)
3875 ## @param ruler.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the ruler container(s)
3877 extraVolumeMounts: []
3878 ## @param ruler.sidecars Add additional sidecar containers to the Ruler pod(s)
3881 ## - name: your-image-name
3882 ## image: your-image
3883 ## imagePullPolicy: Always
3886 ## containerPort: 1234
3889 ## @param ruler.initContainers Add additional init containers to the Ruler pod(s)
3890 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
3893 ## - name: your-image-name
3894 ## image: your-image
3895 ## imagePullPolicy: Always
3896 ## command: ['sh', '-c', 'echo "hello world"']
3899 ## @param ruler.enableServiceLinks Whether information about services should be injected into pod's environment variable
3900 ## 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.
3901 ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
3903 enableServiceLinks: true
3904 ## Pod Disruption Budget configuration
3905 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
3906 ## @param ruler.pdb.create Enable/disable a Pod Disruption Budget creation
3907 ## @param ruler.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
3908 ## @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.
3914 ## @section Ruler Persistence Parameters
3917 ## Enable persistence using Persistent Volume Claims
3918 ## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
3921 ## @param ruler.persistence.enabled Enable persistence in Ruler instances
3924 ## @param ruler.persistence.storageClass PVC Storage Class for Memcached data volume
3925 ## If defined, storageClassName: <storageClass>
3926 ## If set to "-", storageClassName: "", which disables dynamic provisioning
3927 ## If undefined (the default) or set to null, no storageClassName spec is
3928 ## set, choosing the default provisioner. (gp2 on AWS, standard on
3929 ## GKE, AWS & OpenStack)
3932 ## @param ruler.persistence.subPath The subdirectory of the volume to mount to
3935 ## @param ruler.persistence.accessModes PVC Access modes
3939 ## @param ruler.persistence.size PVC Storage Request for Memcached data volume
3942 ## @param ruler.persistence.annotations Additional PVC annotations
3945 ## @param ruler.persistence.selector Selector to match an existing Persistent Volume for Ruler's data PVC
3946 ## If set, the PVC can't have a PV dynamically provisioned for it
3953 ## @section Ruler Traffic Exposure Parameters
3956 ## ruler service parameters
3959 ## @param ruler.service.type Ruler service type
3962 ## @param ruler.service.ports.http Ruler HTTP service port
3963 ## @param ruler.service.ports.grpc Ruler GRPC service port
3968 ## Node ports to expose
3969 ## NOTE: choose port between <30000-32767>
3970 ## @param ruler.service.nodePorts.http Node port for HTTP
3971 ## @param ruler.service.nodePorts.grpc Node port for GRPC
3976 ## @param ruler.service.sessionAffinityConfig Additional settings for the sessionAffinity
3977 ## sessionAffinityConfig:
3979 ## timeoutSeconds: 300
3981 sessionAffinityConfig: {}
3982 ## @param ruler.service.sessionAffinity Control where client requests go, to the same pod or round-robin
3983 ## Values: ClientIP or None
3984 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
3986 sessionAffinity: None
3987 ## @param ruler.service.clusterIP Ruler service Cluster IP
3992 ## @param ruler.service.loadBalancerIP Ruler service Load Balancer IP
3993 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
3996 ## @param ruler.service.loadBalancerSourceRanges Ruler service Load Balancer sources
3997 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
3999 ## loadBalancerSourceRanges:
4002 loadBalancerSourceRanges: []
4003 ## @param ruler.service.externalTrafficPolicy Ruler service external traffic policy
4004 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
4006 externalTrafficPolicy: Cluster
4007 ## @param ruler.service.annotations Additional custom annotations for Ruler service
4010 ## @param ruler.service.extraPorts Extra ports to expose in the Ruler service
4014 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
4017 ## @param ruler.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
4020 ## @param ruler.networkPolicy.allowExternal Don't require server label for connections
4021 ## The Policy model to apply. When set to false, only pods with the correct
4022 ## server label will have network access to the ports server is listening
4023 ## on. When true, server will accept connections from any source
4024 ## (with the correct destination port).
4027 ## @param ruler.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
4029 allowExternalEgress: true
4030 ## @param ruler.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `ruler.networkPolicy.allowExternal` is true.
4032 addExternalClientAccess: true
4033 ## @param ruler.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
4043 ## - matchExpressions:
4049 ## @param ruler.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
4059 ## - matchExpressions:
4066 ## @param ruler.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `ruler.networkPolicy.allowExternal` is true.
4068 ## ingressPodMatchLabels:
4069 ## my-client: "true"
4071 ingressPodMatchLabels: {}
4072 ## @param ruler.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `ruler.networkPolicy.allowExternal` is true.
4073 ## @param ruler.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `ruler.networkPolicy.allowExternal` is true.
4075 ingressNSMatchLabels: {}
4076 ingressNSPodMatchLabels: {}
4077## @section table-manager Deployment Parameters
4080 ## @param tableManager.enabled Deploy table-manager
4083 ## @param tableManager.extraEnvVars Array with extra environment variables to add to tableManager nodes
4090 ## @param tableManager.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for tableManager nodes
4093 ## @param tableManager.extraEnvVarsSecret Name of existing Secret containing extra env vars for tableManager nodes
4095 extraEnvVarsSecret: ""
4096 ## @param tableManager.command Override default container command (useful when using custom images)
4099 ## @param tableManager.args Override default container args (useful when using custom images)
4102 ## @param tableManager.extraArgs Additional container args (will be concatenated to args, unless diagnosticMode is enabled)
4105 ## @param tableManager.replicaCount Number of table-manager replicas to deploy
4108 ## Configure extra options for table-manager containers' liveness, readiness and startup probes
4109 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
4110 ## @param tableManager.livenessProbe.enabled Enable livenessProbe on table-manager nodes
4111 ## @param tableManager.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
4112 ## @param tableManager.livenessProbe.periodSeconds Period seconds for livenessProbe
4113 ## @param tableManager.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
4114 ## @param tableManager.livenessProbe.failureThreshold Failure threshold for livenessProbe
4115 ## @param tableManager.livenessProbe.successThreshold Success threshold for livenessProbe
4120 initialDelaySeconds: 10
4124 ## @param tableManager.readinessProbe.enabled Enable readinessProbe on table-manager nodes
4125 ## @param tableManager.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
4126 ## @param tableManager.readinessProbe.periodSeconds Period seconds for readinessProbe
4127 ## @param tableManager.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
4128 ## @param tableManager.readinessProbe.failureThreshold Failure threshold for readinessProbe
4129 ## @param tableManager.readinessProbe.successThreshold Success threshold for readinessProbe
4134 initialDelaySeconds: 10
4138 ## @param tableManager.startupProbe.enabled Enable startupProbe on table-manager containers
4139 ## @param tableManager.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
4140 ## @param tableManager.startupProbe.periodSeconds Period seconds for startupProbe
4141 ## @param tableManager.startupProbe.timeoutSeconds Timeout seconds for startupProbe
4142 ## @param tableManager.startupProbe.failureThreshold Failure threshold for startupProbe
4143 ## @param tableManager.startupProbe.successThreshold Success threshold for startupProbe
4147 initialDelaySeconds: 30
4150 failureThreshold: 15
4152 ## @param tableManager.customLivenessProbe Custom livenessProbe that overrides the default one
4154 customLivenessProbe: {}
4155 ## @param tableManager.customReadinessProbe Custom readinessProbe that overrides the default one
4157 customReadinessProbe: {}
4158 ## @param tableManager.customStartupProbe Custom startupProbe that overrides the default one
4160 customStartupProbe: {}
4161 ## tableManager resource requests and limits
4162 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
4163 ## @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).
4165 resourcesPreset: "nano"
4166 ## @param tableManager.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
4177 ## Configure Pods Security Context
4178 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
4179 ## @param tableManager.podSecurityContext.enabled Enabled table-manager pods' Security Context
4180 ## @param tableManager.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy
4181 ## @param tableManager.podSecurityContext.sysctls Set kernel settings using the sysctl interface
4182 ## @param tableManager.podSecurityContext.supplementalGroups Set filesystem extra groups
4183 ## @param tableManager.podSecurityContext.fsGroup Set table-manager pod's Security Context fsGroup
4187 fsGroupChangePolicy: Always
4189 supplementalGroups: []
4191 ## Configure Container Security Context
4192 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
4193 ## @param tableManager.containerSecurityContext.enabled Enabled containers' Security Context
4194 ## @param tableManager.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
4195 ## @param tableManager.containerSecurityContext.runAsUser Set containers' Security Context runAsUser
4196 ## @param tableManager.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup
4197 ## @param tableManager.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot
4198 ## @param tableManager.containerSecurityContext.privileged Set container's Security Context privileged
4199 ## @param tableManager.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem
4200 ## @param tableManager.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation
4201 ## @param tableManager.containerSecurityContext.capabilities.drop List of capabilities to be dropped
4202 ## @param tableManager.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
4204 containerSecurityContext:
4211 readOnlyRootFilesystem: true
4212 allowPrivilegeEscalation: false
4216 type: "RuntimeDefault"
4217 ## @param tableManager.lifecycleHooks for the tableManager container(s) to automate configuration before or after startup
4220 ## @param tableManager.automountServiceAccountToken Mount Service Account token in pod
4222 automountServiceAccountToken: false
4223 ## @param tableManager.hostAliases tableManager pods host aliases
4224 ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
4227 ## @param tableManager.podLabels Extra labels for tableManager pods
4228 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
4231 ## @param tableManager.podAnnotations Annotations for tableManager pods
4232 ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
4235 ## @param tableManager.podAffinityPreset Pod affinity preset. Ignored if `tableManager.affinity` is set. Allowed values: `soft` or `hard`
4236 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
4238 podAffinityPreset: ""
4239 ## @param tableManager.podAntiAffinityPreset Pod anti-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 podAntiAffinityPreset: soft
4243 ## Node tableManager.affinity preset
4244 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
4247 ## @param tableManager.nodeAffinityPreset.type Node affinity preset type. Ignored if `tableManager.affinity` is set. Allowed values: `soft` or `hard`
4250 ## @param tableManager.nodeAffinityPreset.key Node label key to match. Ignored if `tableManager.affinity` is set
4253 ## @param tableManager.nodeAffinityPreset.values Node label values to match. Ignored if `tableManager.affinity` is set
4260 ## @param tableManager.affinity Affinity for table-manager pods assignment
4261 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
4262 ## NOTE: `tableManager.podAffinityPreset`, `tableManager.podAntiAffinityPreset`, and `tableManager.nodeAffinityPreset` will be ignored when it's set
4265 ## @param tableManager.nodeSelector Node labels for table-manager pods assignment
4266 ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
4269 ## @param tableManager.tolerations Tolerations for table-manager pods assignment
4270 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
4273 ## @param tableManager.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains
4274 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
4276 topologySpreadConstraints: []
4277 ## @param tableManager.priorityClassName table-manager pods' priorityClassName
4279 priorityClassName: ""
4280 ## @param tableManager.schedulerName Kubernetes pod scheduler registry
4281 ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
4284 ## @param tableManager.updateStrategy.type table-manager statefulset strategy type
4285 ## @param tableManager.updateStrategy.rollingUpdate [object,nullable] table-manager statefulset rolling update configuration parameters
4286 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
4291 ## @param tableManager.extraVolumes Optionally specify extra list of additional volumes for the table-manager pod(s)
4294 ## @param tableManager.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the table-manager container(s)
4296 extraVolumeMounts: []
4297 ## @param tableManager.sidecars Add additional sidecar containers to the table-manager pod(s)
4300 ## - name: your-image-name
4301 ## image: your-image
4302 ## imagePullPolicy: Always
4305 ## containerPort: 1234
4308 ## @param tableManager.initContainers Add additional init containers to the table-manager pod(s)
4309 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
4312 ## - name: your-image-name
4313 ## image: your-image
4314 ## imagePullPolicy: Always
4315 ## command: ['sh', '-c', 'echo "hello world"']
4318 ## @param tableManager.enableServiceLinks Whether information about services should be injected into pod's environment variable
4319 ## 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.
4320 ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`.
4322 enableServiceLinks: true
4323 ## Pod Disruption Budget configuration
4324 ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
4325 ## @param tableManager.pdb.create Enable/disable a Pod Disruption Budget creation
4326 ## @param tableManager.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
4327 ## @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.
4333 ## @section table-manager Traffic Exposure Parameters
4336 ## tableManager service parameters
4339 ## @param tableManager.service.type table-manager service type
4342 ## @param tableManager.service.ports.http table-manager HTTP service port
4343 ## @param tableManager.service.ports.grpc table-manager GRPC service port
4348 ## Node ports to expose
4349 ## NOTE: choose port between <30000-32767>
4350 ## @param tableManager.service.nodePorts.http Node port for HTTP
4351 ## @param tableManager.service.nodePorts.grpc Node port for GRPC
4356 ## @param tableManager.service.sessionAffinityConfig Additional settings for the sessionAffinity
4357 ## sessionAffinityConfig:
4359 ## timeoutSeconds: 300
4361 sessionAffinityConfig: {}
4362 ## @param tableManager.service.sessionAffinity Control where client requests go, to the same pod or round-robin
4363 ## Values: ClientIP or None
4364 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
4366 sessionAffinity: None
4367 ## @param tableManager.service.clusterIP table-manager service Cluster IP
4372 ## @param tableManager.service.loadBalancerIP table-manager service Load Balancer IP
4373 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
4376 ## @param tableManager.service.loadBalancerSourceRanges table-manager service Load Balancer sources
4377 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
4379 ## loadBalancerSourceRanges:
4382 loadBalancerSourceRanges: []
4383 ## @param tableManager.service.externalTrafficPolicy table-manager service external traffic policy
4384 ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
4386 externalTrafficPolicy: Cluster
4387 ## @param tableManager.service.annotations Additional custom annotations for table-manager service
4390 ## @param tableManager.service.extraPorts Extra ports to expose in the table-manager service
4394 ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
4397 ## @param tableManager.networkPolicy.enabled Specifies whether a NetworkPolicy should be created
4400 ## @param tableManager.networkPolicy.allowExternal Don't require server label for connections
4401 ## The Policy model to apply. When set to false, only pods with the correct
4402 ## server label will have network access to the ports server is listening
4403 ## on. When true, server will accept connections from any source
4404 ## (with the correct destination port).
4407 ## @param tableManager.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
4409 allowExternalEgress: true
4410 ## @param tableManager.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `tableManager.networkPolicy.allowExternal` is true.
4412 addExternalClientAccess: true
4413 ## @param tableManager.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
4423 ## - matchExpressions:
4429 ## @param tableManager.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy
4439 ## - matchExpressions:
4446 ## @param tableManager.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `tableManager.networkPolicy.allowExternal` is true.
4448 ## ingressPodMatchLabels:
4449 ## my-client: "true"
4451 ingressPodMatchLabels: {}
4452 ## @param tableManager.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `tableManager.networkPolicy.allowExternal` is true.
4453 ## @param tableManager.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `tableManager.networkPolicy.allowExternal` is true.
4455 ingressNSMatchLabels: {}
4456 ingressNSPodMatchLabels: {}
4457## @section Grafana Alloy Deployment Parameters
4460 ## @param grafanaalloy.enabled Deploy Grafana Alloy
4463 ## @param grafanaalloy.resourceType Type of controller to use for deploying Grafana Alloy in the cluster.
4464 ## Must be one of 'daemonset', 'deployment', or 'statefulset'.
4466 resourceType: 'daemonset'
4467 ## @param grafanaalloy.replicaCount Number of pods to deploy. Ignored when grafanaalloy.resourceType is 'daemonset'.
4470 ## @section Alloy container specific parameters
4475 repository: chainguard-private/configmap-reload-iamguarded
4487 repository: chainguard-private/grafana-alloy-iamguarded
4496 ## @param grafanaalloy.alloy.stabilityLevel Minimum stability level of components and behavior to enable. Must be
4497 ## one of "experimental", "public-preview", or "generally-available".
4498 stabilityLevel: "generally-available"
4499 ## @param grafanaalloy.alloy.listenAddr Address to listen for traffic on. 0.0.0.0 exposes the UI to other containers.
4501 ## @param grafanaalloy.alloy.uiPathPrefix Base path where the UI is exposed.
4503 ## @param grafanaalloy.alloy.storagePath Path to where Grafana Alloy stores data (for example, the Write-Ahead Log).
4504 storagePath: /tmp/alloy
4505 ## @param grafanaalloy.alloy.enableReporting Enables sending Grafana Labs anonymous usage stats to help improve Grafana grafanaalloy.alloy.
4506 enableReporting: true
4507 ## @param grafanaalloy.alloy.mounts.varlog Mount /var/log from the host into the container for log collection.
4508 ## @param grafanaalloy.alloy.mounts.dockercontainers Mount /var/lib/docker/containers from the host into the container for log
4512 dockercontainers: true
4513 ## @param grafanaalloy.alloy.clustering.enabled Deploy Grafana Alloy in a cluster to allow for load distribution.
4514 ## @param grafanaalloy.alloy.clustering.name Name for the Grafana Alloy cluster. Used for differentiating between clusters.
4515 ## @param grafanaalloy.alloy.clustering.portName Name for the port used for clustering, useful if running inside an Istio Mesh
4521 ## @param grafanaalloy.alloy.createSecret Create a Secret with the default configuration for Grafana Alloy to send logs to Loki.
4524 ## @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.
4526 existingSecret: "{{ ternary (printf \"%s-alloy\" (lower .Release.Name)) \"\" .Values.alloy.createSecret }}"
4527 ## @param grafanaalloy.alloy.configuration Specify content for Grafana Alloy config file. Omitted if grafanaalloy.alloy.existingSecret is provided.
4529 ## configuration: |-
4533 ## @param grafanaalloy.alloy.extraConfig Append extra configuration to the default config file
4536## @section Init Container Parameters
4539## 'volumePermissions' init container parameters
4540## Changes the owner and group of the persistent volume mount point to runAsUser:fsGroup values
4541## based on the *podSecurityContext/*containerSecurityContext parameters
4544 ## @param volumePermissions.enabled Enable init container that changes the owner/group of the PV mount point to `runAsUser:fsGroup`
4547 ## OS Shell + Utility image
4548 ## @param volumePermissions.image.registry [default: REGISTRY_NAME] OS Shell + Utility image registry
4549 ## @param volumePermissions.image.repository [default: REPOSITORY_NAME/os-shell] OS Shell + Utility image repository
4550 ## @skip volumePermissions.image.tag OS Shell + Utility image tag (immutable tags are recommended)
4551 ## @param volumePermissions.image.digest OS Shell + Utility image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag
4552 ## @param volumePermissions.image.pullPolicy OS Shell + Utility image pull policy
4553 ## @param volumePermissions.image.pullSecrets OS Shell + Utility image pull secrets
4557 repository: chainguard-private/os-shell-iamguarded
4560 pullPolicy: IfNotPresent
4561 ## Optionally specify an array of imagePullSecrets.
4562 ## Secrets must be manually created in the namespace.
4563 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
4566 ## - myRegistryKeySecretName
4569 ## Init container's resource requests and limits
4570 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
4571 ## @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).
4573 resourcesPreset: "nano"
4574 ## @param volumePermissions.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
4585 ## Init container Container Security Context
4586 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
4587 ## @param volumePermissions.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container
4588 ## @param volumePermissions.containerSecurityContext.runAsUser Set init container's Security Context runAsUser
4589 ## @param volumePermissions.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile
4590 ## NOTE: when runAsUser is set to special value "auto", init container will try to chown the
4591 ## data folder to auto-determined user&group, using commands: `id -u`:`id -G | cut -d" " -f2`
4592 ## "auto" is especially useful for OpenShift which has scc with dynamic user ids (and 0 is not allowed)
4594 containerSecurityContext:
4598 type: "RuntimeDefault"
4599## @section Other Parameters
4602## Service account for Loki to use
4603## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
4606 ## @param serviceAccount.create Enable creation of ServiceAccount for Loki pods
4609 ## @param serviceAccount.name The name of the ServiceAccount to use
4610 ## If not set and create is true, a name is generated using the common.names.fullname template
4613 ## @param serviceAccount.automountServiceAccountToken Allows auto mount of ServiceAccountToken on the serviceAccount created
4614 ## Can be set to false if pods using this serviceAccount do not need to use K8s API
4616 automountServiceAccountToken: false
4617 ## @param serviceAccount.annotations Additional custom annotations for the ServiceAccount
4620## @section Metrics Parameters
4621## Prometheus Exporter / Metrics
4624 ## @param metrics.enabled Enable metrics
4627 ## Prometheus Operator ServiceMonitor configuration
4630 ## @param metrics.serviceMonitor.enabled Create ServiceMonitor Resource for scraping metrics using Prometheus Operator
4633 ## @param metrics.serviceMonitor.namespace Namespace for the ServiceMonitor Resource (defaults to the Release Namespace)
4636 ## @param metrics.serviceMonitor.interval Interval at which metrics should be scraped.
4637 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
4640 ## @param metrics.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended
4641 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
4644 ## @param metrics.serviceMonitor.labels Additional labels that can be used so ServiceMonitor will be discovered by Prometheus
4647 ## @param metrics.serviceMonitor.selector Prometheus instance selector labels
4650 ## @param metrics.serviceMonitor.relabelings RelabelConfigs to apply to samples before scraping
4653 ## @param metrics.serviceMonitor.metricRelabelings MetricRelabelConfigs to apply to samples before ingestion
4655 metricRelabelings: []
4656 ## @param metrics.serviceMonitor.honorLabels Specify honorLabels parameter to add the scrape endpoint
4659 ## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in prometheus.
4662## @section External Memcached (Chunks) Parameters
4664externalMemcachedChunks:
4665 ## @param externalMemcachedChunks.host Host of a running external memcached instance
4668 ## @param externalMemcachedChunks.port Port of a running external memcached instance
4671## @section Memcached Sub-chart Parameters (Chunks)
4672## Memcached sub-chart (Chunks)
4677 repository: chainguard-private/memcached-iamguarded
4686 ## @param memcachedchunks.enabled Deploy memcached sub-chart
4689 ## @param memcachedchunks.nameOverride override the subchart name
4692 ## @param memcachedchunks.architecture Memcached architecture
4694 architecture: high-availability
4695 ## @param memcachedchunks.service.ports.memcached Memcached service port
4700 ## Memcached resource requests and limits
4701 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
4702 ## @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).
4704 resourcesPreset: "nano"
4705 ## @param memcachedchunks.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
4716## @section External Memcached (Frontend) Parameters
4718externalMemcachedFrontend:
4719 ## @param externalMemcachedFrontend.host Host of a running external memcached instance
4722 ## @param externalMemcachedFrontend.port Port of a running external memcached instance
4725## @section Memcached Sub-chart Parameters (Frontend)
4726## Memcached sub-chart (Frontend)
4731 repository: chainguard-private/memcached-iamguarded
4740 ## @param memcachedfrontend.enabled Deploy memcached sub-chart
4743 ## @param memcachedfrontend.architecture Memcached architecture
4745 architecture: high-availability
4746 ## @param memcachedfrontend.nameOverride override the subchart name
4749 ## @param memcachedfrontend.service.ports.memcached Memcached service port
4754 ## Memcached resource requests and limits
4755 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
4756 ## @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).
4758 resourcesPreset: "nano"
4759 ## @param memcachedfrontend.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
4770## @section External Memcached (Index-Queries) Parameters
4772externalMemcachedIndexQueries:
4773 ## @param externalMemcachedIndexQueries.host Host of a running external memcached instance
4776 ## @param externalMemcachedIndexQueries.port Port of a running external memcached instance
4779## @section Memcached Sub-chart Parameters (Index-Queries)
4780## Memcached sub-chart (Index-Queries)
4782memcachedindexqueries:
4785 repository: chainguard-private/memcached-iamguarded
4794 ## @param memcachedindexqueries.enabled Deploy memcached sub-chart
4797 ## @param memcachedindexqueries.architecture Memcached architecture
4799 architecture: high-availability
4800 ## @param memcachedindexqueries.nameOverride override the subchart name
4803 ## @param memcachedindexqueries.service.ports.memcached Memcached service port
4808 ## Memcached resource requests and limits
4809 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
4810 ## @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).
4812 resourcesPreset: "nano"
4813 ## @param memcachedindexqueries.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)
4824## @section External Memcached (IndexWrites) Parameters
4826externalMemcachedIndexWrites:
4827 ## @param externalMemcachedIndexWrites.host Host of a running external memcached instance
4830 ## @param externalMemcachedIndexWrites.port Port of a running external memcached instance
4833## @section Memcached Sub-chart Parameters (Index-Writes)
4834## Memcached sub-chart (Index-Writes)
4836memcachedindexwrites:
4839 repository: chainguard-private/memcached-exporter-iamguarded
4848 ## @param memcachedindexwrites.enabled Deploy memcached sub-chart
4851 ## @param memcachedindexwrites.architecture Memcached architecture
4853 architecture: high-availability
4854 ## @param memcachedindexwrites.nameOverride override the subchart name
4857 ## @param memcachedindexwrites.service.ports.memcached Memcached service port
4862 ## Memcached resource requests and limits
4863 ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
4864 ## @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).
4866 resourcesPreset: "nano"
4867 ## @param memcachedindexwrites.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads)