Files
helm-charts/homeassistant/templates/homeassistant.sfs.yaml
T

58 lines
1.9 KiB
YAML

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