Compare commits

..
Author SHA1 Message Date
Renovate Bot d92ec9b945 feat(container): update image ghcr.io/onedr0p/postgres-init to v16.8
e2e / workstation (archlinux) (pull_request) Failing after 5s
e2e / workstation (generic-linux) (pull_request) Failing after 11s
e2e / configure (talos) (pull_request) Has been skipped
Flux Diff / Flux Diff (kubernetes, helmrelease) (pull_request) Failing after 15s
Flux Diff / Flux Diff (kubernetes, kustomization) (pull_request) Failing after 14s
Kubeconform / Kubeconform (pull_request) Failing after 11s
Labeler / Labeler (pull_request_target) Successful in 6s
2025-04-19 00:02:12 +00:00
Renovate Bot f519a99d86 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.251.0
devcontainer / publish (push) Has been cancelled
Release / Release (push) Has been cancelled
renovate / renovate (push) Failing after 13s
2025-04-19 00:01:12 +00:00
Renovate Bot 3210859573 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.240.1
devcontainer / publish (push) Has been cancelled
renovate / renovate (push) Successful in 2m31s
2025-04-13 00:01:01 +00:00
Renovate Bot a52b325c06 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.238.2
devcontainer / publish (push) Has been cancelled
renovate / renovate (push) Successful in 2m1s
2025-04-12 00:01:04 +00:00
Renovate Bot 15c0f6a3fa fix(github-action): update image ghcr.io/renovatebot/renovate to v39.233.4
devcontainer / publish (push) Has been cancelled
renovate / renovate (push) Successful in 2m11s
2025-04-06 00:01:17 +00:00
Renovate Bot 2cef7ca208 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.233.3
renovate / renovate (push) Successful in 2m11s
devcontainer / publish (push) Has been cancelled
2025-04-05 00:01:23 +00:00
Renovate Bot d01450bf5c fix(github-action): update image ghcr.io/renovatebot/renovate to v39.220.4
Release / Release (push) Has been skipped
renovate / renovate (push) Successful in 2m14s
2025-03-30 00:01:14 +00:00
Renovate Bot 27dc068d64 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.220.3
renovate / renovate (push) Successful in 2m5s
2025-03-29 00:01:21 +00:00
Renovate Bot 4548a3ddb6 fix(github-action): update image ghcr.io/renovatebot/renovate to v39.211.1
renovate / renovate (push) Successful in 2m15s
2025-03-23 00:01:13 +00:00
Renovate Bot 9cfb4cbc22 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.211.0
renovate / renovate (push) Successful in 2m8s
2025-03-22 00:01:15 +00:00
Renovate Bot 9419efc1f9 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.202.0
renovate / renovate (push) Successful in 1m58s
2025-03-15 00:01:36 +00:00
Renovate Bot 30ed5ae646 fix(github-action): update image ghcr.io/renovatebot/renovate to v39.191.1
renovate / renovate (push) Successful in 2m28s
2025-03-09 00:01:06 +00:00
Renovate Bot 11add4e267 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.191.0
renovate / renovate (push) Successful in 1m52s
2025-03-08 00:01:15 +00:00
Renovate Bot 62168a87db feat(github-action): update image ghcr.io/renovatebot/renovate to v39.185.0
renovate / renovate (push) Successful in 2m6s
2025-03-01 00:01:15 +00:00
Renovate Bot 22527f9cf1 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.177.0
renovate / renovate (push) Successful in 1m58s
Release / Release (push) Has been skipped
2025-02-23 00:01:14 +00:00
Renovate Bot 270133a948 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.176.4
renovate / renovate (push) Successful in 1m55s
2025-02-22 00:01:22 +00:00
Renovate Bot 7500b5701f fix(github-action): update image ghcr.io/renovatebot/renovate to v39.170.3
renovate / renovate (push) Successful in 2m0s
2025-02-16 00:01:12 +00:00
Renovate Bot 2e97ec00e4 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.170.1
renovate / renovate (push) Successful in 1m35s
2025-02-15 00:01:24 +00:00
Renovate Bot 50f2186f6e feat(github-action): update image ghcr.io/renovatebot/renovate to v39.164.0
renovate / renovate (push) Successful in 1m50s
2025-02-08 00:01:23 +00:00
Renovate Bot 60ba48e700 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.156.0
renovate / renovate (push) Successful in 2m52s
2025-02-02 00:01:49 +00:00
Renovate Bot a731a82892 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.153.1
renovate / renovate (push) Successful in 2m10s
2025-02-01 00:01:54 +00:00
Renovate Bot 645d2ba7a0 fix(github-action): update image ghcr.io/renovatebot/renovate to v39.133.4
devcontainer / publish (push) Has been cancelled
Release / Release (push) Has been skipped
renovate / renovate (push) Successful in 2m16s
2025-01-26 00:01:43 +00:00
Renovate Bot 38aa8f8e00 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.133.3
renovate / renovate (push) Successful in 2m43s
2025-01-25 00:02:01 +00:00
Renovate Bot 93c35c5dda feat(github-action): update image ghcr.io/renovatebot/renovate to v39.116.0
renovate / renovate (push) Successful in 3m0s
2025-01-19 00:01:50 +00:00
Renovate Bot 79cd490ec0 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.115.3
renovate / renovate (push) Successful in 3m6s
2025-01-18 00:01:33 +00:00
Renovate Bot c648332651 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.105.1
renovate / renovate (push) Successful in 1m59s
2025-01-12 07:01:47 +00:00
Renovate Bot ef4cdff068 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.104.3
renovate / renovate (push) Successful in 2m26s
2025-01-11 19:04:39 +00:00
Renovate Bot 8492973ce5 feat(github-action): update image ghcr.io/allenporter/flux-local to v6.1.1
renovate / renovate (push) Waiting to run
2025-01-11 19:03:30 +00:00
Renovate Bot 392da4700c feat(github-action): update image ghcr.io/renovatebot/renovate to v39.69.2
Release / Release (push) Has been cancelled
renovate / renovate (push) Successful in 3m58s
2024-12-15 07:01:14 +00:00
Renovate Bot 4443e60c2e feat(github-action): update image ghcr.io/renovatebot/renovate to v39.67.0
renovate / renovate (push) Successful in 1m26s
2024-12-14 07:27:39 +00:00
Renovate Bot f4404095d4 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.66.0
renovate / renovate (push) Has been cancelled
2024-12-14 07:01:40 +00:00
Renovate Bot 8d2c9fe12c feat(github-action): update image ghcr.io/renovatebot/renovate to v39.57.1
renovate / renovate (push) Successful in 1m52s
2024-12-08 07:01:08 +00:00
Renovate Bot 528d5b7879 fix(github-action): update image ghcr.io/renovatebot/renovate to v39.56.4
renovate / renovate (push) Successful in 1m15s
2024-12-07 07:01:06 +00:00
dlord 8d897f1509 Merge pull request 'feat(container): update image ghcr.io/onedr0p/postgres-init to v16.6' (#20) from renovate/ghcr.io-onedr0p-postgres-init-16.x into main
renovate / renovate (push) Successful in 1m12s
Reviewed-on: http://192.168.1.68:3001/infra/home-cluster/pulls/20
Reviewed-by: dlord <dlaccount@icloud.com>
2024-12-06 17:57:19 -07:00
dlord e7762392fd Merge pull request 'chore(deps): update cloudflare to 3.1.1' (#25) from renovate/cloudflare-3.x into main
renovate / renovate (push) Has been cancelled
Reviewed-on: http://192.168.1.68:3001/infra/home-cluster/pulls/25
2024-12-06 17:56:28 -07:00
dlord b5eee56f36 Merge pull request 'chore(container): update image ghcr.io/onedr0p/radarr-develop to f21d401' (#24) from renovate/ghcr.io-onedr0p-radarr-develop-rolling into main
renovate / renovate (push) Has been cancelled
Reviewed-on: http://192.168.1.68:3001/infra/home-cluster/pulls/24
2024-12-06 17:56:14 -07:00
dlord c2a2d9e219 Merge pull request 'fix(container): update image docker.io/cloudflare/cloudflared to v2024.11.1' (#13) from renovate/docker.io-cloudflare-cloudflared-2024.x into main
renovate / renovate (push) Has been cancelled
Reviewed-on: http://192.168.1.68:3001/infra/home-cluster/pulls/13
2024-12-06 17:55:58 -07:00
Renovate Bot 300a88a009 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.56.2
renovate / renovate (push) Has been cancelled
2024-12-07 00:51:04 +00:00
dlord 4575f375c7 Merge pull request 'chore(container): update image ghcr.io/onedr0p/prowlarr-develop to 155e7c7' (#10) from renovate/ghcr.io-onedr0p-prowlarr-develop-rolling into main
renovate / renovate (push) Has been cancelled
Reviewed-on: http://192.168.1.68:3001/infra/home-cluster/pulls/10
2024-12-06 17:48:56 -07:00
Renovate Bot 60e735598b chore(deps): update cloudflare to 3.1.1
e2e / workstation (archlinux) (pull_request) Failing after 2s
e2e / workstation (generic-linux) (pull_request) Failing after 6s
e2e / configure (talos) (pull_request) Has been skipped
Flux Diff / Flux Diff (kubernetes, helmrelease) (pull_request) Failing after 9s
Flux Diff / Flux Diff (kubernetes, kustomization) (pull_request) Failing after 11s
Kubeconform / Kubeconform (pull_request) Failing after 10s
Labeler / Labeler (pull_request) Successful in 6s
2024-12-07 00:48:47 +00:00
dlord 5ccf578e1f Merge pull request 'chore(container): update image ghcr.io/onedr0p/sonarr-develop to 371517b' (#11) from renovate/ghcr.io-onedr0p-sonarr-develop-rolling into main
renovate / renovate (push) Waiting to run
Reviewed-on: http://192.168.1.68:3001/infra/home-cluster/pulls/11
2024-12-06 17:48:41 -07:00
dlord d0d55ce1a0 Merge pull request 'fix(container): update image ghcr.io/gethomepage/homepage to v0.9.13' (#14) from renovate/ghcr.io-gethomepage-homepage-0.x into main
renovate / renovate (push) Has been cancelled
Reviewed-on: http://192.168.1.68:3001/infra/home-cluster/pulls/14
2024-12-06 17:47:50 -07:00
dlord 1b9df38253 Merge pull request 'feat(helm): update chart external-secrets to 0.11.0' (#19) from renovate/external-secrets-0.x into main
renovate / renovate (push) Has been cancelled
Reviewed-on: http://192.168.1.68:3001/infra/home-cluster/pulls/19
2024-12-06 17:47:33 -07:00
Renovate Bot 19569bb989 chore(container): update image ghcr.io/onedr0p/radarr-develop to f21d401
e2e / workstation (archlinux) (pull_request) Failing after 2s
e2e / workstation (generic-linux) (pull_request) Failing after 7s
e2e / configure (talos) (pull_request) Has been skipped
Flux Diff / Flux Diff (kubernetes, helmrelease) (pull_request) Failing after 10s
Flux Diff / Flux Diff (kubernetes, kustomization) (pull_request) Failing after 8s
Kubeconform / Kubeconform (pull_request) Failing after 12s
Labeler / Labeler (pull_request) Successful in 8s
2024-12-07 00:46:53 +00:00
dlord 1d17ebf324 Merge pull request 'feat(container): update image redis to v20.4.0' (#21) from renovate/redis-20.x into main
renovate / renovate (push) Has been cancelled
Reviewed-on: http://192.168.1.68:3001/infra/home-cluster/pulls/21
2024-12-06 17:46:48 -07:00
dlord 5c1f36d994 Merge pull request 'chore(container): update image ghcr.io/onedr0p/plex to 1f28b5e' (#23) from renovate/ghcr.io-onedr0p-plex-rolling into main
renovate / renovate (push) Has been cancelled
Reviewed-on: http://192.168.1.68:3001/infra/home-cluster/pulls/23
2024-12-06 17:46:08 -07:00
Renovate Bot f468c593da chore(container): update image ghcr.io/onedr0p/prowlarr-develop to 155e7c7
e2e / workstation (archlinux) (pull_request) Failing after 1s
e2e / workstation (generic-linux) (pull_request) Failing after 8s
e2e / configure (talos) (pull_request) Has been skipped
Flux Diff / Flux Diff (kubernetes, helmrelease) (pull_request) Failing after 8s
Flux Diff / Flux Diff (kubernetes, kustomization) (pull_request) Failing after 12s
Kubeconform / Kubeconform (pull_request) Failing after 11s
Labeler / Labeler (pull_request) Successful in 9s
2024-12-06 07:01:04 +00:00
Renovate Bot c0cc8039d4 feat(helm): update chart external-secrets to 0.11.0
e2e / workstation (archlinux) (pull_request) Failing after 7s
e2e / workstation (generic-linux) (pull_request) Failing after 21s
e2e / configure (talos) (pull_request) Has been skipped
Flux Diff / Flux Diff (kubernetes, helmrelease) (pull_request) Failing after 22s
Flux Diff / Flux Diff (kubernetes, kustomization) (pull_request) Failing after 14s
Kubeconform / Kubeconform (pull_request) Failing after 13s
Labeler / Labeler (pull_request) Successful in 7s
2024-12-03 07:01:11 +00:00
Renovate Bot dc4524e7f3 feat(container): update image redis to v20.4.0
e2e / workstation (archlinux) (pull_request) Failing after 2s
e2e / workstation (generic-linux) (pull_request) Failing after 5s
e2e / configure (talos) (pull_request) Has been skipped
Flux Diff / Flux Diff (kubernetes, helmrelease) (pull_request) Failing after 9s
Flux Diff / Flux Diff (kubernetes, kustomization) (pull_request) Failing after 9s
Kubeconform / Kubeconform (pull_request) Failing after 13s
Labeler / Labeler (pull_request) Successful in 10s
2024-12-03 07:01:09 +00:00
Renovate Bot 548804911b chore(container): update image ghcr.io/onedr0p/sonarr-develop to 371517b
e2e / workstation (archlinux) (pull_request) Failing after 2s
e2e / workstation (generic-linux) (pull_request) Failing after 6s
e2e / configure (talos) (pull_request) Has been skipped
Flux Diff / Flux Diff (kubernetes, helmrelease) (pull_request) Failing after 9s
Flux Diff / Flux Diff (kubernetes, kustomization) (pull_request) Failing after 9s
Kubeconform / Kubeconform (pull_request) Failing after 13s
Labeler / Labeler (pull_request) Successful in 9s
2024-12-02 07:01:00 +00:00
Renovate Bot 2ee2d3add3 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.42.2
renovate / renovate (push) Successful in 52s
2024-12-01 07:01:21 +00:00
Renovate Bot 8fa730520e chore(container): update image ghcr.io/onedr0p/plex to 1f28b5e
e2e / workstation (archlinux) (pull_request) Failing after 7s
e2e / workstation (generic-linux) (pull_request) Failing after 20s
e2e / configure (talos) (pull_request) Has been skipped
Flux Diff / Flux Diff (kubernetes, helmrelease) (pull_request) Failing after 23s
Flux Diff / Flux Diff (kubernetes, kustomization) (pull_request) Failing after 21s
Kubeconform / Kubeconform (pull_request) Failing after 16s
Labeler / Labeler (pull_request) Successful in 7s
2024-12-01 07:01:11 +00:00
Renovate Bot bdbe354545 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.41.0
Release / Release (push) Has been skipped
renovate / renovate (push) Successful in 1m34s
2024-11-30 07:01:50 +00:00
Renovate Bot 49803e8857 feat(container): update image ghcr.io/onedr0p/postgres-init to v16.6
e2e / workstation (archlinux) (pull_request) Failing after 5s
e2e / workstation (generic-linux) (pull_request) Failing after 13s
e2e / configure (talos) (pull_request) Has been skipped
Flux Diff / Flux Diff (kubernetes, helmrelease) (pull_request) Failing after 15s
Flux Diff / Flux Diff (kubernetes, kustomization) (pull_request) Failing after 18s
Kubeconform / Kubeconform (pull_request) Failing after 15s
Labeler / Labeler (pull_request) Successful in 8s
2024-11-30 07:01:40 +00:00
Renovate Bot 3a22b1cefa fix(container): update image ghcr.io/gethomepage/homepage to v0.9.13
e2e / workstation (archlinux) (pull_request) Failing after 4s
e2e / workstation (generic-linux) (pull_request) Failing after 12s
e2e / configure (talos) (pull_request) Has been skipped
Flux Diff / Flux Diff (kubernetes, helmrelease) (pull_request) Failing after 19s
Flux Diff / Flux Diff (kubernetes, kustomization) (pull_request) Failing after 19s
Kubeconform / Kubeconform (pull_request) Failing after 13s
Labeler / Labeler (pull_request) Successful in 7s
2024-11-30 07:01:17 +00:00
Renovate Bot 9ea71fffea fix(container): update image docker.io/cloudflare/cloudflared to v2024.11.1
e2e / workstation (archlinux) (pull_request) Failing after 5s
e2e / workstation (generic-linux) (pull_request) Failing after 14s
e2e / configure (talos) (pull_request) Has been skipped
Flux Diff / Flux Diff (kubernetes, helmrelease) (pull_request) Failing after 19s
Flux Diff / Flux Diff (kubernetes, kustomization) (pull_request) Failing after 19s
Kubeconform / Kubeconform (pull_request) Failing after 14s
Labeler / Labeler (pull_request) Successful in 7s
2024-11-30 07:01:14 +00:00
Daren Lord b91c67320a homepage: remove services
renovate / renovate (push) Successful in 1m59s
2024-11-27 23:14:12 +00:00
Daren Lord 2c640c7d75 homepage: fix services
renovate / renovate (push) Successful in 36s
2024-11-27 23:08:24 +00:00
Daren Lord e74c2c693b homepage: fix secret name
renovate / renovate (push) Successful in 36s
2024-11-27 23:04:52 +00:00
Daren Lord d6d92c3c69 homepage: add resources
renovate / renovate (push) Successful in 39s
2024-11-27 20:38:28 +00:00
Daren Lord 4c8e267010 add theme-park and homepage
renovate / renovate (push) Successful in 39s
2024-11-27 20:34:15 +00:00
Daren Lord 24bc36a4f7 media: fix plex
renovate / renovate (push) Successful in 41s
2024-11-26 05:01:09 +00:00
Daren Lord c6a1e9b790 media: fix plex
renovate / renovate (push) Successful in 36s
2024-11-26 04:51:39 +00:00
Daren Lord 8d3c028a4f media: fix plex
renovate / renovate (push) Has been cancelled
2024-11-26 04:51:18 +00:00
Daren Lord e8d907f793 media: fix plex
renovate / renovate (push) Successful in 36s
2024-11-26 04:49:16 +00:00
Daren Lord b4030d8a32 media: fix plex
renovate / renovate (push) Successful in 35s
2024-11-26 04:48:00 +00:00
Daren Lord 7fdaa0b28f media: fix plex
renovate / renovate (push) Successful in 33s
2024-11-26 04:45:40 +00:00
Daren Lord 9c5cf0bbd9 media: fix plex
renovate / renovate (push) Successful in 35s
2024-11-26 04:30:24 +00:00
Daren Lord 934057fa4d media: fix plex secret
renovate / renovate (push) Successful in 34s
2024-11-26 04:26:40 +00:00
Daren Lord e870d89db7 media: fix plex secret
renovate / renovate (push) Successful in 35s
2024-11-26 04:18:51 +00:00
Daren Lord 7ad9b24014 media: enable plex, tautilli
renovate / renovate (push) Successful in 34s
2024-11-26 04:10:59 +00:00
Daren Lord 603d28673a overseerr: fix config mount
renovate / renovate (push) Successful in 35s
2024-11-26 04:02:07 +00:00
Daren Lord 6fae4188fb media: add overseerr,plex,tautilli
renovate / renovate (push) Successful in 35s
2024-11-26 03:56:16 +00:00
Daren Lord 85f86545f5 Remove TLS for jellyfin
renovate / renovate (push) Successful in 39s
2024-11-25 04:46:25 +00:00
Daren Lord 540e774b1c jellyfin: fix mounts
renovate / renovate (push) Successful in 35s
2024-11-25 04:27:12 +00:00
Daren Lord 333594ef13 media: add jellyfin
renovate / renovate (push) Successful in 35s
2024-11-25 04:15:17 +00:00
Daren Lord cbcc448cde downloads: Update locations.
renovate / renovate (push) Successful in 34s
2024-11-25 03:55:24 +00:00
Daren Lord 07c13e29bb upgrade sonarr
renovate / renovate (push) Successful in 36s
2024-11-25 03:26:09 +00:00
Daren Lord 168fe1c12a fix sonarr
renovate / renovate (push) Successful in 34s
2024-11-25 03:22:19 +00:00
Daren Lord 29cea6300b downloads: Add sonnar kustomization
renovate / renovate (push) Successful in 35s
2024-11-25 02:54:23 +00:00
Daren Lord d7a58a1705 downloads: Add sonnar kustomization
renovate / renovate (push) Waiting to run
2024-11-25 02:49:14 +00:00
Daren Lord 48f9384155 downloads: Add sonarr
renovate / renovate (push) Waiting to run
2024-11-25 02:40:25 +00:00
Daren Lord 5213be53dd capacitor: fix for rbac, radarr,sabnzbd fix secret
renovate / renovate (push) Waiting to run
2024-11-25 02:20:35 +00:00
Daren Lord 73459b7271 try fixing capacitor
renovate / renovate (push) Waiting to run
2024-11-25 02:13:41 +00:00
Daren Lord 267001f98e Fix image versions
renovate / renovate (push) Waiting to run
2024-11-25 01:58:45 +00:00
Daren Lord 23789f53c2 downloads: fix config mounts
renovate / renovate (push) Waiting to run
2024-11-25 01:51:26 +00:00
Daren Lord 9588ce4aeb sabnzbd: fixes
renovate / renovate (push) Waiting to run
2024-11-25 01:46:56 +00:00
Daren Lord a67cd1b15a sabnzbd: remove authilia
renovate / renovate (push) Successful in 38s
2024-11-23 05:57:21 +00:00
Daren Lord 6670024de6 sabnzbd: fix dependsOn
renovate / renovate (push) Waiting to run
2024-11-23 05:56:03 +00:00
Daren Lord 3e08594b28 sabnzbd: initial commit
renovate / renovate (push) Waiting to run
2024-11-23 05:54:29 +00:00
Daren Lord ffd3870b6f downloads: add sabnzbd
renovate / renovate (push) Waiting to run
2024-11-23 05:44:12 +00:00
Daren Lord 64ebae6504 cluster-secrets: add internal-domain
renovate / renovate (push) Waiting to run
2024-11-23 05:19:41 +00:00
dlord 06ed831299 Merge pull request 'chore(deps): update makejinja to 2.7.0' (#9) from renovate/makejinja-2.x into main
renovate / renovate (push) Waiting to run
Reviewed-on: http://192.168.1.68:3001/infra/home-cluster/pulls/9
Reviewed-by: dlord <dlaccount@icloud.com>
2024-11-22 22:10:34 -07:00
Daren Lord 822b3b7d6b downloads: enable prowlarr
renovate / renovate (push) Waiting to run
2024-11-23 05:07:21 +00:00
Daren Lord d3cd59bdf2 prowlarr: persist config
renovate / renovate (push) Waiting to run
2024-11-23 04:59:53 +00:00
Daren Lord 96f6eb5eb6 prowlarr: remove authialia 2024-11-23 04:58:52 +00:00
Daren Lord 72425589b5 prowlarr: initial add
renovate / renovate (push) Waiting to run
2024-11-23 04:54:28 +00:00
Daren Lord cd2b7d8f7f nfs: fix pvc
renovate / renovate (push) Waiting to run
2024-11-22 05:13:33 +00:00
Daren Lord bd1b9769fa nfs: fix pvc
renovate / renovate (push) Waiting to run
2024-11-22 05:05:42 +00:00
Daren Lord d5fb2d0924 radarr: fix mount
renovate / renovate (push) Waiting to run
2024-11-22 04:55:30 +00:00
Daren Lord 25c765fde1 radarr: fix secret
renovate / renovate (push) Waiting to run
2024-11-22 04:46:01 +00:00
Daren Lord 7d581cec6c radarr: fix service domain
renovate / renovate (push) Waiting to run
2024-11-22 04:40:46 +00:00
Daren Lord b42a3cee15 radarr: fix service domain
renovate / renovate (push) Waiting to run
2024-11-22 04:34:06 +00:00
Daren Lord 4db1792b1b radarr: fix service domain
renovate / renovate (push) Waiting to run
2024-11-22 04:30:37 +00:00
Daren Lord 2414f32f36 radarr: remove authalia
renovate / renovate (push) Waiting to run
2024-11-22 04:28:39 +00:00
Daren Lord 993001246b radarr: remove volsync
renovate / renovate (push) Waiting to run
2024-11-22 04:26:15 +00:00
Daren Lord 769d137db4 attempt to fix storage for db
renovate / renovate (push) Waiting to run
2024-11-22 04:20:14 +00:00
Daren Lord 12f4d5c05f attempt to fix storage for db
renovate / renovate (push) Waiting to run
2024-11-22 04:13:52 +00:00
Daren Lord 3192d9cb1c attempt to fix storage for db
renovate / renovate (push) Waiting to run
2024-11-22 04:00:34 +00:00
Daren Lord f18ca6ccdb attempt to fix storage for db
renovate / renovate (push) Waiting to run
2024-11-22 03:41:52 +00:00
Daren Lord 9dcf019cfb attempt to fix storage for db
renovate / renovate (push) Waiting to run
2024-11-22 03:09:13 +00:00
Daren Lord c6b169b244 change database nfs
renovate / renovate (push) Waiting to run
2024-11-21 20:43:47 +00:00
Daren Lord d2a143d4d6 Fix nfs class error
renovate / renovate (push) Waiting to run
2024-11-21 19:31:17 +00:00
Daren Lord 15904738e3 Add database storage class
renovate / renovate (push) Waiting to run
2024-11-21 18:42:57 +00:00
Daren Lord 37a4cb09a0 fix nfs storageclass
renovate / renovate (push) Waiting to run
2024-11-21 18:32:06 +00:00
Daren Lord e2df5a8f3e fix nfs permissions
renovate / renovate (push) Waiting to run
2024-11-20 14:24:39 +00:00
Daren Lord 5411f99231 remove smb
renovate / renovate (push) Waiting to run
2024-11-20 14:02:03 +00:00
Daren Lord 5a439703cc fix pvcs
renovate / renovate (push) Waiting to run
2024-11-20 04:49:20 +00:00
Daren Lord b3427abb98 remove smb
renovate / renovate (push) Waiting to run
2024-11-20 03:36:46 +00:00
Daren Lord a53ff1b307 update to nfs
renovate / renovate (push) Waiting to run
2024-11-20 03:29:39 +00:00
Daren Lord 277bc47aa8 cnpg: change storageclass
renovate / renovate (push) Waiting to run
2024-11-20 03:26:33 +00:00
Daren Lord f5755d23f1 remove all smb
renovate / renovate (push) Waiting to run
2024-11-20 03:22:41 +00:00
Daren Lord cc3803305f fix missing smb
renovate / renovate (push) Waiting to run
2024-11-20 03:18:38 +00:00
Daren Lord db2081dc3f fix typo
renovate / renovate (push) Waiting to run
2024-11-20 03:16:45 +00:00
Daren Lord af5e4aab55 add in nfs
renovate / renovate (push) Waiting to run
2024-11-20 03:15:05 +00:00
Daren Lord 7062460b31 switch from smb to nfs
renovate / renovate (push) Waiting to run
2024-11-20 03:11:29 +00:00
Daren Lord 4b5d37db6a Fix database storageClass
renovate / renovate (push) Waiting to run
2024-11-20 02:46:05 +00:00
Daren Lord cc1be4209e cnpg: fix database init
renovate / renovate (push) Waiting to run
2024-11-20 02:33:00 +00:00
Daren Lord 744726b684 remove services
renovate / renovate (push) Waiting to run
2024-11-20 02:10:24 +00:00
Daren Lord 30e5f40396 add services
renovate / renovate (push) Waiting to run
2024-11-19 23:48:31 +00:00
Daren Lord 2d0ed7aa8d remove postgres services
renovate / renovate (push) Waiting to run
2024-11-19 23:42:32 +00:00
Daren Lord 79206e63e4 Add bitnami
renovate / renovate (push) Waiting to run
2024-11-19 23:29:49 +00:00
Daren Lord 034cd5e9ea add bitnami
renovate / renovate (push) Waiting to run
2024-11-19 23:23:31 +00:00
Daren Lord 29fb5d37ca fix flux path
renovate / renovate (push) Waiting to run
2024-11-19 22:27:46 +00:00
Daren Lord 910b9d43d2 postgres-cluster
renovate / renovate (push) Waiting to run
2024-11-19 22:25:40 +00:00
Daren Lord 9215b1079d cloudnativepg: fix depends on
renovate / renovate (push) Waiting to run
2024-11-19 21:59:17 +00:00
Daren Lord 5569b032a1 cloudnative: fix dependsOn
renovate / renovate (push) Waiting to run
2024-11-19 21:54:02 +00:00
Daren Lord 5c07f43143 downloads: fix kustomization
renovate / renovate (push) Waiting to run
2024-11-19 21:52:54 +00:00
Daren Lord 6d15fa554d radarr: fix app location
renovate / renovate (push) Waiting to run
2024-11-19 21:47:16 +00:00
Daren Lord 3fab823ea0 update secrets; add radarr
renovate / renovate (push) Waiting to run
2024-11-19 21:42:48 +00:00
Daren Lord af079a7525 fix cifs-vpc
renovate / renovate (push) Waiting to run
2024-11-19 20:51:30 +00:00
Daren Lord 7f8db0c466 database and data
renovate / renovate (push) Waiting to run
2024-11-19 20:49:29 +00:00
Daren Lord 4307357430 helmrepo: csi-driver-smb fix
renovate / renovate (push) Has been cancelled
2024-11-18 03:22:37 +00:00
Daren Lord 865069d4f8 helmrepo: csi-driver-smb fix
renovate / renovate (push) Waiting to run
2024-11-18 03:21:45 +00:00
Daren Lord 43ea011457 csi-driver-smb: fix dependsOn
renovate / renovate (push) Waiting to run
2024-11-18 03:16:55 +00:00
Daren Lord 1ea17d6826 csi-driver-smb: fix namespace
renovate / renovate (push) Waiting to run
2024-11-18 03:10:31 +00:00
Daren Lord 8839f28b3f csi-driver-smb: fix namespace
renovate / renovate (push) Waiting to run
2024-11-18 03:06:41 +00:00
Daren Lord 74632ecc8a csi-driver-smb: add kustomization
renovate / renovate (push) Waiting to run
2024-11-18 03:03:39 +00:00
Daren Lord 15edd8fd1b csi-driver-smb: add
renovate / renovate (push) Waiting to run
2024-11-18 03:01:22 +00:00
Daren Lord c34c64f3b0 Change self-signed
renovate / renovate (push) Waiting to run
2024-11-18 01:37:49 +00:00
Daren Lord 2c2234b4bc fix bitwarden, self-signed
renovate / renovate (push) Successful in 33s
devcontainer / publish (push) Has been cancelled
2024-11-16 06:47:08 +00:00
Daren Lord 39960dd3fb fix bitwarden
renovate / renovate (push) Successful in 34s
2024-11-16 06:36:59 +00:00
Daren Lord fa8e73cbe5 fix bitwarden
renovate / renovate (push) Successful in 35s
2024-11-16 06:31:21 +00:00
Daren Lord 6b316c80be fix bitwarden
renovate / renovate (push) Successful in 34s
2024-11-16 06:29:18 +00:00
Daren Lord eaef821b95 fix self-sign
renovate / renovate (push) Successful in 31s
2024-11-16 06:24:53 +00:00
Daren Lord c030c7bdf5 fix external-dns
renovate / renovate (push) Successful in 34s
2024-11-16 02:29:23 +00:00
Daren Lord c32cb167d7 fix capacitor namespace
renovate / renovate (push) Successful in 32s
2024-11-16 02:21:53 +00:00
Daren Lord 0a801b595e Fix capacitor, external-secrets
renovate / renovate (push) Successful in 33s
2024-11-16 02:19:58 +00:00
Renovate Bot c88e574616 feat(github-action): update image ghcr.io/renovatebot/renovate to v39.17.1
renovate / renovate (push) Successful in 1m20s
2024-11-16 02:13:08 +00:00
Renovate Bot 241f5d80d7 chore(deps): update makejinja to 2.7.0
e2e / workstation (archlinux) (pull_request) Failing after 2s
e2e / workstation (generic-linux) (pull_request) Failing after 6s
e2e / configure (talos) (pull_request) Has been skipped
Labeler / Labeler (pull_request) Successful in 4s
2024-11-16 02:13:04 +00:00
Renovate Bot 2b20fac690 fix(github-action): update image ghcr.io/allenporter/flux-local to v6.0.2
renovate / renovate (push) Has been cancelled
2024-11-16 02:12:26 +00:00
dlord 09d2ed5e88 Merge pull request 'fix(helm): update chart ingress-nginx to 4.11.3' (#5) from renovate/ingress-nginx-4.x into main
renovate / renovate (push) Has been cancelled
Reviewed-on: http://192.168.1.68:3001/infra/home-cluster/pulls/5
2024-11-15 19:10:46 -07:00
dlord b7f4f8aa14 Merge pull request 'fix(container): update image ghcr.io/kashalls/external-dns-unifi-webhook to v0.3.2' (#2) from renovate/ghcr.io-kashalls-external-dns-unifi-webhook-0.x into main
renovate / renovate (push) Has been cancelled
Reviewed-on: http://192.168.1.68:3001/infra/home-cluster/pulls/2
2024-11-15 19:10:36 -07:00
dlord 4488ba1315 Merge pull request 'fix(container): update image ghcr.io/siderolabs/installer to v1.8.3' (#3) from renovate/patch-talos into main
renovate / renovate (push) Has been cancelled
Reviewed-on: http://192.168.1.68:3001/infra/home-cluster/pulls/3
2024-11-15 19:10:20 -07:00
dlord 6d36b51f83 Merge pull request 'fix(helm): update chart coredns to 1.36.1' (#4) from renovate/coredns-1.x into main
renovate / renovate (push) Has been cancelled
Reviewed-on: http://192.168.1.68:3001/infra/home-cluster/pulls/4
2024-11-15 19:10:11 -07:00
dlord 50de884d2f Merge pull request 'feat(container): update image docker.io/cloudflare/cloudflared to v2024.11.0' (#6) from renovate/docker.io-cloudflare-cloudflared-2024.x into main
renovate / renovate (push) Has been cancelled
Reviewed-on: http://192.168.1.68:3001/infra/home-cluster/pulls/6
2024-11-15 19:09:39 -07:00
dlord a34ebb0c69 Merge pull request 'feat(container)!: Update image prometheus-operator-crds to v16' (#7) from renovate/prometheus-operator-crds-16.x into main
renovate / renovate (push) Has been cancelled
Reviewed-on: http://192.168.1.68:3001/infra/home-cluster/pulls/7
2024-11-15 19:09:29 -07:00
dlord 57e6ecfc63 Merge pull request 'feat(github-action)!: Update image ghcr.io/renovatebot/renovate to v39' (#8) from renovate/ghcr.io-renovatebot-renovate-39.x into main
renovate / renovate (push) Has been cancelled
Reviewed-on: http://192.168.1.68:3001/infra/home-cluster/pulls/8
2024-11-15 19:09:20 -07:00
Renovate Bot dfed53a797 feat(github-action)!: Update image ghcr.io/renovatebot/renovate to v39
e2e / workstation (archlinux) (pull_request) Failing after 2s
e2e / workstation (generic-linux) (pull_request) Failing after 7s
e2e / configure (talos) (pull_request) Has been skipped
Labeler / Labeler (pull_request) Successful in 3s
2024-11-15 07:01:24 +00:00
Renovate Bot b333a10e3a feat(container)!: Update image prometheus-operator-crds to v16
e2e / workstation (archlinux) (pull_request) Failing after 2s
e2e / workstation (generic-linux) (pull_request) Failing after 6s
e2e / configure (talos) (pull_request) Has been skipped
Flux Diff / Flux Diff (kubernetes, helmrelease) (pull_request) Failing after 9s
Flux Diff / Flux Diff (kubernetes, kustomization) (pull_request) Failing after 11s
Kubeconform / Kubeconform (pull_request) Failing after 9s
Labeler / Labeler (pull_request) Successful in 6s
2024-11-12 03:37:45 +00:00
Renovate Bot 005a892106 feat(container): update image docker.io/cloudflare/cloudflared to v2024.11.0
e2e / workstation (archlinux) (pull_request) Failing after 4s
e2e / workstation (generic-linux) (pull_request) Failing after 16s
e2e / configure (talos) (pull_request) Has been skipped
Flux Diff / Flux Diff (kubernetes, helmrelease) (pull_request) Failing after 16s
Flux Diff / Flux Diff (kubernetes, kustomization) (pull_request) Failing after 17s
Kubeconform / Kubeconform (pull_request) Failing after 13s
Labeler / Labeler (pull_request) Successful in 9s
2024-11-09 07:01:22 +00:00
Renovate Bot 063e1e55e7 fix(helm): update chart ingress-nginx to 4.11.3
e2e / workstation (archlinux) (pull_request) Failing after 5s
e2e / workstation (generic-linux) (pull_request) Failing after 16s
e2e / configure (talos) (pull_request) Has been skipped
Flux Diff / Flux Diff (kubernetes, helmrelease) (pull_request) Failing after 17s
Flux Diff / Flux Diff (kubernetes, kustomization) (pull_request) Failing after 19s
Kubeconform / Kubeconform (pull_request) Failing after 14s
Labeler / Labeler (pull_request) Successful in 8s
2024-11-09 07:01:17 +00:00
Renovate Bot 274a932e0b fix(helm): update chart coredns to 1.36.1
e2e / workstation (archlinux) (pull_request) Failing after 3s
e2e / workstation (generic-linux) (pull_request) Failing after 14s
e2e / configure (talos) (pull_request) Has been skipped
Flux Diff / Flux Diff (kubernetes, helmrelease) (pull_request) Failing after 21s
Flux Diff / Flux Diff (kubernetes, kustomization) (pull_request) Failing after 19s
Kubeconform / Kubeconform (pull_request) Failing after 17s
Labeler / Labeler (pull_request) Successful in 8s
2024-11-09 07:01:13 +00:00
Renovate Bot 55d9ececc1 fix(container): update image ghcr.io/kashalls/external-dns-unifi-webhook to v0.3.2
e2e / workstation (archlinux) (pull_request) Failing after 4s
e2e / workstation (generic-linux) (pull_request) Failing after 12s
e2e / configure (talos) (pull_request) Has been skipped
Flux Diff / Flux Diff (kubernetes, helmrelease) (pull_request) Failing after 20s
Flux Diff / Flux Diff (kubernetes, kustomization) (pull_request) Failing after 16s
Kubeconform / Kubeconform (pull_request) Failing after 13s
Labeler / Labeler (pull_request) Successful in 9s
2024-11-09 07:00:52 +00:00
107 changed files with 3174 additions and 127 deletions

No files matched your search

+1 -1
View File
@@ -35,7 +35,7 @@ jobs:
path: default
- name: Diff Resources
uses: docker://ghcr.io/allenporter/flux-local:v6.0.1
uses: docker://ghcr.io/allenporter/flux-local:v6.1.1
with:
args: >-
diff ${{ matrix.resources }}
+1 -1
View File
@@ -10,7 +10,7 @@ on:
jobs:
renovate:
runs-on: ubuntu-latest
container: ghcr.io/renovatebot/renovate:37.440.7
container: ghcr.io/renovatebot/renovate:39.251.0
steps:
- uses: actions/checkout@v4
- run: renovate
@@ -8,7 +8,7 @@ spec:
chart:
spec:
chart: coredns
version: 1.36.0
version: 1.36.1
sourceRef:
kind: HelmRepository
name: coredns
@@ -30,7 +30,7 @@ spec:
app:
image:
repository: docker.io/cloudflare/cloudflared
tag: 2024.10.1
tag: 2024.11.1
env:
NO_AUTOUPDATE: true
TUNNEL_CRED_FILE: /etc/cloudflared/creds/credentials.json
@@ -8,7 +8,7 @@ spec:
chart:
spec:
chart: ingress-nginx
version: 4.11.2
version: 4.11.3
sourceRef:
kind: HelmRepository
name: ingress-nginx
@@ -9,7 +9,7 @@ spec:
chart:
spec:
chart: ingress-nginx
version: 4.11.2
version: 4.11.3
sourceRef:
kind: HelmRepository
name: ingress-nginx
@@ -8,7 +8,7 @@ spec:
chart:
spec:
chart: prometheus-operator-crds
version: 15.0.0
version: 16.0.0
sourceRef:
kind: HelmRepository
name: prometheus-community
@@ -18,7 +18,7 @@ releases:
- name: prometheus-operator-crds
namespace: observability
chart: oci://ghcr.io/prometheus-community/charts/prometheus-operator-crds
version: 15.0.0
version: 16.0.0
- name: cilium
namespace: kube-system
chart: cilium/cilium
@@ -30,7 +30,7 @@ releases:
- name: coredns
namespace: kube-system
chart: coredns/coredns
version: 1.36.0
version: 1.36.1
values:
- ../apps/kube-system/coredns/app/helm-values.yaml
needs:
@@ -42,11 +42,16 @@ spec:
repository: ghcr.io/gimlet-io/capacitor
tag: v0.4.8@sha256:a80207f52c054dba9e04e8b1ea86e297817ecf05ddbfce249c1f5eaf6ce8c7d8
securityContext:
runAsNonRoot: true
runAsUser: 100
runAsGroup: 101
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
seccompProfile:
type: RuntimeDefault
probes:
startup:
@@ -90,7 +95,7 @@ spec:
enabled: true
className: internal
hosts:
- host: &host "{{ .Release.Name }}.k8s.home.arpa"
- host: &host "{{ .Release.Name }}.${SECRET_INTERNAL_DOMAIN}"
paths:
- path: /
pathType: Prefix
@@ -1,48 +1,50 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: capacitor
namespace: flux-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: capacitor
rules:
- apiGroups:
- networking.k8s.io
- apps
- ""
resources:
- pods
- pods/log
- ingresses
- deployments
- services
- secrets
- events
- configmaps
verbs:
- get
- watch
- list
- apiGroups:
- source.toolkit.fluxcd.io
- kustomize.toolkit.fluxcd.io
- helm.toolkit.fluxcd.io
resources:
- gitrepositories
- ocirepositories
- buckets
- helmrepositories
- helmcharts
- kustomizations
- helmreleases
verbs:
- get
- watch
- list
- patch # to allow force reconciling by adding an annotation
- apiGroups:
- networking.k8s.io
- apps
- ""
resources:
- pods
- pods/log
- ingresses
- deployments
- services
- secrets
- events
- configmaps
verbs:
- get
- watch
- list
- apiGroups:
- source.toolkit.fluxcd.io
- kustomize.toolkit.fluxcd.io
- helm.toolkit.fluxcd.io
- infra.contrib.fluxcd.io
resources:
- gitrepositories
- ocirepositories
- buckets
- helmrepositories
- helmcharts
- kustomizations
- helmreleases
- terraforms
verbs:
- get
- watch
- list
- patch # to allow force reconciling by adding an annotation
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
+1 -1
View File
@@ -5,7 +5,7 @@ metadata:
name: &app capacitor
namespace: flux-system
spec:
targetNamespace: capacitor
targetNamespace: flux-system
commonMetadata:
labels:
app.kubernetes.io/name: *app
@@ -1,39 +0,0 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/cert-manager.io/certificate_v1.json
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: &name home-selfsigned-ca
spec:
isCA: true
commonName: *name
subject:
organizations:
- ${SECRET_DOMAIN}
secretName: root-secret
privateKey:
algorithm: ECDSA
size: 256
issuerRef:
name: selfsigned-issuer
kind: ClusterIssuer
group: cert-manager.io
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: &name strong-selfsigned-ca
spec:
isCA: true
commonName: *name
subject:
organizations:
- ${SECRET_DOMAIN}
secretName: strong-root-secret
privateKey:
algorithm: ECDSA
size: 384
issuerRef:
name: selfsigned-issuer
kind: ClusterIssuer
group: cert-manager.io
@@ -1,5 +1,28 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/cert-manager.io/clusterissuer_v1.json
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: selfsigned-issuer
spec:
selfSigned: {}
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: home-selfsigned-ca
namespace: cert-manager
spec:
isCA: true
commonName: home-selfsigned-ca
secretName: root-secret
privateKey:
algorithm: ECDSA
size: 256
issuerRef:
name: selfsigned-issuer
kind: ClusterIssuer
group: cert-manager.io
---
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
@@ -7,11 +30,3 @@ metadata:
spec:
ca:
secretName: root-secret
---
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: strong-ca-issuer
spec:
ca:
secretName: strong-root-secret
@@ -3,5 +3,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./certificate.yaml
- ./clusterissuer.yaml
@@ -0,0 +1,32 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: cloudnative-pg
spec:
interval: 30m
chart:
spec:
# renovate: registryUrl=https://cloudnative-pg.github.io/charts
chart: cloudnative-pg
version: 0.22.1
sourceRef:
kind: HelmRepository
name: cloudnative-pg
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
strategy: rollback
retries: 3
values:
crds:
create: true
monitoring:
podMonitorEnabled: false
grafanaDashboard:
create: true
@@ -0,0 +1,6 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./helmrelease.yaml
@@ -0,0 +1,89 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/postgresql.cnpg.io/cluster_v1.json
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: postgres
namespace: databases
spec:
instances: 3
imageName: ghcr.io/cloudnative-pg/postgresql:16.5-1
primaryUpdateStrategy: unsupervised
storage:
size: 20Gi
storageClass: nfs-provision-csi-database
superuserSecret:
name: cloudnative-pg
enableSuperuserAccess: true
postgresql:
parameters:
max_connections: "600"
max_slot_wal_keep_size: 10GB
shared_buffers: 512MB
nodeMaintenanceWindow:
inProgress: false
reusePVC: true
resources:
requests:
cpu: 500m
memory: 2Gi
limits:
cpu: 1
memory: 4Gi
monitoring:
enablePodMonitor: true
# backup:
# retentionPolicy: 30d
# barmanObjectStore: &barmanObjectStore
# data:
# compression: bzip2
# wal:
# compression: bzip2
# maxParallel: 8
# destinationPath: "s3://cloudnative-pg-v1"
# endpointURL: "https://${SECRET_QNAP_HOSTNAME}:8010"
# # Note: serverName version needs to be incremented or changed
# # when recovering from an existing cnpg cluster
# serverName: &currentCluster postgres-v2
# s3Credentials:
# accessKeyId:
# name: cloudnative-pg
# key: s3-key-id
# secretAccessKey:
# name: cloudnative-pg
# key: s3-secret-key
# # Note: externalClusters is needed when recovering from an existing cnpg cluster
# externalClusters:
# # s3 instance recovery
# - name: &previousCluster postgres-v1
# barmanObjectStore:
# <<: *barmanObjectStore
# serverName: *previousCluster
# running instance
#- name: postgres
# connectionParameters:
# host: 10.1.0.23
# user: postgres
# dbname: postgres
# sslmode: require
# password:
# name: cloudnative-pg
# key: password
# Note: previousCluster needs to be set to the name of the previous
# cluster when recovering from an existing cnpg cluster
bootstrap:
# # s3 instance recovery
# recovery:
# source: *previousCluster
# recover from another running instance
initdb:
database: homeops
# import:
# type: monolith
# databases:
# - "*"
# roles:
# - "*"
# source:
# externalCluster: postgres
@@ -0,0 +1,32 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/external-secrets.io/externalsecret_v1beta1.json
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: &name cloudnative-pg
spec:
target:
name: *name
deletionPolicy: Delete
template:
type: Opaque
data:
username: "{{ .username }}"
password: "{{ .password }}"
data:
- secretKey: username
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: &secretKey 88217883-df53-4c96-aad7-f3b2142382de
property: username
- secretKey: password
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: *secretKey
property: password
@@ -0,0 +1,11 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./externalsecret.yaml
- ./cluster.yaml
# - ./gatus.yaml
- ./prometheusrule.yaml
- ./scheduledbackup.yaml
- ./service.yaml
@@ -0,0 +1,67 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/monitoring.coreos.com/prometheusrule_v1.json
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: cloudnative-pg-rules
labels:
prometheus: k8s
role: alert-rules
spec:
groups:
- name: cloudnative-pg.rules
rules:
- alert: LongRunningTransaction
annotations:
description: Pod {{ $labels.pod }} is taking more than 5 minutes (300 seconds) for a query.
summary: A query is taking longer than 5 minutes.
expr: |-
cnpg_backends_max_tx_duration_seconds > 300
for: 1m
labels:
severity: warning
- alert: BackendsWaiting
annotations:
description: Pod {{ $labels.pod }} has been waiting for longer than 5 minutes
summary: If a backend is waiting for longer than 5 minutes
expr: |-
cnpg_backends_waiting_total > 300
for: 1m
labels:
severity: warning
- alert: PGDatabase
annotations:
description: Over 150,000,000 transactions from frozen xid on pod {{ $labels.pod }}
summary: Number of transactions from the frozen XID to the current one
expr: |-
cnpg_pg_database_xid_age > 150000000
for: 1m
labels:
severity: warning
- alert: PGReplication
annotations:
description: Standby is lagging behind by over 300 seconds (5 minutes)
summary: The standby is lagging behind the primary
expr: |-
cnpg_pg_replication_lag > 300
for: 1m
labels:
severity: warning
- alert: LastFailedArchiveTime
annotations:
description: Archiving failed for {{ $labels.pod }}
summary: Checks the last time archiving failed. Will be < 0 when it has not failed.
expr: |-
(cnpg_pg_stat_archiver_last_failed_time - cnpg_pg_stat_archiver_last_archived_time) > 1
for: 1m
labels:
severity: warning
- alert: DatabaseDeadlockConflicts
annotations:
description: There are over 10 deadlock conflicts in {{ $labels.pod }}
summary: Checks the number of database conflicts
expr: |-
cnpg_pg_stat_database_deadlocks > 10
for: 1m
labels:
severity: warning
@@ -0,0 +1,12 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/postgresql.cnpg.io/scheduledbackup_v1.json
apiVersion: postgresql.cnpg.io/v1
kind: ScheduledBackup
metadata:
name: postgres
spec:
schedule: "@daily"
immediate: true
backupOwnerReference: self
cluster:
name: postgres
@@ -0,0 +1,19 @@
---
# yaml-language-server: $schema=https://kubernetesjsonschema.dev/v1.18.1-standalone-strict/service-v1.json
apiVersion: v1
kind: Service
metadata:
name: postgres-lb
annotations:
external-dns.alpha.kubernetes.io/hostname: postgres.${SECRET_INTERNAL_DOMAIN}
io.cilium/lb-ipam-ips: "${SVC_POSTGRES_ADDR}"
spec:
type: LoadBalancer
ports:
- name: postgres
port: 5432
protocol: TCP
targetPort: 5432
selector:
cnpg.io/cluster: postgres
role: primary
@@ -0,0 +1,47 @@
---
# 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:
name: &app cloudnative-pg
namespace: flux-system
spec:
targetNamespace: databases
commonMetadata:
labels:
app.kubernetes.io/name: *app
dependsOn:
- name: external-secrets
- name: openebs
path: ./kubernetes/apps/databases/cloudnative-pg/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: true
interval: 30m
retryInterval: 1m
timeout: 5m
---
# 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:
name: &app cloudnative-pg-cluster
namespace: flux-system
spec:
targetNamespace: databases
commonMetadata:
labels:
app.kubernetes.io/name: *app
dependsOn:
- name: cloudnative-pg
path: ./kubernetes/apps/databases/cloudnative-pg/cluster
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: true
interval: 30m
retryInterval: 1m
timeout: 5m
@@ -0,0 +1,8 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./namespace.yaml
- ./cloudnative-pg/ks.yaml
- ./redis/ks.yaml
+38
View File
@@ -0,0 +1,38 @@
---
# yaml-language-server: $schema=https://kubernetesjsonschema.dev/v1.18.1-standalone-strict/namespace-v1.json
apiVersion: v1
kind: Namespace
metadata:
name: databases
labels:
kustomize.toolkit.fluxcd.io/prune: disabled
# ---
# # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/provider_v1beta3.json
# apiVersion: notification.toolkit.fluxcd.io/v1beta3
# kind: Provider
# metadata:
# name: alert-manager
# namespace: databases
# spec:
# type: alertmanager
# address: http://alertmanager-operated.observability.svc.cluster.local:9093/api/v2/alerts/
# ---
# # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/notification.toolkit.fluxcd.io/alert_v1beta3.json
# apiVersion: notification.toolkit.fluxcd.io/v1beta3
# kind: Alert
# metadata:
# name: alert-manager
# namespace: databases
# spec:
# providerRef:
# name: alert-manager
# eventSeverity: error
# eventSources:
# - kind: HelmRelease
# name: "*"
# exclusionList:
# - "error.*lookup github\\.com"
# - "error.*lookup raw\\.githubusercontent\\.com"
# - "dial.*tcp.*timeout"
# - "waiting.*socket"
# suspend: false
@@ -0,0 +1,47 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: &app redis
spec:
interval: 30m
chart:
spec:
chart: *app
version: 20.4.0
sourceRef:
kind: HelmRepository
name: bitnami
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
strategy: rollback
retries: 3
values:
auth:
enabled: false
sentinel: false
master:
persistence:
enabled: false
replica:
persistence:
enabled: false
sentinel:
enabled: true
masterSet: redis-master
getMasterTimeout: 10
startupProbe:
failureThreshold: 2
persistence:
enabled: false
metrics:
enabled: true
serviceMonitor:
enabled: true
interval: 1m
@@ -0,0 +1,7 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: databases
resources:
- ./helmrelease.yaml
+24
View File
@@ -0,0 +1,24 @@
---
# 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:
name: &app redis
namespace: flux-system
spec:
targetNamespace: databases
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/databases/redis/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: true
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:
APP: *app
@@ -0,0 +1,13 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../../templates/csi-driver-nfs/claims/cifs-appdata.yaml
# - ../../../templates/csi-driver-nfs/claims/cifs-books.yaml
- ../../../templates/csi-driver-nfs/claims/cifs-downloads.yaml
# - ../../../templates/csi-driver-nfs/claims/cifs-games.yaml
# - ../../../templates/csi-driver-nfs/claims/cifs-misc.yaml
- ../../../templates/csi-driver-nfs/claims/cifs-movies.yaml
# - ../../../templates/csi-driver-nfs/claims/cifs-music.yaml
- ../../../templates/csi-driver-nfs/claims/cifs-tv.yaml
+23
View File
@@ -0,0 +1,23 @@
---
# 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:
name: &app downloads-cifs-pvcs
namespace: flux-system
spec:
targetNamespace: downloads
commonMetadata:
labels:
app.kubernetes.io/name: *app
dependsOn:
- name: csi-driver-nfs
path: ./kubernetes/apps/downloads/cifs-pvcs
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
@@ -0,0 +1,21 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./namespace.yaml
- ./ks.yaml
# - ./flaresolverr/ks.yaml
# - ./flood/ks.yaml
# - ./lidarr/ks.yaml
- ./prowlarr/ks.yaml
- ./radarr/ks.yaml
- ./sabnzbd/ks.yaml
- ./sonarr/ks.yaml
# configMapGenerator:
# - name: authelia-ingress-hv
# namespace: downloads
# files:
# - values.yaml=../security/authelia/app/resources/authelia-ingress-hv.yaml
generatorOptions:
disableNameSuffixHash: true
+11
View File
@@ -0,0 +1,11 @@
---
# yaml-language-server: $schema=https://kubernetesjsonschema.dev/v1.18.1-standalone-strict/namespace-v1.json
apiVersion: v1
kind: Namespace
metadata:
name: downloads
labels:
kustomize.toolkit.fluxcd.io/prune: disabled
vpn-routed-gateway: "true"
annotations:
volsync.backube/privileged-movers: "true"
@@ -0,0 +1,67 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/external-secrets.io/externalsecret_v1beta1.json
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: &name prowlarr
spec:
target:
name: *name
deletionPolicy: Delete
template:
type: Opaque
data:
# App
PROWLARR__AUTH__APIKEY: "{{ .PROWLARR_API_KEY }}"
PROWLARR__POSTGRES__HOST: &dbHost postgres-rw.databases.svc.cluster.local
PROWLARR__POSTGRES__PORT: "5432"
PROWLARR__POSTGRES__USER: &dbUser "{{ .PROWLARR_POSTGRES_USER }}"
PROWLARR__POSTGRES__PASSWORD: &dbPass "{{ .PROWLARR_POSTGRES_PASSWORD }}"
PROWLARR__POSTGRES__MAINDB: &dbName prowlarr_main
# Postgres Init
INIT_POSTGRES_DBNAME: *dbName
INIT_POSTGRES_HOST: *dbHost
INIT_POSTGRES_USER: *dbUser
INIT_POSTGRES_PASS: *dbPass
INIT_POSTGRES_SUPER_PASS: "{{ .POSTGRES_ADMIN_PASS }}"
data:
- secretKey: PROWLARR_API_KEY
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: &secretApiKey ae9d8486-9279-4790-ac34-64c8922bb414
property: password
- secretKey: PROWLARR_POSTGRES_USER
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: &secretDatabaseKey bce2ff77-66cd-47bd-a9e7-160c2d3bb616
property: username
- secretKey: PROWLARR_POSTGRES_PASSWORD
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: *secretDatabaseKey
property: password
- secretKey: POSTGRES_ADMIN_USER
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: &secretAdminDatabaseKey 88217883-df53-4c96-aad7-f3b2142382de
property: username
- secretKey: POSTGRES_ADMIN_PASS
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: *secretAdminDatabaseKey
property: password
@@ -0,0 +1,132 @@
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: &app prowlarr
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 3.5.1
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
strategy: rollback
retries: 3
uninstall:
keepHistory: false
# valuesFrom:
# - kind: ConfigMap
# name: authelia-ingress-hv
values:
controllers:
prowlarr:
annotations:
reloader.stakater.com/auto: "true"
initContainers:
init-db:
image:
repository: ghcr.io/onedr0p/postgres-init
tag: 16.8@sha256:217c47c886965474f5c234b5a35ed008f53b39ea90a3088b31c0da98e1f9284d
envFrom: &envFrom
- secretRef:
name: *app
containers:
app:
image:
repository: ghcr.io/onedr0p/prowlarr-develop
tag: rolling@sha256:155e7c757880e6afc5933b3060dfaec1c79712caf68031096fd5866ae4a31d0f
env:
TZ: "${TIMEZONE}"
PROWLARR__APP__INSTANCENAME: Prowlarr
PROWLARR__APP__THEME: dark
PROWLARR__AUTH__METHOD: External
PROWLARR__AUTH__REQUIRED: DisabledForLocalAddresses
PROWLARR__LOG__DBENABLED: "False"
PROWLARR__LOG__LEVEL: info
PROWLARR__SERVER__PORT: &port 80
PROWLARR__UPDATE__BRANCH: develop
envFrom: *envFrom
probes:
liveness: &probes
enabled: true
custom: true
spec:
httpGet:
path: /ping
port: *port
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 3
failureThreshold: 5
readiness: *probes
startup:
enabled: false
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities: { drop: [ "ALL" ] }
resources:
requests:
cpu: 10m
memory: 128Mi
limits:
memory: 512Mi
defaultPodOptions:
securityContext:
runAsNonRoot: true
runAsUser: 568
runAsGroup: 568
fsGroup: 568
fsGroupChangePolicy: OnRootMismatch
seccompProfile: { type: RuntimeDefault }
service:
app:
controller: *app
ports:
http:
port: *port
ingress:
app:
enabled: true
className: internal
annotations:
external-dns.alpha.kubernetes.io/target: internal.${SECRET_DOMAIN}
gethomepage.dev/enabled: "true"
gethomepage.dev/group: Downloads
gethomepage.dev/name: Prowlarr
gethomepage.dev/icon: prowlarr.png
gethomepage.dev/description: Torrent/NZB Indexer Management
gethomepage.dev/widget.type: prowlarr
gethomepage.dev/widget.url: http://prowlarr.downloads
gethomepage.dev/widget.key: "{{ `{{HOMEPAGE_VAR_PROWLARR_TOKEN}}` }}"
nginx.ingress.kubernetes.io/configuration-snippet: ${THEME_PARK_SNIPPET}
hosts:
- host: &host "{{ .Release.Name }}.${SECRET_INTERNAL_DOMAIN}"
paths:
- path: /
pathType: Prefix
service:
identifier: app
port: http
tls:
- hosts:
- *host
secretName: "{{ .Release.Name }}-tls"
persistence:
config:
enabled: true
type: nfs
server: 192.168.1.68
path: /mnt/user/k3s/config/prowlarr
tmp:
type: emptyDir
@@ -0,0 +1,8 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./externalsecret.yaml
- ./helmrelease.yaml
# - ../../../../templates/gatus/guarded
@@ -0,0 +1,27 @@
---
# 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:
name: &app prowlarr
namespace: flux-system
spec:
targetNamespace: downloads
commonMetadata:
labels:
app.kubernetes.io/name: *app
dependsOn:
- name: cloudnative-pg-cluster
- name: downloads-cifs-pvcs
path: ./kubernetes/apps/downloads/prowlarr/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:
APP: *app
@@ -0,0 +1,67 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/external-secrets.io/externalsecret_v1beta1.json
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: &name radarr
spec:
target:
name: *name
deletionPolicy: Delete
template:
type: Opaque
data:
# App
RADARR__AUTH__APIKEY: "{{ .RADARR_API_KEY }}"
RADARR__POSTGRES__HOST: &dbHost postgres-rw.databases.svc.cluster.local
RADARR__POSTGRES__PORT: "5432"
RADARR__POSTGRES__USER: &dbUser "{{ .RADARR_POSTGRES_USER }}"
RADARR__POSTGRES__PASSWORD: &dbPass "{{ .RADARR_POSTGRES_PASSWORD }}"
RADARR__POSTGRES__MAINDB: &dbName radarr_main
# Postgres Init
INIT_POSTGRES_DBNAME: *dbName
INIT_POSTGRES_HOST: *dbHost
INIT_POSTGRES_USER: *dbUser
INIT_POSTGRES_PASS: *dbPass
INIT_POSTGRES_SUPER_PASS: "{{ .POSTGRES_ADMIN_PASS }}"
data:
- secretKey: RADARR_API_KEY
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: &secretApiKey 093af32f-2565-4807-9574-6b6a886a4e03
property: password
- secretKey: RADARR_POSTGRES_USER
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: &secretDatabaseKey b99de2a6-f2b4-42c5-8852-87038e6c48fe
property: username
- secretKey: RADARR_POSTGRES_PASSWORD
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: *secretDatabaseKey
property: password
- secretKey: POSTGRES_ADMIN_USER
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: &secretAdminDatabaseKey 88217883-df53-4c96-aad7-f3b2142382de
property: username
- secretKey: POSTGRES_ADMIN_PASS
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: *secretAdminDatabaseKey
property: password
@@ -0,0 +1,168 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: &app radarr
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 3.5.1
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
strategy: rollback
retries: 3
# valuesFrom:
# - kind: ConfigMap
# name: authelia-ingress-hv
values:
controllers:
radarr:
annotations:
reloader.stakater.com/auto: "true"
initContainers:
init-db:
image:
repository: ghcr.io/onedr0p/postgres-init
tag: 16.8@sha256:217c47c886965474f5c234b5a35ed008f53b39ea90a3088b31c0da98e1f9284d
envFrom: &envFrom
- secretRef:
name: *app
containers:
app:
image:
repository: ghcr.io/onedr0p/radarr-develop
tag: rolling@sha256:f21d401a2ce6ebf5401c4dc71e3184ece740fff227a6af0ffa1a51fe4af7627c
env:
TZ: "${TIMEZONE}"
RADARR__APP__INSTANCENAME: Radarr
RADARR__APP__THEME: dark
RADARR__AUTH__METHOD: External
RADARR__AUTH__REQUIRED: DisabledForLocalAddresses
RADARR__LOG__DBENABLED: "False"
RADARR__LOG__LEVEL: info
RADARR__SERVER__PORT: &port 80
RADARR__UPDATE__BRANCH: develop
envFrom: *envFrom
probes:
liveness: &probes
enabled: true
custom: true
spec:
httpGet:
path: /ping
port: *port
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 3
failureThreshold: 5
readiness: *probes
startup:
enabled: false
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities: { drop: ["ALL"] }
resources:
requests:
cpu: 10m
memory: 256M
limits:
memory: 4Gi
defaultPodOptions:
securityContext:
runAsNonRoot: true
runAsUser: 568
runAsGroup: 568
fsGroup: 568
fsGroupChangePolicy: OnRootMismatch
seccompProfile: { type: RuntimeDefault }
service:
app:
controller: *app
ports:
http:
port: *port
ingress:
app:
enabled: true
className: internal
annotations:
external-dns.alpha.kubernetes.io/target: internal.${SECRET_INTERNAL_DOMAIN}
gethomepage.dev/enabled: "true"
gethomepage.dev/group: Downloads
gethomepage.dev/name: Radarr
gethomepage.dev/icon: radarr.png
gethomepage.dev/description: Movie Downloads
gethomepage.dev/widget.type: radarr
gethomepage.dev/widget.url: http://radarr.downloads
gethomepage.dev/widget.key: "{{ `{{HOMEPAGE_VAR_RADARR_TOKEN}}` }}"
nginx.ingress.kubernetes.io/configuration-snippet: ${THEME_PARK_SNIPPET}
hosts:
- host: &host "{{ .Release.Name }}.${SECRET_INTERNAL_DOMAIN}"
paths:
- path: /
pathType: Prefix
service:
identifier: app
port: http
tls:
- hosts:
- *host
secretName: "{{ .Release.Name }}-tls"
# app:
# enabled: true
# className: internal
# annotations:
# external-dns.alpha.kubernetes.io/target: internal.${SECRET_INTERNAL_DOMAIN}
# # gethomepage.dev/enabled: "true"
# # gethomepage.dev/group: Downloads
# # gethomepage.dev/name: Radarr
# # gethomepage.dev/icon: radarr.png
# # gethomepage.dev/description: Movie Downloads
# # gethomepage.dev/widget.type: radarr
# # gethomepage.dev/widget.url: http://radarr.downloads
# # gethomepage.dev/widget.key: "{{ `{{HOMEPAGE_VAR_RADARR_TOKEN}}` }}"
# # nginx.ingress.kubernetes.io/configuration-snippet: ${THEME_PARK_SNIPPET}
# hosts:
# - host: &host "{{ .Release.Name }}.k8s.home.arpa"
# paths:
# - path: /
# pathType: Prefix
# service:
# identifier: app
# port: http
persistence:
config:
enabled: true
type: nfs
server: 192.168.1.68
path: /mnt/user/k3s/config/radarr
tmp:
type: emptyDir
media:
enabled: true
type: nfs
server: 192.168.1.68
path: /mnt/user/movies
downloads:
existingClaim: cifs-downloads
advancedMounts:
radarr:
app:
- path: /downloads/downloaded_movies
readOnly: false
subPath: sabnzbd/downloaded_movies
- path: /downloads/movies-radarr
readOnly: false
subPath: flood/movies-radarr
@@ -0,0 +1,9 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
# - ../../../../templates/volsync
- ./externalsecret.yaml
- ./helmrelease.yaml
# - ../../../../templates/gatus/guarded
+27
View File
@@ -0,0 +1,27 @@
---
# 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:
name: &app radarr
namespace: flux-system
spec:
targetNamespace: downloads
commonMetadata:
labels:
app.kubernetes.io/name: *app
dependsOn:
- name: cloudnative-pg-cluster
- name: downloads-cifs-pvcs
path: ./kubernetes/apps/downloads/radarr/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:
APP: *app
@@ -0,0 +1,32 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/external-secrets.io/externalsecret_v1beta1.json
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: &name sabnzbd
spec:
target:
name: *name
deletionPolicy: Delete
template:
type: Opaque
data:
SABNZBD__API_KEY: "{{ .SABNZBD_API_KEY }}"
SABNZBD__NZB_KEY: "{{ .SABNZBD_NZB_KEY }}"
data:
- secretKey: SABNZBD_API_KEY
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: &secretDatabaseKey f6eb2b25-18a4-4f3f-af8e-38a6ee61787b
property: username
- secretKey: SABNZBD_NZB_KEY
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: *secretDatabaseKey
property: password
@@ -0,0 +1,141 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: &app sabnzbd
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 3.5.1
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
strategy: rollback
retries: 3
# valuesFrom:
# - kind: ConfigMap
# name: authelia-ingress-hv
values:
controllers:
sabnzbd:
annotations:
reloader.stakater.com/auto: "true"
containers:
app:
image:
repository: ghcr.io/onedr0p/sabnzbd
tag: rolling@sha256:86c645db93affcbf01cc2bce2560082bfde791009e1506dba68269b9c50bc341
env:
TZ: "America/Denver"
SABNZBD__PORT: &port 8080
SABNZBD__HOST_WHITELIST_ENTRIES: >-
sabnzbd,
sabnzbd.downloads,
sabnzbd.downloads.svc,
sabnzbd.downloads.svc.cluster,
sabnzbd.downloads.svc.cluster.local,
sabnzbd.${SECRET_INTERNAL_DOMAIN}
envFrom:
- secretRef:
name: *app
probes:
liveness: &probes
enabled: true
custom: true
spec:
httpGet:
path: /api?mode=version
port: *port
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
readiness: *probes
startup:
enabled: false
resources:
requests:
cpu: 300m
memory: 1Gi
limits:
memory: 4Gi
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities: { drop: ["ALL"] }
defaultPodOptions:
securityContext:
runAsNonRoot: true
runAsUser: 568
runAsGroup: 568
fsGroup: 568
seccompProfile: { type: RuntimeDefault }
service:
app:
controller: *app
ports:
http:
port: *port
ingress:
app:
enabled: true
className: internal
annotations:
external-dns.alpha.kubernetes.io/target: "internal.${SECRET_DOMAIN}"
gethomepage.dev/enabled: "true"
gethomepage.dev/group: Downloads
gethomepage.dev/name: SABnzbd
gethomepage.dev/icon: sabnzbd
gethomepage.dev/widget.type: sabnzbd
gethomepage.dev/widget.url: http://sabnzbd.downloads:8080
gethomepage.dev/widget.key: "{{`{{HOMEPAGE_VAR_SABNZBD_TOKEN}}`}}"
nginx.ingress.kubernetes.io/configuration-snippet: ${THEME_PARK_SNIPPET}
hosts:
- host: &host "{{ .Release.Name }}.${SECRET_INTERNAL_DOMAIN}"
paths:
- path: /
pathType: Prefix
service:
identifier: app
port: http
tls:
- hosts:
- *host
secretName: "{{ .Release.Name }}-tls"
persistence:
config:
enabled: true
type: nfs
server: 192.168.1.68
path: /mnt/user/k3s/config/sabnzbd
tmp:
type: emptyDir
incomplete:
type: emptyDir
applications:
existingClaim: cifs-appdata
globalMounts:
- path: /media/applications
downloads:
existingClaim: cifs-downloads
globalMounts:
- path: /downloads
subPath: sabnzbd
# games:
# existingClaim: cifs-games
# globalMounts:
# - path: /media/games
# misc:
# existingClaim: cifs-misc
# globalMounts:
# - path: /media/misc
@@ -0,0 +1,9 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
# - ../../../../templates/volsync
- ./externalsecret.yaml
- ./helmrelease.yaml
# - ../../../../templates/gatus/guarded
+27
View File
@@ -0,0 +1,27 @@
---
# 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:
name: &app sabnzbd
namespace: flux-system
spec:
targetNamespace: downloads
commonMetadata:
labels:
app.kubernetes.io/name: *app
dependsOn:
- name: external-secrets
- name: downloads-cifs-pvcs
path: ./kubernetes/apps/downloads/sabnzbd/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:
APP: *app
@@ -0,0 +1,67 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/external-secrets.io/externalsecret_v1beta1.json
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: &name sonarr
spec:
target:
name: *name
deletionPolicy: Delete
template:
type: Opaque
data:
# App
SONARR__AUTH__APIKEY: "{{ .SONARR_API_KEY }}"
SONARR__POSTGRES__HOST: &dbHost postgres-rw.databases.svc.cluster.local
SONARR__POSTGRES__PORT: "5432"
SONARR__POSTGRES__USER: &dbUser "{{ .SONARR_POSTGRES_USER }}"
SONARR__POSTGRES__PASSWORD: &dbPass "{{ .SONARR_POSTGRES_PASSWORD }}"
SONARR__POSTGRES__MAINDB: &dbName sonarr_main
# Postgres Init
INIT_POSTGRES_DBNAME: *dbName
INIT_POSTGRES_HOST: *dbHost
INIT_POSTGRES_USER: *dbUser
INIT_POSTGRES_PASS: *dbPass
INIT_POSTGRES_SUPER_PASS: "{{ .POSTGRES_ADMIN_PASS }}"
data:
- secretKey: SONARR_API_KEY
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: &secretApiKey cccf2793-8f91-47da-be0d-63f08cdeda95
property: password
- secretKey: SONARR_POSTGRES_USER
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: &secretDatabaseKey 6fbd4e66-0750-4dea-94b6-b5eb25c77c44
property: username
- secretKey: SONARR_POSTGRES_PASSWORD
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: *secretDatabaseKey
property: password
- secretKey: POSTGRES_ADMIN_USER
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: &secretAdminDatabaseKey 88217883-df53-4c96-aad7-f3b2142382de
property: username
- secretKey: POSTGRES_ADMIN_PASS
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: *secretAdminDatabaseKey
property: password
@@ -0,0 +1,141 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: &app sonarr
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 3.5.1
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
strategy: rollback
retries: 3
values:
controllers:
sonarr:
annotations:
reloader.stakater.com/auto: "true"
initContainers:
init-db:
image:
repository: ghcr.io/onedr0p/postgres-init
tag: 16.8@sha256:217c47c886965474f5c234b5a35ed008f53b39ea90a3088b31c0da98e1f9284d
envFrom: &envFrom
- secretRef:
name: *app
containers:
app:
image:
repository: ghcr.io/onedr0p/sonarr-develop
tag: rolling@sha256:371517bc99a5c755bea0c73e8e9fcd23ae436a593fb4a116368947c9c9182977
env:
TZ: "${TIMEZONE}"
SONARR__APP__INSTANCENAME: Sonarr
SONARR__APP__THEME: dark
SONARR__AUTH__METHOD: External
SONARR__AUTH__REQUIRED: DisabledForLocalAddresses
SONARR__LOG__DBENABLED: "False"
SONARR__LOG__LEVEL: info
SONARR__SERVER__PORT: &port 80
SONARR__UPDATE__BRANCH: develop
envFrom: *envFrom
probes:
liveness: &probes
enabled: true
custom: true
spec:
httpGet:
path: /ping
port: *port
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 3
failureThreshold: 5
readiness: *probes
startup:
enabled: false
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities: { drop: ["ALL"] }
resources:
requests:
cpu: 10m
memory: 256Mi
limits:
memory: 4Gi
defaultPodOptions:
securityContext:
runAsNonRoot: true
runAsUser: 568
runAsGroup: 568
fsGroup: 568
fsGroupChangePolicy: OnRootMismatch
seccompProfile: { type: RuntimeDefault }
service:
app:
controller: *app
ports:
http:
port: *port
ingress:
app:
className: internal
annotations:
external-dns.alpha.kubernetes.io/target: internal.${SECRET_DOMAIN}
gethomepage.dev/enabled: "true"
gethomepage.dev/group: Downloads
gethomepage.dev/name: Sonarr
gethomepage.dev/icon: sonarr.png
gethomepage.dev/description: TV Downloads
gethomepage.dev/widget.type: sonarr
gethomepage.dev/widget.url: http://sonarr.downloads
gethomepage.dev/widget.key: "{{ `{{HOMEPAGE_VAR_SONARR_TOKEN}}` }}"
nginx.ingress.kubernetes.io/configuration-snippet: ${THEME_PARK_SNIPPET}
hosts:
- host: &host "{{ .Release.Name }}.${SECRET_INTERNAL_DOMAIN}"
paths:
- path: /
service:
identifier: app
port: http
tls:
- hosts:
- *host
secretName: "{{ .Release.Name }}-tls"
persistence:
config:
enabled: true
type: nfs
server: 192.168.1.68
path: /mnt/user/k3s/config/sonarr
tmp:
type: emptyDir
media:
enabled: true
type: nfs
server: 192.168.1.68
path: /mnt/user/shows
downloads:
existingClaim: cifs-downloads
advancedMounts:
sonarr:
app:
- path: /downloads/downloaded_tv
readOnly: false
subPath: sabnzbd/downloaded_tv
- path: /downloads/tv-sonarr
readOnly: false
subPath: flood/tv-sonarr
@@ -0,0 +1,9 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
# - ../../../../templates/volsync
- ./externalsecret.yaml
- ./helmrelease.yaml
# - ../../../../templates/gatus/guarded
+27
View File
@@ -0,0 +1,27 @@
---
# 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:
name: &app sonarr
namespace: flux-system
spec:
targetNamespace: downloads
commonMetadata:
labels:
app.kubernetes.io/name: *app
dependsOn:
- name: cloudnative-pg-cluster
- name: downloads-cifs-pvcs
path: ./kubernetes/apps/downloads/sonarr/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:
APP: *app
@@ -8,7 +8,7 @@ spec:
chart:
spec:
chart: external-secrets
version: 0.10.5
version: 0.11.0
sourceRef:
kind: HelmRepository
name: external-secrets
@@ -6,7 +6,7 @@ metadata:
spec:
provider:
webhook:
url: "http://bitwarden-cli.kube-system.svc.cluster.local:8087/object/item/{{ .remoteRef.key }}"
url: "http://bitwarden-cli.external-secrets.svc.cluster.local:8087/object/item/{{ .remoteRef.key }}"
headers:
Content-Type: application/json
result:
@@ -20,6 +20,6 @@ metadata:
spec:
provider:
webhook:
url: "http://bitwarden-cli.kube-system.svc.cluster.local:8087/object/item/{{ .remoteRef.key }}"
url: "http://bitwarden-cli.external-secrets.svc.cluster.local:8087/object/item/{{ .remoteRef.key }}"
result:
jsonPath: "$.data.fields[?@.name==\"{{ .remoteRef.property }}\"].value"
@@ -53,17 +53,15 @@ spec:
spec:
exec:
command:
- "/bin/bash"
- -c
- curl
- -X POST
- -s http://127.0.0.1:8087/sync
- /usr/bin/curl
- -X
- POST
- -s
- http://127.0.0.1:8087/sync
initialDelaySeconds: 20
failureThreshold: 3
timeoutSeconds: 10
periodSeconds: 120
readiness:
enabled: false
resources:
requests:
memory: 256Mi
@@ -0,0 +1,55 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/external-secrets.io/externalsecret_v1beta1.json
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: &name homepage
spec:
target:
name: *name
deletionPolicy: Delete
template:
type: Opaque
data:
# HOMEPAGE_VAR_LIDARR_TOKEN: "{{ .LIDARR_API_KEY }}"
# HOMEPAGE_VAR_OVERSEERR_TOKEN: "{{ .OVERSEERR_API_KEY }}"
# HOMEPAGE_VAR_PLEX_TOKEN: "{{ .PLEX_TOKEN }}"
HOMEPAGE_VAR_PROWLARR_TOKEN: "{{ .PROWLARR_API_KEY }}"
HOMEPAGE_VAR_RADARR_TOKEN: "{{ .RADARR_API_KEY }}"
# HOMEPAGE_VAR_READARR_TOKEN: "{{ .READARR_API_KEY }}"
HOMEPAGE_VAR_SABNZBD_TOKEN: "{{ .SABNZBD_API_KEY }}"
HOMEPAGE_VAR_SONARR_TOKEN: "{{ .SONARR_API_KEY }}"
# HOMEPAGE_VAR_TAUTULLI_TOKEN: "{{ .TAUTULLI_API_KEY }}"
data:
- secretKey: PROWLARR_API_KEY
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: ae9d8486-9279-4790-ac34-64c8922bb414
property: password
- secretKey: RADARR_API_KEY
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: 093af32f-2565-4807-9574-6b6a886a4e03
property: password
- secretKey: SABNZBD_API_KEY
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: f6eb2b25-18a4-4f3f-af8e-38a6ee61787b
property: username
- secretKey: SONARR_API_KEY
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: cccf2793-8f91-47da-be0d-63f08cdeda95
property: password
@@ -0,0 +1,115 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: &app homepage
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 3.5.1
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
strategy: rollback
retries: 3
values:
controllers:
homepage:
annotations:
configmap.reloader.stakater.com/reload: *app
secret.reloader.stakater.com/reload: *app
containers:
app:
image:
repository: ghcr.io/gethomepage/homepage
tag: v0.9.13@sha256:1504b26bd82523e68adbae8c5a908d1633d02c68c65b62d084d81a6866552db6
env:
TZ: "${TIMEZONE}"
envFrom:
- secretRef:
name: *app
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities: { drop: ["ALL"] }
resources:
requests:
cpu: 10m
memory: 128Mi
limits:
memory: 768Mi
defaultPodOptions:
securityContext:
runAsNonRoot: true
runAsUser: 568
runAsGroup: 568
fsGroup: 568
fsGroupChangePolicy: OnRootMismatch
seccompProfile: { type: RuntimeDefault }
service:
app:
controller: *app
ports:
http:
port: 3000
serviceAccount:
create: true
name: *app
ingress:
app:
className: internal
annotations:
external-dns.alpha.kubernetes.io/target: internal.${SECRET_INTERNAL_DOMAIN}
hosts:
- host: "home.${SECRET_INTERNAL_DOMAIN}"
paths:
- path: /
pathType: Prefix
service:
identifier: app
port: http
persistence:
logs:
type: emptyDir
globalMounts:
- path: /app/config/logs
config:
type: emptyDir
globalMounts:
- path: /app/config
# services:
# type: secret
# name: *app
# globalMounts:
# - subPath: services.yaml
# path: /app/config/services.yaml
# readOnly: true
configmap:
type: configMap
name: *app
globalMounts:
- subPath: bookmarks.yaml
path: /app/config/bookmarks.yaml
readOnly: true
- subPath: docker.yaml
path: /app/config/docker.yaml
readOnly: true
- subPath: kubernetes.yaml
path: /app/config/kubernetes.yaml
readOnly: true
- subPath: settings.yaml
path: /app/config/settings.yaml
readOnly: true
- subPath: widgets.yaml
path: /app/config/widgets.yaml
readOnly: true
@@ -0,0 +1,19 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./rbac.yaml
- ./externalsecret.yaml
- ./helmrelease.yaml
configMapGenerator:
- name: homepage
files:
- bookmarks.yaml=./resources/bookmarks.yaml
- docker.yaml=./resources/docker.yaml
- kubernetes.yaml=./resources/kubernetes.yaml
# - services.yaml=./resources/services.yaml
- settings.yaml=./resources/settings.yaml
- widgets.yaml=./resources/widgets.yaml
generatorOptions:
disableNameSuffixHash: true
@@ -0,0 +1,50 @@
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: homepage
rules:
- apiGroups:
- ""
resources:
- namespaces
- pods
- nodes
verbs:
- get
- list
- apiGroups:
- extensions
- networking.k8s.io
resources:
- ingresses
verbs:
- get
- list
- apiGroups:
- metrics.k8s.io
resources:
- nodes
- pods
verbs:
- get
- list
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions/status
verbs:
- get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: &app homepage
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: homepage
subjects:
- kind: ServiceAccount
name: *app
namespace: default
@@ -0,0 +1,23 @@
- Communicate:
- Discord:
- icon: discord.png
href: "https://discord.com/app"
- Gmail:
- icon: gmail.png
href: "https://mail.kraven.org"
- Google Calendar:
- icon: google-calendar.png
href: "https://calendar.google.com"
- Google Voice:
- icon: google-voice.png
href: "https://voice.google.com"
- Git:
- kubesearch:
- icon: kubernetes-dashboard.png
href: "https://kubesearch.dev/"
- talos-cluster:
- icon: github.png
href: "https://github.com/brunnels/talos-cluster"
- cluster-template:
- icon: github.png
href: "https://github.com/onedr0p/cluster-template"
Whitespace-only changes.
@@ -0,0 +1 @@
mode: cluster
@@ -0,0 +1,23 @@
- Infrastructure:
- Unraid:
icon: unraid
href: http://192.168.1.68
description: Unraid
widget:
type: unraid
url: https//192.168.1.68
username: root
password: dlord781
- Calendar:
- Agenda:
widget:
type: calendar
view: agenda
maxEvents: 20
integrations:
- type: sonarr
service_group: Downloads
service_name: Sonarr
- type: radarr
service_group: Downloads
service_name: Radarr
@@ -0,0 +1,69 @@
title: Dashboard
favicon: "https://raw.githubusercontent.com/brunnels/assets/main/homepage/icons/heimdall.svg"
theme: dark
background:
image: https://images.unsplash.com/photo-1502790671504-542ad42d5189?auto=format&fit=crop&w=2560&q=80
blur: sm
saturate: 50
brightness: 50
opacity: 50
color: slate
headerStyle: clean
providers:
longhorn:
url: http://longhorn-frontend.longhorn-system
layout:
# Automation:
# style: column
# Infrastructure:
# icon: mdi-server
# style: column
# Git:
# icon: mdi-desktop-tower
# style: column
# Storage:
# icon: mdi-desktop-tower
# style: column
# Tools:
# style: column
# Observability:
# icon: mdi-chart-line
# style: row
# columns: 4
# Media:
# icon: mdi-play-circle
# style: row
# columns: 4
# Downloads:
# icon: mdi-download-circle
# style: row
# columns: 4
Home:
style: column
icon: mdi-home-analytics
Git:
style: column
icon: mdi-desktop-tower
Storage:
style: row
columns: 2
icon: mdi-desktop-tower
Calendar:
style: column
icon: mdi-calendar
Media:
style: column
icon: mdi-play-circle
Infrastructure:
style: column
icon: mdi-server
DNS:
style: column
icon: mdi-server
Observability:
style: column
icon: mdi-chart-line
Downloads:
style: row
columns: 3
icon: mdi-download-circle
@@ -0,0 +1,32 @@
- resources:
backend: kubernetes
cpu: true
expanded: true
memory: true
- kubernetes:
cluster:
cpu: true
label: cluster
memory: true
show: true
showLabel: true
nodes:
cpu: true
memory: true
show: false
showLabel: true
- search:
provider: [duckduckgo, google]
target: _blank
- openmeteo:
latitude: "${SECRET_LATITUDE}"
longitude: "${SECRET_LONGITUDE}"
timezone: "${TIMEZONE}"
units: imperial
cache: 15
- datetime:
text_size: l
format:
dateStyle: long
timeStyle: short
hourCycle: h23
+26
View File
@@ -0,0 +1,26 @@
---
# 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:
name: &app homepage
namespace: flux-system
spec:
targetNamespace: default
commonMetadata:
labels:
app.kubernetes.io/name: *app
dependsOn:
- name: external-secrets
path: ./kubernetes/apps/helpers/homepage/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:
APP: *app
@@ -0,0 +1,8 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./namespace.yaml
- ./homepage/ks.yaml
- ./theme-park/ks.yaml
+8
View File
@@ -0,0 +1,8 @@
---
# yaml-language-server: $schema=https://kubernetesjsonschema.dev/v1.18.1-standalone-strict/namespace-v1.json
apiVersion: v1
kind: Namespace
metadata:
name: default
labels:
kustomize.toolkit.fluxcd.io/prune: disabled
@@ -0,0 +1,73 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: &app theme-park
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 3.5.1
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
strategy: rollback
retries: 3
values:
controllers:
theme-park:
replicas: 2
strategy: RollingUpdate
containers:
app:
image:
repository: ghcr.io/onedr0p/theme-park
tag: 1.18.0@sha256:210d8f5d9466df493503184fb076bbf1fb9fbc2b42e273cd4516ac3fd1df7ba2
resources:
requests:
cpu: 10m
memory: 32Mi
limits:
memory: 64Mi
defaultPodOptions:
securityContext:
runAsNonRoot: true
runAsUser: 568
runAsGroup: 568
fsGroup: 568
fsGroupChangePolicy: OnRootMismatch
seccompProfile: { type: RuntimeDefault }
service:
app:
controller: *app
ports:
http:
port: 8080
ingress:
app:
className: internal
# annotations:
# external-dns.alpha.kubernetes.io/target: external.${SECRET_DOMAIN}
hosts:
- host: "{{ .Release.Name }}.${SECRET_INTERNAL_DOMAIN}"
paths:
- path: /
service:
identifier: app
port: http
topologySpreadConstraints:
- maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app.kubernetes.io/name: *app
@@ -0,0 +1,6 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./helmrelease.yaml
@@ -0,0 +1,24 @@
---
# 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:
name: &app theme-park
namespace: flux-system
spec:
targetNamespace: default
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/helpers/theme-park/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:
APP: *app
@@ -0,0 +1,128 @@
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: &app jellyfin
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 3.5.1
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
maxHistory: 2
install:
createNamespace: true
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
strategy: rollback
retries: 3
uninstall:
keepHistory: false
values:
defaultPodOptions:
enableServiceLinks: false
securityContext:
runAsUser: 568
runAsGroup: 568
fsGroup: 568
fsGroupChangePolicy: OnRootMismatch
controllers:
jellyfin:
annotations:
reloader.stakater.com/auto: "true"
containers:
app:
image:
repository: ghcr.io/jellyfin/jellyfin
tag: 10.10.3@sha256:17c3a8d9dddb97789b5f37112840ebf96566442c14d4754193a6c2eb154bc221
env:
DOTNET_SYSTEM_IO_DISABLEFILELOCKING: "true"
JELLYFIN_FFmpeg__probesize: 50000000
JELLYFIN_FFmpeg__analyzeduration: 50000000
JELLYFIN_PublishedServerUrl: &loadBalancerIP ${CLUSTER_LB_JELLYFIN}
TZ: ${TIMEZONE}
probes:
liveness: &probes
enabled: true
custom: true
spec:
httpGet:
path: /health
port: &port 8096
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
readiness: *probes
startup:
enabled: false
resources:
requests:
# gpu.intel.com/i915: 1
cpu: 100m
memory: 512Mi
limits:
# gpu.intel.com/i915: 1
memory: 4Gi
service:
app:
controller: *app
ports:
http:
port: *port
ingress:
app:
enabled: true
className: internal
hosts:
- host: &host "{{ .Release.Name }}.${SECRET_INTERNAL_DOMAIN}"
paths:
- path: /
service:
identifier: app
port: http
persistence:
config:
enabled: true
type: nfs
server: 192.168.1.68
path: /mnt/user/k3s/config/jellyfin
music:
enabled: true
type: nfs
server: 192.168.1.68
path: /mnt/user/music
globalMounts:
- path: /var/mnt/vol1/music
photo:
enabled: true
type: nfs
server: 192.168.1.68
path: /mnt/user/photos/original
globalMounts:
- path: /var/mnt/vol1/photo
video:
enabled: true
type: nfs
server: 192.168.1.68
path: /mnt/user/movies
globalMounts:
- path: /var/mnt/vol1/video
transcode:
enabled: true
type: emptyDir
globalMounts:
- path: /transcode
cache:
enabled: true
type: emptyDir
globalMounts:
- path: /cache
@@ -0,0 +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
resources:
- ./helmrelease.yaml
+26
View File
@@ -0,0 +1,26 @@
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app jellyfin
namespace: flux-system
spec:
targetNamespace: media
commonMetadata:
labels:
app.kubernetes.io/name: *app
dependsOn:
- name: external-secrets
path: ./kubernetes/apps/media/jellyfin/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:
APP: *app
+12
View File
@@ -0,0 +1,12 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./namespace.yaml
- ./jellyfin/ks.yaml
- ./overseerr/ks.yaml
- ./tautulli/ks.yaml
- ./plex/ks.yaml
generatorOptions:
disableNameSuffixHash: true
+8
View File
@@ -0,0 +1,8 @@
---
# yaml-language-server: $schema=https://kubernetesjsonschema.dev/v1.18.1-standalone-strict/namespace-v1.json
apiVersion: v1
kind: Namespace
metadata:
name: media
labels:
kustomize.toolkit.fluxcd.io/prune: disabled
@@ -0,0 +1,115 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: &app overseerr
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 3.5.1
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
strategy: rollback
retries: 3
values:
controllers:
overseerr:
annotations:
reloader.stakater.com/auto: "true"
containers:
app:
image:
repository: ghcr.io/sct/overseerr
tag: rolling@sha256:714ea6db2bc007a2262d112bef7eec74972eb33d9c72bddb9cbd98b8742de950
env:
TZ: "${TIMEZONE}"
LOG_LEVEL: "info"
PORT: &port 80
probes:
liveness: &probes
enabled: true
custom: true
spec:
httpGet:
path: /api/v1/status
port: *port
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
readiness: *probes
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities: { drop: [ "ALL" ] }
resources:
requests:
cpu: 10m
memory: 128Mi
limits:
memory: 4Gi
defaultPodOptions:
securityContext:
runAsNonRoot: true
runAsUser: 568
runAsGroup: 568
fsGroup: 568
fsGroupChangePolicy: OnRootMismatch
seccompProfile: { type: RuntimeDefault }
service:
app:
controller: *app
ports:
http:
port: *port
ingress:
app:
className: internal
# annotations:
# external-dns.alpha.kubernetes.io/target: external.${SECRET_DOMAIN}
# gethomepage.dev/enabled: "true"
# gethomepage.dev/group: Media
# gethomepage.dev/name: Overseerr
# gethomepage.dev/icon: overseerr
# gethomepage.dev/description: Media Request Management
# gethomepage.dev/widget.type: overseerr
# gethomepage.dev/widget.url: http://overseerr.media
# gethomepage.dev/widget.key: "{{ `{{HOMEPAGE_VAR_OVERSEERR_TOKEN}}` }}"
hosts:
- host: "requests.${SECRET_INTERNAL_DOMAIN}"
paths:
- path: /
service:
identifier: app
port: http
persistence:
config:
enabled: true
type: nfs
server: 192.168.1.68
path: /mnt/user/k3s/config/overseerr
globalMounts:
- path: /app/config
cache:
storageClass: openebs-hostpath
accessMode: ReadWriteOnce
size: 15Gi
globalMounts:
- path: /app/config/cache
logs:
type: emptyDir
globalMounts:
- path: /app/config/logs
tmp:
type: emptyDir
@@ -0,0 +1,7 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./helmrelease.yaml
# - ../../../../templates/gatus/external
+24
View File
@@ -0,0 +1,24 @@
---
# 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:
name: &app overseerr
namespace: flux-system
spec:
targetNamespace: media
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/media/overseerr/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:
APP: *app
@@ -0,0 +1,23 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/external-secrets.io/externalsecret_v1beta1.json
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: &name plex
spec:
target:
name: *name
deletionPolicy: Delete
template:
type: Opaque
data:
PLEX_CLAIM: "{{ .PLEX_CLAIM }}"
data:
- secretKey: PLEX_CLAIM
sourceRef:
storeRef:
name: bitwarden-login
kind: ClusterSecretStore
remoteRef:
key: &secretApiKey 8406f7ea-46b0-42ed-bcae-a83984d7b6ae
property: password
@@ -0,0 +1,149 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: &app plex
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 3.5.1
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
strategy: rollback
retries: 3
values:
controllers:
plex:
annotations:
reloader.stakater.com/auto: "true"
containers:
app:
image:
repository: ghcr.io/onedr0p/plex
tag: rolling@sha256:1f28b5e5a964481f80e76db3c986082d2fc3bca2d16d2742704e9adf8349c79c
env:
TZ: "${TIMEZONE}"
ALLOWED_NETWORKS: "${LAN_CIDR},${CLUSTER_CIDR},${SERVICE_CIDR}"
PLEX_ADVERTISE_URL: "http://172.16.10.4:32400,https://plex.${SECRET_INTERNAL_DOMAIN}"
PLEX_PREFERENCE_1: "AllowMediaDeletion=0"
PLEX_PREFERENCE_2: "EnableIPv6=0"
PLEX_PREFERENCE_3: "FriendlyName=LordFamilyFlix"
PLEX_PREFERENCE_4: "LanNetworksBandwidth=${LAN_CIDR}"
envFrom:
- secretRef:
name: *app
probes:
liveness: &probes
enabled: true
custom: true
spec:
httpGet:
path: /identity
port: &port 32400
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
readiness: *probes
resources:
requests:
cpu: 50m
memory: 512Mi
limits:
memory: 4Gi
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities: { drop: ["ALL"] }
defaultPodOptions:
securityContext:
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
seccompProfile: { type: RuntimeDefault }
service:
app:
controller: *app
type: LoadBalancer
ports:
http:
port: *port
ingress:
app:
className: internal
# annotations:
# external-dns.alpha.kubernetes.io/target: external.${SECRET_DOMAIN}
# gethomepage.dev/enabled: "true"
# gethomepage.dev/group: Media
# gethomepage.dev/name: Plex
# gethomepage.dev/icon: plex
# gethomepage.dev/description: Media Player
# gethomepage.dev/widget.type: plex
# gethomepage.dev/widget.url: http://plex.media:32400
# gethomepage.dev/widget.key: "{{ `{{HOMEPAGE_VAR_PLEX_TOKEN}}` }}"
# nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
# nginx.ingress.kubernetes.io/configuration-snippet: ${THEME_PARK_SNIPPET}
hosts:
- host: "{{ .Release.Name }}.${SECRET_INTERNAL_DOMAIN}"
paths:
- path: /
service:
identifier: app
port: http
persistence:
config:
enabled: true
type: nfs
server: 192.168.1.68
path: /mnt/user/k3s/config/plex
cache:
storageClass: openebs-hostpath
accessMode: ReadWriteOnce
size: 10Gi
globalMounts:
- path: "/config/Library/Application Support/Plex Media Server/Cache"
tmp:
type: emptyDir
transcode:
type: emptyDir
movies:
enabled: true
type: nfs
server: 192.168.1.68
path: /mnt/user/movies
globalMounts:
- path: /media/movies
music:
enabled: true
type: nfs
server: 192.168.1.68
path: /mnt/user/music
globalMounts:
- path: /media/music
pictures:
enabled: true
type: nfs
server: 192.168.1.68
path: /mnt/user/photos/original
globalMounts:
- path: /media/photos
tv:
enabled: true
type: nfs
server: 192.168.1.68
path: /mnt/user/shows
globalMounts:
- path: /media/tv
@@ -0,0 +1,7 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./externalsecret.yaml
- ./helmrelease.yaml
+24
View File
@@ -0,0 +1,24 @@
---
# 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:
name: &app plex
namespace: flux-system
spec:
targetNamespace: media
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/media/plex/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:
APP: *app
@@ -0,0 +1,104 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: &app tautulli
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 3.5.1
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
strategy: rollback
retries: 3
values:
controllers:
tautulli:
annotations:
reloader.stakater.com/auto: "true"
containers:
app:
image:
repository: ghcr.io/onedr0p/tautulli
tag: rolling@sha256:96285c7e57dc77b790bb934be25d1d18a7c220b0f9e29748f65b2374bbef24c8
env:
TZ: America/Denver
TAUTULLI__PORT: &port 80
probes:
liveness: &probes
enabled: true
custom: true
spec:
httpGet:
path: /status
port: *port
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
readiness: *probes
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities: { drop: [ "ALL" ] }
resources:
requests:
cpu: 10m
memory: 128Mi
limits:
memory: 4Gi
defaultPodOptions:
securityContext:
runAsNonRoot: true
runAsUser: 568
runAsGroup: 568
fsGroup: 568
fsGroupChangePolicy: OnRootMismatch
seccompProfile: { type: RuntimeDefault }
service:
app:
controller: *app
ports:
http:
port: *port
ingress:
app:
className: internal
# annotations:
# external-dns.alpha.kubernetes.io/target: internal.${SECRET_DOMAIN}
# gethomepage.dev/enabled: "true"
# gethomepage.dev/group: Media
# gethomepage.dev/name: Tautulli
# gethomepage.dev/icon: tautulli
# gethomepage.dev/description: Plex Stream Monitoring
# gethomepage.dev/widget.type: tautulli
# gethomepage.dev/widget.url: http://tautulli.media
# gethomepage.dev/widget.key: "{{ `{{HOMEPAGE_VAR_TAUTULLI_TOKEN}}` }}"
hosts:
- host: "{{ .Release.Name }}.${SECRET_INTERNAL_DOMAIN}"
paths:
- path: /
service:
identifier: app
port: http
persistence:
config:
enabled: true
type: nfs
server: 192.168.1.68
path: /mnt/user/k3s/config/tautulli
tmp:
type: emptyDir
add-ons:
type: emptyDir
@@ -0,0 +1,7 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./helmrelease.yaml
# - ../../../../templates/gatus/guarded
+24
View File
@@ -0,0 +1,24 @@
---
# 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:
name: &app tautulli
namespace: flux-system
spec:
targetNamespace: media
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/media/tautulli/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:
APP: *app
@@ -30,7 +30,7 @@ spec:
app:
image:
repository: docker.io/cloudflare/cloudflared
tag: 2024.11.0
tag: 2024.11.1
env:
NO_AUTOUPDATE: true
TUNNEL_CRED_FILE: /etc/cloudflared/creds/credentials.json
@@ -30,7 +30,7 @@ spec:
webhook:
image:
repository: ghcr.io/kashalls/external-dns-unifi-webhook
tag: v0.3.1@sha256:593eeb3594a8418084d3235b2a30ca8aa4c58b949fac3433b86df6c725364e32
tag: v0.3.2@sha256:f8cf534970560bc8d1a61cc13f7c9580d91be60f5c6c7a86c3be0ca362208500
env:
- name: UNIFI_HOST
value: https://192.168.10.1
@@ -66,7 +66,7 @@ spec:
sources: ["crd", "ingress"]
txtPrefix: k8s.
txtOwnerId: default
domainFilters: ["${SECRET_DOMAIN_INTERNAL}", "${SECRET_DOMAIN}"]
domainFilters: ["${SECRET_INTERNAL_DOMAIN}", "${SECRET_DOMAIN}"]
serviceMonitor:
enabled: true
podAnnotations:
@@ -64,7 +64,7 @@ spec:
namespaceSelector:
any: true
extraArgs:
default-ssl-certificate: "network/${SECRET_DOMAIN/./-}-production-tls"
default-ssl-certificate: "network/${SECRET_INTERNAL_DOMAIN/./-}-production-tls"
resources:
requests:
cpu: 100m
@@ -8,7 +8,7 @@ spec:
chart:
spec:
chart: prometheus-operator-crds
version: 15.0.0
version: 16.0.0
sourceRef:
kind: HelmRepository
name: prometheus-community
@@ -0,0 +1,30 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: &chart csi-driver-nfs
namespace: system
spec:
interval: 5m
chart:
spec:
chart: *chart
version: v4.9.0
sourceRef:
kind: HelmRepository
name: csi-driver-nfs
namespace: flux-system
maxHistory: 2
install:
createNamespace: true
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
values:
controller:
replicas: 2
feature:
enableFSGroupPolicy: true
@@ -0,0 +1,7 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./storage-classes
- ./helmrelease.yaml
@@ -0,0 +1,6 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./provisions.yaml
@@ -0,0 +1,40 @@
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: nfs-provision-csi
labels:
kustomize.toolkit.fluxcd.io/substitute: "disabled"
provisioner: nfs.csi.k8s.io
parameters:
server: 192.168.1.68
share: /mnt/user/k3s/
allowVolumeExpansion: true
reclaimPolicy: Retain
volumeBindingMode: Immediate
mountOptions:
- nfsvers=4.1
- nconnect=8
- hard
- noatime
- nodiratime
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: nfs-provision-csi-database
labels:
kustomize.toolkit.fluxcd.io/substitute: "disabled"
provisioner: nfs.csi.k8s.io
parameters:
server: 192.168.1.68
share: /mnt/user/cnpg
allowVolumeExpansion: true
reclaimPolicy: Retain
volumeBindingMode: Immediate
mountOptions:
- nfsvers=4.1
- nconnect=8
- hard
- noatime
- nodiratime
@@ -0,0 +1,20 @@
---
# 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:
name: &app csi-driver-nfs
namespace: flux-system
spec:
targetNamespace: kube-system
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/storage/csi-driver-nfs/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
timeout: 5m
@@ -0,0 +1,7 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./namespace.yaml
- ./csi-driver-nfs/ks.yaml
+9
View File
@@ -0,0 +1,9 @@
---
# yaml-language-server: $schema=https://kubernetesjsonschema.dev/v1.18.1-standalone-strict/namespace-v1.json
apiVersion: v1
kind: Namespace
metadata:
name: storage
labels:
kustomize.toolkit.fluxcd.io/prune: disabled
pod-security.kubernetes.io/enforce: privileged
+2 -2
View File
@@ -18,7 +18,7 @@ releases:
- name: prometheus-operator-crds
namespace: observability
chart: oci://ghcr.io/prometheus-community/charts/prometheus-operator-crds
version: 15.0.0
version: 16.0.0
- name: cilium
namespace: kube-system
chart: cilium/cilium
@@ -30,7 +30,7 @@ releases:
- name: coredns
namespace: kube-system
chart: coredns/coredns
version: 1.36.0
version: 1.36.1
values:
- ../apps/kube-system/coredns/app/helm-values.yaml
needs:
@@ -0,0 +1,11 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
name: bitnami
namespace: flux-system
spec:
type: oci
interval: 5m
url: oci://registry-1.docker.io/bitnamicharts
@@ -0,0 +1,10 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
name: cloudnative-pg
namespace: flux-system
spec:
interval: 1h
url: https://cloudnative-pg.github.io/charts
@@ -0,0 +1,10 @@
---
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
name: csi-driver-nfs
namespace: flux-system
spec:
interval: 30m
url: https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/charts
timeout: 3m
@@ -0,0 +1,10 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
name: csi-driver-smb
namespace: flux-system
spec:
interval: 1h
url: https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts
@@ -16,3 +16,6 @@ resources:
- ./external-secrets.yaml
- ./ingress-nginx.yaml
- ./k8s-gateway.yaml
- ./csi-driver-nfs.yaml
- ./cloudnative-pg.yaml
- ./bitnami.yaml
+12 -11
View File
@@ -4,10 +4,11 @@ metadata:
name: cluster-secrets
namespace: flux-system
stringData:
SECRET_DOMAIN: ENC[AES256_GCM,data:uqdjPED+mxmdUTx7TJIR9A==,iv:hmVDDwzqBYWA7mSqCp0WEZZjHXY1jPtfj71kcHQuWNk=,tag:s/o0767NO/ERXhOrVogwlw==,type:str]
SECRET_INTERNAL_DOMAIN: ENC[AES256_GCM,data:V+a232owGhaq0AbwmA==,iv:Kun8a5FY4hJkYIaQaQabhF68YQmg84WvSf7mN5wXReE=,tag:btvlR9FxIC40pcfjIT1xZQ==,type:str]
SECRET_ACME_EMAIL: ENC[AES256_GCM,data:O54SPqcxk9AQPM+/SY3AJf9Q18s=,iv:nz8g9wMv1qvFrcaybD1GaxUMU5/yWKNpfncswCN8MCk=,tag:OzDI/ADGJEmZqzdkBMOV6A==,type:str]
SECRET_CLOUDFLARE_TUNNEL_ID: ENC[AES256_GCM,data:v+fc5FKSWZDj1FxKOfFqX8b0IhBUzhWMJv/mnPRzRP6+d5qQ,iv:3Vi4MKuFKnCeqdekTWEJs4az+eKbR7acmAeWdk6aOp4=,tag:FtVoEGs5CgXtKGF28Rrjng==,type:str]
SECRET_INTERNAL_DOMAIN: ENC[AES256_GCM,data:AvYATV6LqEmALp/j1w==,iv:DDf17Gf2ta+UuMysaeTtN92ti0wrz+eAmawwJSZxyQY=,tag:hoarzYqJXEfMWSFRzpOlzw==,type:str]
SECRET_DOMAIN: ENC[AES256_GCM,data:HjoRmQzaP5jG8m1iMc198Q==,iv:1GNInjU80g3lstoVYUY9/pOSh9QnCCmXN44PhZgvOv8=,tag:62X6LxGg9vt1wiW8kf/CsA==,type:str]
SECRET_ACME_EMAIL: ENC[AES256_GCM,data:gG7gLBw7i5xLu1HkOYA8O76WPsc=,iv:d71Ip9lrtZR5FFWvV+NQbP9epP6v9cYM1Ntag6yHWAQ=,tag:ZzljWFeetwVubEuIOljrSA==,type:str]
SECRET_CLOUDFLARE_TUNNEL_ID: ENC[AES256_GCM,data:22ZGxjzd/GM9JscAoadi+f2Y6UKL6BJ16LOpxObPrw+geR6A,iv:9M1HGTCzlDI8bLAUFzYPznzBJueRnc+/tGORIlDJS88=,tag:1aGOpgabBTt+OdJI/7xBnw==,type:str]
SECRET_UNRAID_HOSTNAME: ENC[AES256_GCM,data:DxjjDKkowZYrE7qK,iv:hifntnMQWrtBEDPucuO/KmblEuWNF7qUz8Mi9s44KaM=,tag:zyEJ92uqKXfu6yh18dqqYw==,type:str]
sops:
kms: []
gcp_kms: []
@@ -17,14 +18,14 @@ sops:
- recipient: age1mhnje42sefcfpvgpeppch84g6vgptmd4gukgvr3gueuxy6ph05xqx45jty
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRZTZrNUxQeDRHWUhPUk1o
UklhUlo0V2ZIOTRmTXd3bWN5bndLT0VUZG1RCnJSd3doWHhrOFdpeUE2Q0JWdWoy
OTRnOVZYajdFMVIzQzRKdlF4bTVEb2MKLS0tIHk2OEtTYUlML0YxU2sva2JjUUJQ
S1hvdXk5dFdRZE00T2NrNC9GaStIYUUK6NfuJJZDu8O2c+6pacIbah7oI8eKYxqX
AWRROo/oWzrHoK7eXZHKeTuTi3lgFIFuRSEMzyipcZfu2HKHyVLShQ==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQZVo3MWRwMFRzeXA5UXN0
cGRkbUl6THpQRzlORENoNDZzbzlQenkvMEh3Ck53NzdEOW4yVjlJcUNLU1M2QVVK
Qm9CMVpFeXg3dGRuaVVreUFtdDJ0MVUKLS0tIDVQQUpTVHJDSHhJdS9lMk5NdXhu
N1dXTnlOaUNLUjh5SVRCZzlhVUF4Y1EKoLjz8aT2CdHI6URVJheQID4/7DkPfWXB
yG/wM3CEOlnXP5Eyj8X5r/LmCoeBD7LNlAwQ0PGythA3v+LQpat9Uw==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-11-07T06:32:06Z"
mac: ENC[AES256_GCM,data:VgeNG+ZraWxkjsd2PBTCaeulXifmt5KkMEVJCJOmLWuKAFCyrIZ+C1fV1J8+rGkRkuEDx+ZWHtvElv9TfTCFqHAhLG/crkRe/HQFvsxOJoC8qO4ciFMn80jTzDGj6dD5VVGLUnkAWaiWbInS0oJC6/ZEhPuTCo1JFrPycpnr4YA=,iv:dE0czOEMYM82/a9/2HLezQlrs6ITatuZPKw+NuegIHw=,tag:UZw1WhREn5sitTbgf9MBSA==,type:str]
lastmodified: "2024-11-23T05:19:00Z"
mac: ENC[AES256_GCM,data:Hk6SChJVwvvZVbHi4G8biDLrY4gMOfuczt1BHQXx+LEIhN2KDriCIRRL6RT22D41AQ/5rhVb127ZfQXe+WztGK/+do2ED/q8nLwiqWVc3tkpPgVSB4hMHClCJtHh7bSMHP1rtYQElMPopVYPPkzrsK3cC/hNfHJrD1Gy0AJKQaQ=,iv:ydVoJQ36J2RCLBjSak6AfxyVHO//kLWY3hzYukjEdYA=,tag:ISui4EMJb6IWaWh7Se3pFQ==,type:str]
pgp: []
encrypted_regex: ^(data|stringData)$
version: 3.9.1
Loaded 100 of 107 files, more files were not shown because too many files have changed in this diff. Show more