{{- if .Values.grafana.enabled -}} ####################################################################################### # Copyright ETSI Contributors and Others. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. ####################################################################################### apiVersion: apps/v1 kind: Deployment metadata: labels: app: grafana name: grafana spec: replicas: 1 selector: matchLabels: app: grafana template: metadata: labels: app: grafana spec: containers: - env: - name: LABEL value: grafana_dashboard - name: FOLDER value: "/tmp/dashboards/Kubernetes Cluster" - name: RESOURCE value: both - name: NAMESPACE value: monitoring image: kiwigrid/k8s-sidecar:1.15.6 imagePullPolicy: IfNotPresent name: grafana-sc-dashboard resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: "/tmp/dashboards/Kubernetes Cluster" name: sc-dashboard-volume-k8s - mountPath: "/tmp/dashboards/Open Source MANO" name: sc-dashboard-volume-osm - env: - name: GF_SECURITY_ADMIN_USER valueFrom: secretKeyRef: key: admin-user name: grafana - name: GF_SECURITY_ADMIN_PASSWORD valueFrom: secretKeyRef: key: admin-password name: grafana image: grafana/grafana:10.1.2 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 10 httpGet: path: /api/health port: 3000 scheme: HTTP initialDelaySeconds: 60 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 30 name: grafana ports: - containerPort: 80 name: service protocol: TCP - containerPort: 3000 name: grafana protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /api/health port: 3000 scheme: HTTP periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /etc/grafana/grafana.ini name: config subPath: grafana.ini - mountPath: /var/lib/grafana name: storage - mountPath: "/tmp/dashboards/Kubernetes Cluster" name: sc-dashboard-volume-k8s - mountPath: "/tmp/dashboards/Open Source MANO" name: sc-dashboard-volume-osm - mountPath: /etc/grafana/provisioning/dashboards/sc-dashboardproviders.yaml name: sc-dashboard-provider subPath: provider.yaml - mountPath: /etc/grafana/provisioning/datasources name: sc-datasources-volume dnsPolicy: ClusterFirst initContainers: - env: - name: METHOD value: LIST - name: LABEL value: grafana_datasource - name: FOLDER value: /etc/grafana/provisioning/datasources - name: RESOURCE value: both image: kiwigrid/k8s-sidecar:1.15.6 imagePullPolicy: IfNotPresent name: grafana-sc-datasources resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /etc/grafana/provisioning/datasources name: sc-datasources-volume restartPolicy: Always schedulerName: default-scheduler securityContext: {{- toYaml .Values.global.podSecurityContext | nindent 8 }} serviceAccount: grafana serviceAccountName: grafana terminationGracePeriodSeconds: 30 volumes: - configMap: defaultMode: 420 name: grafana name: config - emptyDir: {} name: storage - emptyDir: {} name: sc-dashboard-volume-k8s - emptyDir: {} name: sc-dashboard-volume-osm - configMap: defaultMode: 420 name: grafana-dashboard-provider name: sc-dashboard-provider - emptyDir: {} name: sc-datasources-volume {{- end -}}