feat: overhaul

This commit is contained in:
auricom
2025-01-04 00:00:04 +01:00
parent b14022014b
commit 0c9529c7a2
408 changed files with 3187 additions and 2380 deletions

View File

@@ -4,7 +4,6 @@ apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: home-assistant
namespace: default
spec:
secretStoreRef:
kind: ClusterSecretStore
@@ -14,21 +13,30 @@ spec:
template:
engineVersion: v2
data:
# App
HASS_SECRET_ELEVATION: "{{ .HASS_ELEVATION }}"
HASS_SECRET_LATITUDE: "{{ .HASS_LATITUDE }}"
HASS_SECRET_LONGITUDE: "{{ .HASS_LONGITUDE }}"
HASS_SECRET_DB_URL: "postgresql://{{ .POSTGRES_USER }}:{{ .POSTGRES_PASS }}@postgres16-rw.database.svc.cluster.local/home_assistant"
HASS_SECRET_URL: "{{ .HASS_URL }}"
PROMETHEUS_TOKEN: "{{ .PROMETHEUS_TOKEN }}"
# Postgres Init
INIT_POSTGRES_DBNAME: home_assistant
INIT_POSTGRES_HOST: postgres16-rw.database.svc.cluster.local
INIT_POSTGRES_USER: "{{ .POSTGRES_USER }}"
INIT_POSTGRES_PASS: "{{ .POSTGRES_PASS }}"
INIT_POSTGRES_SUPER_PASS: "{{ .POSTGRES_SUPER_PASS }}"
dataFrom:
- extract:
key: cloudnative-pg
- extract:
key: home-assistant
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/external-secrets.io/externalsecret_v1beta1.json
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: home-assistant-db
spec:
secretStoreRef:
kind: ClusterSecretStore
name: crunchy-pgo-secrets
target:
name: home-assistant-db-secret
template:
engineVersion: v2
data:
HASS_SECRET_DB_URL: 'postgres://{{ index . "user" }}:{{ index . "password" }}@{{ index . "host" }}/{{ index . "dbname" }}'
dataFrom:
- extract:
key: postgres-pguser-home-assistant

View File

@@ -4,7 +4,6 @@ apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: &app home-assistant
namespace: default
spec:
interval: 30m
chart:
@@ -40,14 +39,7 @@ spec:
home-assistant:
annotations:
reloader.stakater.com/auto: "true"
initContainers:
init-db:
image:
repository: ghcr.io/onedr0p/postgres-init
tag: 16
envFrom: &envFrom
- secretRef:
name: home-assistant-secret
secret.reloader.stakater.com/reload: home-assistant-db-secret
containers:
app:
image:
@@ -55,9 +47,11 @@ spec:
tag: 2024.12.5@sha256:638e519c874a06389ce6f03e435dd80a6697e8692eac88b459775839410f3439
env:
TZ: "${TIMEZONE}"
POSTGRES_HOST: ${POSTGRES_HOST}
POSTGRES_DB: home_assistant
envFrom: *envFrom
envFrom:
- secretRef:
name: home-assistant-secret
- secretRef:
name: home-assistant-db-secret
probes:
liveness:
enabled: false
@@ -85,7 +79,7 @@ spec:
ingress:
app:
enabled: true
className: nginx
className: internal
annotations:
hajimari.io/icon: mdi:home-assistant
hosts:

View File

@@ -1,7 +1,6 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/kustomization.json
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: default
resources:
- ./externalsecret.yaml
- ./helmrelease.yaml

View File

@@ -3,7 +3,6 @@ apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: home-assistant
namespace: default
spec:
podMetricsEndpoints:
- interval: 1m

View File

@@ -4,7 +4,6 @@ apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: &app home-assistant-code
namespace: default
spec:
interval: 30m
chart:
@@ -76,7 +75,7 @@ spec:
ingress:
app:
enabled: true
className: nginx
className: internal
hosts:
- host: &host hass-code.${SECRET_EXTERNAL_DOMAIN}
paths:

View File

@@ -1,5 +1,5 @@
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
@@ -11,6 +11,7 @@ spec:
labels:
app.kubernetes.io/name: *app
dependsOn:
- name: crunchy-postgres-operator-cluster
- name: external-secrets-stores
- name: volsync
path: ./kubernetes/apps/default/home-assistant/app
@@ -28,7 +29,7 @@ spec:
GATUS_SUBDOMAIN: hass
VOLSYNC_CAPACITY: 5Gi
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
@@ -39,6 +40,8 @@ spec:
commonMetadata:
labels:
app.kubernetes.io/name: &app home-assistant
dependsOn:
- name: home-assistant
path: ./kubernetes/apps/default/home-assistant/code
prune: true
sourceRef: