Compare commits
	
		
			64 Commits
		
	
	
		
			73e970258e
			...
			renovate/g
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 2bbef842a4 | |||
| 2ef5979d90 | |||
| 0ba2a6a910 | |||
| 6139093a40 | |||
| d1653685a5 | |||
| 6c819430c3 | |||
| f1c9b3ea47 | |||
| 842572c543 | |||
| 697f27b533 | |||
| c1a49ab9b6 | |||
| b74672784f | |||
| e70f408b49 | |||
| c0975e0803 | |||
| 066d50b5f8 | |||
| 2fe28eb9f3 | |||
| 1060d1ba9d | |||
| d9d7466522 | |||
| 26cb646c1b | |||
| f354eba06f | |||
| 44ef452bc3 | |||
| ac92ccc348 | |||
| ec6d2f33a3 | |||
| 5819df868a | |||
| 9669cd511a | |||
| c669025b5e | |||
| 161429f7a7 | |||
| 4d4c0c04c7 | |||
| 6769a2d640 | |||
| 29ecafe10a | |||
| 4ba15778b8 | |||
| a08a81b529 | |||
| 8304e2249e | |||
| 1c8d323169 | |||
| a050a64e38 | |||
| d16c7deed9 | |||
| d1e075c935 | |||
| c001b347b3 | |||
| f7fe8554f6 | |||
| 9a12c72749 | |||
| 7b3384d423 | |||
| 56038ec14d | |||
| 2eb1b07602 | |||
| 651543e646 | |||
| 4a7dd4c08a | |||
| 563547bdf2 | |||
| 9779a00bf3 | |||
| 39281eb481 | |||
| 3645ed45ec | |||
| 9d6f0487a4 | |||
| c0c7619a43 | |||
| b7ad5a128c | |||
| 2b3817f556 | |||
| d6115279c2 | |||
| 77b8bb71eb | |||
| 67d1847b62 | |||
| f774f7c34b | |||
| 7ea989ac14 | |||
| b8a62263ef | |||
| db4807e96d | |||
| 6b7f14c187 | |||
| c0befeacc2 | |||
| 00b1469ece | |||
| 4ea9f6c0ad | |||
| 4f89e95d93 | 
@@ -10,7 +10,7 @@ resources:
 | 
			
		||||
images:
 | 
			
		||||
  - name: adguard/adguardhome
 | 
			
		||||
    newName: adguard/adguardhome
 | 
			
		||||
    newTag: v0.107.67
 | 
			
		||||
    newTag: v0.107.69
 | 
			
		||||
 | 
			
		||||
namespace: adguard
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -12,4 +12,4 @@ namespace: audiobookshelf
 | 
			
		||||
images:
 | 
			
		||||
  - name: audiobookshelf
 | 
			
		||||
    newName: ghcr.io/advplyr/audiobookshelf
 | 
			
		||||
    newTag: "2.29.0"
 | 
			
		||||
    newTag: "2.30.0"
 | 
			
		||||
 
 | 
			
		||||
@@ -17,5 +17,5 @@ helmCharts:
 | 
			
		||||
  - releaseName: grafana
 | 
			
		||||
    name: grafana
 | 
			
		||||
    repo: https://grafana.github.io/helm-charts
 | 
			
		||||
    version: 10.1.1
 | 
			
		||||
    version: 10.1.4
 | 
			
		||||
    valuesFile: grafana.values.yaml
 | 
			
		||||
 
 | 
			
		||||
@@ -34,4 +34,3 @@ spec:
 | 
			
		||||
        - name: config-dir
 | 
			
		||||
          persistentVolumeClaim:
 | 
			
		||||
            claimName: config
 | 
			
		||||
 | 
			
		||||
@@ -1,17 +1,17 @@
 | 
			
		||||
apiVersion: traefik.io/v1alpha1
 | 
			
		||||
kind: IngressRoute
 | 
			
		||||
metadata:
 | 
			
		||||
  name: homeassistant-ingress
 | 
			
		||||
  name: homeassistant
 | 
			
		||||
