Syncs Grafana dashboards from Kubernetes ConfigMaps
2.0K
Syncs Grafana v5+ dashboard definitions from Kubernetes ConfigMaps.
To deploy, ensure the following file is added to Grafana's dashboard provisioning directory (/etc/grafana/provisioning/dashboards by default):
apiVersion: 1
providers:
- name: 'default'
orgId: 1
folder: ''
type: file
disableDeletion: true
options:
path: /tmp/dashboards
Then run grafana-loader as a sidecar in the Grafana pod:
apiVersion: apps/v1
kind: Deployment
metadata:
# ...
spec:
# ...
template:
spec:
containers:
- name: grafana
# ...
volumeMounts:
- name: dashboards
mountPath: /tmp/dashboards
- name: dashboard-loader
image: "carlpett/dashboard-loader:v0.0.1"
imagePullPolicy: IfNotPresent
ports:
- name: metrics
containerPort: 8080
protocol: TCP
securityContext:
runAsUser: 1000
fsGroup: 1000
resources:
requests:
cpu: 10m
memory: 10Mi
volumeMounts:
- name: dashboards
mountPath: /tmp/dashboards
volumes:
- name: dashboards
emptyDir: {}
This will keep all ConfigMaps labeled grafana-dashboard=true synced in the /tmp/dashboards directory.
Download the latest release, pull the Docker image or follow the instructions below for building the source.
There is a --help flag for listing the available flags.
go get -u github.com/carlpett/grafana-loader and then make build.
Content type
Image
Digest
Size
13.6 MB
Last updated
over 6 years ago
docker pull carlpett/grafana-loader