apiVersion: apps/v1 kind: Deployment metadata: name: hassio labels: app: hassio release: latest spec: replicas: 1 selector: matchLabels: app: hassio release: latest template: metadata: labels: app: hassio release: latest spec: containers: - name: hassio image: homeassistant/home-assistant:latest imagePullPolicy: Always env: - name: TZ value: Europe/Berlin volumeMounts: - name: hassio-storage mountPath: /config ports: - name: http containerPort: 8123 protocol: TCP livenessProbe: httpGet: path: / port: http initialDelaySeconds: 300 periodSeconds: 10 readinessProbe: httpGet: path: / port: http initialDelaySeconds: 120 periodSeconds: 5 resources: requests: memory: "200Mi" cpu: "250m" limits: memory: "256Mi" cpu: "500m" - name: configurator image: "causticlab/hass-configurator-docker:arm" imagePullPolicy: Always env: - name: HC_HASS_API value: http://127.0.0.1:8123/api/ - name: HC_HASS_API_PASSWORD value: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhMzBmYjU1ZjcyZGE0Yzc2YmU2NmY0NjljNTAyMjdjZCIsImlhdCI6MTYxMjg4MzI5NywiZXhwIjoxOTI4MjQzMjk3fQ.1ICsHliUXR0CG4H8vQRYJ5jVqFwmqKSB0fScSitC-Q4 ports: - name: adm containerPort: 3218 protocol: TCP #livenessProbe: # httpGet: # path: / # port: 3218 # initialDelaySeconds: 60 # periodSeconds: 3 #readinessProbe: # httpGet: # path: / # port: 3218 # initialDelaySeconds: 60 # periodSeconds: 5 volumeMounts: - name: hassio-storage mountPath: /hass-config - name: hassio-conf-storage mountPath: /config volumes: - name: hassio-storage persistentVolumeClaim: claimName: hassio-storage - name: hassio-conf-storage persistentVolumeClaim: claimName: hassio-configurator --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: hassio-storage labels: app: hassio spec: storageClassName: nfs-ssd accessModes: - ReadWriteOnce resources: requests: storage: 20Mi --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: hassio-configurator labels: app: hassio spec: storageClassName: nfs-ssd accessModes: - ReadWriteOnce resources: requests: storage: 20Mi --- apiVersion: v1 kind: Service metadata: name: hassio labels: app: hassio release: latest spec: ports: - port: 80 targetPort: http protocol: TCP name: http selector: app: hassio release: latest --- apiVersion: v1 kind: Service metadata: name: hassio-conf labels: app: hassio release: latest spec: ports: - port: 80 targetPort: adm protocol: TCP name: adm selector: app: hassio release: latest --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: hassio annotations: kubernetes.io/ingress.class: nginx spec: rules: - host: hassio.lan http: paths: - path: / pathType: Prefix backend: service: name: hassio port: name: http - host: hassio-conf.lan http: paths: - path: / pathType: Prefix backend: service: name: hassio-conf port: name: adm