apiVersion: apps/v1 kind: StatefulSet metadata: name: "{{ .Release.Name }}-{{ .Chart.Name }}-sfs" labels: app: "{{ .Release.Name }}-{{ .Chart.Name }}" spec: serviceName: "{{ .Release.Name }}-{{ .Chart.Name }}-service" replicas: 1 selector: matchLabels: app: "{{ .Release.Name }}-{{ .Chart.Name }}" template: metadata: labels: app: "{{ .Release.Name }}-{{ .Chart.Name }}" name: "{{ .Release.Name }}-{{ .Chart.Name }}-sfs" spec: automountServiceAccountToken: false containers: - name: "{{ .Release.Name }}-{{ .Chart.Name }}" image: "ghcr.io/home-assistant/home-assistant:{{ .Chart.AppVersion }}" imagePullPolicy: IfNotPresent ports: - name: http containerPort: 8123 protocol: TCP # TODO: liveness-probe, readiness-probe resources: limits: cpu: {{ .Values.resources.limits.cpu }} memory: {{ .Values.resources.limits.memory }} requests: cpu: {{ .Values.resources.requests.cpu }} memory: {{ .Values.resources.requests.memory }} # TODO: volume mounts volumeMounts: - mountPath: /config/configuration.yaml subPath: configuration.yaml name: core-config - mountPath: /config/http-config.yaml subPath: http-config.yaml name: http-config # TODO: volumes volumes: - name: core-config configMap: name: {{ .Release.Name }}-{{ .Chart.Name }}-core-config items: - key: config path: configuration.yaml - name: http-config configMap: name: {{ .Release.Name }}-{{ .Chart.Name }}-core-config items: - key: http-config path: http-config.yaml # TODO: bind to local nodes