diff --git a/kubernetes/apps/home-assistant/deployment.yaml b/kubernetes/apps/home-assistant/deployment.yaml index 8ea3a6a6..7bb5c988 100644 --- a/kubernetes/apps/home-assistant/deployment.yaml +++ b/kubernetes/apps/home-assistant/deployment.yaml @@ -23,13 +23,10 @@ spec: # when that field was dropped from the manifest. Safe to remove # in a follow-up once SSA owns it with this value. serviceAccountName: default - nodeSelector: - topology.kubernetes.io/zone: edge - tolerations: - - key: workload-class - operator: Equal - value: pinned - effect: NoSchedule + # No nodeSelector/toleration: HA reads the power meter over MQTT now + # (sml2mqtt bridge owns the USB device on edge), so it no longer needs + # the edge USB device and schedules on the general cluster pool. This + # gets the heavy HA pod (8Gi) off the soon-to-be-tiny edge box. containers: - name: home-assistant image: ghcr.io/home-assistant/home-assistant:2026.6.4 # {"$imagepolicy": "flux-system:home-assistant"} @@ -43,8 +40,6 @@ spec: volumeMounts: - name: config mountPath: /config - - name: stromzaehler - mountPath: /dev/stromzaehler # Initial restore of a 1 GB encrypted HAOS backup runs single- # threaded inside HA's Python and exceeded the old liveness # window, getting SIGTERM'd mid-restore. Startup probe gives a @@ -78,8 +73,8 @@ spec: memory: 2Gi limits: memory: 8Gi - securityContext: - privileged: true + # No securityContext/privileged: the USB meter is gone (read via + # MQTT now), which was the only reason HA needed privileged. # Reverse-proxy sidecar. ingress-nginx → :8124 → 127.0.0.1:8123. # HA's TCP peer is always loopback, so http.trusted_proxies = # [127.0.0.1, ::1] is static and never has to change when @@ -171,9 +166,6 @@ spec: # (/etc/nginx/conf.d/default.conf rendered from the .template). - name: proxy-conf-d emptyDir: {} - - name: stromzaehler - hostPath: - path: /dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_DK0E1GP5-if00-port0 # code-server's settings/extensions cache. Not on the config PVC # so installed extensions don't pollute HA's /config listing. # Trade-off: extensions reset across pod restarts.