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
42 ## @param global.compatibility.omitEmptySeLinuxOptions If set to true, removes the seLinuxOptions from the securityContexts when it is set to an empty object
44 omitEmptySeLinuxOptions: false
46## @section Common parameters
48## @param resourceType Type of controller to use for deploying Grafana Alloy in the cluster.
49## Must be one of 'daemonset', 'deployment', or 'statefulset'.
51resourceType: 'daemonset'
52## @param replicaCount Number of pods to deploy. Ignored when resourceType is 'daemonset'.
55## @param kubeVersion Override Kubernetes version
58## @param apiVersions Override Kubernetes API versions reported by .Capabilities
61## @param nameOverride String to partially override common.names.name
64## @param fullnameOverride String to fully override common.names.fullname
67## @param namespaceOverride String to fully override common.names.namespace
70## @param commonLabels Labels to add to all deployed objects
73## @param commonAnnotations Annotations to add to all deployed objects
76## @param clusterDomain Kubernetes cluster domain name
78clusterDomain: cluster.local
79## @param extraDeploy Array of extra objects to deploy with the release
83## @param diagnosticMode.enabled Enable diagnostic mode (all probes will be disabled and the command will be overridden)
84## @param diagnosticMode.command Command to override all containers in the chart release
85## @param diagnosticMode.args Args to override all containers in the chart release
93## Configure Pods Security Context
94## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
95## @param podSecurityContext.enabled Enable Grafana Alloy pods' Security Context
96## @param podSecurityContext.fsGroupChangePolicy Set filesystem group change policy for Grafana Alloy pods
97## @param podSecurityContext.sysctls Set kernel settings using the sysctl interface for Grafana Alloy pods
98## @param podSecurityContext.supplementalGroups Set filesystem extra groups for Grafana Alloy pods
99## @param podSecurityContext.fsGroup Set fsGroup in Grafana Alloy pods' Security Context
103 fsGroupChangePolicy: Always
105 supplementalGroups: []
107## @param hostAliases Grafana Alloy pods host aliases
108## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
111## @param controllerAnnotations Annotations for Grafana Alloy controller
112## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
114controllerAnnotations: {}
115## @param podLabels Extra labels for Grafana Alloy pods
116## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
119## @param podAnnotations Annotations for Grafana Alloy pods
120## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
123## @param podAffinityPreset Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
124## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
127## @param podAntiAffinityPreset Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
128## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
130podAntiAffinityPreset: soft
131## Node affinity preset
132## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
135 ## @param nodeAffinityPreset.type Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
138 ## @param nodeAffinityPreset.key Node label key to match. Ignored if `affinity` is set
141 ## @param nodeAffinityPreset.values Node label values to match. Ignored if `affinity` is set
148## @param affinity Affinity for Grafana Alloy pods assignment
149## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
150## NOTE: `podAffinityPreset`, `podAntiAffinityPreset`, and `nodeAffinityPreset` will be ignored when it's set
153## @param nodeSelector Node labels for Grafana Alloy pods assignment
154## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
157## @param tolerations Tolerations for Grafana Alloy pods assignment
158## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
161## ONLY FOR DAEMONSETS:
162## @param updateStrategy.type Grafana Alloy daemonset strategy type
163## ref: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/#updating-a-daemonset
164## ONLY FOR DEPLOYMENTS:
165## @param updateStrategy.type Grafana Alloy deployment strategy type
166## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
167## ONLY FOR STATEFULSETS:
168## @param updateStrategy.type Grafana Alloy statefulset strategy type
169## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies
172 ## ONLY FOR DAEMONSETS:
173 ## Can be set to RollingUpdate or OnDelete
174 ## ONLY FOR DEPLOYMENTS:
175 ## Can be set to RollingUpdate or Recreate
176 ## ONLY FOR STATEFULSETS:
177 ## Can be set to RollingUpdate or OnDelete
180## ONLY FOR STATEFULSETS:
181## @param podManagementPolicy Pod management policy for Grafana Alloy statefulset
182## Ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
184podManagementPolicy: OrderedReady
185## @param priorityClassName Grafana Alloy pods' priorityClassName
188## @param topologySpreadConstraints Topology Spread Constraints for Grafana Alloy pod assignment spread across your cluster among failure-domains
189## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods
191topologySpreadConstraints: []
192## @param schedulerName Name of the k8s scheduler (other than default) for Grafana Alloy pods
193## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
196## @param terminationGracePeriodSeconds Seconds Grafana Alloy pods need to terminate gracefully
197## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods
199terminationGracePeriodSeconds: ""
200## @param sidecars Add additional sidecar containers to the Grafana Alloy pods
203## - name: your-image-name
205## imagePullPolicy: Always
208## containerPort: 1234
211## @param initContainers Add additional init containers to the Grafana Alloy pods
212## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
215## - name: your-image-name
217## imagePullPolicy: Always
218## command: ['sh', '-c', 'echo "hello world"']
221## @param extraVolumes Optionally specify extra list of additional volumes for the Grafana Alloy pods
224## Pod Disruption Budget configuration
225## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
226## @param pdb.create Enable/disable a Pod Disruption Budget creation
227## @param pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
228## @param pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `pdb.minAvailable` and `pdb.maxUnavailable` are empty.
234## Autoscaling configuration
235## ref: https://kubernetes.io/docs/concepts/workloads/autoscaling/
238 ## @param autoscaling.vpa.enabled Enable VPA for Grafana Alloy pods
239 ## @param autoscaling.vpa.annotations Annotations for VPA resource
240 ## @param autoscaling.vpa.controlledResources VPA List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory
241 ## @param autoscaling.vpa.maxAllowed VPA Max allowed resources for the pod
242 ## @param autoscaling.vpa.minAllowed VPA Min allowed resources for the pod
247 controlledResources: []
250 ## @param autoscaling.vpa.updatePolicy.updateMode Autoscaling update policy
251 ## Specifies whether recommended updates are applied when a Pod is started and whether recommended updates are applied during the life of a Pod
252 ## Possible values are "Off", "Initial", "Recreate", and "Auto".
256 ## @param autoscaling.hpa.enabled Enable HPA for Grafana Alloy pods
257 ## @param autoscaling.hpa.minReplicas Minimum number of replicas
258 ## @param autoscaling.hpa.maxReplicas Maximum number of replicas
259 ## @param autoscaling.hpa.targetCPU Target CPU utilization percentage
260 ## @param autoscaling.hpa.targetMemory Target Memory utilization percentage
268## @section Grafana Alloy parameters
270 ## Iamguarded Grafana Alloy image version
271 ## @param alloy.image.registry [default: REGISTRY_NAME] Grafana Alloy image registry
272 ## @param alloy.image.repository [default: REPOSITORY_NAME/grafana-alloy] Grafana Alloy image repository
273 ## @skip alloy.image.tag Grafana Alloy image tag (immutable tags are recommended)
274 ## @param alloy.image.pullPolicy Grafana Alloy image pull policy
275 ## @param alloy.image.pullSecrets Grafana Alloy image pull secrets
279 repository: chainguard-private/grafana-alloy-iamguarded
282 ## Specify a imagePullPolicy
283 ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
284 ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
286 pullPolicy: IfNotPresent
287 ## Optionally specify an array of imagePullSecrets.
288 ## Secrets must be manually created in the namespace.
289 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
292 ## - myRegistryKeySecretName
295 ## @param alloy.containerPorts.http Grafana Alloy HTTP container port
299 ## @param alloy.extraContainerPorts Optionally specify extra list of additional ports for Grafana Alloy containers
301 ## extraContainerPorts:
303 ## containerPort: 9090
305 extraContainerPorts: []
306 ## @param alloy.existingSecret The name of an existing Secret with your custom configuration for Grafana Alloy
309 ## @param alloy.configuration Specify content for Grafana Alloy config file. Omitted if alloy.existingSecret is provided.
315 ## @param alloy.extraConfig Append extra configuration to the default config file
318 ## @param alloy.clustering.enabled Deploy Grafana Alloy in a cluster to allow for load distribution.
319 ## @param alloy.clustering.name Name for the Grafana Alloy cluster. Used for differentiating between clusters.
320 ## @param alloy.clustering.portName Name for the port used for clustering, useful if running inside an Istio Mesh
326 ## @param alloy.stabilityLevel Minimum stability level of components and behavior to enable. Must be
327 ## one of "experimental", "public-preview", or "generally-available".
328 stabilityLevel: "generally-available"
329 ## @param alloy.listenAddr Address to listen for traffic on. 0.0.0.0 exposes the UI to other containers.
331 ## @param alloy.uiPathPrefix Base path where the UI is exposed.
333 ## @param alloy.storagePath Path to where Grafana Alloy stores data (for example, the Write-Ahead Log).
334 storagePath: /tmp/alloy
335 ## @param alloy.enableReporting Enables sending Grafana Labs anonymous usage stats to help improve Grafana Alloy.
336 enableReporting: true
337 ## @param alloy.command Override default Grafana Alloy container command (useful when using custom images)
340 ## @param alloy.args Override default Grafana Alloy container args (useful when using custom images)
343 ## @param alloy.mounts.varlog Mount /var/log from the host into the container for log collection.
344 ## @param alloy.mounts.dockercontainers Mount /var/lib/docker/containers from the host into the container for log
348 dockercontainers: true
349 ## Configure extra options for Grafana Alloy containers' startup, liveness and readiness probes
350 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
351 ## @param alloy.startupProbe.enabled Enable startupProbe on Grafana Alloy containers
352 ## @param alloy.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
353 ## @param alloy.startupProbe.periodSeconds Period seconds for startupProbe
354 ## @param alloy.startupProbe.timeoutSeconds Timeout seconds for startupProbe
355 ## @param alloy.startupProbe.failureThreshold Failure threshold for startupProbe
356 ## @param alloy.startupProbe.successThreshold Success threshold for startupProbe
360 initialDelaySeconds: 30
365 ## @param alloy.livenessProbe.enabled Enable livenessProbe on Grafana Alloy containers
366 ## @param alloy.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
367 ## @param alloy.livenessProbe.periodSeconds Period seconds for livenessProbe
368 ## @param alloy.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
369 ## @param alloy.livenessProbe.failureThreshold Failure threshold for livenessProbe
370 ## @param alloy.livenessProbe.successThreshold Success threshold for livenessProbe
374 initialDelaySeconds: 30
379 ## @param alloy.readinessProbe.enabled Enable readinessProbe on Grafana Alloy containers
380 ## @param alloy.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
381 ## @param alloy.readinessProbe.periodSeconds Period seconds for readinessProbe
382 ## @param alloy.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
383 ## @param alloy.readinessProbe.failureThreshold Failure threshold for readinessProbe
384 ## @param alloy.readinessProbe.successThreshold Success threshold for readinessProbe
388 initialDelaySeconds: 30
393 ## @param alloy.customLivenessProbe Custom livenessProbe that overrides the default one
395 customLivenessProbe: {}
396 ## @param alloy.customReadinessProbe Custom readinessProbe that overrides the default one
398 customReadinessProbe: {}
399 ## @param alloy.customStartupProbe Custom startupProbe that overrides the default one
401 customStartupProbe: {}
402 ## Grafana Alloy resource requests and limits
403 ## ref: http://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
404 ## @param alloy.resourcesPreset Set Grafana Alloy container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if alloy.resources is set (alloy.resources is recommended for production).
406 resourcesPreset: "nano"
407 ## @param alloy.resources Set Grafana Alloy container requests and limits for different resources like CPU or memory (essential for production workloads)
418 ## Configure Container Security Context
419 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
420 ## @param alloy.containerSecurityContext.enabled Enabled Grafana Alloy container's Security Context
421 ## @param alloy.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in Grafana Alloy container
422 ## @param alloy.containerSecurityContext.runAsUser Set runAsUser in Grafana Alloy container's Security Context
423 ## @param alloy.containerSecurityContext.runAsGroup Group ID for Grafana Alloy's containers
424 ## @param alloy.containerSecurityContext.runAsNonRoot Set runAsNonRoot in Grafana Alloy container's Security Context
425 ## @param alloy.containerSecurityContext.readOnlyRootFilesystem Set readOnlyRootFilesystem in Grafana Alloy container's Security Context
426 ## @param alloy.containerSecurityContext.privileged Set privileged in Grafana Alloy container's Security Context
427 ## @param alloy.containerSecurityContext.allowPrivilegeEscalation Set allowPrivilegeEscalation in Grafana Alloy container's Security Context
428 ## @param alloy.containerSecurityContext.capabilities.drop List of capabilities to be dropped in Grafana Alloy container
429 ## @param alloy.containerSecurityContext.seccompProfile.type Set seccomp profile in Grafana Alloy container
431 containerSecurityContext:
437 readOnlyRootFilesystem: true
439 allowPrivilegeEscalation: false
443 type: "RuntimeDefault"
444 ## @param alloy.lifecycleHooks for Grafana Alloy containers to automate configuration before or after startup
447 ## @param alloy.extraEnvVars Array with extra environment variables to add to Grafana Alloy containers
454 ## @param alloy.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for Grafana Alloy containers
457 ## @param alloy.extraEnvVarsSecret Name of existing Secret containing extra env vars for Grafana Alloy containers
459 extraEnvVarsSecret: ""
460 ## @param alloy.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the Grafana Alloy containers
462 extraVolumeMounts: []
463## @section ConfigMap Reload parameters
465 ## @param configReloader.enabled Enables automatically reloading when the Grafana Alloy config changes.
467 ## Iamguarded ConfigMap Reload image version
468 ## @param configReloader.image.registry [default: REGISTRY_NAME] ConfigMap Reload image registry
469 ## @param configReloader.image.repository [default: REPOSITORY_NAME/grafana-configmap-reload] ConfigMap Reload image repository
470 ## @skip configReloader.image.tag ConfigMap Reload image tag (immutable tags are recommended)
471 ## @param configReloader.image.pullPolicy ConfigMap Reload image pull policy
472 ## @param configReloader.image.pullSecrets ConfigMap Reload image pull secrets
476 repository: chainguard-private/configmap-reload-iamguarded
479 ## Specify a imagePullPolicy
480 ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
481 ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
483 pullPolicy: IfNotPresent
484 ## Optionally specify an array of imagePullSecrets.
485 ## Secrets must be manually created in the namespace.
486 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
489 ## - myRegistryKeySecretName
492 ## @param configReloader.containerPorts.http ConfigMap Reload HTTP container port
496 ## @param configReloader.extraContainerPorts Optionally specify extra list of additional ports for ConfigMap Reload containers
498 ## extraContainerPorts:
500 ## containerPort: 9090
502 extraContainerPorts: []
503 ## Configure extra options for ConfigMap Reload containers' startup, liveness and readiness probes
504 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
505 ## @param configReloader.startupProbe.enabled Enable startupProbe on ConfigMap Reload containers
506 ## @param configReloader.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
507 ## @param configReloader.startupProbe.periodSeconds Period seconds for startupProbe
508 ## @param configReloader.startupProbe.timeoutSeconds Timeout seconds for startupProbe
509 ## @param configReloader.startupProbe.failureThreshold Failure threshold for startupProbe
510 ## @param configReloader.startupProbe.successThreshold Success threshold for startupProbe
514 initialDelaySeconds: 30
519 ## @param configReloader.livenessProbe.enabled Enable livenessProbe on ConfigMap Reload containers
520 ## @param configReloader.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
521 ## @param configReloader.livenessProbe.periodSeconds Period seconds for livenessProbe
522 ## @param configReloader.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
523 ## @param configReloader.livenessProbe.failureThreshold Failure threshold for livenessProbe
524 ## @param configReloader.livenessProbe.successThreshold Success threshold for livenessProbe
528 initialDelaySeconds: 30
533 ## @param configReloader.readinessProbe.enabled Enable readinessProbe on ConfigMap Reload containers
534 ## @param configReloader.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
535 ## @param configReloader.readinessProbe.periodSeconds Period seconds for readinessProbe
536 ## @param configReloader.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
537 ## @param configReloader.readinessProbe.failureThreshold Failure threshold for readinessProbe
538 ## @param configReloader.readinessProbe.successThreshold Success threshold for readinessProbe
542 initialDelaySeconds: 30
547 ## @param configReloader.customLivenessProbe Custom livenessProbe that overrides the default one
549 customLivenessProbe: {}
550 ## @param configReloader.customReadinessProbe Custom readinessProbe that overrides the default one
552 customReadinessProbe: {}
553 ## @param configReloader.customStartupProbe Custom startupProbe that overrides the default one
555 customStartupProbe: {}
556 ## Grafana ConfigMap Reload resource requests and limits
557 ## ref: http://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
558 ## @param configReloader.resourcesPreset Set ConfigMap Reload container resources according to one common preset (allowed values: none, nano, small, medium, large, xlarge, 2xlarge). This is ignored if configReloader.resources is set (configReloader.resources is recommended for production).
560 resourcesPreset: "nano"
561 ## @param configReloader.resources Set ConfigMap Reload container requests and limits for different resources like CPU or memory (essential for production workloads)
572 ## Configure Container Security Context
573 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
574 ## @param configReloader.containerSecurityContext.enabled Enabled ConfigMap Reload container's Security Context
575 ## @param configReloader.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in ConfigMap Reload container
576 ## @param configReloader.containerSecurityContext.runAsUser Set runAsUser in ConfigMap Reload container's Security Context
577 ## @param configReloader.containerSecurityContext.runAsGroup Group ID for ConfigMap Reload's containers
578 ## @param configReloader.containerSecurityContext.runAsNonRoot Set runAsNonRoot in ConfigMap Reload container's Security Context
579 ## @param configReloader.containerSecurityContext.readOnlyRootFilesystem Set readOnlyRootFilesystem in ConfigMap Reload container's Security Context
580 ## @param configReloader.containerSecurityContext.privileged Set privileged inConfigMap Reload container's Security Context
581 ## @param configReloader.containerSecurityContext.allowPrivilegeEscalation Set allowPrivilegeEscalation in ConfigMap Reload container's Security Context
582 ## @param configReloader.containerSecurityContext.capabilities.drop List of capabilities to be dropped in ConfigMap Reload container
583 ## @param configReloader.containerSecurityContext.seccompProfile.type Set seccomp profile in ConfigMap Reload container
585 containerSecurityContext:
591 readOnlyRootFilesystem: true
593 allowPrivilegeEscalation: false
597 type: "RuntimeDefault"
598 ## @param configReloader.command Override default ConfigMap Reload container command (useful when using custom images)
601 ## @param configReloader.args Override default ConfigMap Reload container args (useful when using custom images)
604 ## @param configReloader.lifecycleHooks for Grafana Alloy containers to automate configuration before or after startup
607 ## @param configReloader.extraEnvVars Array with extra environment variables to add to Grafana Alloy containers
614 ## @param configReloader.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for ConfigMap Reload containers
617 ## @param configReloader.extraEnvVarsSecret Name of existing Secret containing extra env vars for ConfigMap Reload containers
619 extraEnvVarsSecret: ""
620 ## @param configReloader.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the ConfigMap Reload containers
622 extraVolumeMounts: []
623## @section Traffic Exposure Parameters
626## Grafana Alloy service parameters
629 ## @param service.type Grafana Alloy service type
632 ## @param service.ports.http Grafana Alloy service HTTP port
636 ## Node ports to expose
637 ## @param service.nodePorts.http Node port for HTTP
638 ## NOTE: choose port between <30000-32767>
642 ## @param service.clusterIP Grafana Alloy service Cluster IP
647 ## @param service.loadBalancerIP Grafana Alloy service Load Balancer IP
648 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer
651 ## @param service.loadBalancerSourceRanges Grafana Alloy service Load Balancer sources
652 ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service
654 ## loadBalancerSourceRanges:
657 loadBalancerSourceRanges: []
658 ## @param service.externalTrafficPolicy Grafana Alloy service external traffic policy
659 ## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
661 externalTrafficPolicy: Cluster
662 ## @param service.annotations Additional custom annotations for Grafana Alloy service
665 ## @param service.extraPorts Extra ports to expose in Grafana Alloy service (normally used with the `sidecars` value)
668 ## @param service.sessionAffinity Control where client requests go, to the same pod or round-robin
669 ## Values: ClientIP or None
670 ## ref: https://kubernetes.io/docs/concepts/services-networking/service/
672 sessionAffinity: None
673 ## @param service.sessionAffinityConfig Additional settings for the sessionAffinity
674 ## sessionAffinityConfig:
676 ## timeoutSeconds: 300
678 sessionAffinityConfig: {}
680## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
683 ## @param networkPolicy.enabled Specifies whether a NetworkPolicy should be created
686 ## @param networkPolicy.allowExternal Don't require server label for connections
687 ## The Policy model to apply. When set to false, only pods with the correct
688 ## server label will have network access to the ports server is listening
689 ## on. When true, server will accept connections from any source
690 ## (with the correct destination port).
693 ## @param networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations.
695 allowExternalEgress: true
696 ## @param networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `networkPolicy.allowExternal` is true.
698 addExternalClientAccess: true
699 ## @param networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy
709 ## - matchExpressions:
715 ## @param networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy (ignored if allowExternalEgress=true)
725 ## - matchExpressions:
732 ## @param networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `networkPolicy.allowExternal` is true.
734 ## ingressPodMatchLabels:
737 ingressPodMatchLabels: {}
738 ## @param networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `networkPolicy.allowExternal` is true.
739 ## @param networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `networkPolicy.allowExternal` is true.
741 ingressNSMatchLabels: {}
742 ingressNSPodMatchLabels: {}
743## Grafana Alloy ingress parameters
744## ref: http://kubernetes.io/docs/concepts/services-networking/ingress/
747 ## @param ingress.enabled Enable ingress record generation for Grafana Alloy
750 ## @param ingress.pathType Ingress path type
753 ## @param ingress.apiVersion Force Ingress API version (automatically detected if not set)
756 ## @param ingress.hostname Default host for the ingress record
758 hostname: alloy.local
759 ## @param ingress.ingressClassName IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)
760 ## This is supported in Kubernetes 1.18+ and required if you have more than one IngressClass marked as the default for your cluster .
761 ## ref: https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/
764 ## @param ingress.path Default path for the ingress record
765 ## NOTE: You may need to set this to '/*' in order to use this with ALB ingress controllers
768 ## @param ingress.annotations Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.
769 ## Use this parameter to set the required annotations for cert-manager, see
770 ## ref: https://cert-manager.io/docs/usage/ingress/#supported-annotations
773 ## kubernetes.io/ingress.class: nginx
774 ## cert-manager.io/cluster-issuer: cluster-issuer-name
777 ## @param ingress.tls Enable TLS configuration for the host defined at `ingress.hostname` parameter
778 ## TLS certificates will be retrieved from a TLS secret with name: `{{- printf "%s-tls" .Values.ingress.hostname }}`
780 ## - Use the `ingress.secrets` parameter to create this TLS secret
781 ## - Rely on cert-manager to create it by setting the corresponding annotations
782 ## - Rely on Helm to create self-signed certificates by setting `ingress.selfSigned=true`
785 ## @param ingress.selfSigned Create a TLS secret for this ingress record using self-signed certificates generated by Helm
788 ## @param ingress.extraHosts An array with additional hostname(s) to be covered with the ingress record
791 ## - name: alloy.local
795 ## @param ingress.extraPaths An array with additional arbitrary paths that may need to be added to the ingress under the main host
800 ## serviceName: ssl-redirect
801 ## servicePort: use-annotation
804 ## @param ingress.extraTls TLS configuration for additional hostname(s) to be covered with this ingress record
805 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
810 ## secretName: alloy.local-tls
813 ## @param ingress.secrets Custom TLS certificates as secrets
814 ## NOTE: 'key' and 'certificate' are expected in PEM format
815 ## NOTE: 'name' should line up with a 'secretName' set further up
816 ## 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
817 ## If it is not set and you're NOT using cert-manager either, self-signed certificates will be created valid for 365 days
818 ## It is also possible to create and manage the certificates outside of this helm chart
819 ## Please see README.md for more information
822 ## - name: alloy.local-tls
824 ## -----BEGIN RSA PRIVATE KEY-----
826 ## -----END RSA PRIVATE KEY-----
828 ## -----BEGIN CERTIFICATE-----
830 ## -----END CERTIFICATE-----
833 ## @param ingress.extraRules Additional rules to be covered with this ingress record
834 ## ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-rules
837 ## - host: example.local
847## @section Other Parameters
853 ## @param rbac.create Specifies whether RBAC resources should be created
856 ## @param rbac.rules Custom RBAC rules to set
868## ServiceAccount configuration
871 ## @param serviceAccount.create Specifies whether a ServiceAccount should be created
874 ## @param serviceAccount.name The name of the ServiceAccount to use.
875 ## If not set and create is true, a name is generated using the common.names.fullname template
878 ## @param serviceAccount.annotations Additional Service Account annotations (evaluated as a template)
881 ## @param serviceAccount.automountServiceAccountToken Automount service account token for the server service account
883 automountServiceAccountToken: true
887 ## @param metrics.enabled Enable the export of Prometheus metrics
890 ## Prometheus Operator ServiceMonitor configuration
893 ## @param metrics.serviceMonitor.enabled if `true`, creates a Prometheus Operator ServiceMonitor (also requires `metrics.enabled` to be `true`)
896 ## @param metrics.serviceMonitor.namespace Namespace in which Prometheus is running
899 ## @param metrics.serviceMonitor.annotations Additional custom annotations for the ServiceMonitor
902 ## @param metrics.serviceMonitor.labels Extra labels for the ServiceMonitor
905 ## @param metrics.serviceMonitor.jobLabel The name of the label on the target service to use as the job name in Prometheus
908 ## @param metrics.serviceMonitor.honorLabels honorLabels chooses the metric's labels on collisions with target labels
911 ## @param metrics.serviceMonitor.interval Interval at which metrics should be scraped.
912 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
917 ## @param metrics.serviceMonitor.scrapeTimeout Timeout after which the scrape is ended
918 ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
920 ## scrapeTimeout: 10s
923 ## @param metrics.serviceMonitor.metricRelabelings Specify additional relabeling of metrics
925 metricRelabelings: []
926 ## @param metrics.serviceMonitor.relabelings Specify general relabeling
929 ## @param metrics.serviceMonitor.selector Prometheus instance selector labels
931 ## prometheus: my-prometheus