moore home assistant
This commit is contained in:
		@@ -34,4 +34,3 @@ spec:
 | 
				
			|||||||
        - name: config-dir
 | 
					        - name: config-dir
 | 
				
			||||||
          persistentVolumeClaim:
 | 
					          persistentVolumeClaim:
 | 
				
			||||||
            claimName: config
 | 
					            claimName: config
 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -1,17 +1,17 @@
 | 
				
			|||||||
apiVersion: traefik.io/v1alpha1
 | 
					apiVersion: traefik.io/v1alpha1
 | 
				
			||||||
kind: IngressRoute
 | 
					kind: IngressRoute
 | 
				
			||||||
metadata:
 | 
					metadata:
 | 
				
			||||||
  name: homeassistant-ingress
 | 
					  name: homeassistant
 | 
				
			||||||
spec:
 | 
					spec:
 | 
				
			||||||
  entryPoints:
 | 
					  entryPoints:
 | 
				
			||||||
    - websecure
 | 
					    - websecure
 | 
				
			||||||
  routes:
 | 
					  routes:
 | 
				
			||||||
    - match: Host(`home.kluster.moll.re`) && !Path(`/api/prometheus`)
 | 
					    - match: Host(`homeassistant.kluster.moll.re`)
 | 
				
			||||||
      middlewares:
 | 
					      middlewares:
 | 
				
			||||||
        - name: homeassistant-websocket
 | 
					        - name: homeassistant
 | 
				
			||||||
      kind: Rule
 | 
					      kind: Rule
 | 
				
			||||||
      services:
 | 
					      services:
 | 
				
			||||||
        - name: homeassistant-web
 | 
					        - name: homeassistant
 | 
				
			||||||
          port: 8123
 | 
					          port: 8123
 | 
				
			||||||
  tls:
 | 
					  tls:
 | 
				
			||||||
    certResolver: default-tls
 | 
					    certResolver: default-tls
 | 
				
			||||||
@@ -19,7 +19,7 @@ spec:
 | 
				
			|||||||
apiVersion: traefik.io/v1alpha1
 | 
					apiVersion: traefik.io/v1alpha1
 | 
				
			||||||
kind: Middleware
 | 
					kind: Middleware
 | 
				
			||||||
metadata:
 | 
					metadata:
 | 
				
			||||||
  name: homeassistant-websocket
 | 
					  name: homeassistant
 | 
				
			||||||
spec:
 | 
					spec:
 | 
				
			||||||
  headers:
 | 
					  headers:
 | 
				
			||||||
    customRequestHeaders:
 | 
					    customRequestHeaders:
 | 
				
			||||||
							
								
								
									
										20
									
								
								apps/homeassistant/base/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								apps/homeassistant/base/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					apiVersion: kustomize.config.k8s.io/v1beta1
 | 
				
			||||||
 | 
					kind: Kustomization
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resources:
 | 
				
			||||||
 | 
					  # - namespace.yaml # not managed by kustomize but created as needed by the argo app. creates conflicts otherwise since both overlays share the same namespace
 | 
				
			||||||
 | 
					  - ingress.yaml
 | 
				
			||||||
 | 
					  - pvc.yaml
 | 
				
			||||||
 | 
					  - service.yaml
 | 
				
			||||||
 | 
					  - deployment.yaml
 | 
				
			||||||
 | 
					  - servicemonitor.yaml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					images:
 | 
				
			||||||
 | 
					  - name: homeassistant
 | 
				
			||||||
 | 
					    newName: homeassistant/home-assistant
 | 
				
			||||||
 | 
					    newTag: "2025.10"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					configurations:
 | 
				
			||||||
 | 
					  # allow nameReference to work with different mentions of the same resource as well
 | 
				
			||||||
 | 
					  - name_reference.yaml
 | 
				
			||||||
							
								
								
									
										23
									
								
								apps/homeassistant/base/name_reference.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								apps/homeassistant/base/name_reference.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					nameReference:
 | 
				
			||||||
 | 
					  # Tie target Service metadata.name to other ingressroute fields
 | 
				
			||||||
 | 
					  - kind: Service
 | 
				
			||||||
 | 
					    fieldSpecs:
 | 
				
			||||||
 | 
					      # rewrite the backend service name
 | 
				
			||||||
 | 
					      - kind: IngressRoute
 | 
				
			||||||
 | 
					        group: traefik.io
 | 
				
			||||||
 | 
					        version: v1alpha1
 | 
				
			||||||
 | 
					        path: spec/routes/services/name
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # adapt the ingress url
 | 
				
			||||||
 | 
					      # DOES NOT WORK
 | 
				
			||||||
 | 
					      - kind: IngressRoute
 | 
				
			||||||
 | 
					        group: traefik.io
 | 
				
			||||||
 | 
					        version: v1alpha1
 | 
				
			||||||
 | 
					        path: /spec/routes/match
 | 
				
			||||||
 | 
					        create: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # adapt any middleware names
 | 
				
			||||||
 | 
					      - kind: IngressRoute
 | 
				
			||||||
 | 
					        group: traefik.io
 | 
				
			||||||
 | 
					        version: v1alpha1
 | 
				
			||||||
 | 
					        path: spec/routes/middlewares/name
 | 
				
			||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
