apiVersion: apps/v1 kind: Deployment metadata: labels: app.kubernetes.io/name: home-assistant name: home-assistant spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: home-assistant template: metadata: labels: app.kubernetes.io/name: home-assistant spec: automountServiceAccountToken: true containers: - env: - name: TZ value: UTC image: ghcr.io/home-assistant/home-assistant:2024.8.1 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 periodSeconds: 10 successThreshold: 1 tcpSocket: port: 8123 timeoutSeconds: 1 name: homeassistant-home-assistant ports: - containerPort: 8123 name: http protocol: TCP readinessProbe: failureThreshold: 3 periodSeconds: 10 successThreshold: 1 tcpSocket: port: 8123 timeoutSeconds: 1 securityContext: privileged: true startupProbe: failureThreshold: 30 periodSeconds: 5 successThreshold: 1 tcpSocket: port: 8123 timeoutSeconds: 1 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /config name: config dnsPolicy: ClusterFirst enableServiceLinks: true initContainers: - command: - /bin/sh - -c - | PG_HOST=homeassistant-postgres PG_DB=homeassistant echo "psql_string: \"postgresql://${PG_USER}:${PG_PASS}@${PG_HOST}/${PG_DB}\"" > /config/secrets.yaml env: - name: PG_USER valueFrom: secretKeyRef: key: username name: homeassistant.homeassistant-postgres.credentials.postgresql.acid.zalan.do - name: PG_PASS valueFrom: secretKeyRef: key: password name: homeassistant.homeassistant-postgres.credentials.postgresql.acid.zalan.do image: alpine:latest imagePullPolicy: Always name: dbsecret terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /config name: config restartPolicy: Always schedulerName: default-scheduler serviceAccount: default serviceAccountName: default terminationGracePeriodSeconds: 30 volumes: - name: config persistentVolumeClaim: claimName: home-assistant-config