From ad69264b7b63123967e7deb35fd5712c00b9bd2f Mon Sep 17 00:00:00 2001 From: Ava Affine Date: Tue, 2 Sep 2025 20:21:11 +0000 Subject: [PATCH] add mdns to homeassistant and turn off mimir Signed-off-by: Ava Affine --- templates/homeassistant.yaml | 5 + templates/monitoring.yaml | 538 +++++++++++++++++------------------ templates/routing.yaml | 48 ++-- 3 files changed, 298 insertions(+), 293 deletions(-) diff --git a/templates/homeassistant.yaml b/templates/homeassistant.yaml index 13bd95f..4a62b84 100644 --- a/templates/homeassistant.yaml +++ b/templates/homeassistant.yaml @@ -93,6 +93,8 @@ spec: mountPath: /data - name: host-dbus mountPath: /run/dbus + - name: host-avahi-mdns + mountPath: /var/run/avahi-daemon/socket volumes: - name: data-directory persistentVolumeClaim: @@ -100,6 +102,9 @@ spec: - name: host-dbus hostPath: path: /run/dbus + - name: host-avahi-mdns + hostPath: + path: /var/run/avahi-daemon/socket --- apiVersion: v1 kind: PersistentVolume diff --git a/templates/monitoring.yaml b/templates/monitoring.yaml index 1438a49..575f704 100644 --- a/templates/monitoring.yaml +++ b/templates/monitoring.yaml @@ -1,269 +1,269 @@ -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 - +#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 +# diff --git a/templates/routing.yaml b/templates/routing.yaml index 5e5fa68..548ad74 100644 --- a/templates/routing.yaml +++ b/templates/routing.yaml @@ -37,7 +37,7 @@ spec: - office.sunnypup.io - echo.sunnypup.io - hephaestus.sunnypup.io - - mimir.sunnypup.io +# - mimir.sunnypup.io - annwn.sunnypup.io --- apiVersion: cert-manager.io/v1 @@ -75,29 +75,29 @@ spec: action: pass: wordpress --- -apiVersion: k8s.nginx.org/v1 -kind: VirtualServer -metadata: - name: observability - labels: - acme.cert-manager.io/http01-solver: "true" -spec: - host: mimir.sunnypup.io - tls: - cert-manager: - cluster-issuer: letsencrypt - secret: sunnypup-certs - redirect: - enable: true - upstreams: - - name: observability - service: observability - port: 3000 - routes: - - path: / - action: - pass: observability ---- +#apiVersion: k8s.nginx.org/v1 +#kind: VirtualServer +#metadata: +# name: observability +# labels: +# acme.cert-manager.io/http01-solver: "true" +#spec: +# host: mimir.sunnypup.io +# tls: +# cert-manager: +# cluster-issuer: letsencrypt +# secret: sunnypup-certs +# redirect: +# enable: true +# upstreams: +# - name: observability +# service: observability +# port: 3000 +# routes: +# - path: / +# action: +# pass: observability +#--- apiVersion: k8s.nginx.org/v1 kind: VirtualServer metadata: