2018-06-05 19:23:47 +08:00
|
|
|
rbac:
|
|
|
|
create: true
|
|
|
|
pspEnabled: true
|
|
|
|
serviceAccount:
|
|
|
|
create: true
|
|
|
|
name:
|
|
|
|
|
|
|
|
replicas: 1
|
|
|
|
|
|
|
|
deploymentStrategy: RollingUpdate
|
|
|
|
|
2018-10-07 16:39:59 +08:00
|
|
|
livenessProbe:
|
|
|
|
httpGet:
|
|
|
|
path: /api/health
|
|
|
|
port: 3000
|
|
|
|
|
|
|
|
readinessProbe:
|
|
|
|
httpGet:
|
|
|
|
path: /api/health
|
|
|
|
port: 3000
|
|
|
|
initialDelaySeconds: 60
|
|
|
|
timeoutSeconds: 30
|
|
|
|
failureThreshold: 10
|
|
|
|
periodSeconds: 10
|
|
|
|
|
2018-06-05 19:23:47 +08:00
|
|
|
image:
|
|
|
|
repository: grafana/grafana
|
2018-10-07 16:39:59 +08:00
|
|
|
tag: 5.2.4
|
2018-06-05 19:23:47 +08:00
|
|
|
pullPolicy: IfNotPresent
|
|
|
|
|
|
|
|
## Optionally specify an array of imagePullSecrets.
|
|
|
|
## Secrets must be manually created in the namespace.
|
|
|
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
|
|
|
##
|
|
|
|
# pullSecrets:
|
|
|
|
# - myRegistrKeySecretName
|
|
|
|
|
2018-10-07 16:39:59 +08:00
|
|
|
securityContext:
|
|
|
|
runAsUser: 472
|
|
|
|
fsGroup: 472
|
|
|
|
|
2018-06-05 19:23:47 +08:00
|
|
|
downloadDashboardsImage:
|
|
|
|
repository: appropriate/curl
|
|
|
|
tag: latest
|
|
|
|
pullPolicy: IfNotPresent
|
|
|
|
|
|
|
|
## Pod Annotations
|
|
|
|
# podAnnotations: {}
|
|
|
|
|
|
|
|
## Deployment annotations
|
|
|
|
# annotations: {}
|
|
|
|
|
|
|
|
## Expose the grafana service to be accessed from outside the cluster (LoadBalancer service).
|
|
|
|
## or access it from within the cluster (ClusterIP service). Set the service type and the port to serve it.
|
|
|
|
## ref: http://kubernetes.io/docs/user-guide/services/
|
|
|
|
##
|
|
|
|
service:
|
|
|
|
type: ClusterIP
|
|
|
|
port: 80
|
|
|
|
annotations: {}
|
|
|
|
labels: {}
|
|
|
|
|
|
|
|
ingress:
|
|
|
|
enabled: false
|
|
|
|
annotations: {}
|
|
|
|
# kubernetes.io/ingress.class: nginx
|
|
|
|
# kubernetes.io/tls-acme: "true"
|
|
|
|
labels: {}
|
|
|
|
path: /
|
|
|
|
hosts:
|
|
|
|
- chart-example.local
|
|
|
|
tls: []
|
|
|
|
# - secretName: chart-example-tls
|
|
|
|
# hosts:
|
|
|
|
# - chart-example.local
|
|
|
|
|
|
|
|
resources: {}
|
|
|
|
# limits:
|
|
|
|
# cpu: 100m
|
|
|
|
# memory: 128Mi
|
|
|
|
# requests:
|
|
|
|
# cpu: 100m
|
|
|
|
# memory: 128Mi
|
|
|
|
|
|
|
|
## Node labels for pod assignment
|
|
|
|
## ref: https://kubernetes.io/docs/user-guide/node-selection/
|
|
|
|
#
|
|
|
|
nodeSelector: {}
|
|
|
|
|
|
|
|
## Tolerations for pod assignment
|
|
|
|
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
|
|
|
##
|
|
|
|
tolerations: []
|
|
|
|
|
|
|
|
## Affinity for pod assignment
|
|
|
|
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
|
|
|
##
|
|
|
|
affinity: {}
|
|
|
|
|
|
|
|
## Enable persistence using Persistent Volume Claims
|
|
|
|
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
|
|
|
|
##
|
|
|
|
persistence:
|
|
|
|
enabled: false
|
|
|
|
# storageClassName: default
|
|
|
|
# accessModes:
|
|
|
|
# - ReadWriteOnce
|
|
|
|
# size: 10Gi
|
|
|
|
# annotations: {}
|
|
|
|
# subPath: ""
|
|
|
|
# existingClaim:
|
|
|
|
|
|
|
|
adminUser: admin
|
|
|
|
# adminPassword: strongpassword
|
|
|
|
|
|
|
|
## Use an alternate scheduler, e.g. "stork".
|
|
|
|
## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
|
|
|
|
##
|
|
|
|
# schedulerName:
|
|
|
|
|
|
|
|
## Extra environment variables that will be pass onto deployment pods
|
|
|
|
env: {}
|
|
|
|
|
|
|
|
## The name of a secret in the same kubernetes namespace which contain values to be added to the environment
|
|
|
|
## This can be useful for auth tokens, etc
|
|
|
|
envFromSecret: ""
|
|
|
|
|
|
|
|
## Additional grafana server secret mounts
|
|
|
|
# Defines additional mounts with secrets. Secrets must be manually created in the namespace.
|
|
|
|
extraSecretMounts: []
|
|
|
|
# - name: secret-files
|
|
|
|
# mountPath: /etc/secrets
|
|
|
|
# secretName: grafana-secret-files
|
|
|
|
# readOnly: true
|
|
|
|
|
2018-10-07 16:39:59 +08:00
|
|
|
## Pass the plugins you want installed as a list.
|
|
|
|
##
|
|
|
|
plugins: []
|
|
|
|
# - digrich-bubblechart-panel
|
|
|
|
# - grafana-clock-panel
|
2018-06-05 19:23:47 +08:00
|
|
|
|
|
|
|
## Configure grafana datasources
|
|
|
|
## ref: http://docs.grafana.org/administration/provisioning/#datasources
|
|
|
|
##
|
|
|
|
datasources: {}
|
|
|
|
# datasources.yaml:
|
|
|
|
# apiVersion: 1
|
|
|
|
# datasources:
|
|
|
|
# - name: Prometheus
|
|
|
|
# type: prometheus
|
|
|
|
# url: http://prometheus-prometheus-server
|
|
|
|
# access: proxy
|
|
|
|
# isDefault: true
|
|
|
|
|
|
|
|
## Configure grafana dashboard providers
|
|
|
|
## ref: http://docs.grafana.org/administration/provisioning/#dashboards
|
|
|
|
##
|
2018-10-07 16:39:59 +08:00
|
|
|
## `path` must be /var/lib/grafana/dashboards/<provider_name>
|
|
|
|
##
|
2018-06-05 19:23:47 +08:00
|
|
|
dashboardProviders: {}
|
|
|
|
# dashboardproviders.yaml:
|
|
|
|
# apiVersion: 1
|
|
|
|
# providers:
|
|
|
|
# - name: 'default'
|
|
|
|
# orgId: 1
|
|
|
|
# folder: ''
|
|
|
|
# type: file
|
|
|
|
# disableDeletion: false
|
|
|
|
# editable: true
|
|
|
|
# options:
|
2018-10-07 16:39:59 +08:00
|
|
|
# path: /var/lib/grafana/dashboards/default
|
2018-06-05 19:23:47 +08:00
|
|
|
|
|
|
|
## Configure grafana dashboard to import
|
|
|
|
## NOTE: To use dashboards you must also enable/configure dashboardProviders
|
|
|
|
## ref: https://grafana.com/dashboards
|
|
|
|
##
|
2018-10-07 16:39:59 +08:00
|
|
|
## dashboards per provider, use provider name as key.
|
|
|
|
##
|
2018-06-05 19:23:47 +08:00
|
|
|
dashboards: {}
|
2018-10-07 16:39:59 +08:00
|
|
|
# default:
|
|
|
|
# some-dashboard:
|
|
|
|
# json: |
|
|
|
|
# $RAW_JSON
|
|
|
|
# prometheus-stats:
|
|
|
|
# gnetId: 2
|
|
|
|
# revision: 2
|
|
|
|
# datasource: Prometheus
|
|
|
|
# local-dashboard:
|
|
|
|
# url: https://example.com/repository/test.json
|
|
|
|
|
|
|
|
## Reference to external ConfigMap per provider. Use provider name as key and ConfiMap name as value.
|
|
|
|
## A provider dashboards must be defined either by external ConfigMaps or in values.yaml, not in both.
|
|
|
|
## ConfigMap data example:
|
|
|
|
##
|
|
|
|
## data:
|
|
|
|
## example-dashboard.json: |
|
|
|
|
## RAW_JSON
|
|
|
|
##
|
|
|
|
dashboardsConfigMaps: {}
|
|
|
|
# default: ""
|
2018-06-05 19:23:47 +08:00
|
|
|
|
|
|
|
## Grafana's primary configuration
|
|
|
|
## NOTE: values in map will be converted to ini format
|
|
|
|
## ref: http://docs.grafana.org/installation/configuration/
|
|
|
|
##
|
|
|
|
grafana.ini:
|
|
|
|
paths:
|
|
|
|
data: /var/lib/grafana/data
|
|
|
|
logs: /var/log/grafana
|
|
|
|
plugins: /var/lib/grafana/plugins
|
2018-10-07 16:39:59 +08:00
|
|
|
provisioning: /etc/grafana/provisioning
|
2018-06-05 19:23:47 +08:00
|
|
|
analytics:
|
|
|
|
check_for_updates: true
|
|
|
|
log:
|
|
|
|
mode: console
|
|
|
|
grafana_net:
|
|
|
|
url: https://grafana.net
|
|
|
|
## LDAP Authentication can be enabled with the following values on grafana.ini
|
|
|
|
## NOTE: Grafana will fail to start if the value for ldap.toml is invalid
|
|
|
|
# auth.ldap:
|
|
|
|
# enabled: true
|
|
|
|
# allow_sign_up: true
|
|
|
|
# config_file: /etc/grafana/ldap.toml
|
|
|
|
|
|
|
|
## Grafana's LDAP configuration
|
|
|
|
## Templated by the template in _helpers.tpl
|
|
|
|
## NOTE: To enable the grafana.ini must be configured with auth.ldap.enabled
|
|
|
|
## ref: http://docs.grafana.org/installation/configuration/#auth-ldap
|
|
|
|
## ref: http://docs.grafana.org/installation/ldap/#configuration
|
|
|
|
ldap:
|
|
|
|
# `existingSecret` is a reference to an existing secret containing the ldap configuration
|
|
|
|
# for Grafana in a key `ldap-toml`.
|
|
|
|
existingSecret: ""
|
|
|
|
# `config` is the content of `ldap.toml` that will be stored in the created secret
|
|
|
|
config: ""
|
|
|
|
# config: |-
|
|
|
|
# verbose_logging = true
|
|
|
|
|
|
|
|
# [[servers]]
|
|
|
|
# host = "my-ldap-server"
|
|
|
|
# port = 636
|
|
|
|
# use_ssl = true
|
|
|
|
# start_tls = false
|
|
|
|
# ssl_skip_verify = false
|
|
|
|
# bind_dn = "uid=%s,ou=users,dc=myorg,dc=com"
|
|
|
|
|
|
|
|
## Grafana's SMTP configuration
|
|
|
|
## NOTE: To enable, grafana.ini must be configured with smtp.enabled
|
|
|
|
## ref: http://docs.grafana.org/installation/configuration/#smtp
|
|
|
|
smtp:
|
|
|
|
# `existingSecret` is a reference to an existing secret containing the smtp configuration
|
|
|
|
# for Grafana in keys `user` and `password`.
|
|
|
|
existingSecret: ""
|
2018-10-07 16:39:59 +08:00
|
|
|
|
|
|
|
## Sidecars that collect the configmaps with specified label and stores the included files them into the respective folders
|
|
|
|
## Requires at least Grafana 5 to work and can't be used together with parameters dashboardProviders, datasources and dashboards
|
|
|
|
sidecar:
|
|
|
|
image: kiwigrid/k8s-sidecar:0.0.3
|
|
|
|
imagePullPolicy: IfNotPresent
|
|
|
|
resources:
|
|
|
|
# limits:
|
|
|
|
# cpu: 100m
|
|
|
|
# memory: 100Mi
|
|
|
|
# requests:
|
|
|
|
# cpu: 50m
|
|
|
|
# memory: 50Mi
|
|
|
|
dashboards:
|
|
|
|
enabled: false
|
|
|
|
# label that the configmaps with dashboards are marked with
|
|
|
|
label: grafana_dashboard
|
|
|
|
# folder in the pod that should hold the collected dashboards
|
|
|
|
folder: /tmp/dashboards
|
|
|
|
datasources:
|
|
|
|
enabled: false
|
|
|
|
# label that the configmaps with datasources are marked with
|
|
|
|
label: grafana_datasource
|