apiVersion: apps/v1 kind: Deployment metadata: name: grafana namespace: monitoring spec: replicas: 1 strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 1 selector: matchLabels: name: grafana phase: prod template: metadata: labels: name: grafana phase: prod spec: containers: - name: grafana image: grafana/grafana:4.6.3 env: - name: GF_SERVER_HTTP_PORT value: "8080" - name: GF_AUTH_BASIC_ENABLED value: "false" - name: GF_AUTH_ANONYMOUS_ENABLED value: "true" - name: GF_AUTH_ANONYMOUS_ORG_ROLE value: Admin ports: - name: http containerPort: 8080 resources: requests: memory: 100Mi cpu: 100m limits: memory: 200Mi cpu: 200m - name: grafana-watcher image: quay.io/coreos/grafana-watcher:v0.0.8 args: - '--watch-dir=/etc/grafana/dashboards' - '--grafana-url=http://localhost:8080' resources: requests: memory: "16Mi" cpu: "50m" limits: memory: "32Mi" cpu: "100m" volumeMounts: - name: dashboards mountPath: /etc/grafana/dashboards volumes: - name: dashboards configMap: name: grafana-dashboards