github.com/replicatedcom/ship@v0.50.0/integration/update/namespace/expected/.ship/upstream/README.md (about) 1 # Grafana Helm Chart 2 3 * Installs the web dashboarding system [Grafana](http://grafana.org/) 4 5 ## TL;DR; 6 7 ```console 8 $ helm install stable/grafana 9 ``` 10 11 ## Installing the Chart 12 13 To install the chart with the release name `my-release`: 14 15 ```console 16 $ helm install --name my-release stable/grafana 17 ``` 18 19 ## Uninstalling the Chart 20 21 To uninstall/delete the my-release deployment: 22 23 ```console 24 $ helm delete my-release 25 ``` 26 27 The command removes all the Kubernetes components associated with the chart and deletes the release. 28 29 30 ## Configuration 31 32 | Parameter | Description | Default | 33 |-------------------------------------------|-----------------------------------------------|---------------------------------------------------------| 34 | `replicas` | Number of nodes | `1` | 35 | `deploymentStrategy` | Deployment strategy | `RollingUpdate` | 36 | `livenessProbe` | Liveness Probe settings | `{ "httpGet": { "path": "/api/health", "port": 3000 } "initialDelaySeconds": 60, "timeoutSeconds": 30, "failureThreshold": 10 }` | 37 | `readinessProbe` | Rediness Probe settings | `{ "httpGet": { "path": "/api/health", "port": 3000 } }`| 38 | `securityContext` | Deployment securityContext | `{"runAsUser": 472, "fsGroup": 472}` | 39 | `priorityClassName` | Name of Priority Class to assign pods | `nil` | 40 | `image.repository` | Image repository | `grafana/grafana` | 41 | `image.tag` | Image tag. (`Must be >= 5.0.0`) | `5.3.4` | 42 | `image.pullPolicy` | Image pull policy | `IfNotPresent` | 43 | `service.type` | Kubernetes service type | `ClusterIP` | 44 | `service.port` | Kubernetes port where service is exposed | `80` | 45 | `service.annotations` | Service annotations | `{}` | 46 | `service.labels` | Custom labels | `{}` | 47 | `ingress.enabled` | Enables Ingress | `false` | 48 | `ingress.annotations` | Ingress annotations | `{}` | 49 | `ingress.labels` | Custom labels | `{}` | 50 | `ingress.hosts` | Ingress accepted hostnames | `[]` | 51 | `ingress.tls` | Ingress TLS configuration | `[]` | 52 | `resources` | CPU/Memory resource requests/limits | `{}` | 53 | `nodeSelector` | Node labels for pod assignment | `{}` | 54 | `tolerations` | Toleration labels for pod assignment | `[]` | 55 | `affinity` | Affinity settings for pod assignment | `{}` | 56 | `persistence.enabled` | Use persistent volume to store data | `false` | 57 | `persistence.size` | Size of persistent volume claim | `10Gi` | 58 | `persistence.existingClaim` | Use an existing PVC to persist data | `nil` | 59 | `persistence.storageClassName` | Type of persistent volume claim | `nil` | 60 | `persistence.accessModes` | Persistence access modes | `[]` | 61 | `persistence.subPath` | Mount a sub dir of the persistent volume | `""` | 62 | `schedulerName` | Alternate scheduler name | `nil` | 63 | `env` | Extra environment variables passed to pods | `{}` | 64 | `envFromSecret` | Name of a Kubenretes secret (must be manually created in the same namespace) containing values to be added to the environment | `""` | 65 | `extraSecretMounts` | Additional grafana server secret mounts | `[]` | 66 | `plugins` | Plugins to be loaded along with Grafana | `[]` | 67 | `datasources` | Configure grafana datasources | `{}` | 68 | `dashboardProviders` | Configure grafana dashboard providers | `{}` | 69 | `dashboards` | Dashboards to import | `{}` | 70 | `dashboardsConfigMaps` | ConfigMaps reference that contains dashboards | `{}` | 71 | `grafana.ini` | Grafana's primary configuration | `{}` | 72 | `ldap.existingSecret` | The name of an existing secret containing the `ldap.toml` file, this must have the key `ldap-toml`. | `""` | 73 | `ldap.config ` | Grafana's LDAP configuration | `""` | 74 | `annotations` | Deployment annotations | `{}` | 75 | `podAnnotations` | Pod annotations | `{}` | 76 | `sidecar.dashboards.enabled` | Enabled the cluster wide search for dashboards and adds/updates/deletes them in grafana | `false` | 77 | `sidecar.dashboards.label` | Label that config maps with dashboards should have to be added | `false` | 78 | `sidecar.dashboards.searchNamespace` | If specified, the sidecar will search for dashboard config-maps inside this namespace. Otherwise the namespace in which the sidecar is running will be used. It's also possible to specify ALL to search in all namespaces | `nil` | 79 | `sidecar.datasources.enabled` | Enabled the cluster wide search for datasources and adds/updates/deletes them in grafana |`false` | 80 | `sidecar.datasources.label` | Label that config maps with datasources should have to be added | `false` | 81 | `sidecar.datasources.searchNamespace` | If specified, the sidecar will search for datasources config-maps inside this namespace. Otherwise the namespace in which the sidecar is running will be used. It's also possible to specify ALL to search in all namespaces | `nil` | 82 | `smtp.existingSecret` | The name of an existing secret containing the SMTP credentials, this must have the keys `user` and `password`. | `""` | 83 84 ## Sidecar for dashboards 85 86 If the parameter `sidecar.dashboards.enabled` is set, a sidecar container is deployed in the grafana pod. This container watches all config maps in the cluster and filters out the ones with a label as defined in `sidecar.dashboards.label`. The files defined in those configmaps are written to a folder and accessed by grafana. Changes to the configmaps are monitored and the imported dashboards are deleted/updated. A recommendation is to use one configmap per dashboard, as an reduction of multiple dashboards inside one configmap is currently not properly mirrored in grafana. 87 Example dashboard config: 88 ``` 89 apiVersion: v1 90 kind: ConfigMap 91 metadata: 92 name: sample-grafana-dashboard 93 labels: 94 grafana_dashboard: 1 95 data: 96 k8s-dashboard.json: |- 97 [...] 98 ``` 99 100 ## Sidecar for datasources 101 102 If the parameter `sidecar.datasources.enabled` is set, a sidecar container is deployed in the grafana pod. This container watches all config maps in the cluster and filters out the ones with a label as defined in `sidecar.datasources.label`. The files defined in those configmaps are written to a folder and accessed by grafana on startup. Using these yaml files, the data sources in grafana can be modified. 103 104 Example datasource config adapted from [Grafana](http://docs.grafana.org/administration/provisioning/#example-datasource-config-file): 105 ``` 106 apiVersion: v1 107 kind: ConfigMap 108 metadata: 109 name: sample-grafana-datasource 110 labels: 111 grafana_datasource: 1 112 data: 113 datasource.yaml: |- 114 # config file version 115 apiVersion: 1 116 117 # list of datasources that should be deleted from the database 118 deleteDatasources: 119 - name: Graphite 120 orgId: 1 121 122 # list of datasources to insert/update depending 123 # whats available in the database 124 datasources: 125 # <string, required> name of the datasource. Required 126 - name: Graphite 127 # <string, required> datasource type. Required 128 type: graphite 129 # <string, required> access mode. proxy or direct (Server or Browser in the UI). Required 130 access: proxy 131 # <int> org id. will default to orgId 1 if not specified 132 orgId: 1 133 # <string> url 134 url: http://localhost:8080 135 # <string> database password, if used 136 password: 137 # <string> database user, if used 138 user: 139 # <string> database name, if used 140 database: 141 # <bool> enable/disable basic auth 142 basicAuth: 143 # <string> basic auth username 144 basicAuthUser: 145 # <string> basic auth password 146 basicAuthPassword: 147 # <bool> enable/disable with credentials headers 148 withCredentials: 149 # <bool> mark as default datasource. Max one per org 150 isDefault: 151 # <map> fields that will be converted to json and stored in json_data 152 jsonData: 153 graphiteVersion: "1.1" 154 tlsAuth: true 155 tlsAuthWithCACert: true 156 # <string> json object of data that will be encrypted. 157 secureJsonData: 158 tlsCACert: "..." 159 tlsClientCert: "..." 160 tlsClientKey: "..." 161 version: 1 162 # <bool> allow users to edit datasources from the UI. 163 editable: false 164 165 ```