infra4talos/apps-kustomized/home-assistant/deploy.yaml

95 lines
2.6 KiB
YAML

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:2023.11.2
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