initial refactor

This commit is contained in:
2025-06-07 16:33:55 -04:00
parent 5ac011f02b
commit b09446668d
249 changed files with 74 additions and 186 deletions

View File

@@ -0,0 +1,70 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: homeassistant
namespace: homeassistant
spec:
selector:
matchLabels:
app: homeassistant
template:
metadata:
labels:
app: homeassistant
spec:
nodeName: patrick
containers:
- name: homeassistant
image: lscr.io/linuxserver/homeassistant:latest
imagePullPolicy: Always
envFrom:
- configMapRef:
name: homeassistant-config
optional: false
ports:
- containerPort: 8123
name: http
protocol: TCP
# hostPort: 8123
volumeMounts:
- name: config
mountPath: /config
- name: dev-serial
mountPath: /dev/serial
securityContext:
privileged: true
capabilities:
add:
- NET_ADMIN
- NET_RAW
# hostNetwork: true
- name: whisper
image: lscr.io/linuxserver/faster-whisper:latest
imagePullPolicy: Always
envFrom:
- configMapRef:
name: whisper-config
optional: false
ports:
- containerPort: 10300
- name: piper
image: lscr.io/linuxserver/piper:latest
imagePullPolicy: Always
envFrom:
- configMapRef:
name: piper-config
optional: false
ports:
- containerPort: 10200
- name: openwakeword
image: rhasspy/wyoming-openwakeword
imagePullPolicy: Always
ports:
- containerPort: 10400
volumes:
- name: config
persistentVolumeClaim:
claimName: homeassistant-config
- name: dev-serial
hostPath:
path: /dev/serial

View File

@@ -0,0 +1,12 @@
apiVersion: externaldns.k8s.io/v1alpha1
kind: DNSEndpoint
metadata:
name: ha.michaelthomson.dev
namespace: homeassistant
spec:
endpoints:
- dnsName: ha.michaelthomson.dev
recordTTL: 180
recordType: CNAME
targets:
- server.michaelthomson.dev

View File

@@ -0,0 +1,9 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: homeassistant-config
namespace: homeassistant
data:
TZ: "America/Toronto"
PUID: "1000"
PGID: "1000"

View File

@@ -0,0 +1,24 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: homeassistant
namespace: homeassistant
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls: "true"
spec:
rules:
- host: ha.michaelthomson.dev
http:
paths:
- pathType: ImplementationSpecific
path: /
backend:
service:
name: homeassistant
port:
name: http
tls:
- hosts:
- ha.michaelthomson.dev
secretName: letsencrypt-wildcard-cert-michaelthomson.dev

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: homeassistant

View File

@@ -0,0 +1,10 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: piper-config
namespace: homeassistant
data:
TZ: "America/Toronto"
PUID: "1000"
PGID: "1000"
PIPER_VOICE: "en_US-lessac-medium"

View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: homeassistant-config
namespace: homeassistant
spec:
resources:
requests:
storage: 8Gi
storageClassName: longhorn
accessModes:
- ReadWriteOnce

View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: homeassistant
namespace: homeassistant
spec:
selector:
app: homeassistant
ports:
- port: 80
targetPort: http
name: http

View File

@@ -0,0 +1,11 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: whisper-config
namespace: homeassistant
data:
TZ: "America/Toronto"
PUID: "1000"
PGID: "1000"
WHISPER_MODEL: "base"
WHISPER_LANG: "en"