apiVersion: v1
 | 
					apiVersion: v1
 | 
				
			||||||
kind: Service
 | 
					kind: Service
 | 
				
			||||||
metadata:
 | 
					metadata:
 | 
				
			||||||
  name: homeassistant-web
 | 
					  name: homeassistant
 | 
				
			||||||
  labels:
 | 
					  labels:
 | 
				
			||||||
    app: homeassistant
 | 
					    app: homeassistant
 | 
				
			||||||
spec:
 | 
					spec:
 | 
				
			||||||
@@ -1,18 +0,0 @@
 | 
				
			|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
					 | 
				
			||||||
kind: Kustomization
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace: homeassistant
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
resources: 
 | 
					 | 
				
			||||||
  - namespace.yaml
 | 
					 | 
				
			||||||
  - ingress.yaml
 | 
					 | 
				
			||||||
  - pvc.yaml
 | 
					 | 
				
			||||||
  - service.yaml
 | 
					 | 
				
			||||||
  - deployment.yaml
 | 
					 | 
				
			||||||
  - servicemonitor.yaml
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
images:
 | 
					 | 
				
			||||||
  - name: homeassistant
 | 
					 | 
				
			||||||
    newName: homeassistant/home-assistant
 | 
					 | 
				
			||||||
    newTag: "2025.10"
 | 
					 | 
				
			||||||
							
								
								
									
										3
									
								
								apps/homeassistant/overlays/flat/ingress.patch.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								apps/homeassistant/overlays/flat/ingress.patch.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					- op: replace
 | 
				
			||||||
 | 
					  path: /spec/routes/0/match
 | 
				
			||||||
 | 
					  value: Host(`home.kluster.moll.re`)
 | 
				
			||||||
							
								
								
									
										14
									
								
								apps/homeassistant/overlays/flat/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								apps/homeassistant/overlays/flat/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					apiVersion: kustomize.config.k8s.io/v1beta1
 | 
				
			||||||
 | 
					kind: Kustomization
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resources:
 | 
				
			||||||
 | 
					  - ../../base
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace: homeassistant
 | 
				
			||||||
 | 
					nameSuffix: -flat
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					patches:
 | 
				
			||||||
 | 
					  - path: ingress.patch.yaml
 | 
				
			||||||
 | 
					    target:
 | 
				
			||||||
 | 
					      kind: IngressRoute
 | 
				
			||||||
							
								
								
									
										3
									
								
								apps/homeassistant/overlays/house/ingress.patch.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								apps/homeassistant/overlays/house/ingress.patch.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					- op: replace
 | 
				
			||||||
 | 
					  path: /spec/routes/0/match
 | 
				
			||||||
 | 
					  value: Host(`home-house.kluster.moll.re`)
 | 
				
			||||||
							
								
								
									
										24
									
								
								apps/homeassistant/overlays/house/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								apps/homeassistant/overlays/house/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					apiVersion: kustomize.config.k8s.io/v1beta1
 | 
				
			||||||
 | 
					kind: Kustomization
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					resources:
 | 
				
			||||||
 | 
					  - ../../base
 | 
				
			||||||
 | 
					  - wireguard-config.sealedsecret.yaml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace: homeassistant
 | 
				
			||||||
 | 
					nameSuffix: -house
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					images:
 | 
				
			||||||
 | 
					  - name: wireguard
 | 
				
			||||||
 | 
					    newName: ghcr.io/linuxserver/wireguard
 | 
				
			||||||
 | 
					    newTag: "1.0.20250521"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					patches:
 | 
				
			||||||
 | 
					  - path: wireguard.deployment.yaml
 | 
				
			||||||
 | 
					    target:
 | 
				
			||||||
 | 
					      kind: Deployment
 | 
				
			||||||
 | 
					      name: homeassistant
 | 
				
			||||||
 | 
					  - path: ingress.patch.yaml
 | 
				
			||||||
 | 
					    target:
 | 
				
			||||||
 | 
					      kind: IngressRoute
 | 
				
			||||||
