Sunnypup-Helm/templates/monitoring.yaml
Ava Affine a74de574eb Add observability stack
Signed-off-by: Ava Affine <ava@sunnypup.io>
2025-07-18 15:47:36 -07:00

269 lines
5.5 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: observability
spec:
replicas: 1
selector:
matchLabels:
app: observability
template:
metadata:
labels:
app: observability
spec:
containers:
- name: otel-lgtm
image: grafana/otel-lgtm
ports:
- name: web-interface
containerPort: 3000
- name: otel-http
containerPort: 4318
- name: otel-grpc
containerPort: 4317
env:
- name: ENABLE_LOGS_GRAFANA
value: "true"
- name: GF_AUTH_ANONYMOUS_ENABLED
value: "false"
- name: GF_AUTH_PASSWORDLESS_ENABLED
value: "false"
- name: GF_DATABASE_TYPE
value: "postgres"
- name: GF_DATABASE_USER
value: {{ .Values.pg.user }}
- name: GF_DATABASE_PASSWORD
value: {{ .Values.pg.pass }}
- name: GF_DATABASE_HOST
value: "postgres:5432"
- name: GF_DATABASE_INSTRUMENT_QUERIES
value: "true"
volumeMounts:
- name: tempo-data
mountPath: /data/tempo
- name: grafana-data
mountPath: /data/grafana
- name: loki-data
mountPath: /data/loki
- name: loki-storage
mountPath: /loki
- name: p8s-storage
mountPath: /data/prometheus
- name: pyroscope-storage
mountPath: /data/pyroscope
volumes:
- name: tempo-data
persistentVolumeClaim:
claimName: tempo-pvc
- name: loki-data
persistentVolumeClaim:
claimName: loki-data-pvc
- name: grafana-data
persistentVolumeClaim:
claimName: grafana-pvc
- name: loki-storage
persistentVolumeClaim:
claimName: loki-storage-pvc
- name: p8s-storage
persistentVolumeClaim:
claimName: p8s-pvc
- name: pyroscope-storage
persistentVolumeClaim:
claimName: pyroscope-pvc
---
apiVersion: v1
kind: Service
metadata:
name: observability
spec:
selector:
app: observability
ports:
- name: grafana
protocol: TCP
port: 3000
targetPort: 3000
- name: otel-grpc
protocol: TCP
port: 4317
targetPort: 4317
- name: otel-http
protocol: TCP
port: 4318
targetPort: 4318
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: tempo-pv
labels:
pvc_type: tempo-pv
spec:
capacity:
storage: 50Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
hostPath:
path: {{ .Values.observability.tempo }}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: tempo-pvc
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
storageClassName: ""
volumeName: tempo-pv
resources:
requests:
storage: 50Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: loki-data-pv
labels:
pvc_type: loki-data-pv
spec:
capacity:
storage: 50Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
hostPath:
path: {{ .Values.observability.loki.data_path }}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: loki-data-pvc
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
storageClassName: ""
volumeName: loki-data-pv
resources:
requests:
storage: 50Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: loki-storage-pv
labels:
pvc_type: loki-storage-pv
spec:
capacity:
storage: 50Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
hostPath:
path: {{ .Values.observability.loki.storage_path }}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: loki-storage-pvc
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
storageClassName: ""
volumeName: loki-storage-pv
resources:
requests:
storage: 50Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: grafana-pv
labels:
pvc_type: grafana-pv
spec:
capacity:
storage: 50Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
hostPath:
path: {{ .Values.observability.grafana }}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: grafana-pvc
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
storageClassName: ""
volumeName: grafana-pv
resources:
requests:
storage: 50Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: p8s-pv
labels:
pvc_type: p8s-pv
spec:
capacity:
storage: 50Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
hostPath:
path: {{ .Values.observability.p8s }}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: p8s-pvc
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
storageClassName: ""
volumeName: p8s-pv
resources:
requests:
storage: 50Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pyroscope-pv
labels:
pvc_type: pyroscope-pv
spec:
capacity:
storage: 50Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
hostPath:
path: {{ .Values.observability.pyroscope }}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pyroscope-pvc
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
storageClassName: ""
volumeName: pyroscope-pv
resources:
requests:
storage: 50Gi