spec:
 | 
			
		||||
  entryPoints:
 | 
			
		||||
    - websecure
 | 
			
		||||
  routes:
 | 
			
		||||
    - match: Host(`home.kluster.moll.re`) && !Path(`/api/prometheus`)
 | 
			
		||||
    - match: Host(`homeassistant.kluster.moll.re`)
 | 
			
		||||
      middlewares:
 | 
			
		||||
        - name: homeassistant-websocket
 | 
			
		||||
        - name: homeassistant
 | 
			
		||||
      kind: Rule
 | 
			
		||||
      services:
 | 
			
		||||
        - name: homeassistant-web
 | 
			
		||||
        - name: homeassistant
 | 
			
		||||
          port: 8123
 | 
			
		||||
  tls:
 | 
			
		||||
    certResolver: default-tls
 | 
			
		||||
@@ -19,7 +19,7 @@ spec:
 | 
			
		||||
apiVersion: traefik.io/v1alpha1
 | 
			
		||||
kind: Middleware
 | 
			
		||||
metadata:
 | 
			
		||||
  name: homeassistant-websocket
 | 
			
		||||
  name: homeassistant
 | 
			
		||||
spec:
 | 
			
		||||
  headers:
 | 
			
		||||
    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
 | 
			
		||||
							
								
								
									
										32
									
								
								apps/homeassistant/base/name_reference.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								apps/homeassistant/base/name_reference.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
  # Update deployment volume mounts according to name changes in the sealedsecret
 | 
			
		||||
  - kind: SealedSecret
 | 
			
		||||
    fieldSpecs:
 | 
			
		||||
      # volume mounts:
 | 
			
		||||
      - kind: Deployment
 | 
			
		||||
        group: apps
 | 
			
		||||
        version: v1
 | 
			
		||||
        path: spec/template/spec/volumes/secret/secretName
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: Service
 | 
			
		||||
metadata:
 | 
			
		||||
  name: homeassistant-web
 | 
			
		||||
  name: homeassistant
 | 
			
		||||
  labels:
 | 
			
		||||
    app: homeassistant
 | 
			
		||||
spec:
 | 
			
		||||
@@ -10,4 +10,4 @@ spec:
 | 
			
		||||
  ports:
 | 
			
		||||
  - port: 8123
 | 
			
		||||
    targetPort: 8123
 | 
			
		||||
    name: http
 | 
			
		||||
    name: http
 | 
			
		||||
@@ -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`)
 | 
			
		||||
							
								
								
									
										17
									
								
								apps/homeassistant/overlays/flat/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								apps/homeassistant/overlays/flat/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
			
		||||
kind: Kustomization
 | 
			
		||||
 | 
			
		||||
resources:
 | 
			
		||||
  - ../../base
 | 
			
		||||
 | 
			
		||||
namespace: homeassistant
 | 
			
		||||
nameSuffix: -flat
 | 
			
		||||
labels:
 | 
			
		||||
  - includeSelectors: true
 | 
			
		||||
    pairs:
 | 
			
		||||
      env: 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`)
 | 
			
		||||
							
								
								
									
										28
									
								
								apps/homeassistant/overlays/house/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								apps/homeassistant/overlays/house/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
			
		||||
kind: Kustomization
 | 
			
		||||
 | 
			
		||||
resources:
 | 
			
		||||
  - ../../base
 | 
			
		||||
  - wireguard-config.sealedsecret.yaml
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
namespace: homeassistant
 | 
			
		||||
nameSuffix: -house
 | 
			
		||||
labels:
 | 
			
		||||
  - includeSelectors: true
 | 
			
		||||
    pairs:
 | 
			
		||||
      env: 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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -32,8 +32,8 @@ spec:
 | 
			
		||||
 | 
			
		||||
  resources:
 | 
			
		||||
    limits:
 | 
			
		||||
      cpu: 2
 | 
			
		||||
      memory: 1024Mi
 | 
			
		||||
      cpu: '2'
 | 
			
		||||
      memory: 1Gi
 | 
			
		||||
    requests:
 | 
			
		||||
      cpu: 50m
 | 
			
		||||
      memory: 512Mi
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@ resources:
 | 
			
		||||
  - pvc.yaml
 | 
			
		||||
  - immich.postgres.yaml
 | 
			
		||||
  - postgres.sealedsecret.yaml
 | 
			
		||||
  - servicemonitor.yaml
 | 
			
		||||
  # - servicemonitor.yaml
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
namespace: immich
 | 
			
		||||
@@ -15,20 +15,13 @@ namespace: immich
 | 
			
		||||