@@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					apiVersion: bitnami.com/v1alpha1
 | 
				
			||||||
 | 
					kind: SealedSecret
 | 
				
			||||||
 | 
					metadata:
 | 
				
			||||||
 | 
					  creationTimestamp: null
 | 
				
			||||||
 | 
					  # WARNING - the originial secret was named wireguard-config-house, but we remove the suffix here, anticipating that it will be created by the kustomization overlay
 | 
				
			||||||
 | 
					  name: wireguard-config
 | 
				
			||||||
 | 
					  namespace: homeassistant
 | 
				
			||||||
 | 
					spec:
 | 
				
			||||||
 | 
					  encryptedData:
 | 
				
			||||||
 | 
					    wireguard.conf: AgAz726k7X6IsabWUPX8kQ8r19mBq/N+YytlFS1gW2LUiYqc6H/O5/tqma5lLcazuxtsQhebeoitp2SkH7jTU8vRxn2tDWpyzcJr+BW4vKnghw5NhMbkNOzl7mvc7QIJk6rmRyD1umu33v6x8u3St9TVsUOI1zXJyXHxlbLdHVCORhgV79CGLjghpi23KyyFu6LzNrE5rhpB0Q7NzPUmbm5MHPNbtLsmImd/CZ9XjbyXSq0be8BgpUtGDE/NMx65G2+lLIw3EgbNwlirw/XKrM+pUIvEI6CxuNhbEM7KxCYlq2Du6bm7XsKHRzNu9oSfH+P4DaDoDt+M5k5miv4B8TIKXg7piy5mThXSTcVf5YpLJCiTfMDZOriG1ygr9gbJPYY1jumZA+vsZCvBx1o21BlNycWZWKBeYZZh47Hz9FGI/Smn8dOs5exZ34MrQtM4OuEqC/cJY8fdQ+nmGMezL0IKdbtpWgq5UqNH/wWv3F9kItB4KlSD4YtEGaY2z68BJG6t+9igSJCWmVca0EbOzhV0s5rI39ASVXOO50x774EEWUueoyfI+l5vwtQhc96I5Qn3kbFhwov0tHMg/IGBtS/7XdBBtOBx9KbcUHq1GlwWzQdw8WnRB6yyUVCqXyuExRhMPz5orqkTQwiUM2Fjse7xxnaEA0mbi0TVPKV/sFgWixvHqy3VAc1Jj6MEAWFAu+kPVlOFFCckEC5kPhNPFhBMeYX/3IblRjly/EHvrbrW/eFjNYE7bqpSCVhkB8bOXbJqt29V3+ffM1z/RkdSusgqdwid9CXhQw6SKAI/vcAqqxXdzcsbG1wsgP9bJ1Gk/i9ch8zUn7MwcFe6Tla86+xeiDIAmQmA7rhtmWhyyuxXdw+HXAFNhrbxHaUw3LZOExM+RzhWNepjSLnCBqnrtPkzFrHE02JKebWzX+IRZIOsEXJVhKTiSSjoB2v8h956kO+C7bdHz8GbxoJKJ7anrqFG13A//XLy5PvKr50qs/gQptrl9UtR7oj981bSDTVVa8h3OXbGLkZXly/qxsh5DlEjwnw2/2UqS+5yTT4FO/dNVtHryJ2tbc8ZuIHb6C/pQygqpseagthkm5T+Dv0T2xWpXFrvuktGNm58Cwg9bwNMcC6iofcjQP5JeNcat3RwzbJ9xwU4Nm8xLRMMc0ul6xUHRrL3ZjDfWHLuSuTp28HqXZ6xSKLlrRVjwZ6Mp/hhxj58SfVfLVIQxatGkwnIaHEFWE2n3S7m/iQO9tZIWCx5Yfs15atb1Ze8HjKjQ4o3sfaMD8Eokj9aFnXQQxpnOuSI3NLETe79QQ==
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    metadata:
 | 
				
			||||||
 | 
					      creationTimestamp: null
 | 
				
			||||||
 | 
					      name: wireguard-config-house
 | 
				
			||||||
 | 
					      namespace: homeassistant
 | 
				
			||||||
 | 
					    type: Opaque
 | 
				
			||||||
							
								
								
									
										24
									
								
								apps/homeassistant/overlays/house/wireguard.deployment.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								apps/homeassistant/overlays/house/wireguard.deployment.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					apiVersion: apps/v1
 | 
				
			||||||
 | 
					kind: Deployment
 | 
				
			||||||
 | 
					metadata:
 | 
				
			||||||
 | 
					  name: homeassistant
 | 
				
			||||||
 | 
					spec:
 | 
				
			||||||
 | 
					  template:
 | 
				
			||||||
 | 
					    spec:
 | 
				
			||||||
 | 
					      containers:
 | 
				
			||||||
 | 
					      - name: wireguard-sidecar
 | 
				
			||||||
 | 
					        image: wireguard
 | 
				
			||||||
 | 
					        securityContext:
 | 
				
			||||||
 | 
					          privileged: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      volumeMounts:
 | 
				
			||||||
 | 
					      - name: wireguard-config
 | 
				
			||||||
 | 
					        mountPath: /config/wg_confs/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      volumes:
 | 
				
			||||||
 | 
					      - name: wireguard-config
 | 
				
			||||||
 | 
					        secret:
 | 
				
			||||||
 | 
					          secretName: wireguard-config
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1,18 +1,20 @@
 | 
				
			|||||||
