2.2 KiB
2.2 KiB
Home Assistant Best Practices
Secret
- Nicht zwingend nötig, nur für zusätzliche Umgebungsvariablen.
- Kann jederzeit nachgerüstet werden.
Zertifikat
- Standard: Ingress mit cert-manager-Annotation, cert-manager erstellt das Zertifikat automatisch.
- Alternativ: Certificate-Objekt selbst anlegen, dann Annotation im Ingress entfernen.
HelmRepository (pajikos)
cat <<EOF > infrastructure/services/home-assistant/helmrepository.yaml
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
name: pajikos-home-assistant
namespace: flux-system
spec:
interval: 30m
url: https://pajikos.github.io/home-assistant-helm-chart
EOF
HelmRelease (Beispiel)
cat <<EOF > infrastructure/services/home-assistant/helmrelease.yaml
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: home-assistant
namespace: home-assistant
spec:
interval: 15m
chart:
spec:
chart: home-assistant
version: 15.3.5
sourceRef:
kind: HelmRepository
name: pajikos-home-assistant
namespace: flux-system
values:
persistence:
enabled: true
existingClaim: home-assistant-config
ingress:
main:
enabled: true
hosts:
- host: ha.patanix.de
paths:
- /
tls:
- secretName: ha-patanix-de-tls
hosts:
- ha.patanix.de
annotations:
cert-manager.io/cluster-issuer: letsencrypt-dns
EOF
2. Secret verschlüsseln - falls vorhanden
sops -e -i infrastructure/services/home-assistant/secret.yaml
3. Dateien ins Repo legen und pushen
git add infrastructure/services/home-assistant/*
git add infrastructure/kustomization-home-assistant.yaml
git commit -m "Deploy Home Assistant via FluxCD (20GiB, ha.patanix.de)"
git push origin main
4. Flux synchronisieren
flux reconcile source git flux-system
flux get kustomizations
kubectl -n home-assistant get pods
kubectl -n home-assistant get ingress
kubectl -n home-assistant get certificate