diff --git a/charts/apps/audiobookshelf/values.yaml b/charts/apps/audiobookshelf/values.yaml index f41fe62..12a26c1 100644 --- a/charts/apps/audiobookshelf/values.yaml +++ b/charts/apps/audiobookshelf/values.yaml @@ -1,5 +1,3 @@ -globals: - environment: prod image: repository: ghcr.io/advplyr/audiobookshelf tag: 2.29.0@sha256:dd4a3079d26bfe9f0ea63de3e3eff483dfa25fef05ef850a5a9d121dca3794b2 diff --git a/charts/apps/baikal/values.yaml b/charts/apps/baikal/values.yaml index 9b50710..907858e 100644 --- a/charts/apps/baikal/values.yaml +++ b/charts/apps/baikal/values.yaml @@ -1,7 +1,3 @@ -globals: - environment: prod - timezone: Europe/Amsterdam - domain: olsen.cloud image: repository: docker.io/ckulka/baikal tag: 0.10.1-nginx@sha256:434bdd162247cc6aa6f878c9b4dce6216e39e79526b980453b13812d5f8ebf4b diff --git a/charts/apps/bytestash/values.yaml b/charts/apps/bytestash/values.yaml index 5ebdc8f..1587565 100644 --- a/charts/apps/bytestash/values.yaml +++ b/charts/apps/bytestash/values.yaml @@ -1,5 +1,3 @@ -globals: - environment: prod subdomain: bytestash image: repository: ghcr.io/jordan-dalby/bytestash diff --git a/charts/apps/calibre-web/values.yaml b/charts/apps/calibre-web/values.yaml index eeb2776..3f0dfb0 100644 --- a/charts/apps/calibre-web/values.yaml +++ b/charts/apps/calibre-web/values.yaml @@ -1,7 +1,3 @@ -globals: - environment: prod - domain: olsen.cloud - timezone: Europe/Amsterdam image: repository: lscr.io/linuxserver/calibre-web tag: latest@sha256:527654dc74db8e03ef643ade642cadc69f142de02913f42fa9a2dee79bab492d diff --git a/charts/apps/coder/values.yaml b/charts/apps/coder/values.yaml index 07d3226..4bd4150 100644 --- a/charts/apps/coder/values.yaml +++ b/charts/apps/coder/values.yaml @@ -1,5 +1,3 @@ -globals: - environment: prod image: repository: ghcr.io/coder/coder tag: v2.26.0@sha256:73714e0685addde01bbff905cf5b647d6b677d77977c8009b6293d40fdf0f562 diff --git a/charts/apps/data/values.yaml b/charts/apps/data/values.yaml index d005bde..0967ef4 100644 --- a/charts/apps/data/values.yaml +++ b/charts/apps/data/values.yaml @@ -1,2 +1 @@ -globals: - environment: prod +{} diff --git a/charts/apps/esphome/values.yaml b/charts/apps/esphome/values.yaml index 028ba0d..9efa25f 100644 --- a/charts/apps/esphome/values.yaml +++ b/charts/apps/esphome/values.yaml @@ -1,7 +1,3 @@ -globals: - environment: prod - timezone: Europe/Amsterdam - domain: olsen.cloud image: repository: ghcr.io/esphome/esphome tag: 2025.9.2@sha256:a455a4b9f8c513eeab0d4f575d8209b8178445cda4fbb4847ef90625cf84f500 diff --git a/charts/apps/gitea/values.yaml b/charts/apps/gitea/values.yaml index 124a24d..5b5564e 100644 --- a/charts/apps/gitea/values.yaml +++ b/charts/apps/gitea/values.yaml @@ -1,6 +1,3 @@ -globals: - environment: prod - timezone: Europe/Amsterdam image: repository: docker.gitea.com/gitea tag: 1.24.6@sha256:2edc102cbb636ae1ddac5fa0c715aa5b03079dee13ac6800b2cef6d4e912e718 diff --git a/charts/apps/headscale/values.yaml b/charts/apps/headscale/values.yaml index 1afb3f9..6f63f6c 100644 --- a/charts/apps/headscale/values.yaml +++ b/charts/apps/headscale/values.yaml @@ -1,5 +1,3 @@ -globals: - environment: prod image: repository: headscale/headscale tag: latest@sha256:ea9b5ee06274d757a4d52103de56cd11a9c393acb19d9a35f4b9fe52ada410de diff --git a/charts/apps/homarr/values.yaml b/charts/apps/homarr/values.yaml index 0783ae1..cbf4a02 100644 --- a/charts/apps/homarr/values.yaml +++ b/charts/apps/homarr/values.yaml @@ -1,5 +1,3 @@ -globals: - environment: prod image: repository: ghcr.io/homarr-labs/homarr tag: v1.39.0@sha256:c7cfe7209739f1554b166ccbade8784c89b76953399263b7c9ee96ae5d478172 diff --git a/charts/apps/home-assistant/values.yaml b/charts/apps/home-assistant/values.yaml index 79f9472..50e59ad 100644 --- a/charts/apps/home-assistant/values.yaml +++ b/charts/apps/home-assistant/values.yaml @@ -1,6 +1,3 @@ -globals: - environment: prod - timezone: Europe/Amsterdam image: repository: ghcr.io/home-assistant/home-assistant tag: 2025.9.4@sha256:89ec0583c7f47c8a150204f6b5ed48b5432026012bebe1226cf72775a795a5e1 diff --git a/charts/apps/jellyfin/values.yaml b/charts/apps/jellyfin/values.yaml index 94123cc..afe527f 100644 --- a/charts/apps/jellyfin/values.yaml +++ b/charts/apps/jellyfin/values.yaml @@ -1,5 +1,3 @@ -globals: - environment: prod image: repository: docker.io/jellyfin/jellyfin tag: latest@sha256:7ae36aab93ef9b6aaff02b37f8bb23df84bb2d7a3f6054ec8fc466072a648ce2 diff --git a/charts/apps/linkwarden/values.yaml b/charts/apps/linkwarden/values.yaml index 0e242c1..4957681 100644 --- a/charts/apps/linkwarden/values.yaml +++ b/charts/apps/linkwarden/values.yaml @@ -1,7 +1,3 @@ -globals: - environment: prod - domain: olsen.cloud - timezone: Europe/Amsterdam image: repository: ghcr.io/linkwarden/linkwarden tag: v2.13.0@sha256:bd3565d3f13c2d590f417710819f4c6b4fe19f8b841fc45ab3fe4c61ba12d34f diff --git a/charts/apps/mealie/values.yaml b/charts/apps/mealie/values.yaml index 016db95..4fa5371 100644 --- a/charts/apps/mealie/values.yaml +++ b/charts/apps/mealie/values.yaml @@ -1,8 +1,4 @@ -globals: - environment: prod - domain: olsen.cloud - timezone: Europe/Amsterdam subdomain: mealie image: repository: ghcr.io/mealie-recipes/mealie - tag: latest@sha256:42a54cf1493269988eddbccfe71beaf136328e19da1a6b68c484cca4045a1c33 \ No newline at end of file + tag: latest@sha256:42a54cf1493269988eddbccfe71beaf136328e19da1a6b68c484cca4045a1c33 diff --git a/charts/apps/metamcp/values.yaml b/charts/apps/metamcp/values.yaml index 6168e79..8707269 100644 --- a/charts/apps/metamcp/values.yaml +++ b/charts/apps/metamcp/values.yaml @@ -1,7 +1,3 @@ -globals: - environment: prod - domain: olsen.cloud - timezone: Europe/Amsterdam image: repository: ghcr.io/metatool-ai/metamcp tag: 2.4.15@sha256:009c6354d55a7ff0df484c8109ac5ae241484e6fb6f7f09318dfeeba384108ac diff --git a/charts/apps/miniflux/values.yaml b/charts/apps/miniflux/values.yaml index d4afaea..c4a56ea 100644 --- a/charts/apps/miniflux/values.yaml +++ b/charts/apps/miniflux/values.yaml @@ -1,7 +1,3 @@ -globals: - environment: prod - timezone: Europe/Amsterdam - domain: olsen.cloud image: repository: ghcr.io/miniflux/miniflux tag: latest@sha256:fd6587a23884c277301307e4d70c196cd0f772fba1720b9e60051fc65a75121e diff --git a/charts/apps/mqtt/values.yaml b/charts/apps/mqtt/values.yaml index 7188157..4384881 100644 --- a/charts/apps/mqtt/values.yaml +++ b/charts/apps/mqtt/values.yaml @@ -1,7 +1,3 @@ -globals: - environment: prod - timezone: Europe/Amsterdam - domain: olsen.cloud image: repository: docker.io/eclipse-mosquitto tag: 2.0.22@sha256:d219d3a72847f3aed6a1d66975972d3b17f86e39e8f6f6b86b4088b879c1a2d6 diff --git a/charts/apps/music-assistant/values.yaml b/charts/apps/music-assistant/values.yaml index eeccad0..bd98de3 100644 --- a/charts/apps/music-assistant/values.yaml +++ b/charts/apps/music-assistant/values.yaml @@ -1,5 +1,3 @@ -globals: - environment: prod image: repository: ghcr.io/music-assistant/server tag: 2.6.0@sha256:9b0b0c8476e5b208265cbede313558ca20202bbeaebfd70a3467081e75827e67 diff --git a/charts/apps/n8n/values.yaml b/charts/apps/n8n/values.yaml index 5531407..26bd958 100644 --- a/charts/apps/n8n/values.yaml +++ b/charts/apps/n8n/values.yaml @@ -1,7 +1,3 @@ -globals: - environment: prod - timezone: Europe/Amsterdam - domain: olsen.cloud image: repository: docker.n8n.io/n8nio/n8n tag: 1.114.0@sha256:53fa4605b931ccb0076b6b9163844ce36bb7f33f12ca5a6b4f14ddfba2dc077c diff --git a/charts/apps/nocodb/values.yaml b/charts/apps/nocodb/values.yaml index ddb9890..dc3896a 100644 --- a/charts/apps/nocodb/values.yaml +++ b/charts/apps/nocodb/values.yaml @@ -1,7 +1,3 @@ -globals: - environment: prod - domain: olsen.cloud - timezone: Europe/Amsterdam image: repository: nocodb/nocodb tag: 0.264.9@sha256:71d5b23640a9f5068bab26cf5b4c6a733709677a2c78664b132beaf24d766246 diff --git a/charts/apps/ollama/values.yaml b/charts/apps/ollama/values.yaml index 2868b5a..1d5ea57 100644 --- a/charts/apps/ollama/values.yaml +++ b/charts/apps/ollama/values.yaml @@ -1,5 +1,3 @@ -globals: - environment: prod image: repository: ollama/ollama tag: 0.12.3@sha256:c622a7adec67cf5bd7fe1802b7e26aa583a955a54e91d132889301f50c3e0bd0 diff --git a/charts/apps/openwebui/values.yaml b/charts/apps/openwebui/values.yaml index ce6803b..1373767 100644 --- a/charts/apps/openwebui/values.yaml +++ b/charts/apps/openwebui/values.yaml @@ -1,5 +1,3 @@ -globals: - environment: prod image: repository: ghcr.io/open-webui/open-webui tag: 0.6.32@sha256:412334cec4b49ed51bfa9a6d28d1fbf3d5622c3ac42f57736e7d5d2bf5f3e94a diff --git a/charts/apps/photoprism/values.yaml b/charts/apps/photoprism/values.yaml index e525100..7c3a54c 100644 --- a/charts/apps/photoprism/values.yaml +++ b/charts/apps/photoprism/values.yaml @@ -1,5 +1,3 @@ -globals: - environment: prod image: repository: photoprism/photoprism tag: latest@sha256:2ba3a774ca1acc498096d7a5cb50df9cfecb7e3117a617d648093ff74eec2793 diff --git a/charts/apps/readeck/values.yaml b/charts/apps/readeck/values.yaml index 49d0ede..21c3e55 100644 --- a/charts/apps/readeck/values.yaml +++ b/charts/apps/readeck/values.yaml @@ -1,7 +1,3 @@ -globals: - environment: prod - domain: olsen.cloud - timezone: Europe/Amsterdam image: repository: codeberg.org/readeck/readeck tag: latest@sha256:432cc2026f9dca3c33ce331f52c225287a2fa91a3c1dce8a4b0b7e9de4185c2f diff --git a/charts/apps/signal/values.yaml b/charts/apps/signal/values.yaml index 67bb107..7d174cf 100644 --- a/charts/apps/signal/values.yaml +++ b/charts/apps/signal/values.yaml @@ -1,7 +1,3 @@ -globals: - environment: prod - timezone: Europe/Amsterdam - domain: olsen.cloud image: repository: bbernhard/signal-cli-rest-api tag: "0.94@sha256:e4bc92213b2a4da10fc429d16ed1754e90c2c169f186efbb9ce5f04da5322771" diff --git a/charts/apps/zot/templates/external-http-service.yaml b/charts/apps/zot/templates/external-http-service.yaml deleted file mode 100644 index e28916d..0000000 --- a/charts/apps/zot/templates/external-http-service.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: homelab.mortenolsen.pro/v1 -kind: ExternalHttpService -metadata: - name: '{{ .Release.Name }}' -spec: - environment: '{{ .Values.globals.environment }}' - subdomain: '{{ .Values.subdomain }}' - destination: - host: '{{ .Release.Name }}.{{ .Release.Namespace }}.svc.cluster.local' - port: - number: 80 diff --git a/charts/apps/zot/values.yaml b/charts/apps/zot/values.yaml index d37f161..27848db 100644 --- a/charts/apps/zot/values.yaml +++ b/charts/apps/zot/values.yaml @@ -1,7 +1,3 @@ -globals: - environment: prod - domain: olsen.cloud - timezone: Europe/Amsterdam subdomain: zot image: repository: ghcr.io/project-zot/zot diff --git a/charts/environment/Chart.yaml b/charts/environment/Chart.yaml new file mode 100644 index 0000000..3c97dcd --- /dev/null +++ b/charts/environment/Chart.yaml @@ -0,0 +1,3 @@ +apiVersion: v2 +version: 1.0.0 +name: environment diff --git a/charts/environment/templates/environment.yaml b/charts/environment/templates/environment.yaml new file mode 100644 index 0000000..bb1771b --- /dev/null +++ b/charts/environment/templates/environment.yaml @@ -0,0 +1,9 @@ +apiVersion: homelab.mortenolsen.pro/v1 +kind: Environment +metadata: + name: "{{ .Values.globals.environment }}" +spec: + domain: "{{ .Values.globals.domain }}" + networkIp: 192.168.20.180 + tls: + issuer: lets-encrypt-prod diff --git a/charts/environment/values.yaml b/charts/environment/values.yaml new file mode 100644 index 0000000..4ca89fd --- /dev/null +++ b/charts/environment/values.yaml @@ -0,0 +1,4 @@ +globals: + environment: prod + timezone: Europe/Amsterdam + domain: olsen.cloud diff --git a/helmfile.yaml.gotmpl b/helmfile.yaml.gotmpl index c55c20e..7dde41a 100644 --- a/helmfile.yaml.gotmpl +++ b/helmfile.yaml.gotmpl @@ -1,83 +1,135 @@ environments: default: {} ---- +--- releases: - name: volumes chart: charts/apps/volumes namespace: prod + values: + - values.yaml - name: audiobookshelf chart: charts/apps/audiobookshelf namespace: prod + values: + - values.yaml - name: baikal chart: charts/apps/baikal namespace: prod + values: + - values.yaml - name: bytestash chart: charts/apps/bytestash namespace: prod + values: + - values.yaml - name: calibre-web chart: charts/apps/calibre-web namespace: prod + values: + - values.yaml - name: coder chart: charts/apps/coder namespace: prod + values: + - values.yaml - name: data chart: charts/apps/data namespace: prod + values: + - values.yaml - name: esphome chart: charts/apps/esphome namespace: prod + values: + - values.yaml - name: gitea chart: charts/apps/gitea namespace: prod + values: + - values.yaml - name: homarr chart: charts/apps/homarr namespace: prod + values: + - values.yaml - name: home-assistant chart: charts/apps/home-assistant namespace: prod + values: + - values.yaml - name: jellyfin chart: charts/apps/jellyfin namespace: prod + values: + - values.yaml - name: linkwarden chart: charts/apps/linkwarden namespace: prod + values: + - values.yaml - name: mealie chart: charts/apps/mealie namespace: prod + values: + - values.yaml - name: metamcp chart: charts/apps/metamcp namespace: prod + values: + - values.yaml - name: miniflux chart: charts/apps/miniflux namespace: prod + values: + - values.yaml - name: mqtt chart: charts/apps/mqtt namespace: prod + values: + - values.yaml - name: music-assistant chart: charts/apps/music-assistant namespace: prod + values: + - values.yaml - name: n8n chart: charts/apps/n8n namespace: prod + values: + - values.yaml - name: nocodb chart: charts/apps/nocodb namespace: prod + values: + - values.yaml - name: ollama chart: charts/apps/ollama namespace: prod + values: + - values.yaml - name: openwebui chart: charts/apps/openwebui namespace: prod + values: + - values.yaml - name: photoprism chart: charts/apps/photoprism namespace: prod + values: + - values.yaml - name: readeck chart: charts/apps/readeck namespace: prod + values: + - values.yaml - name: signal chart: charts/apps/signal namespace: prod + values: + - values.yaml - name: zot chart: charts/apps/zot namespace: prod + values: + - values.yaml diff --git a/values.yaml b/values.yaml new file mode 100644 index 0000000..6995f76 --- /dev/null +++ b/values.yaml @@ -0,0 +1,4 @@ +globals: + environment: prod + domain: olsen.cloud + timezone: Europe/Amsterdam