helmCharts:
 | 
			
		||||
  - name: immich
 | 
			
		||||
    releaseName: immich
 | 
			
		||||
    version: 0.9.3
 | 
			
		||||
    version: 0.10.1
 | 
			
		||||
    valuesFile: values.yaml
 | 
			
		||||
    repo: https://immich-app.github.io/immich-charts
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
images:
 | 
			
		||||
  - name: ghcr.io/immich-app/immich-machine-learning
 | 
			
		||||
    newTag: v1.144.1
 | 
			
		||||
    newTag: v2.1.0
 | 
			
		||||
  - name: ghcr.io/immich-app/immich-server
 | 
			
		||||
    newTag: v1.144.1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
patches:
 | 
			
		||||
  - path: patch-redis-pvc.yaml
 | 
			
		||||
    target:
 | 
			
		||||
      kind: StatefulSet
 | 
			
		||||
      name: immich-redis-master
 | 
			
		||||
    newTag: v2.1.0
 | 
			
		||||
 
 | 
			
		||||
@@ -1,17 +0,0 @@
 | 
			
		||||
apiVersion: apps/v1
 | 
			
		||||
kind: StatefulSet
 | 
			
		||||
metadata:
 | 
			
		||||
  name: immich-redis-master
 | 
			
		||||
spec:
 | 
			
		||||
  volumeClaimTemplates:
 | 
			
		||||
  - apiVersion: v1
 | 
			
		||||
    kind: PersistentVolumeClaim
 | 
			
		||||
    metadata:
 | 
			
		||||
      name: redis-data
 | 
			
		||||
    spec:
 | 
			
		||||
      storageClassName: nfs-client
 | 
			
		||||
      accessModes:
 | 
			
		||||
        - ReadWriteMany
 | 
			
		||||
      resources:
 | 
			
		||||
        requests:
 | 
			
		||||
          storage: 2Gi
 | 
			
		||||
