From 2a86033aa79a24f227a242d6f073cbe02bcf297c Mon Sep 17 00:00:00 2001 From: "azykov@mail.ru" Date: Sat, 25 Jul 2026 08:46:46 +0300 Subject: [PATCH] homeassistant --- .../base/apps/homeassistant/helmrelease.yaml | 70 +++++++++++++++++++ .../apps/homeassistant/helmrepository.yaml | 10 +++ .../apps/homeassistant/kustomization.yaml | 5 ++ clusters/base/namespaces/homeassistant.yaml | 4 ++ clusters/home/apps/homeassistant.yaml | 17 +++++ clusters/home/apps/kustomization.yaml | 1 + clusters/home/namespaces/kustomization.yaml | 1 + 7 files changed, 108 insertions(+) create mode 100644 clusters/base/apps/homeassistant/helmrelease.yaml create mode 100644 clusters/base/apps/homeassistant/helmrepository.yaml create mode 100644 clusters/base/apps/homeassistant/kustomization.yaml create mode 100644 clusters/base/namespaces/homeassistant.yaml create mode 100644 clusters/home/apps/homeassistant.yaml diff --git a/clusters/base/apps/homeassistant/helmrelease.yaml b/clusters/base/apps/homeassistant/helmrelease.yaml new file mode 100644 index 0000000..cd0159e --- /dev/null +++ b/clusters/base/apps/homeassistant/helmrelease.yaml @@ -0,0 +1,70 @@ +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: homeassistant + namespace: homeassistant +spec: + interval: 30m + chartRef: + kind: OCIRepository + name: homeassistant + values: + controllers: + app: + strategy: Recreate + pod: + hostNetwork: true + dnsPolicy: ClusterFirstWithHostNet + containers: + app: + image: + repository: ghcr.io/home-assistant/home-assistant + tag: "2026.7.4" + env: + TZ: Europe/Moscow + probes: + liveness: + enabled: true + readiness: + enabled: true + resources: + requests: + cpu: 100m + memory: 256Mi + limits: + memory: 1Gi + + service: + app: + controller: app + ports: + http: + port: 8123 + + ingress: + app: + className: traefik + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + hosts: + - host: p.aggtaa.com + paths: + - path: / + pathType: Prefix + service: + identifier: app + port: http + tls: + - secretName: homeassistant-tls + hosts: + - p.aggtaa.com + + persistence: + config: + type: persistentVolumeClaim + accessMode: ReadWriteOnce + size: 10Gi + storageClass: longhorn + retain: true + globalMounts: + - path: /config diff --git a/clusters/base/apps/homeassistant/helmrepository.yaml b/clusters/base/apps/homeassistant/helmrepository.yaml new file mode 100644 index 0000000..b4c541b --- /dev/null +++ b/clusters/base/apps/homeassistant/helmrepository.yaml @@ -0,0 +1,10 @@ +apiVersion: source.toolkit.fluxcd.io/v1 +kind: OCIRepository +metadata: + name: homeassistant + namespace: homeassistant +spec: + interval: 1h + url: oci://ghcr.io/bjw-s-labs/helm/app-template + ref: + tag: "5.0.1" diff --git a/clusters/base/apps/homeassistant/kustomization.yaml b/clusters/base/apps/homeassistant/kustomization.yaml new file mode 100644 index 0000000..d7fbb03 --- /dev/null +++ b/clusters/base/apps/homeassistant/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - helmrepository.yaml + - helmrelease.yaml diff --git a/clusters/base/namespaces/homeassistant.yaml b/clusters/base/namespaces/homeassistant.yaml new file mode 100644 index 0000000..57d84da --- /dev/null +++ b/clusters/base/namespaces/homeassistant.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: homeassistant diff --git a/clusters/home/apps/homeassistant.yaml b/clusters/home/apps/homeassistant.yaml new file mode 100644 index 0000000..209b901 --- /dev/null +++ b/clusters/home/apps/homeassistant.yaml @@ -0,0 +1,17 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: homeassistant + namespace: flux-system +spec: + interval: 10m + sourceRef: + kind: GitRepository + name: flux-system + path: ./clusters/base/apps/homeassistant + prune: true + wait: true + dependsOn: + - name: namespaces + - name: infra + retryInterval: 5s diff --git a/clusters/home/apps/kustomization.yaml b/clusters/home/apps/kustomization.yaml index 0d428d1..5d1eade 100644 --- a/clusters/home/apps/kustomization.yaml +++ b/clusters/home/apps/kustomization.yaml @@ -6,3 +6,4 @@ resources: - radicale.yaml - authelia.yaml - mosquitto.yaml + - homeassistant.yaml diff --git a/clusters/home/namespaces/kustomization.yaml b/clusters/home/namespaces/kustomization.yaml index 8e6ffad..4ee091c 100644 --- a/clusters/home/namespaces/kustomization.yaml +++ b/clusters/home/namespaces/kustomization.yaml @@ -8,3 +8,4 @@ resources: - ../../base/namespaces/auth.yaml - ../../base/namespaces/metallb-system.yaml - ../../base/namespaces/mqtt.yaml + - ../../base/namespaces/homeassistant.yaml