add openwakeword deployment

This commit is contained in:
Roger Oriol
2026-07-29 00:43:23 +02:00
parent fba742b34f
commit 5fe0ee361a

View File

@@ -0,0 +1,91 @@
# Wyoming Wake Word (rhasspy/wyoming-openwakeword).
#
# Exposes the Wyoming protocol over TCP on port 10400 so Home Assistant's
# Wyoming wake word integration can stream microphone audio and receive wake
# word detections. Uses openWakeWord under the hood with ONNX models.
#
# Lightweight CPU-only pod (no GPU), not pinned to the NUCBox. Models are
# cached in a local-path PVC (`/data`) so they don't re-download on restart.
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: wyoming-openwakeword-data
namespace: llamacpp
labels:
app: llamacpp
component: wakeword
spec:
storageClassName: local-path
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: wyoming-openwakeword
namespace: llamacpp
labels:
app: llamacpp
component: wakeword
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: llamacpp
component: wakeword
template:
metadata:
labels:
app: llamacpp
component: wakeword
spec:
nodeSelector:
kubernetes.io/arch: amd64
containers:
- name: wyoming-openwakeword
image: rhasspy/wyoming-openwakeword
imagePullPolicy: IfNotPresent
args:
- --uri
- tcp://0.0.0.0:10400
ports:
- name: wyoming
containerPort: 10400
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "500m"
memory: "512Mi"
volumeMounts:
- name: data
mountPath: /data
volumes:
- name: data
persistentVolumeClaim:
claimName: wyoming-openwakeword-data
---
apiVersion: v1
kind: Service
metadata:
name: wyoming-openwakeword
namespace: llamacpp
labels:
app: llamacpp
component: wakeword
spec:
type: ClusterIP
selector:
app: llamacpp
component: wakeword
ports:
- name: wyoming
port: 10400
targetPort: 10400