# Originally installed via helm chart home-assistant-13.3.0 (release record no # longer in cluster); managed as a raw manifest since. Selector labels are # immutable — do not change them. # NOTE: /config/configuration.yaml (on the PV, not in git) must keep # http.trusted_proxies: [10.42.0.0/16] so traefik can reach HA from any node. apiVersion: apps/v1 kind: Deployment metadata: name: home-assistant namespace: home-assistant labels: app.kubernetes.io/instance: home-assistant app.kubernetes.io/name: home-assistant spec: replicas: 1 revisionHistoryLimit: 3 selector: matchLabels: app.kubernetes.io/instance: home-assistant app.kubernetes.io/name: home-assistant strategy: type: Recreate template: metadata: labels: app.kubernetes.io/instance: home-assistant app.kubernetes.io/name: home-assistant spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: cpu operator: In values: - arm - key: controller operator: NotIn values: - "true" containers: - name: home-assistant image: ghcr.io/home-assistant/home-assistant:stable imagePullPolicy: Always env: - name: TZ value: UTC ports: - name: http containerPort: 8123 protocol: TCP startupProbe: tcpSocket: port: 8123 failureThreshold: 30 periodSeconds: 5 livenessProbe: tcpSocket: port: 8123 failureThreshold: 3 periodSeconds: 10 readinessProbe: tcpSocket: port: 8123 failureThreshold: 3 periodSeconds: 10 volumeMounts: - name: config mountPath: /config volumes: - name: config persistentVolumeClaim: claimName: home-assistant