@@ -1,10 +1,10 @@
 | 
			
		||||
{
 | 
			
		||||
    "packageRules": [
 | 
			
		||||
      {
 | 
			
		||||
        "matchDatasources": ["docker"],
 | 
			
		||||
        "matchPackagePrefixes": ["ghcr.io/immich-app/"],
 | 
			
		||||
        "groupName": "Immich containers",
 | 
			
		||||
        "groupSlug": "immich-app-images"
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  }
 | 
			
		||||
  "packageRules": [
 | 
			
		||||
    {
 | 
			
		||||
      "matchDatasources": ["docker"],
 | 
			
		||||
      "matchPackagePrefixes": ["ghcr.io/immich-app/"],
 | 
			
		||||
      "groupName": "Immich containers",
 | 
			
		||||
      "groupSlug": "immich-app-images"
 | 
			
		||||
    }
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -4,26 +4,30 @@
 | 
			
		||||
 | 
			
		||||
# These entries are shared between all the Immich components
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  REDIS_HOSTNAME: '{{ printf "%s-redis-master" .Release.Name }}'
 | 
			
		||||
  DB_HOSTNAME: "immich-postgresql-rw"
 | 
			
		||||
  DB_USERNAME:
 | 
			
		||||
    valueFrom:
 | 
			
		||||
      secretKeyRef:
 | 
			
		||||
        name: postgres-password
 | 
			
		||||
        key: username
 | 
			
		||||
  DB_DATABASE_NAME:
 | 
			
		||||
    valueFrom:
 | 
			
		||||
      secretKeyRef:
 | 
			
		||||
        name: postgres-password
 | 
			
		||||
        key: database
 | 
			
		||||
  DB_PASSWORD:
 | 
			
		||||
    valueFrom:
 | 
			
		||||
      secretKeyRef:
 | 
			
		||||
        name: postgres-password
 | 
			
		||||
        key: password
 | 
			
		||||
  IMMICH_MACHINE_LEARNING_URL: '{{ printf "http://%s-machine-learning:3003" .Release.Name }}'
 | 
			
		||||
  IMMICH_METRICS: true
 | 
			
		||||
 | 
			
		||||
controllers:
 | 
			
		||||
  main:
 | 
			
		||||
    containers:
 | 
			
		||||
      main:
 | 
			
		||||
        env:
 | 
			
		||||
          # some non-default vars
 | 
			
		||||
          DB_HOSTNAME: "immich-postgresql-rw"
 | 
			
		||||
          DB_USERNAME:
 | 
			
		||||
            valueFrom:
 | 
			
		||||
              secretKeyRef:
 | 
			
		||||
                name: postgres-password
 | 
			
		||||
                key: username
 | 
			
		||||
          DB_DATABASE_NAME:
 | 
			
		||||
            valueFrom:
 | 
			
		||||
              secretKeyRef:
 | 
			
		||||
                name: postgres-password
 | 
			
		||||
                key: database
 | 
			
		||||
          DB_PASSWORD:
 | 
			
		||||
            valueFrom:
 | 
			
		||||
              secretKeyRef:
 | 
			
		||||
                name: postgres-password
 | 
			
		||||
                key: password
 | 
			
		||||
          IMMICH_METRICS: true
 | 
			
		||||
 | 
			
		||||
immich:
 | 
			
		||||
  metrics:
 | 
			
		||||
@@ -37,13 +41,15 @@ immich:
 | 
			
		||||
      existingClaim: data
 | 
			
		||||
 | 
			
		||||
# Dependencies
 | 
			
		||||
redis:
 | 
			
		||||
valkey:
 | 
			
		||||
  enabled: true
 | 
			
		||||
  architecture: standalone
 | 
			
		||||
  auth:
 | 
			
		||||
    enabled: false
 | 
			
		||||
 | 
			
		||||
# Immich components
 | 
			
		||||
  persistence:
 | 
			
		||||
    data:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      size: 1Gi
 | 
			
		||||
      # Optional: Set this to persistentVolumeClaim to keep job queues persistent
 | 
			
		||||
      type: emptyDir
 | 
			
		||||
      accessMode: ReadWriteOnce
 | 
			
		||||
 | 
			
		||||
server:
 | 
			
		||||
  enabled: true
 | 
			
		||||
@@ -56,7 +62,7 @@ machine-learning:
 | 
			
		||||
  persistence:
 | 
			
		||||
    cache:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      size: 200Gi
 | 
			
		||||
      size: 10Gi
 | 
			
		||||
      # Optional: Set this to pvc to avoid downloading the ML models every start.
 | 
			
		||||
      type: emptyDir
 | 
			
		||||
      accessMode: ReadWriteMany
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,7 @@ helmCharts:
 | 
			
		||||
  - name: redis
 | 
			
		||||
    releaseName: redis
 | 
			
		||||
    repo: https://charts.bitnami.com/bitnami
 | 
			
		||||
    version: 22.0.7
 | 
			
		||||
    version: 23.2.3
 | 
			
		||||
    valuesInline:
 | 
			
		||||
      auth:
 | 
			
		||||
        enabled: false
 | 
			
		||||
 
 | 
			
		||||
@@ -7,6 +7,7 @@ pkgs.mkShell {
 | 
			
		||||
    kubeseal
 | 
			
		||||
    yq
 | 
			
		||||
    jq
 | 
			
		||||
    kubernetes-helm-wrapped
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  env = {
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@ kind: Kustomization
 | 
			
		||||
namespace: argocd
 | 
			
		||||
resources:
 | 
			
		||||
  - namespace.yaml
 | 
			
		||||
  - https://github.com/argoproj/argo-cd//manifests/cluster-install?timeout=120&ref=v3.1.8
 | 
			
		||||
  - https://github.com/argoproj/argo-cd//manifests/cluster-install?timeout=120&ref=v3.1.9
 | 
			
		||||
  - ingress.yaml
 | 
			
		||||
  - argo-apps.application.yaml
 | 
			
		||||
  - bootstrap-repo.sealedsecret.yaml
 | 
			
		||||
 
 | 
			
		||||
@@ -27,6 +27,6 @@ images:
 | 
			
		||||
helmCharts:
 | 
			
		||||
  - name: authelia
 | 
			
		||||
    releaseName: authelia
 | 
			
		||||
    version: 0.10.46
 | 
			
		||||
    version: 0.10.47
 | 
			
		||||
    repo: https://charts.authelia.com
 | 
			
		||||
    valuesFile: authelia.values.yaml
 | 
			
		||||
 
 | 
			
		||||
@@ -11,4 +11,4 @@ resources:
 | 
			
		||||
images:
 | 
			
		||||
  - name: dns
 | 
			
		||||
    newName: git.kluster.moll.re/remoll/dns
 | 
			
		||||
    newTag: 0.0.1-31
 | 
			
		||||
    newTag: 0.0.2-build.100
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										15
									
								
								infrastructure/external-dns/renovate.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								infrastructure/external-dns/renovate.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
{
 | 
			
		||||
  "hostRules": [
 | 
			
		||||
    {
 | 
			
		||||
      "hostType": "docker",
 | 
			
		||||
      "matchHost": "git.kluster.moll.re"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "packageRules": [
 | 
			
		||||
    {
 | 
			
		||||
      "matchDatasources": ["docker"],
 | 
			
		||||
      "matchPackageNames": ["git.kluster.moll.re/remoll/dns"],
 | 
			
		||||
      "versioning": "regex:^(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)-build.(?<build>\\d+)$"
 | 
			
		||||
    }
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
@@ -23,6 +23,6 @@ helmCharts:
 | 
			
		||||
  - name: gitea
 | 
			
		||||
    namespace: gitea # needs to be set explicitly for svc to be referenced correctly
 | 
			
		||||
    releaseName: gitea
 | 
			
		||||
    version: 12.3.0
 | 
			
		||||
    version: 12.4.0
 | 
			
		||||
    valuesFile: gitea.values.yaml
 | 
			
		||||
    repo: https://dl.gitea.io/charts/
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@ namespace: monitoring
 | 
			
		||||
resources: 
 | 
			
		||||
  - namespace.yaml
 | 
			
		||||
  # prometheus-operator crds
 | 
			
		||||
  - https://github.com/prometheus-operator/prometheus-operator?ref=v0.85.0
 | 
			
		||||
  - https://github.com/prometheus-operator/prometheus-operator?ref=v0.86.1
 | 
			
		||||
  # single prometheus instance with a thanos sidecar
 | 
			
		||||
  - prometheus.yaml
 | 
			
		||||
  - thanos-store.statefulset.yaml
 | 
			
		||||
@@ -24,10 +24,10 @@ helmCharts:
 | 
			
		||||
  - name: loki
 | 
			
		||||
    releaseName: loki
 | 
			
		||||
    repo: https://grafana.github.io/helm-charts
 | 
			
		||||
    version: 6.42.0
 | 
			
		||||
    version: 6.45.2
 | 
			
		||||
    valuesFile: loki.values.yaml
 | 
			
		||||
  - name: prometheus-node-exporter
 | 
			
		||||
    releaseName: prometheus-node-exporter
 | 
			
		||||
    repo: https://prometheus-community.github.io/helm-charts
 | 
			
		||||
    version: 4.48.0
 | 
			
		||||
    version: 4.49.1
 | 
			
		||||
    valuesFile: prometheus-node-exporter.values.yaml
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,6 @@ namespace: pg-ha
 | 
			
		||||
helmCharts:
 | 
			
		||||
  - name: cloudnative-pg
 | 
			
		||||
    releaseName: pg-controller
 | 
			
		||||
    version: 0.26.0
 | 
			
		||||
    version: 0.26.1
 | 
			
		||||
    valuesFile: values.yaml
 | 
			
		||||
    repo: https://cloudnative-pg.io/charts/
 | 
			
		||||
 
 | 
			
		||||
@@ -13,6 +13,6 @@ namespace: traefik-system
 | 
			
		||||
helmCharts:
 | 
			
		||||
  - name: traefik
 | 
			
		||||
    releaseName: traefik
 | 
			
		||||
    version: 37.1.2
 | 
			
		||||
    version: 37.2.0
 | 
			
		||||
    valuesFile: values.yaml
 | 
			
		||||
    repo: https://traefik.github.io/charts
 | 
			
		||||
 
 | 
			
		||||
@@ -1,29 +1,13 @@
 | 
			
		||||
# apiVersion: monitoring.coreos.com/v1
 | 
			
		||||
# kind: ServiceMonitor
 | 
			
		||||
# metadata:
 | 
			
		||||
#   name: traefik-servicemonitor
 | 
			
		||||
#   labels:
 | 
			
		||||
#     app: traefik
 | 
			
		||||
# spec:
 | 
			
		||||
#   selector:
 | 
			
		||||
#     matchLabels:
 | 
			
		||||
#       app.kubernetes.io/name: traefik
 | 
			
		||||
#   endpoints:
 | 
			
		||||
#     - port: metrics
 | 
			
		||||
#       path: /metrics
 | 
			
		||||
apiVersion: monitoring.coreos.com/v1
 | 
			
		||||
kind: PodMonitor
 | 
			
		||||
kind: ServiceMonitor
 | 
			
		||||
metadata:
 | 
			
		||||
  name: traefik-podmonitor
 | 
			
		||||
  name: traefik-servicemonitor
 | 
			
		||||
  labels:
 | 
			
		||||
    app: traefik
 | 
			
		||||
spec:
 | 
			
		||||
  selector:
 | 
			
		||||
    matchLabels:
 | 
			
		||||
      app.kubernetes.io/name: traefik
 | 
			
		||||
  namespaceSelector:
 | 
			
		||||
    matchNames:
 | 
			
		||||
      - traefik-system
 | 
			
		||||
  podMetricsEndpoints:
 | 
			
		||||
  endpoints:
 | 
			
		||||
    - port: metrics
 | 
			
		||||
      path: /metrics
 | 
			
		||||
 
 | 
			
		||||
@@ -101,6 +101,12 @@ ports:
 | 
			
		||||
      default: true
 | 
			
		||||
    exposedPort: 853
 | 
			
		||||
    protocol: TCP
 | 
			
		||||
  metrics:
 | 
			
		||||
    port: 9100
 | 
			
		||||
    expose:
 | 
			
		||||
      default: true
 | 
			
		||||
    exposedPort: 9100
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -122,6 +128,5 @@ service:
 | 
			
		||||
  # Additional entries here will be added to the service spec.
 | 
			
		||||
  # Cannot contain type, selector or ports entries.
 | 
			
		||||
  spec:
 | 
			
		||||
    # externalTrafficPolicy: Local
 | 
			
		||||
    loadBalancerIP: 192.168.3.1
 | 
			
		||||
 | 
			
		||||
    externalTrafficPolicy: Local
 | 
			
		||||
 
 | 
			
		||||
@@ -1,18 +1,20 @@
 | 
			
		||||
apiVersion: argoproj.io/v1alpha1
 | 
			
		||||
kind: Application
 | 
			
		||||
metadata:
 | 
			
		||||
  name: homeassistant-application
 | 
			
		||||
  name: homeassistant-flat-application
 | 
			
		||||
  namespace: argocd
 | 
			
		||||
spec:
 | 
			
		||||
  project: apps
 | 
			
		||||
  source:
 | 
			
		||||
    repoURL: ssh://git@git.kluster.moll.re:2222/remoll/k3s-infra.git
 | 
			
		||||
    targetRevision: main
 | 
			
		||||
    path: apps/homeassistant
 | 
			
		||||
    path: apps/homeassistant/overlays/flat
 | 
			
		||||
  destination:
 | 
			
		||||
    server: https://kubernetes.default.svc
 | 
			
		||||
    namespace: homeassistant
 | 
			
		||||
  syncPolicy:
 | 
			
		||||
    syncOptions:
 | 
			
		||||
      - CreateNamespace=true
 | 
			
		||||
    automated:
 | 
			
		||||
      prune: true
 | 
			
		||||
      selfHeal: true
 | 
			
		||||
      selfHeal: true
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										23
									
								
								kluster-deployments/homeassistant/house.application.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								kluster-deployments/homeassistant/house.application.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
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:
 | 
			
		||||
    managedNamespaceMetadata:
 | 
			
		||||
      labels:
 | 
			
		||||
        pod-security.kubernetes.io/enforce: privileged
 | 
			
		||||
    syncOptions:
 | 
			
		||||
      - CreateNamespace=true
 | 
			
		||||
    automated:
 | 
			
		||||
      prune: true
 | 
			
		||||
      selfHeal: true
 | 
			
		||||
@@ -1,4 +1,5 @@
 | 
			
		||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
			
		||||
kind: Kustomization
 | 
			
		||||
resources:
 | 
			
		||||
- application.yaml
 | 
			
		||||
- application.yaml
 | 
			
		||||
- house.application.yaml
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,8 @@
 | 
			
		||||
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
 | 
			
		||||
  "dependencyDashboard": true,
 | 
			
		||||
  "extends": [
 | 
			
		||||
    "local>remoll/k3s-infra//apps/immich/renovate.json"
 | 
			
		||||
    "local>remoll/k3s-infra//apps/immich/renovate.json",
 | 
			
		||||
    "local>remoll/k3s-infra//infrastructure/external-dns/renovate.json"
 | 
			
		||||
  ],
 | 
			
		||||
  "packageRules": [
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user