diff --git a/grafana.yaml b/grafana.yaml new file mode 100644 index 0000000..aa53805 --- /dev/null +++ b/grafana.yaml @@ -0,0 +1,116 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: memelord-jake +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: grafana + namespace: memelord-jake + labels: + app: grafana +spec: + serviceName: grafana + replicas: 1 + selector: + matchLabels: + app: grafana + template: + metadata: + labels: + app: grafana + spec: + securityContext: + fsGroup: 472 + containers: + - name: grafana + image: grafana/grafana:latest + imagePullPolicy: IfNotPresent + ports: + - containerPort: 3000 + name: http + env: + - name: GF_DATABASE_TYPE + value: sqlite3 + - name: GF_DATABASE_PATH + value: /var/lib/grafana/grafana.db + # important when running behind ingress: + - name: GF_SERVER_ROOT_URL + value: https://grafana-jake.ee-lte-1.codemowers.io + volumeMounts: + - name: grafana-storage + mountPath: /var/lib/grafana + readinessProbe: + httpGet: + path: /api/health + port: 3000 + initialDelaySeconds: 10 + periodSeconds: 10 + livenessProbe: + httpGet: + path: /api/health + port: 3000 + initialDelaySeconds: 30 + periodSeconds: 10 + volumeClaimTemplates: + - metadata: + name: grafana-storage + spec: + accessModes: [ReadWriteOnce] + storageClassName: sqlite + resources: + requests: + storage: 5Gi +--- +apiVersion: v1 +kind: Service +metadata: + name: grafana + namespace: memelord-jake + labels: + app: grafana +spec: + type: ClusterIP + selector: + app: grafana + ports: + - name: http + port: 3000 + targetPort: 3000 +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: grafana-jake + namespace: memelord-jake +spec: + secretName: grafana-jake-tls + dnsNames: + - grafana-jake.ee-lte-1.codemowers.io + issuerRef: + name: letsencrypt + kind: ClusterIssuer +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: grafana + namespace: memelord-jake + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: websecure +spec: + ingressClassName: traefik + rules: + - host: grafana-jake.ee-lte-1.codemowers.io + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: grafana + port: + number: 3000 + tls: + - secretName: grafana-jake-tls