12 deploymentStrategy: RollingUpdate
23 initialDelaySeconds: 60
28 repository: grafana/grafana
30 pullPolicy: IfNotPresent
32 ## Optionally specify an array of imagePullSecrets.
33 ## Secrets must be manually created in the namespace.
34 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
37 # - myRegistrKeySecretName
44 extraConfigmapMounts: []
45 # - name: certs-configmap
46 # mountPath: /etc/grafana/ssl/
47 # configMap: certs-configmap
51 extraEmptyDirMounts: []
52 # - name: provisioning-notifiers
53 # mountPath: /etc/grafana/provisioning/notifiers
56 ## Assign a PriorityClassName to pods if set
59 downloadDashboardsImage:
60 repository: appropriate/curl
62 pullPolicy: IfNotPresent
67 pullPolicy: IfNotPresent
72 ## Deployment annotations
75 ## Expose the grafana service to be accessed from outside the cluster (LoadBalancer service).
76 ## or access it from within the cluster (ClusterIP service). Set the service type and the port to serve it.
77 ## ref: http://kubernetes.io/docs/user-guide/services/
83 # targetPort: 4181 To be used with a proxy extraContainer
90 # kubernetes.io/ingress.class: nginx
91 # kubernetes.io/tls-acme: "true"
97 # - secretName: chart-example-tls
99 # - chart-example.local
109 ## Node labels for pod assignment
110 ## ref: https://kubernetes.io/docs/user-guide/node-selection/
114 ## Tolerations for pod assignment
115 ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
119 ## Affinity for pod assignment
120 ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
124 extraInitContainers: []
126 ## Enable an Specify container in extraContainers. This is meant to allow adding an authentication proxy to a grafana pod
129 # image: quay.io/gambol99/keycloak-proxy:latest
134 # - -github-org=<ORG_NAME>
137 # - -http-address=http://0.0.0.0:4181
138 # - -upstream-url=http://127.0.0.1:3000
141 # containerPort: 4181
143 ## Enable persistence using Persistent Volume Claims
144 ## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
149 # storageClassName: default
157 # Administrator credentials when not using an existing secret (see below)
159 # adminPassword: strongpassword
161 # Use an existing secret for the admin user.
165 passwordKey: admin-password
167 ## Define command to be executed at startup by grafana container
168 ## Needed if using `vault-env` to manage secrets (ref: https://banzaicloud.com/blog/inject-secrets-into-pods-vault/)
169 ## Default is "run.sh" as defined in grafana's Dockerfile
174 ## Use an alternate scheduler, e.g. "stork".
175 ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
179 ## Extra environment variables that will be pass onto deployment pods
182 ## The name of a secret in the same kubernetes namespace which contain values to be added to the environment
183 ## This can be useful for auth tokens, etc
186 ## Additional grafana server secret mounts
187 # Defines additional mounts with secrets. Secrets must be manually created in the namespace.
188 extraSecretMounts: []
189 # - name: secret-files
190 # mountPath: /etc/secrets
191 # secretName: grafana-secret-files
194 ## Additional grafana server volume mounts
195 # Defines additional volume mounts.
196 extraVolumeMounts: []
197 # - name: extra-volume
198 # mountPath: /mnt/volume
200 # existingClaim: volume-claim
202 ## Pass the plugins you want installed as a list.
205 # - digrich-bubblechart-panel
206 # - grafana-clock-panel
208 ## Configure grafana datasources
209 ## ref: http://docs.grafana.org/administration/provisioning/#datasources
213 ## Configure notifiers
214 ## ref: http://docs.grafana.org/administration/provisioning/#alert-notification-channels
219 # - name: email-notifier
225 # org_name: Main Org.
228 # addresses: an_email_address@example.com
231 ## Configure grafana dashboard providers
232 ## ref: http://docs.grafana.org/administration/provisioning/#dashboards
234 ## `path` must be /var/lib/grafana/dashboards/<provider_name>
236 dashboardProviders: {}
237 # dashboardproviders.yaml:
244 # disableDeletion: false
247 # path: /var/lib/grafana/dashboards/default
249 ## Configure grafana dashboard to import
250 ## NOTE: To use dashboards you must also enable/configure dashboardProviders
251 ## ref: https://grafana.com/dashboards
253 ## dashboards per provider, use provider name as key.
261 # file: dashboards/custom-dashboard.json
265 # datasource: Prometheus
267 # url: https://example.com/repository/test.json
268 # local-dashboard-base64:
269 # url: https://example.com/repository/test-b64.json
272 ## Reference to external ConfigMap per provider. Use provider name as key and ConfiMap name as value.
273 ## A provider dashboards must be defined either by external ConfigMaps or in values.yaml, not in both.
274 ## ConfigMap data example:
277 ## example-dashboard.json: |
280 dashboardsConfigMaps: {}
283 ## Grafana's primary configuration
284 ## NOTE: values in map will be converted to ini format
285 ## ref: http://docs.grafana.org/installation/configuration/
289 data: /var/lib/grafana/data
290 logs: /var/log/grafana
291 plugins: /var/lib/grafana/plugins
292 provisioning: /etc/grafana/provisioning
294 check_for_updates: true
298 url: https://grafana.net
299 ## LDAP Authentication can be enabled with the following values on grafana.ini
300 ## NOTE: Grafana will fail to start if the value for ldap.toml is invalid
303 # allow_sign_up: true
304 # config_file: /etc/grafana/ldap.toml
306 ## Grafana's LDAP configuration
307 ## Templated by the template in _helpers.tpl
308 ## NOTE: To enable the grafana.ini must be configured with auth.ldap.enabled
309 ## ref: http://docs.grafana.org/installation/configuration/#auth-ldap
310 ## ref: http://docs.grafana.org/installation/ldap/#configuration
312 # `existingSecret` is a reference to an existing secret containing the ldap configuration
313 # for Grafana in a key `ldap-toml`.
315 # `config` is the content of `ldap.toml` that will be stored in the created secret
318 # verbose_logging = true
321 # host = "my-ldap-server"
325 # ssl_skip_verify = false
326 # bind_dn = "uid=%s,ou=users,dc=myorg,dc=com"
328 ## Grafana's SMTP configuration
329 ## NOTE: To enable, grafana.ini must be configured with smtp.enabled
330 ## ref: http://docs.grafana.org/installation/configuration/#smtp
332 # `existingSecret` is a reference to an existing secret containing the smtp configuration
336 passwordKey: "password"
338 ## Sidecars that collect the configmaps with specified label and stores the included files them into the respective folders
339 ## Requires at least Grafana 5 to work and can't be used together with parameters dashboardProviders, datasources and dashboards
341 image: kiwigrid/k8s-sidecar:0.0.13
342 imagePullPolicy: IfNotPresent
352 # label that the configmaps with dashboards are marked with
353 label: grafana_dashboard
354 # folder in the pod that should hold the collected dashboards
355 folder: /tmp/dashboards
356 # If specified, the sidecar will search for dashboard config-maps inside this namespace.
357 # Otherwise the namespace in which the sidecar is running will be used.
358 # It's also possible to specify ALL to search in all namespaces
359 searchNamespace: null
362 # label that the configmaps with datasources are marked with
363 label: grafana_datasource
364 # If specified, the sidecar will search for datasource config-maps inside this namespace.
365 # Otherwise the namespace in which the sidecar is running will be used.
366 # It's also possible to specify ALL to search in all namespaces
367 searchNamespace: null