2 # -- Overrides the Docker registry globally for all images
4 # To help compatibility with other charts which use global.imagePullSecrets.
5 # Allow either an array of {name: pullSecret} maps (k8s-style), or an array of strings (more common helm-style).
19 ## Use an existing ClusterRole/Role (depending on rbac.namespaced false/true)
20 # useExistingRole: name-of-some-role
21 # useExistingClusterRole: name-of-some-clusterRole
25 # Only has an effect if namespaced: true is set
31 extraClusterRoleRules: []
39 ## ServiceAccount labels.
41 ## Service account annotations. Can be templated.
43 # eks.amazonaws.com/role-arn: arn:aws:iam::123456789000:role/iam-role-name-here
45 ## autoMount is deprecated in favor of automountServiceAccountToken
47 automountServiceAccountToken: false
49## Create a headless service for the deployment
51## Should the service account be auto mounted on the pod
52automountServiceAccountToken: true
53## Create HorizontalPodAutoscaler object for deployment type
62## See `kubectl explain poddisruptionbudget.spec` for more
63## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
64podDisruptionBudget: {}
68# unhealthyPodEvictionPolicy: IfHealthyBudget
70## See `kubectl explain deployment.spec.strategy` for more
71## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
74## The maximum time in seconds for a Deployment to make progress before it is considered to be failed.
75## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#progress-deadline-seconds
76progressDeadlineSeconds: null
77## Startup probe. Holds off the liveness and readiness probes until it succeeds, useful for slow starts.
78## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
88 initialDelaySeconds: 60
91## Use an alternate scheduler, e.g. "stork".
92## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
94# schedulerName: "default-scheduler"
96 # -- The Docker registry
98 # -- Docker image repository
99 repository: scratch-images/test-tmp/grafana
100 # Overrides the Grafana image tag whose default is the chart appVersion
102 sha: sha256:38b3bcfb688cafd6f6d2517bb5d5532751660aa3a780ea31222df6d7a434bf26
103 pullPolicy: IfNotPresent
104 ## Optionally specify an array of imagePullSecrets.
105 ## Secrets must be manually created in the namespace.
106 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
110 # - myRegistrKeySecretName
113 ## The type of Helm hook used to run this test. Defaults to test.
114 ## ref: https://helm.sh/docs/topics/charts_hooks/#the-available-hooks
118 # -- The Docker registry
120 repository: bats/bats
122 imagePullPolicy: IfNotPresent
124 containerSecurityContext: {}
132# dns configuration for pod
148containerSecurityContext:
149 allowPrivilegeEscalation: false
156 readOnlyRootFilesystem: true
157# Enable creating the grafana configmap
159# Extra configmaps to mount in grafana pods
160# Values are templated.
161extraConfigmapMounts: []
162# - name: certs-configmap
163# mountPath: /etc/grafana/ssl/
164# subPath: certificates.crt # (optional)
165# configMap: certs-configmap
169extraEmptyDirMounts: []
170# - name: provisioning-notifiers
171# mountPath: /etc/grafana/provisioning/notifiers
173# Shadow `/usr/share/grafana/data/plugins-bundled` with an emptyDir so plugins
174# listed under `plugins:` install cleanly into `/var/lib/grafana/plugins` instead
175# of failing on the read-only bundled directory shipped in the Grafana image.
176# Required for plugins moved out of core in Grafana 13 (e.g. `elasticsearch`,
177# `cloudwatch`) when listed in `plugins:`. Side effect: any bundled plugin not
178# explicitly listed in `plugins:` will not be available.
179shadowBundledPlugins: false
180# Apply extra labels to common labels.
182## Assign a PriorityClassName to pods if set
184downloadDashboardsImage:
185 # -- The Docker registry
187 repository: chainguard-private/curl
189 sha: sha256:1af3434d459c184cf7af170d1c0a8a62d51150992227c2c82500f96740818c0c
190 pullPolicy: IfNotPresent
196 allowPrivilegeEscalation: false
205 # name: configmap-name
210## ConfigMap Annotations
211# configMapAnnotations: {}
212# argocd.argoproj.io/sync-options: Replace=true
217gossipPortName: gossip
218## Deployment annotations
221## Expose the grafana service to be accessed from outside the cluster (LoadBalancer service).
222## or access it from within the cluster (ClusterIP service). Set the service type and the port to serve it.
223## ref: http://kubernetes.io/docs/user-guide/services/
228 # Set the ip family policy to configure dual-stack see [Configure dual-stack](https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services)
230 # Sets the families that should be supported and the order in which they should be applied to ClusterIP as well. Can be IPv4 and/or IPv6.
233 loadBalancerClass: ""
234 loadBalancerSourceRanges: []
237 # targetPort: 4181 To be used with a proxy extraContainer
238 ## Service annotations. Can be templated.
242 # Adds the appProtocol field to the service. This allows to work with istio protocol selection. Ex: "http" or "tcp"
245 # trafficDistribution allows specifying how traffic is distributed to Service endpoints.
246 # Valid values: "" (default - standard load balancing),"PreferSameZone" (K8s 1.34+), "PreferSameNode" (K8s 1.35+), "PreferClose" (deprecated, use PreferSameZone),
247 trafficDistribution: ""
249 ## If true, a ServiceMonitor CR is created for a prometheus operator
250 ## https://github.com/coreos/prometheus-operator
254 # namespace: monitoring (defaults to use the namespace this chart is deployed to)
256 # Set these to override the Prometheus global scrape interval/timeout.
262 metricRelabelings: []
270# overrides pod.spec.hostAliases in the grafana deployment's pods
278 # ingressClassName: nginx
279 # Values can be templated
281 # kubernetes.io/ingress.class: nginx
282 # kubernetes.io/tls-acme: "true"
287 - chart-example.local
288 ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services.
296 # name: use-annotation
299 # - secretName: chart-example-tls
301 # - chart-example.local
302# -- BETA: Configure the gateway routes for the chart here.
303# More routes can be added by adding a dictionary key like the 'main' route.
304# Be aware that this is an early beta of this feature,
305# kube-prometheus-stack does not guarantee this works and is subject to change.
306# Being BETA this can/will change in the future without notice, do not use unless you want to take that risk
307# [[ref]](https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io%2fv1alpha2)
310 # -- Enables or disables the route
312 # -- Set the route apiVersion, e.g. gateway.networking.k8s.io/v1 or gateway.networking.k8s.io/v1alpha2
313 apiVersion: gateway.networking.k8s.io/v1
314 # -- Set the route kind
315 # Valid options are GRPCRoute, HTTPRoute, TCPRoute, TLSRoute, UDPRoute
320 # - my-filter.example.com
328 ## Timeouts define the timeouts that can be configured for an HTTP request.
329 ## Ref. https://gateway-api.sigs.k8s.io/api-types/httproute/#timeouts-optional
334 ## SessionPersistence defines and configures session persistence for the route rule.
335 ## Ref. https://gateway-api.sigs.k8s.io/geps/gep-1619/
336 sessionPersistence: {}
337 # sessionName: grafana-session
339 # absoluteTimeout: 48h
341 # lifetimeType: Permanent
343 ## Filters define the filters that are applied to requests that match this rule.
345 ## Additional custom rules that can be added to the route
347 ## httpsRedirect adds a filter for redirecting to https (HTTP 301 Moved Permanently).
348 ## To redirect HTTP traffic to HTTPS, you need to have a Gateway with both HTTP and HTTPS listeners.
349 ## Matches and filters do not take effect if enabled.
350 ## Ref. https://gateway-api.sigs.k8s.io/guides/http-redirect-rewrite/
352# -- BETA: Configure Gateway API ListenerSet resources for the chart here.
353# ListenerSet allows attaching additional listeners to an existing Gateway.
354# More listener sets can be added by adding a dictionary key like the 'main' entry.
355# Being BETA this can/will change in the future without notice, do not use unless you want to take that risk
356# [[ref]](https://gateway-api.sigs.k8s.io/reference/api-spec/main/spec/#listenerset)
359 # -- Enables or disables the listener set
361 # -- Set the ListenerSet apiVersion, e.g. gateway.networking.k8s.io/v1
362 apiVersion: gateway.networking.k8s.io/v1
365 # -- Reference to the parent Gateway this ListenerSet attaches to
369 # group: gateway.networking.k8s.io
372 # -- List of listeners to attach to the parent Gateway
377 # hostname: grafana.example.com
381 # - name: grafana-tls
393## Configure the GOMEMLIMIT environment variable.
394## When enabled and resources.limits.memory is set, GOMEMLIMIT is injected
395## as a computed value (factor × memory limit) unless the user has already
396## defined GOMEMLIMIT via env or envValueFrom.
398 # -- Enable automatic GOMEMLIMIT injection.
400 # -- Fraction of resources.limits.memory to use as GOMEMLIMIT (e.g. 0.9 = 90 %).
402## Node labels for pod assignment
403## ref: https://kubernetes.io/docs/user-guide/node-selection/
406## Tolerations for pod assignment
407## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
410## Affinity for pod assignment (evaluated as template)
411## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
414## Topology Spread Constraints
415## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
417topologySpreadConstraints: []
418## Additional init containers (evaluated as template)
419## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
421extraInitContainers: []
422## Enable an Specify container in extraContainers. This is meant to allow adding an authentication proxy to a grafana pod
426# image: quay.io/gambol99/keycloak-proxy:latest
431# - -github-org=<ORG_NAME>
434# - -http-address=http://0.0.0.0:4181
435# - -upstream-url=http://127.0.0.1:3000
440## Volumes that can be used in init containers that will not be mounted to deployment pods
441extraContainerVolumes: []
442# - name: volume-from-secret
444# secretName: secret-to-mount
445# - name: empty-dir-volume
448## Enable persistence using Persistent Volume Claims
449## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/
454 # storageClassName: default
455 ## (Optional) Use this to bind the claim to an existing PersistentVolume (PV) by name.
462 - kubernetes.io/pvc-protection
464 ## Sub-directory of the PV to mount. Can be templated.
466 ## Name of an existing PVC. Can be templated.
468 ## Extra labels to apply to a PVC.
470 disableWarning: false
471 ## Configure StatefulSet persistent volume claim retention policy.
472 ## This is ignored when Grafana is configured to use a Deployment with a PVC.
473 ## By default, Kubernetes uses Retain for both whenDeleted and whenScaled.
474 persistentVolumeClaimRetentionPolicy: {}
475 # whenDeleted: Retain
478 ## If persistence is not enabled, this allows to mount the
479 ## local storage in-memory to improve performance
483 ## The maximum usage on memory medium EmptyDir would be
484 ## the minimum value between the SizeLimit specified
485 ## here and the sum of memory limits of all containers in a pod
488 ## If 'lookupVolumeName' is set to true, Helm will attempt to retrieve
489 ## the current value of 'spec.volumeName' and incorporate it into the template.
490 lookupVolumeName: true
492 ## If false, data ownership will not be reset at startup
493 ## This allows the grafana-server to be run with an arbitrary user
496 ## initChownData container image
499 # -- The Docker registry
501 repository: scratch-images/test-tmp/busybox
503 sha: sha256:f58f36e1a829585dd613459ccdf22301a787d25dd07b6ac45047cf1129933cf1
504 pullPolicy: IfNotPresent
505 ## initChownData resource requests and limits
506 ## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
516 readOnlyRootFilesystem: false
527# Administrator credentials when not using an existing secret (see below)
529# adminPassword: strongpassword
531# Use an existing secret for the admin user.
533 ## Name of the secret. Can be templated.
536 passwordKey: admin-password
537## Define command to be executed at startup by grafana container
538## Needed if using `vault-env` to manage secrets (ref: https://banzaicloud.com/blog/inject-secrets-into-pods-vault/)
539## The default distroless image starts Grafana directly and does not contain a shell or `/run.sh`.
541# - "/path/to/your/entrypoint"
543## Optionally define args if command is used
544## Needed if using `hashicorp/envconsul` to manage secrets
545## By default no arguments are set
551## Extra environment variables that will be pass onto deployment pods
553## to provide grafana with access to CloudWatch on AWS EKS:
554## 1. create an iam role of type "Web identity" with provider oidc.eks.* (note the provider for later)
555## 2. edit the "Trust relationships" of the role, add a line inside the StringEquals clause using the
556## same oidc eks provider as noted before (same as the existing line)
557## also, replace NAMESPACE and prometheus-operator-grafana with the service account namespace and name
559## "oidc.eks.us-east-1.amazonaws.com/id/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:sub": "system:serviceaccount:NAMESPACE:prometheus-operator-grafana",
561## 3. attach a policy to the role, you can use a built in policy called CloudWatchReadOnlyAccess
562## 4. use the following env: (replace 123456789000 and iam-role-name-here with your aws account number and role name)
565## AWS_ROLE_ARN: arn:aws:iam::123456789000:role/iam-role-name-here
566## AWS_WEB_IDENTITY_TOKEN_FILE: /var/run/secrets/eks.amazonaws.com/serviceaccount/token
567## AWS_REGION: us-east-1
569## 5. uncomment the EKS section in extraSecretMounts: below
570## 6. uncomment the annotation section in the serviceAccount: above
571## make sure to replace arn:aws:iam::123456789000:role/iam-role-name-here with your role arn
573## "valueFrom" environment variable references that will be added to deployment pods. Name is templated.
574## ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#envvarsource-v1-core
575## Renders in container spec as:
580## <value rendered as YAML>
584# name: configmap-name
587## The name of a secret in the same kubernetes namespace which contain values to be added to the environment
588## This can be useful for auth tokens, etc. Value is templated.
590## Sensible environment variables that will be rendered as new secret object
591## This can be useful for auth tokens, etc.
592## If the secret values contains "{{", they'll need to be properly escaped so that they are not interpreted by Helm
593## ref: https://helm.sh/docs/howto/charts_tips_and_tricks/#using-the-tpl-function
595## The names of secrets in the same kubernetes namespace which contain values to be added to the environment
596## Each entry should contain a name key, and can optionally specify whether the secret must be defined with an optional key.
599## - name: secret-name
603## The names of configmaps in the same kubernetes namespace which contain values to be added to the environment
604## Each entry should contain a name key, and can optionally specify whether the configmap must be defined with an optional key.
606## ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#configmapenvsource-v1-core
608## - name: configmap-name
612# Inject Kubernetes services as environment variables.
613# See https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/#environment-variables
614enableServiceLinks: true
615## Additional grafana server secret mounts
616# Defines additional mounts with secrets. Secrets must be manually created in the namespace.
618# - name: secret-files
619# mountPath: /etc/secrets
620# secretName: grafana-secret-files
625# for AWS EKS (cloudwatch) use the following (see also instruction in env: above)
626# - name: aws-iam-token
627# mountPath: /var/run/secrets/eks.amazonaws.com/serviceaccount
632# - serviceAccountToken:
633# audience: sts.amazonaws.com
634# expirationSeconds: 86400
637# for CSI e.g. Azure Key Vault use the following
638# - name: secrets-store-inline
639# mountPath: /run/secrets/vault.azure.com
642# driver: secrets-store.csi.k8s.io
645# secretProviderClass: "akv-grafana-spc"
646# nodePublishSecretRef: # Only required when using service principal mode
647# name: grafana-akv-creds # Only required when using service principal mode
649## Additional grafana server volume mounts
650# Defines additional volume mounts.
652# - name: extra-volume-0
653# mountPath: /mnt/volume0
655# - name: extra-volume-1
656# mountPath: /mnt/volume1
658# - name: grafana-secrets
659# mountPath: /mnt/volume2
661## Additional Grafana server volumes
663# - name: extra-volume-0
664# existingClaim: volume-claim
665# - name: extra-volume-1
669# - name: grafana-secrets
671# driver: secrets-store.csi.k8s.io
674# secretProviderClass: "grafana-env-spc"
676## Container Lifecycle Hooks. Execute a specific bash command or make an HTTP request
682## Pass the plugins you want installed as a list.
685# - digrich-bubblechart-panel
686# - grafana-clock-panel
687## You can also use other plugin download URL, as long as they are valid zip files,
688## and specify the name of the plugin as prefix, with an version. Like this:
689# - marcusolsson-json-datasource@1.3.24@https://grafana.com/api/plugins/marcusolsson-json-datasource/versions/1.3.24/download
691## Configure grafana datasources
692## ref: http://docs.grafana.org/administration/provisioning/#datasources
700# url: http://prometheus-prometheus-server
710# defaultRegion: us-east-1
711# deleteDatasources: []
714## Configure grafana alerting (can be templated)
715## ref: https://docs.grafana.com/alerting/set-up/provision-alerting-resources/file-provisioning/
728# name: '{{ .Chart.Name }}_my_rule_group'
729# folder: my_first_folder
733# title: my_first_rule
737# datasourceUid: '-100'
757# maxDataPoints: 43200
760# dashboardUid: my_dashboard
762# noDataState: Alerting
765# some_key: some_value
785# {{ `{{ include "default.message" . }}` }}
791# name: my_first_template
794# {{ define "my_first_template" }}
795# Custom notification message
804# # refer to https://prometheus.io/docs/alerting/latest/configuration/#time_interval-0
807## Configure notifiers
808## ref: http://docs.grafana.org/administration/provisioning/#alert-notification-channels
813# - name: email-notifier
822# addresses: an_email_address@example.com
825## Configure grafana dashboard providers
826## ref: http://docs.grafana.org/administration/provisioning/#dashboards
828## `path` must be /var/lib/grafana/dashboards/<provider_name>
830dashboardProviders: {}
831# dashboardproviders.yaml:
838# disableDeletion: false
841# path: /var/lib/grafana/dashboards/default
843## Configure how curl fetches remote dashboards. The beginning dash is required.
844## NOTE: This sets the default short flags for all dashboards, but these
845## defaults can be overridden individually for each dashboard by setting
846## curlOptions. See the example dashboards section below.
849## -k - allow insecure (eg: non-TLS) connections
851## See the curl documentation for additional options
853defaultCurlOptions: "-skf"
854## Configure shell options for downloading dashboards. The beginning dash is added automatically.
855## Add `x` to enable command tracing. This can expose sensitive values in logs.
857defaultShellOptions: "eufo pipefail"
858## Configure grafana dashboard to import
859## NOTE: To use dashboards you must also enable/configure dashboardProviders
860## ref: https://grafana.com/dashboards
862## dashboards per provider, use provider name as key.
863## For dashboards downloaded via gnetId or url, the optional "title" key overrides
864## the dashboard title in the downloaded JSON so the UI displays your custom title.
872# file: dashboards/custom-dashboard.json
874# title: My Custom Dashboard Title # optional; overrides the dashboard title in the downloaded JSON
877# datasource: Prometheus
879# url: https://example.com/repository/test.json
882# local-dashboard-base64:
883# url: https://example.com/repository/test-b64.json
886# local-dashboard-gitlab:
887# url: https://example.com/repository/test-gitlab.json
889# local-dashboard-bitbucket:
890# url: https://example.com/repository/test-bitbucket.json
892# local-dashboard-azure:
893# url: https://example.com/repository/test-azure.json
897## Reference to external ConfigMap per provider. Use provider name as key and ConfigMap name as value.
898## A provider dashboards must be defined either by external ConfigMaps or in values.yaml, not in both.
899## ConfigMap data example:
902## example-dashboard.json: |
905dashboardsConfigMaps: {}
908## Grafana's primary configuration
909## NOTE: values in map will be converted to ini format
910## ref: http://docs.grafana.org/installation/configuration/
914 data: /var/lib/grafana/
915 logs: /var/log/grafana
916 plugins: /var/lib/grafana/plugins
917 provisioning: /etc/grafana/provisioning
919 check_for_updates: true
923 domain: "{{ if (and .Values.ingress.enabled .Values.ingress.hosts) }}{{ tpl (.Values.ingress.hosts | first) . }}{{ else if (and .Values.route.main.enabled .Values.route.main.hostnames) }}{{ tpl (.Values.route.main.hostnames | first) . }}{{ else }}''{{ end }}"
925 index_path: /var/lib/grafana-search/bleve
926 ## grafana Authentication can be enabled with the following values on grafana.ini
928 # The full public facing url you use in browser, used for redirects and emails
930 # https://grafana.com/docs/grafana/latest/auth/github/#enable-github-in-grafana
933 # allow_sign_up: false
934 # scopes: user:email,read:org
935 # auth_url: https://github.com/login/oauth/authorize
936 # token_url: https://github.com/login/oauth/access_token
937 # api_url: https://api.github.com/user
939 # allowed_organizations:
942## LDAP Authentication can be enabled with the following values on grafana.ini
943## NOTE: Grafana will fail to start if the value for ldap.toml is invalid
947# config_file: /etc/grafana/ldap.toml
948## Grafana's alerting configuration
951# rule_version_record_limit: "5"
953## Grafana's LDAP configuration
954## Templated by the template in _helpers.tpl
955## NOTE: To enable the grafana.ini must be configured with auth.ldap.enabled
956## ref: http://docs.grafana.org/installation/configuration/#auth-ldap
957## ref: http://docs.grafana.org/installation/ldap/#configuration
960 # `existingSecret` is a reference to an existing secret containing the ldap configuration
961 # for Grafana in a key `ldap-toml`.
963 # `config` is the content of `ldap.toml` that will be stored in the created secret
966 # verbose_logging = true
968# host = "my-ldap-server"
972# ssl_skip_verify = false
973# bind_dn = "uid=%s,ou=users,dc=myorg,dc=com"
975# When process namespace sharing is enabled, processes in a container are visible to all other containers in the same pod
976# This parameter is added because the ldap reload api is not working https://grafana.com/docs/grafana/latest/developers/http_api/admin/#reload-ldap-configuration
977# To allow an extraContainer to restart the Grafana container
978shareProcessNamespace: false
979## Grafana's SMTP configuration
980## NOTE: To enable, grafana.ini must be configured with smtp.enabled
981## ref: http://docs.grafana.org/installation/configuration/#smtp
983 # `existingSecret` is a reference to an existing secret containing the smtp configuration
987 passwordKey: "password"
988## Sidecars that collect the configmaps with specified label and stores the included files them into the respective folders
989## Requires at least Grafana 5 to work and can't be used together with parameters dashboardProviders, datasources and dashboards
992 # -- The Docker registry
994 repository: scratch-images/test-tmp/k8s-sidecar
996 sha: sha256:46642034de7c0b26d01c2d4e5bc481c45645f854eacdb65a45a467a035399351
997 imagePullPolicy: IfNotPresent
1006 allowPrivilegeEscalation: false
1011 type: RuntimeDefault
1012 # Set to true to skip tls verification for kube api calls. Can be overridden per sidecar
1013 # skipTlsVerify: true
1014 enableUniqueFilenames: false
1017 # Log level default for all sidecars. Can be one of: DEBUG, INFO, WARN, ERROR, CRITICAL. Defaults to INFO
1021 # Additional environment variables for the alerts sidecar
1023 ## "valueFrom" environment variable references that will be added to deployment pods. Name is templated.
1024 ## ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#envvarsource-v1-core
1025 ## Renders in container spec as:
1030 ## <value rendered as YAML>
1034 # name: configmap-name
1036 # Do not reprocess already processed unchanged resources on k8s API reconnect.
1037 # ignoreAlreadyProcessed: true
1038 # Set to true to skip tls verification for kube api calls. Overrides sidecar.skipTlsVerify
1039 # skipTlsVerify: true
1040 # label that the configmaps with alert are marked with (can be templated)
1041 label: grafana_alert
1042 # value of label that the configmaps with alert are set to (can be templated)
1044 # Log level. Can be one of: DEBUG, INFO, WARN, ERROR, CRITICAL.
1046 # If specified, the sidecar will search for alert config-maps inside this namespace.
1047 # Otherwise the namespace in which the sidecar is running will be used.
1048 # It's also possible to specify ALL to search in all namespaces
1049 searchNamespace: null
1050 # Method to use to detect ConfigMap changes. With WATCH the sidecar will do a WATCH requests, with SLEEP it will list all ConfigMaps, then sleep for 60 seconds.
1052 # search in configmap, secret or both
1055 # resourceName: comma separated list of resource names to be fetched/checked by this sidecar.
1056 # per default all resources of the type defined in {{ .Values.sidecar.alerts.resource }} will be checked.
1057 # This e.g. allows stricter RBAC rules which are limited to the resources meant for the sidecars.
1058 # resourceName: "secret/alerts-1,configmap/alerts-0"
1061 # watchServerTimeout: request to the server, asking it to cleanly close the connection after that.
1062 # defaults to 60sec; much higher values like 3600 seconds (1h) are feasible for non-Azure K8S
1063 # watchServerTimeout: 3600
1065 # watchClientTimeout: is a client-side timeout, configuring your local socket.
1066 # If you have a network outage dropping all packets with no RST/FIN,
1067 # this is how long your client waits before realizing & dropping the connection.
1068 # defaults to 66sec (sic!)
1069 # watchClientTimeout: 60
1071 # maxTotalRetries: Total number of retries to allow for any http request.
1072 # Takes precedence over other counts. Applies to all requests to reloadURL and k8s api requests.
1073 # Set to 0 to fail on the first retry.
1074 # maxTotalRetries: 5
1076 # maxConnectRetries: How many connection-related errors to retry on for any http request.
1077 # These are errors raised before the request is sent to the remote server, which we assume has not triggered the server to process the request.
1078 # Applies to all requests to reloadURL and k8s api requests.
1079 # Set to 0 to fail on the first retry of this type.
1080 # maxConnectRetries: 10
1082 # maxReadRetries: How many times to retry on read errors for any http request
1083 # These errors are raised after the request was sent to the server, so the request may have side-effects.
1084 # Applies to all requests to reloadURL and k8s api requests.
1085 # Set to 0 to fail on the first retry of this type.
1088 # Endpoint to send request to reload alerts
1089 reloadURL: "http://localhost:3000/api/admin/provisioning/alerting/reload"
1090 # Absolute path to a script to execute after a configmap got reloaded.
1091 # It runs before calls to REQ_URI. If the file is not executable it will be passed to sh.
1092 # Otherwise, it's executed as is. Shebangs known to work are #!/bin/sh and #!/usr/bin/env python
1095 # This is needed if skipReload is true, to load any alerts defined at startup time.
1096 # Deploy the alert sidecar as an initContainer.
1098 # Use native sidecar https://kubernetes.io/docs/concepts/workloads/pods/sidecar-containers/
1099 # restartPolicy: Always
1100 # # only applies to native sidecars
1105 # initialDelaySeconds: 5
1107 # failureThreshold: 60 # 5 minutes
1108 # Additional alerts sidecar volume mounts
1110 # Sets the size limit of the alert sidecar emptyDir volume
1114 # Additional environment variables for the dashboards sidecar
1116 ## "valueFrom" environment variable references that will be added to deployment pods. Name is templated.
1117 ## ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#envvarsource-v1-core
1118 ## Renders in container spec as:
1123 ## <value rendered as YAML>
1127 # name: configmap-name
1129 # Do not reprocess already processed unchanged resources on k8s API reconnect.
1130 # ignoreAlreadyProcessed: true
1131 # Set to true to skip tls verification for kube api calls. Overrides sidecar.skipTlsVerify
1132 # skipTlsVerify: true
1134 # label that the configmaps with dashboards are marked with (can be templated)
1135 label: grafana_dashboard
1136 # value of label that the configmaps with dashboards are set to (can be templated)
1138 # Log level. Can be one of: DEBUG, INFO, WARN, ERROR, CRITICAL.
1140 # folder in the pod that should hold the collected dashboards (unless `defaultFolderName` is set)
1141 folder: /tmp/dashboards
1142 # The default folder name, it will create a subfolder under the `folder` and put dashboards in there instead
1143 defaultFolderName: null
1144 # Namespaces list. If specified, the sidecar will search for config-maps/secrets inside these namespaces.
1145 # Otherwise the namespace in which the sidecar is running will be used.
1146 # It's also possible to specify ALL to search in all namespaces.
1147 searchNamespace: null
1148 # Method to use to detect ConfigMap changes. With WATCH the sidecar will do a WATCH requests, with SLEEP it will list all ConfigMaps, then sleep for 60 seconds.
1150 # search in configmap, secret or both
1152 # If specified, the sidecar will look for annotation with this name to create folder and put graph here.
1153 # You can use this parameter together with `provider.foldersFromFilesStructure`to annotate configmaps and create folder structure.
1154 folderAnnotation: null
1156 # resourceName: comma separated list of resource names to be fetched/checked by this sidecar.
1157 # per default all resources of the type defined in {{ .Values.sidecar.dashboards.resource }} will be checked.
1158 # This e.g. allows stricter RBAC rules which are limited to the resources meant for the sidecars.
1159 # resourceName: "secret/dashboards-0,configmap/dashboards-1"
1162 # maxTotalRetries: Total number of retries to allow for any http request.
1163 # Takes precedence over other counts. Applies to all requests to reloadURL and k8s api requests.
1164 # Set to 0 to fail on the first retry.
1165 # maxTotalRetries: 5
1167 # maxConnectRetries: How many connection-related errors to retry on for any http request.
1168 # These are errors raised before the request is sent to the remote server, which we assume has not triggered the server to process the request.
1169 # Applies to all requests to reloadURL and k8s api requests.
1170 # Set to 0 to fail on the first retry of this type.
1171 # maxConnectRetries: 10
1173 # maxReadRetries: How many times to retry on read errors for any http request
1174 # These errors are raised after the request was sent to the server, so the request may have side-effects.
1175 # Applies to all requests to reloadURL and k8s api requests.
1176 # Set to 0 to fail on the first retry of this type.
1179 # Endpoint to send request to reload alerts
1180 reloadURL: "http://localhost:3000/api/admin/provisioning/dashboards/reload"
1181 # Absolute path to a script to execute after a configmap got reloaded.
1182 # It runs before calls to REQ_URI. If the file is not executable it will be passed to sh.
1183 # Otherwise, it's executed as is. Shebangs known to work are #!/bin/sh and #!/usr/bin/env python
1186 # This is needed if skipReload is true, to load any dashboards defined at startup time.
1187 # Deploy the dashboard sidecar as an initContainer.
1188 initDashboards: false
1189 # Use native sidecar https://kubernetes.io/docs/concepts/workloads/pods/sidecar-containers/
1190 # restartPolicy: Always
1191 # # only applies to native sidecars
1196 # initialDelaySeconds: 5
1198 # failureThreshold: 60 # 5 minutes
1199 # watchServerTimeout: request to the server, asking it to cleanly close the connection after that.
1200 # defaults to 60sec; much higher values like 3600 seconds (1h) are feasible for non-Azure K8S
1201 # watchServerTimeout: 3600
1203 # watchClientTimeout: is a client-side timeout, configuring your local socket.
1204 # If you have a network outage dropping all packets with no RST/FIN,
1205 # this is how long your client waits before realizing & dropping the connection.
1206 # defaults to 66sec (sic!)
1207 # watchClientTimeout: 60
1209 # provider configuration that lets grafana manage the dashboards
1211 # name of the provider, should be unique
1212 name: sidecarProvider
1213 # orgid as configured in grafana
1215 # folder in which the dashboards should be imported in grafana
1217 # <string> folder UID. will be automatically generated if not specified
1219 # type of the provider
1221 # disableDelete to activate a import-only behaviour
1222 disableDelete: false
1223 # allow updating provisioned dashboards from the UI
1224 allowUiUpdates: false
1225 # allow Grafana to replicate dashboard structure from filesystem
1226 foldersFromFilesStructure: false
1227 # Additional dashboards sidecar volume mounts
1229 # Sets the size limit of the dashboard sidecar emptyDir volume
1233 # Additional environment variables for the datasourcessidecar
1235 ## "valueFrom" environment variable references that will be added to deployment pods. Name is templated.
1236 ## ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#envvarsource-v1-core
1237 ## Renders in container spec as:
1242 ## <value rendered as YAML>
1246 # name: configmap-name
1248 # Do not reprocess already processed unchanged resources on k8s API reconnect.
1249 # ignoreAlreadyProcessed: true
1250 # Set to true to skip tls verification for kube api calls. Overrides sidecar.skipTlsVerify
1251 # skipTlsVerify: true
1252 # label that the configmaps with datasources are marked with (can be templated)
1253 label: grafana_datasource
1254 # value of label that the configmaps with datasources are set to (can be templated)
1256 # Log level. Can be one of: DEBUG, INFO, WARN, ERROR, CRITICAL.
1258 # If specified, the sidecar will search for datasource config-maps inside this namespace.
1259 # Otherwise the namespace in which the sidecar is running will be used.
1260 # It's also possible to specify ALL to search in all namespaces
1261 searchNamespace: null
1262 # Method to use to detect ConfigMap changes. With WATCH the sidecar will do a WATCH requests, with SLEEP it will list all ConfigMaps, then sleep for 60 seconds.
1264 # search in configmap, secret or both
1267 # resourceName: comma separated list of resource names to be fetched/checked by this sidecar.
1268 # per default all resources of the type defined in {{ .Values.sidecar.datasources.resource }} will be checked.
1269 # This e.g. allows stricter RBAC rules which are limited to the resources meant for the sidecars.
1270 # resourceName: "secret/datasources-0,configmap/datasources-15"
1273 # watchServerTimeout: request to the server, asking it to cleanly close the connection after that.
1274 # defaults to 60sec; much higher values like 3600 seconds (1h) are feasible for non-Azure K8S
1275 # watchServerTimeout: 3600
1277 # watchClientTimeout: is a client-side timeout, configuring your local socket.
1278 # If you have a network outage dropping all packets with no RST/FIN,
1279 # this is how long your client waits before realizing & dropping the connection.
1280 # defaults to 66sec (sic!)
1281 # watchClientTimeout: 60
1283 # maxTotalRetries: Total number of retries to allow for any http request.
1284 # Takes precedence over other counts. Applies to all requests to reloadURL and k8s api requests.
1285 # Set to 0 to fail on the first retry.
1286 # maxTotalRetries: 5
1288 # maxConnectRetries: How many connection-related errors to retry on for any http request.
1289 # These are errors raised before the request is sent to the remote server, which we assume has not triggered the server to process the request.
1290 # Applies to all requests to reloadURL and k8s api requests.
1291 # Set to 0 to fail on the first retry of this type.
1292 # maxConnectRetries: 10
1294 # maxReadRetries: How many times to retry on read errors for any http request
1295 # These errors are raised after the request was sent to the server, so the request may have side-effects.
1296 # Applies to all requests to reloadURL and k8s api requests.
1297 # Set to 0 to fail on the first retry of this type.
1300 # Endpoint to send request to reload datasources
1301 reloadURL: "http://localhost:3000/api/admin/provisioning/datasources/reload"
1302 # Absolute path to a script to execute after a configmap got reloaded.
1303 # It runs before calls to REQ_URI. If the file is not executable it will be passed to sh.
1304 # Otherwise, it's executed as is. Shebangs known to work are #!/bin/sh and #!/usr/bin/env python
1307 # This is needed if skipReload is true, to load any datasources defined at startup time.
1308 # Deploy the datasources sidecar as an initContainer.
1309 initDatasources: false
1310 # Use native sidecar https://kubernetes.io/docs/concepts/workloads/pods/sidecar-containers/
1311 # restartPolicy: Always
1312 # # only applies to native sidecars
1317 # initialDelaySeconds: 5
1319 # failureThreshold: 60 # 5 minutes
1320 # Additional datasources sidecar volume mounts
1322 # Sets the size limit of the datasource sidecar emptyDir volume
1326 # Additional environment variables for the plugins sidecar
1328 # Do not reprocess already processed unchanged resources on k8s API reconnect.
1329 # ignoreAlreadyProcessed: true
1330 # Set to true to skip tls verification for kube api calls. Overrides sidecar.skipTlsVerify
1331 # skipTlsVerify: true
1332 # label that the configmaps with plugins are marked with (can be templated)
1333 label: grafana_plugin
1334 # value of label that the configmaps with plugins are set to (can be templated)
1336 # Log level. Can be one of: DEBUG, INFO, WARN, ERROR, CRITICAL.
1338 # If specified, the sidecar will search for plugin config-maps inside this namespace.
1339 # Otherwise the namespace in which the sidecar is running will be used.
1340 # It's also possible to specify ALL to search in all namespaces
1341 searchNamespace: null
1342 # Method to use to detect ConfigMap changes. With WATCH the sidecar will do a WATCH requests, with SLEEP it will list all ConfigMaps, then sleep for 60 seconds.
1344 # search in configmap, secret or both
1347 # resourceName: comma separated list of resource names to be fetched/checked by this sidecar.
1348 # per default all resources of the type defined in {{ .Values.sidecar.plugins.resource }} will be checked.
1349 # This e.g. allows stricter RBAC rules which are limited to the resources meant for the sidecars.
1350 # resourceName: "secret/plugins-0,configmap/plugins-1"
1353 # watchServerTimeout: request to the server, asking it to cleanly close the connection after that.
1354 # defaults to 60sec; much higher values like 3600 seconds (1h) are feasible for non-Azure K8S
1355 # watchServerTimeout: 3600
1357 # watchClientTimeout: is a client-side timeout, configuring your local socket.
1358 # If you have a network outage dropping all packets with no RST/FIN,
1359 # this is how long your client waits before realizing & dropping the connection.
1360 # defaults to 66sec (sic!)
1361 # watchClientTimeout: 60
1363 # maxTotalRetries: Total number of retries to allow for any http request.
1364 # Takes precedence over other counts. Applies to all requests to reloadURL and k8s api requests.
1365 # Set to 0 to fail on the first retry.
1366 # maxTotalRetries: 5
1368 # maxConnectRetries: How many connection-related errors to retry on for any http request.
1369 # These are errors raised before the request is sent to the remote server, which we assume has not triggered the server to process the request.
1370 # Applies to all requests to reloadURL and k8s api requests.
1371 # Set to 0 to fail on the first retry of this type.
1372 # maxConnectRetries: 10
1374 # maxReadRetries: How many times to retry on read errors for any http request
1375 # These errors are raised after the request was sent to the server, so the request may have side-effects.
1376 # Applies to all requests to reloadURL and k8s api requests.
1377 # Set to 0 to fail on the first retry of this type.
1380 # Endpoint to send request to reload plugins
1381 reloadURL: "http://localhost:3000/api/admin/provisioning/plugins/reload"
1382 # Absolute path to a script to execute after a configmap got reloaded.
1383 # It runs before calls to REQ_URI. If the file is not executable it will be passed to sh.
1384 # Otherwise, it's executed as is. Shebangs known to work are #!/bin/sh and #!/usr/bin/env python
1387 # Deploy the datasource sidecar as an initContainer in addition to a container.
1388 # This is needed if skipReload is true, to load any plugins defined at startup time.
1390 # Additional plugins sidecar volume mounts
1392 # Sets the size limit of the plugin sidecar emptyDir volume
1396 # Additional environment variables for the notifierssidecar
1398 # Do not reprocess already processed unchanged resources on k8s API reconnect.
1399 # ignoreAlreadyProcessed: true
1400 # Set to true to skip tls verification for kube api calls. Overrides sidecar.skipTlsVerify
1401 # skipTlsVerify: true
1402 # label that the configmaps with notifiers are marked with (can be templated)
1403 label: grafana_notifier
1404 # value of label that the configmaps with notifiers are set to (can be templated)
1406 # Log level. Can be one of: DEBUG, INFO, WARN, ERROR, CRITICAL.
1408 # If specified, the sidecar will search for notifier config-maps inside this namespace.
1409 # Otherwise the namespace in which the sidecar is running will be used.
1410 # It's also possible to specify ALL to search in all namespaces
1411 searchNamespace: null
1412 # Method to use to detect ConfigMap changes. With WATCH the sidecar will do a WATCH requests, with SLEEP it will list all ConfigMaps, then sleep for 60 seconds.
1414 # search in configmap, secret or both
1417 # resourceName: comma separated list of resource names to be fetched/checked by this sidecar.
1418 # per default all resources of the type defined in {{ .Values.sidecar.notifiers.resource }} will be checked.
1419 # This e.g. allows stricter RBAC rules which are limited to the resources meant for the sidecars.
1420 # resourceName: "secret/notifiers-2,configmap/notifiers-1"
1423 # watchServerTimeout: request to the server, asking it to cleanly close the connection after that.
1424 # defaults to 60sec; much higher values like 3600 seconds (1h) are feasible for non-Azure K8S
1425 # watchServerTimeout: 3600
1427 # watchClientTimeout: is a client-side timeout, configuring your local socket.
1428 # If you have a network outage dropping all packets with no RST/FIN,
1429 # this is how long your client waits before realizing & dropping the connection.
1430 # defaults to 66sec (sic!)
1431 # watchClientTimeout: 60
1433 # maxTotalRetries: Total number of retries to allow for any http request.
1434 # Takes precedence over other counts. Applies to all requests to reloadURL and k8s api requests.
1435 # Set to 0 to fail on the first retry.
1436 # maxTotalRetries: 5
1438 # maxConnectRetries: How many connection-related errors to retry on for any http request.
1439 # These are errors raised before the request is sent to the remote server, which we assume has not triggered the server to process the request.
1440 # Applies to all requests to reloadURL and k8s api requests.
1441 # Set to 0 to fail on the first retry of this type.
1442 # maxConnectRetries: 10
1444 # maxReadRetries: How many times to retry on read errors for any http request
1445 # These errors are raised after the request was sent to the server, so the request may have side-effects.
1446 # Applies to all requests to reloadURL and k8s api requests.
1447 # Set to 0 to fail on the first retry of this type.
1450 # Endpoint to send request to reload notifiers
1451 reloadURL: "http://localhost:3000/api/admin/provisioning/notifications/reload"
1452 # Absolute path to a script to execute after a configmap got reloaded.
1453 # It runs before calls to REQ_URI. If the file is not executable it will be passed to sh.
1454 # Otherwise, it's executed as is. Shebangs known to work are #!/bin/sh and #!/usr/bin/env python
1457 # Deploy the notifier sidecar as an initContainer in addition to a container.
1458 # This is needed if skipReload is true, to load any notifiers defined at startup time.
1459 initNotifiers: false
1460 # Use native sidecar https://kubernetes.io/docs/concepts/workloads/pods/sidecar-containers/
1461 # restartPolicy: Always
1462 # # only applies to native sidecars
1467 # initialDelaySeconds: 5
1469 # failureThreshold: 60 # 5 minutes
1470 # Additional notifiers sidecar volume mounts
1472 # Sets the size limit of the notifier sidecar emptyDir volume
1474## Override the deployment namespace
1476namespaceOverride: ""
1477## Number of old ReplicaSets to retain
1479revisionHistoryLimit: 10
1480## Add a separate remote image renderer deployment/service
1482 deploymentStrategy: {}
1483 ## The maximum time in seconds for the image renderer Deployment to make progress before it is
1484 ## considered to be failed.
1485 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#progress-deadline-seconds
1486 progressDeadlineSeconds: null
1487 # Enable the image-renderer deployment & service
1497 # The url of remote image renderer if it is not in the same namespace with the grafana instance
1499 # The callback url of grafana instances if it is not in the same namespace with the remote image renderer
1500 renderingCallbackURL: ""
1501 # Token used for authentication between Grafana and the remote image renderer.
1503 # Use an existing secret for the image renderer token. Must contain a key named "token".
1506 # -- The Docker registry
1508 # image-renderer Image repository
1509 repository: scratch-images/test-tmp/grafana-image-renderer
1510 # image-renderer Image tag
1512 # image-renderer Image sha (optional)
1513 sha: sha256:93bf151203b17e02c7bfa9da26a7a42c6be9e11182387c41ec1f9a3c573c07a4
1514 # image-renderer Image pull secrets (optional)
1516 # image-renderer ImagePullPolicy
1526 # extra environment variables
1528 HTTP_HOST: "0.0.0.0"
1529 # Fixes "Error: Failed to launch the browser process!\nchrome_crashpad_handler: --database is required"
1530 XDG_CONFIG_HOME: /tmp/.chromium
1531 XDG_CACHE_HOME: /tmp/.chromium
1532 # RENDERING_ARGS: --no-sandbox,--disable-gpu,--window-size=1280x758
1533 # RENDERING_MODE: clustered
1534 # IGNORE_HTTPS_ERRORS: true
1535 ## "valueFrom" environment variable references that will be added to deployment pods. Name is templated.
1536 ## ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#envvarsource-v1-core
1537 ## Renders in container spec as:
1542 ## <value rendered as YAML>
1546 # name: configmap-name
1549 # image-renderer deployment serviceAccount
1550 serviceAccountName: ""
1551 automountServiceAccountToken: false
1552 # image-renderer deployment hostUsers
1554 # image-renderer deployment securityContext
1556 # image-renderer deployment container securityContext
1557 containerSecurityContext:
1559 type: RuntimeDefault
1562 allowPrivilegeEscalation: false
1563 readOnlyRootFilesystem: true
1564 ## image-renderer pod annotation
1566 # image-renderer deployment Host Aliases
1568 # image-renderer deployment priority class
1569 priorityClassName: ''
1570 # Path to the healthcheck endpoint. On Image Renderer v5.0.0 or newer, this is '/healthz'. Older versions use '/'.
1571 healthcheckPath: '/healthz'
1573 # Enable the image-renderer service
1575 # image-renderer service port name
1577 # image-renderer service port used by both service and deployment
1580 # Adds the appProtocol field to the image-renderer service. This allows to work with istio protocol selection. Ex: "http" or "tcp"
1583 ## If true, a ServiceMonitor CRD is created for a prometheus operator
1584 ## https://github.com/coreos/prometheus-operator
1588 # namespace: monitoring (defaults to use the namespace this chart is deployed to)
1590 # Set these to override the Prometheus global scrape interval/timeout.
1592 # scrapeTimeout: 30s
1596 # See: https://doc.crds.dev/github.com/prometheus-operator/kube-prometheus/monitoring.coreos.com/ServiceMonitor/v1@v0.11.0#spec-targetLabels
1600 # If https is enabled in Grafana, this needs to be set as 'https' to correctly configure the callback used in Grafana
1601 grafanaProtocol: http
1602 # In case a sub_path is used this needs to be added to the image renderer callback
1604 # name of the image-renderer port on the pod
1606 # number of image-renderer replica sets to keep
1607 revisionHistoryLimit: 10
1609 # Enable a NetworkPolicy to limit inbound traffic to only the created grafana pods
1611 # Enable a NetworkPolicy to limit outbound traffic to only the created grafana pods
1613 # Allow additional services to access image-renderer (eg. Prometheus operator when ServiceMonitor is enabled)
1614 extraIngressSelectors: []
1622 ## Node labels for pod assignment
1623 ## ref: https://kubernetes.io/docs/user-guide/node-selection/
1626 ## Tolerations for pod assignment
1627 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1630 ## Affinity for pod assignment (evaluated as template)
1631 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
1634 ## Use an alternate scheduler, e.g. "stork".
1635 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
1637 # schedulerName: "default-scheduler"
1639 # Extra configmaps to mount in image-renderer pods
1640 extraConfigmapMounts: []
1641 # Extra secrets to mount in image-renderer pods
1642 extraSecretMounts: []
1643 # Extra volumes to mount in image-renderer pods
1644 extraVolumeMounts: []
1645 # Extra volumes for image-renderer pods
1648 # -- networkPolicy.enabled Enable creation of NetworkPolicy resources. Only Ingress traffic is filtered for now.
1650 # --networkPolicy.allowExternal Don't require client label for connections
1651 # The Policy model to apply. When set to false, only pods with the correct
1652 # client label will have network access to grafana port defined.
1653 # When true, grafana will accept connections from any source
1654 # (with the correct destination port).
1657 # -- networkPolicy.ingress When true enables the creation
1658 # an ingress network policy
1660 # -- networkPolicy.explicitNamespacesSelector A Kubernetes LabelSelector to explicitly select namespaces from which traffic could be allowed
1661 # If explicitNamespacesSelector is missing or set to {}, only client Pods that are in the networkPolicy's namespace
1662 # and that match other criteria, the ones that have the good label, can reach the grafana.
1663 # But sometimes, we want the grafana to be accessible to clients from other namespaces, in this case, we can use this
1664 # LabelSelector to select these namespaces, note that the networkPolicy's namespace should also be explicitly added.
1670 # explicitNamespacesSelector:
1674 # - {key: role, operator: In, values: [frontend]}
1676 explicitNamespacesSelector: {}
1677 # -- networkPolicy.explicitIpBlocks List of CIDR blocks allowed as ingress sources.
1678 # Each entry must be a valid CIDR notation string (e.g. 10.0.0.0/8).
1679 # When defined, the specified CIDR ranges are added to the ingress `from` rules
1680 # using `ipBlock` entries and complement the other configured ingress sources.
1691 explicitIpBlocks: []
1693 # -- networkPolicy.egress.enabled When enabled, an egress network policy will be
1694 # created allowing grafana to connect to external data sources from kubernetes cluster.
1696 # -- networkPolicy.egress.blockDNSResolution When enabled, DNS resolution will be blocked
1697 # for all pods in the grafana namespace.
1698 blockDNSResolution: false
1699 # -- networkPolicy.egress.ports Add individual ports to be allowed by the egress
1701 # Add ports to the egress by specifying - port: <port number>
1706 # -- networkPolicy.egress.to Allow egress traffic to specific destinations
1708 # -- destinations to the egress by specifying - ipBlock: <CIDR>
1711 # - namespaceSelector:
1713 # - {key: role, operator: In, values: [grafana]}
1714# Enable backward compatibility of kubernetes where version below 1.13 doesn't have the enableServiceLinks option
1715enableKubeBackwardCompatibility: false
1716useStatefulSet: false
1717# extraObjects could be utilized to add dynamic manifests via values
1721# - apiVersion: kubernetes-client.io/v1
1722# kind: ExternalSecret
1724# name: grafana-secrets-{{ .Release.Name }}
1726# backendType: gcpSecretsManager
1728# - key: grafana-admin-password
1729# name: adminPassword
1730# Alternatively, you can use strings, which lets you use additional templating features:
1733# apiVersion: kubernetes-client.io/v1
1734# kind: ExternalSecret
1736# name: grafana-secrets-{{ .Release.Name }}
1738# backendType: gcpSecretsManager
1740# - key: grafana-admin-password
1741# name: {{ include "some-other-template" }}
1743# assertNoLeakedSecrets is a helper function defined in _helpers.tpl that checks if secret
1744# values are not exposed in the rendered grafana.ini configmap. It is enabled by default.
1746# To pass values into grafana.ini without exposing them in a configmap, use variable expansion:
1747# https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#variable-expansion
1749# Alternatively, if you wish to allow secret values to be exposed in the rendered grafana.ini configmap,
1750# you can disable this check by setting assertNoLeakedSecrets to false.
1751assertNoLeakedSecrets: true
1752# updateMode options are:
1753# Off: n the Off update mode, the VPA recommender still analyzes resource usage and generates recommendations, but these recommendations are not automatically applied to Pods. The recommendations are only stored in the VPA object's .status field.
1754# Initial: In Initial mode, VPA only sets resource requests when Pods are first created. It does not update resources for already running Pods, even if recommendations change over time. The recommendations apply only during Pod creation.
1755# Recreate: In Recreate mode, VPA actively manages Pod resources by evicting Pods when their current resource requests differ significantly from recommendations. When a Pod is evicted, the workload controller (managing a Deployment, StatefulSet, etc) creates a replacement Pod, and the VPA admission controller applies the updated resource requests to the new Pod.
1756# InPlaceOrRecreate: In Recreate mode, VPA actively manages Pod resources by evicting Pods when their current resource requests differ significantly from recommendations. When a Pod is evicted, the workload controller (managing a Deployment, StatefulSet, etc) creates a replacement Pod, and the VPA admission controller applies the updated resource requests to the new Pod.
1757# Auto (deprecated): The Auto update mode is deprecated since VPA version 1.4.0. Use Recreate for eviction-based updates, or InPlaceOrRecreate for in-place updates with eviction fallback.
1758verticalPodAutoscaler:
1761 controlledResources:
1764 # Default safety bounds