homelab_gitops/notes/home-assistant.md

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

5. Erreichbarkeit testen

Nach DNS-Propagation und Zertifikatsausstellung: https://ha.patanix.de aufrufen