Import dashboard with Helm using Sidecar for dashboards

8/27/2019

I've exported a Grafana Dashboard (output is a json file) and now I would like to import it when I install Grafana (all automatic, with Helm and Kubernetes)

I just red this post about how to add a datasource which uses the sidecar setup. In short, you need to create a values.yaml with

sidecar:
  image: xuxinkun/k8s-sidecar:0.0.7
  imagePullPolicy: IfNotPresent
  datasources:
    enabled: true
    label: grafana_datasource

And a ConfigMap which matches that label

apiVersion: v1
kind: ConfigMap
metadata:
  name: prometheus-grafana-datasource
  labels:
    grafana_datasource: '1'
data:
  datasource.yaml: |-
    apiVersion: 1
    datasources:
    - name: Prometheus
      type: prometheus
      access: proxy
      orgId: 1
      url: http://source-prometheus-server

Ok, this works, so I tried to do something similar for bashboards, so I updated the values.yaml

sidecar:
  image: xuxinkun/k8s-sidecar:0.0.7
  imagePullPolicy: IfNotPresent
  dashboards:
    enabled: false
    # label that the configmaps with dashboards are marked with
    label: grafana_dashboard
  datasources:
    enabled: true
    label: grafana_datasource

And the ConfigMap

apiVersion: v1
kind: ConfigMap
metadata:
  name: prometheus-grafana-dashboards
  labels:
    grafana_dashboard: '1'
data:
  custom-dashboards.json: |-
    {
      "annotations": {
        "list": [
          {
    ...

However when I install grafana this time and login, there are no dashboards Any suggestions what I'm doing wrong here?

-- Jeanluca Scaljeri
grafana
kubernetes-helm

1 Answer

4/28/2020
sidecar:
  image: xuxinkun/k8s-sidecar:0.0.7
  imagePullPolicy: IfNotPresent
  dashboards:
    enabled: false
    # label that the configmaps with dashboards are marked with
    label: grafana_dashboard
  datasources:
    enabled: true
    label: grafana_datasource

In the above code there should be dashboard.enabled: true to get dashboard enabled.

-- user13422441
Source: StackOverflow