apiVersion: argoproj.io/v1alpha1
 | 
					apiVersion: argoproj.io/v1alpha1
 | 
				
			||||||
kind: Application
 | 
					kind: Application
 | 
				
			||||||
metadata:
 | 
					metadata:
 | 
				
			||||||
  name: homeassistant-application
 | 
					  name: homeassistant-flat-application
 | 
				
			||||||
  namespace: argocd
 | 
					  namespace: argocd
 | 
				
			||||||
spec:
 | 
					spec:
 | 
				
			||||||
  project: apps
 | 
					  project: apps
 | 
				
			||||||
  source:
 | 
					  source:
 | 
				
			||||||
    repoURL: ssh://git@git.kluster.moll.re:2222/remoll/k3s-infra.git
 | 
					    repoURL: ssh://git@git.kluster.moll.re:2222/remoll/k3s-infra.git
 | 
				
			||||||
    targetRevision: main
 | 
					    targetRevision: main
 | 
				
			||||||
    path: apps/homeassistant
 | 
					    path: apps/homeassistant/overlays/flat
 | 
				
			||||||
  destination:
 | 
					  destination:
 | 
				
			||||||
    server: https://kubernetes.default.svc
 | 
					    server: https://kubernetes.default.svc
 | 
				
			||||||
    namespace: homeassistant
 | 
					    namespace: homeassistant
 | 
				
			||||||
  syncPolicy:
 | 
					  syncPolicy:
 | 
				
			||||||
 | 
					    syncOptions:
 | 
				
			||||||
 | 
					      - CreateNamespace=true
 | 
				
			||||||
    automated:
 | 
					    automated:
 | 
				
			||||||
      prune: true
 | 
					      prune: true
 | 
				
			||||||
      selfHeal: true
 | 
					      selfHeal: true
 | 
				
			||||||
							
								
								
									
										20
									
								
								kluster-deployments/homeassistant/house.application.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								kluster-deployments/homeassistant/house.application.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					apiVersion: argoproj.io/v1alpha1
 | 
				
			||||||
 | 
					kind: Application
 | 
				
			||||||
 | 
					metadata:
 | 
				
			||||||
 | 
					  name: homeassistant-house-application
 | 
				
			||||||
 | 
					  namespace: argocd
 | 
				
			||||||
 | 
					spec:
 | 
				
			||||||
 | 
					  project: apps
 | 
				
			||||||
 | 
					  source:
 | 
				
			||||||
 | 
					    repoURL: ssh://git@git.kluster.moll.re:2222/remoll/k3s-infra.git
 | 
				
			||||||
 | 
					    targetRevision: main
 | 
				
			||||||
 | 
					    path: apps/homeassistant/overlays/house
 | 
				
			||||||
 | 
					  destination:
 | 
				
			||||||
 | 
					    server: https://kubernetes.default.svc
 | 
				
			||||||
 | 
					    namespace: homeassistant
 | 
				
			||||||
 | 
					  syncPolicy:
 | 
				
			||||||
 | 
					    syncOptions:
 | 
				
			||||||
 | 
					      - CreateNamespace=true
 | 
				
			||||||
 | 
					    automated:
 | 
				
			||||||
 | 
					      prune: true
 | 
				
			||||||
 | 
					      selfHeal: true
 | 
				
			||||||
@@ -2,3 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1
 | 
				
			|||||||
kind: Kustomization
 | 
					kind: Kustomization
 | 
				
			||||||
resources:
 | 
					resources:
 | 
				
			||||||
- application.yaml
 | 
					- application.yaml
 | 
				
			||||||
 | 
					- house.application.yaml
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user