From c95822bca29fe405dca8fccc8fe387b4cc149612 Mon Sep 17 00:00:00 2001 From: Ava Affine Date: Wed, 6 Aug 2025 17:05:39 +0000 Subject: [PATCH] homeassistant container deployment Signed-off-by: Ava Affine --- templates/homeassistant.yaml | 78 ++++++++++++++++++++++++++++++++++++ templates/routing.yaml | 16 +++++++- values.yaml | 2 + 3 files changed, 95 insertions(+), 1 deletion(-) diff --git a/templates/homeassistant.yaml b/templates/homeassistant.yaml index 1a9d448..13bd95f 100644 --- a/templates/homeassistant.yaml +++ b/templates/homeassistant.yaml @@ -14,6 +14,22 @@ spec: port: 8123 targetPort: 8123 --- +apiVersion: v1 +kind: Service +metadata: + name: matter + labels: + app: matter +spec: + selector: + app: matter + type: ClusterIP + clusterIP: None + ports: + - name: api-port + port: 5580 + targetPort: 5580 +--- apiVersion: apps/v1 kind: Deployment metadata: @@ -52,6 +68,39 @@ spec: hostPath: path: /dev/ttyUSB0 --- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: matter +spec: + replicas: 1 + selector: + matchLabels: + app: matter + template: + metadata: + labels: + app: matter + spec: + containers: + - name: matter + image: "ghcr.io/home-assistant-libs/python-matter-server:stable" + ports: + - name: api-port + containerPort: 5580 + volumeMounts: + - name: data-directory + mountPath: /data + - name: host-dbus + mountPath: /run/dbus + volumes: + - name: data-directory + persistentVolumeClaim: + claimName: matter-pvc + - name: host-dbus + hostPath: + path: /run/dbus +--- apiVersion: v1 kind: PersistentVolume metadata: @@ -80,3 +129,32 @@ spec: resources: requests: storage: 1000Gi +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: matter-pv + labels: + pvc_type: matter-pv +spec: + capacity: + storage: 1000Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + hostPath: + path: {{ .Values.homeassistant.matter.path }} +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: matter-pvc +spec: + accessModes: + - ReadWriteOnce + volumeMode: Filesystem + storageClassName: "" + volumeName: matter-pv + resources: + requests: + storage: 1000Gi diff --git a/templates/routing.yaml b/templates/routing.yaml index e2ab149..b8493a8 100644 --- a/templates/routing.yaml +++ b/templates/routing.yaml @@ -243,4 +243,18 @@ spec: port: 22222 action: pass: forge - +--- +apiVersion: k8s.nginx.org/v1 +kind: TransportServer +metadata: + name: matter-passthrough +spec: + listener: + name: matter-api + protocol: TCP + upstreams: + - name: matter + service: matter + port: 5580 + action: + pass: matter diff --git a/values.yaml b/values.yaml index 8513e2d..326ede8 100644 --- a/values.yaml +++ b/values.yaml @@ -80,3 +80,5 @@ observability: homeassistant: path: "/srv/sunnypup/homeassistant" + matter: + path: "/srv/sunnypup/matter"