--- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: home-assistant-config namespace: home-assistant spec: accessModes: - ReadWriteOnce resources: requests: storage: 8Gi storageClassName: local-path --- apiVersion: apps/v1 kind: StatefulSet metadata: name: home-assistant namespace: home-assistant labels: app: home-assistant spec: replicas: 1 selector: matchLabels: app: home-assistant template: metadata: labels: app: home-assistant spec: dnsPolicy: ClusterFirstWithHostNet # ensures pod uses cluster DNS (CoreDNS) for service discovery even with host networking hostNetwork: true nodeName: casa # force deploy to master node cluster tolerations: - key: "node-role.kubernetes.io/control-plane" # allow installation on control-plane operator: "Exists" effect: "NoSchedule" containers: - name: home-assistant image: "homeassistant/home-assistant" imagePullPolicy: Always env: - name: TZ value: Europe/Lisbon # set timezone volumeMounts: - name: home-assistant-config mountPath: /config resources: requests: memory: "256Mi" cpu: "400m" limits: memory: "724Mi" cpu: "1000m" volumes: - name: home-assistant-config persistentVolumeClaim: claimName: home-assistant-config