Compare commits
50 Commits
ba59b53e69
...
renovate/p
| Author | SHA1 | Date | |
|---|---|---|---|
| 9669cd511a | |||
| c669025b5e | |||
| 161429f7a7 | |||
| 4d4c0c04c7 | |||
| 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 | |||
| 73e970258e | |||
| 13472f25f7 | |||
| 27c90b3bd4 | |||
| 74cb410c91 | |||
| 8cbe490243 | |||
| 9e580c2a64 | |||
| b38e2bb40c | |||
| 4aa4d47491 | |||
| 18186be59e | |||
| 3d43e985c0 |
@@ -13,4 +13,4 @@ namespace: files
|
||||
images:
|
||||
- name: ocis
|
||||
newName: owncloud/ocis
|
||||
newTag: "7.2.0"
|
||||
newTag: "7.3.0"
|
||||
|
||||
@@ -17,5 +17,5 @@ helmCharts:
|
||||
- releaseName: grafana
|
||||
name: grafana
|
||||
repo: https://grafana.github.io/helm-charts
|
||||
version: 10.0.0
|
||||
version: 10.1.2
|
||||
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
|
||||
|
||||
|
||||
@@ -22,9 +22,9 @@ helmCharts:
|
||||
|
||||
images:
|
||||
- name: ghcr.io/immich-app/immich-machine-learning
|
||||
newTag: v1.143.1
|
||||
newTag: v1.144.1
|
||||
- name: ghcr.io/immich-app/immich-server
|
||||
newTag: v1.143.1
|
||||
newTag: v1.144.1
|
||||
|
||||
|
||||
patches:
|
||||
|
||||
@@ -21,7 +21,7 @@ helmCharts:
|
||||
- name: redis
|
||||
releaseName: redis
|
||||
repo: https://charts.bitnami.com/bitnami
|
||||
version: 22.0.7
|
||||
version: 23.2.2
|
||||
valuesInline:
|
||||
auth:
|
||||
enabled: false
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -9,55 +9,15 @@ spec:
|
||||
jobTemplate:
|
||||
spec:
|
||||
backoffLimit: 0
|
||||
|
||||
template:
|
||||
spec:
|
||||
initContainers:
|
||||
- name: git
|
||||
image: git
|
||||
command: ["git"]
|
||||
args:
|
||||
- clone
|
||||
- https://git.kluster.moll.re/remoll/dns.git
|
||||
- /etc/octodns
|
||||
volumeMounts:
|
||||
- name: octodns-config
|
||||
mountPath: /etc/octodns
|
||||
containers:
|
||||
- name: octodns
|
||||
image: octodns
|
||||
- name: dns
|
||||
image: dns
|
||||
env:
|
||||
# - name: CLOUDFLARE_ACCOUNT_ID
|
||||
# valueFrom:
|
||||
# secretKeyRef:
|
||||
# name: cloudflare-api
|
||||
# key: CLOUDFLARE_ACCOUNT_ID
|
||||
- name: CLOUDFLARE_TOKEN
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: cloudflare-api
|
||||
key: CLOUDFLARE_TOKEN
|
||||
# - name: CLOUDFLARE_EMAIL
|
||||
# valueFrom:
|
||||
# secretKeyRef:
|
||||
# name: cloudflare-api
|
||||
# key: CLOUDFLARE_EMAIL
|
||||
|
||||
command: ["/bin/sh", "-c"]
|
||||
args:
|
||||
- >-
|
||||
cd /etc/octodns
|
||||
&&
|
||||
pip install -r ./requirements.txt
|
||||
&&
|
||||
octodns-sync --config-file ./config.yaml --doit
|
||||
&&
|
||||
echo "done..."
|
||||
volumeMounts:
|
||||
- name: octodns-config
|
||||
mountPath: /etc/octodns
|
||||
|
||||
volumes:
|
||||
- name: octodns-config
|
||||
emptyDir: {}
|
||||
restartPolicy: Never
|
||||
|
||||
@@ -9,10 +9,6 @@ resources:
|
||||
- cronjob.yaml
|
||||
|
||||
images:
|
||||
- name: octodns
|
||||
newName: octodns/octodns # has all plugins
|
||||
newTag: "2025.08"
|
||||
|
||||
- name: git
|
||||
newName: alpine/git
|
||||
newTag: "v2.49.1"
|
||||
- name: dns
|
||||
newName: git.kluster.moll.re/remoll/dns
|
||||
newTag: 0.0.2-build.68
|
||||
|
||||
14
infrastructure/external-dns/renovate.json
Normal file
14
infrastructure/external-dns/renovate.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"hostRules": [
|
||||
{
|
||||
"hostType": "docker",
|
||||
"matchHost": "git.kluster.moll.re"
|
||||
}
|
||||
],
|
||||
"packageRules": [
|
||||
{
|
||||
"matchDatasources": ["docker"],
|
||||
"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/
|
||||
|
||||
@@ -24,10 +24,10 @@ helmCharts:
|
||||
- name: loki
|
||||
releaseName: loki
|
||||
repo: https://grafana.github.io/helm-charts
|
||||
version: 6.42.0
|
||||
version: 6.44.0
|
||||
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,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