Compare commits

..
Author SHA1 Message Date
Renovate Bot a38a6b3de2 feat(container)!: Update image docker.io/cloudflare/cloudflared to v2025
e2e / workstation (archlinux) (pull_request) Failing after 4s
e2e / workstation (generic-linux) (pull_request) Failing after 10s
e2e / configure (talos) (pull_request) Has been skipped
Flux Diff / Flux Diff (kubernetes, helmrelease) (pull_request) Failing after 13s
Flux Diff / Flux Diff (kubernetes, kustomization) (pull_request) Failing after 12s
Kubeconform / Kubeconform (pull_request) Failing after 10s
Labeler / Labeler (pull_request_target) Successful in 7s
2025-04-19 00:02:29 +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 e109c5d17b fix(container): update image ghcr.io/siderolabs/installer to v1.8.3
e2e / workstation (archlinux) (pull_request) Failing after 1s
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 8s
Flux Diff / Flux Diff (kubernetes, kustomization) (pull_request) Failing after 10s
Kubeconform / Kubeconform (pull_request) Failing after 13s
Labeler / Labeler (pull_request) Successful in 11s
2024-11-14 07:01:20 +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
Daren Lord 201d8784e7 Fix capacitor
renovate / renovate (push) Successful in 39s
2024-11-12 03:37:09 +00:00
Daren Lord a85df88af0 Fix capacitor
renovate / renovate (push) Successful in 43s
2024-11-12 03:34:01 +00:00
Daren Lord 8bdd61ef77 Fix capacitor
renovate / renovate (push) Has been cancelled
2024-11-12 03:32:44 +00:00
Daren Lord 10b19c6b9b Fix capacitor
renovate / renovate (push) Successful in 1m7s
2024-11-12 03:30:50 +00:00
Daren Lord 4a01d4b973 Fix capacitor
renovate / renovate (push) Successful in 40s
2024-11-12 03:29:52 +00:00
Daren Lord be76a4c7c5 Fix capacitor
renovate / renovate (push) Successful in 1m6s
2024-11-12 03:26:57 +00:00
Daren Lord ea57918345 Fix capacitor
renovate / renovate (push) Successful in 1m8s
2024-11-12 03:25:15 +00:00
Daren Lord ed8734fecb Fix capacitor
renovate / renovate (push) Successful in 52s
2024-11-12 03:23:31 +00:00
Daren Lord ed08ef26bf Fix capacitor
renovate / renovate (push) Successful in 36s
2024-11-12 03:21:47 +00:00
Daren Lord 83255d41a9 Add capacitor
renovate / renovate (push) Successful in 34s
2024-11-12 03:16:36 +00:00
Daren Lord 09333cfe22 Renovate updates
renovate / renovate (push) Successful in 42s
2024-11-12 03:06:38 +00:00
Renovate Bot 88de1e6c7e feat(github-action): update image ghcr.io/renovatebot/renovate to v37.440.7
renovate / renovate (push) Successful in 42s
2024-11-09 07:01:25 +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 83a8bc3d58 fix(github-action): update image ghcr.io/allenporter/flux-local to v6.0.1
renovate / renovate (push) Waiting to run
2024-11-09 07:00:59 +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
Daren Lord 4f9c689757 external-secrets: bitwarden-cli fix check
renovate / renovate (push) Successful in 1m13s
2024-11-08 16:32:30 +00:00
Daren Lord c6c9ca6ea8 external-secrets: fix environment variables
renovate / renovate (push) Successful in 29s
2024-11-08 16:20:33 +00:00
Daren Lord 1bb44655ad external-secrets: fix dependency
renovate / renovate (push) Successful in 30s
2024-11-08 16:10:58 +00:00
Daren Lord 7f6d2423de external-secrets: fix dependency
renovate / renovate (push) Successful in 30s
2024-11-08 16:06:22 +00:00
Daren Lord a3d1996461 external-secrets: bitwarden-cli image update
renovate / renovate (push) Successful in 29s
2024-11-08 15:39:42 +00:00
Daren Lord 5cdb13d62e external-secrets: debug
renovate / renovate (push) Successful in 32s
2024-11-08 05:05:32 +00:00
Daren Lord fbbfc2a95c external-secrets: debug
renovate / renovate (push) Successful in 29s
2024-11-08 05:00:27 +00:00
Daren Lord 46400df5da external-secrets: bw-cli secrets
renovate / renovate (push) Successful in 29s
2024-11-08 04:51:31 +00:00
Daren Lord 28f156c5bb external-secrets: bw-cli secrets
renovate / renovate (push) Successful in 30s
2024-11-08 04:43:59 +00:00
Daren Lord 79db0f4be3 external-secrets: update livenessprobe for bw-cli
renovate / renovate (push) Successful in 29s
2024-11-08 04:29:39 +00:00
Daren Lord 3cc9079999 external-secrets: add BW_USERNAME
renovate / renovate (push) Successful in 27s
2024-11-08 04:24:50 +00:00
Daren Lord 2245aa8d7c bjw-s: fix namespace
renovate / renovate (push) Successful in 29s
2024-11-08 04:21:14 +00:00
Daren Lord e7da2b7833 bjw-s: fix namespace
renovate / renovate (push) Successful in 28s
2024-11-08 04:18:37 +00:00
Daren Lord 86ff63af3d external-secrets: update bw cli image
renovate / renovate (push) Successful in 29s
2024-11-08 04:07:03 +00:00
Daren Lord 3545160e31 Add in secretstores
renovate / renovate (push) Successful in 29s
2024-11-08 03:57:52 +00:00
Daren Lord 396b34f6db external-secrets: fix namespace
renovate / renovate (push) Successful in 29s
2024-11-08 03:55:04 +00:00
Daren Lord 814c101534 helm: add external secrets
renovate / renovate (push) Successful in 28s
2024-11-08 03:53:42 +00:00
Daren Lord b234f9e18e external-secrets: add repo
renovate / renovate (push) Successful in 29s
2024-11-08 03:46:00 +00:00
Daren Lord c5640dbb47 external-secrets: change order
renovate / renovate (push) Successful in 29s
2024-11-08 03:32:33 +00:00
Daren Lord d896d6e985 external-secrets: remove dependency
renovate / renovate (push) Successful in 28s
2024-11-08 03:25:31 +00:00
Daren Lord 7bc19ed6cb fix cloudflared external-dns dependency
renovate / renovate (push) Successful in 27s
2024-11-08 03:24:15 +00:00
Daren Lord 9a637874ab encrypt sops file
renovate / renovate (push) Successful in 34s
2024-11-08 03:21:28 +00:00
Daren Lord 13c018e965 Add selfsigned certs, external-secrets 2024-11-08 03:17:33 +00:00
Daren Lord 6ec7e74c0b Add renovate config js file
renovate / renovate (push) Successful in 32s
2024-11-07 07:08:33 +00:00
Daren Lord e263ceaf65 renovate: fix action config
renovate / renovate (push) Failing after 8s
2024-11-07 07:07:06 +00:00
Daren Lord f88ca7d038 update renovate path
renovate / renovate (push) Failing after 8s
2024-11-07 07:03:07 +00:00
Daren Lord bf768a0ff5 enable renovate
renovate / renovate (push) Failing after 10s
2024-11-07 06:57:01 +00:00
Daren Lord 37c1892b0b update to production certs 2024-11-07 06:32:51 +00:00
Daren Lord fe82aa793e update unifi user/pass 2024-11-07 05:51:07 +00:00
Daren Lord b8c23dfbfb unifi remove probes 2024-11-07 05:35:04 +00:00
Daren Lord 018eb34ee3 fix unifi bugs 2024-11-07 05:32:40 +00:00
Daren Lord 4037e4b589 fix unifi address 2024-11-07 05:26:16 +00:00
Daren Lord a38a41e59f external-dns unifi 2024-11-07 05:21:30 +00:00
Daren Lord ec5e6d468f change ip address for internal
devcontainer / publish (push) Waiting to run
2024-11-05 23:02:24 +00:00
Daren Lord 268858adfa change ip address 2024-11-05 22:50:14 +00:00
Daren Lord 463aeee32d production certs 2024-11-04 00:21:19 +00:00
Daren Lord 12641ed2a4 Update domain name 2024-11-03 01:55:55 +00:00
Daren Lord 70d9a97bd1 Fix repo address 2024-11-03 01:30:03 +00:00
Daren Lord bacc9bdce0 update secrets and dns server 2024-11-02 22:53:41 +00:00
Daren Lord ced321da7e Initial commit 🚀 2024-11-02 03:09:17 +00:00
Daren Lord 5a14609b2d Initial commit 🚀 2024-11-02 01:16:28 +00:00
Devin Buhl e55ae1a1f5 fix: apply-config task node arg order 2024-10-30 12:54:07 -04:00
Devin Buhl f7274e4ccc fix: talosctl apply-config mode is staged 2024-10-30 12:53:31 -04:00
Devin Buhl e895ba359f chore: mention external-dns in the README
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-10-29 12:18:27 -04:00
Devin Buhl 36f8a6c17b chore: improve apply-config task and update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-10-29 10:58:40 -04:00
Devin Buhl a8f4b51b7f chore(scripts): format kubeconform script
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-10-29 10:34:41 -04:00
Devin Buhl fe0252bff0 fix(talos): update sysctls
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-10-29 10:19:50 -04:00
Devin Buhl 3e122b90fa feat(talos): add kube scheduler default topologyspreadcontraints
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-10-29 10:19:36 -04:00
Devin Buhl e5a7ba8da8 feat(bootstrap): static ips and default ntp/dns servers (#1618) 2024-10-29 10:10:31 -04:00
Devin Buhl 48a7a16f90 chore: only minijinja bin 2024-10-28 12:55:50 -04:00
Devin Buhl 535ea53fcf chore: add minijinja-cli-bin to Archfile (#1616) 2024-10-26 19:41:34 -04:00
257 changed files with 6514 additions and 98 deletions

No files matched your search

+8
View File
@@ -0,0 +1,8 @@
module.exports = {
"endpoint": "http://192.168.1.68:3001/api/v1", // replace it with your actual endpoint
"gitAuthor": "Renovate Bot <renovate-bot@yourhost.com>",
"platform": "gitea",
"onboardingConfigFileName": "renovate.json5",
"autodiscover": true,
"optimizeForDisabled": true,
};
+1 -1
View File
@@ -16,7 +16,7 @@ bootstrap_node_inventory:
controller: false
disk: fake
mac_addr: fake
bootstrap_dns_servers: ["1.1.1.1", "1.0.0.1"]
bootstrap_dns_servers: ["192.168.1.2"]
bootstrap_ntp_servers: ["time.cloudflare.com"]
bootstrap_pod_network: 10.69.0.0/16
bootstrap_service_network: 10.96.0.0/16
+1 -1
View File
@@ -35,7 +35,7 @@ jobs:
path: default
- name: Diff Resources
uses: docker://ghcr.io/allenporter/flux-local:v6.0.0
uses: docker://ghcr.io/allenporter/flux-local:v6.1.1
with:
args: >-
diff ${{ matrix.resources }}
+20
View File
@@ -0,0 +1,20 @@
name: renovate
on:
schedule:
- cron: "@daily"
push:
branches:
- main
jobs:
renovate:
runs-on: ubuntu-latest
container: ghcr.io/renovatebot/renovate:39.251.0
steps:
- uses: actions/checkout@v4
- run: renovate
env:
RENOVATE_CONFIG_FILE: "/workspace/infra/home-cluster/.github/renovate_config.js" # replace it with your config.js path
LOG_LEVEL: "debug"
RENOVATE_TOKEN: ${{ secrets.RENOVATE_TOKEN }} # your Revonate bot token
+12
View File
@@ -0,0 +1,12 @@
---
creation_rules:
- # IMPORTANT: This rule MUST be above the others
path_regex: talos/.*\.sops\.ya?ml
key_groups:
- age:
- "age1mhnje42sefcfpvgpeppch84g6vgptmd4gukgvr3gueuxy6ph05xqx45jty"
- path_regex: kubernetes/.*\.sops\.ya?ml
encrypted_regex: "^(data|stringData)$"
key_groups:
- age:
- "age1mhnje42sefcfpvgpeppch84g6vgptmd4gukgvr3gueuxy6ph05xqx45jty"
+17 -4
View File
@@ -5,6 +5,7 @@ version: '3'
vars:
TALHELPER_CLUSTER_DIR: '{{.KUBERNETES_DIR}}/bootstrap/talos/clusterconfig'
TALHELPER_CONFIG_FILE: '{{.KUBERNETES_DIR}}/bootstrap/talos/talconfig.yaml'
TALHELPER_SECRET_FILE: '{{.KUBERNETES_DIR}}/bootstrap/talos/talsecret.sops.yaml'
TALOSCONFIG: '{{.TALHELPER_CLUSTER_DIR}}/talosconfig'
env:
@@ -12,11 +13,24 @@ env:
tasks:
generate-config:
desc: Generate Talos configuration
cmd: talhelper genconfig --config-file {{.TALHELPER_CONFIG_FILE}} --secret-file {{.TALHELPER_SECRET_FILE}} --out-dir {{.TALHELPER_CLUSTER_DIR}}
preconditions:
- msg: Missing talhelper config file
sh: test -f {{.TALHELPER_CONFIG_FILE}}
- msg: Missing Sops config file
sh: test -f {{.SOPS_CONFIG_FILE}}
- msg: Missing Sops Age key file
sh: test -f {{.SOPS_AGE_KEY_FILE}}
apply-config:
desc: Apply Talos configuration to a node
cmd: talosctl apply-config --mode={{.MODE}} --nodes {{.HOSTNAME}} --file {{.TALHELPER_CLUSTER_DIR}}/{{.CLUSTER_NAME}}-{{.HOSTNAME}}.yaml
cmds:
- talosctl --nodes {{.HOSTNAME}} apply-config --mode=staged --file {{.TALHELPER_CLUSTER_DIR}}/{{.CLUSTER_NAME}}-{{.HOSTNAME}}.yaml
- talosctl --nodes {{.HOSTNAME}} reboot
- talosctl --nodes {{.HOSTNAME}} health --wait-timeout=10m --server=false
vars:
MODE: '{{.MODE | default "no-reboot"}}'
CLUSTER_NAME:
sh: yq '.clusterName' {{.TALHELPER_CONFIG_FILE}}
requires:
@@ -71,8 +85,7 @@ tasks:
upgrade-k8s:
desc: Upgrade Kubernetes
cmds:
- talosctl --nodes {{.KUBERNETES_CONTROLLER}} upgrade-k8s --to {{.KUBERNETES_VERSION}}
cmd: talosctl --nodes {{.KUBERNETES_CONTROLLER}} upgrade-k8s --to {{.KUBERNETES_VERSION}}
vars:
KUBERNETES_CONTROLLER:
sh: talosctl config info --output json | jq --raw-output '.endpoints[]' | shuf -n 1
+1 -1
View File
@@ -10,7 +10,7 @@ jq
kubeconform
kubectl-bin
kustomize
minijinja
minijinja-cli-bin
moreutils
sops
stern-bin
+1
View File
@@ -70,6 +70,7 @@ tasks:
- cmd: curl -sSfL https://github.com/mitsuhiko/minijinja/releases/latest/download/minijinja-cli-installer.sh | bash
env:
MINIJINJA_CLI_INSTALL_DIR: '.'
MINIJINJA_CLI_UNMANAGED_INSTALL: 'true'
HELM_INSTALL_DIR: '.'
USE_SUDO: 'false'
+40 -22
View File
@@ -288,6 +288,42 @@ There might be a situation where you want to destroy your Kubernetes cluster. Th
task talos:reset # --force
```
## 🛠️ Talos and Kubernetes Maintenance
#### ⚙️ Updating Talos node configuration
📍 _Ensure you have updated `talconfig.yaml` and any patches with your updated configuration._
```sh
# (Re)generate the Talos config
task talos:generate-config
# Apply the config to the node
task talos:apply-config HOSTNAME=? MODE=?
# e.g. task talos:apply-config HOSTNAME=k8s-0 MODE=reboot
```
#### ⬆️ Updating Talos and Kubernetes versions
📍 _Ensure the `talosVersion` and `kubernetesVersion` in `talhelper.yaml` are up-to-date with the version you wish to upgrade to._
```sh
# Upgrade the whole cluster to a newer Talos version
task talos:upgrade-cluster
# e.g. task talos:upgrade-cluster
```
```sh
# Upgrade node to a newer Talos version
task talos:upgrade-node HOSTNAME=?
# e.g. task talos:upgrade HOSTNAME=k8s-0
```
```sh
# Upgrade cluster to a newer Kubernetes version
task talos:upgrade-k8s
# e.g. task talos:upgrade-k8s
```
## 🤖 Renovate
[Renovate](https://www.mend.io/renovate) is a tool that automates dependency management. It is designed to scan your repository around the clock and open PRs for out-of-date dependencies it finds. Common dependencies it can discover are Helm charts, container images, GitHub Actions, Ansible roles... even Flux itself! Merging a PR will cause Flux to apply the update to your cluster.
@@ -342,28 +378,6 @@ Below is a general guide on trying to debug an issue with an resource or applica
Resolving problems that you have could take some tweaking of your YAML manifests in order to get things working, other times it could be a external factor like permissions on NFS. If you are unable to figure out your problem see the help section below.
## ⬆️ Upgrading Talos and Kubernetes
📍 _Ensure the `talosVersion` and `kubernetesVersion` in `talhelper.yaml` are up-to-date with the version you wish to upgrade to._
```sh
# Upgrade the whole cluster to a newer Talos version
task talos:upgrade-cluster
# e.g. task talos:upgrade-cluster
```
```sh
# Upgrade node to a newer Talos version
task talos:upgrade-node HOSTNAME=?
# e.g. task talos:upgrade HOSTNAME=k8s-0
```
```sh
# Upgrade cluster to a newer Kubernetes version
task talos:upgrade-k8s
# e.g. task talos:upgrade-k8s
```
## 👉 Help
- Make a post in this repository's Github [Discussions](https://github.com/onedr0p/cluster-template/discussions).
@@ -377,6 +391,10 @@ The cluster is your oyster (or something like that). Below are some optional con
To browse or get ideas on applications people are running, community member [@whazor](https://github.com/whazor) created [Kubesearch](https://kubesearch.dev) as a creative way to search Flux HelmReleases across Github and Gitlab.
### DNS
Instead of using [k8s_gateway](https://github.com/ori-edge/k8s_gateway) to provide DNS for your applications you might want to check out [external-dns](https://github.com/kubernetes-sigs/external-dns), it has wide support for many different providers such as [Pi-hole](https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/pihole.md), [UniFi](https://github.com/kashalls/external-dns-unifi-webhook), [Adguard Home](https://github.com/muhlba91/external-dns-provider-adguard), [Bind](https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/rfc2136.md) and more.
### Storage
The included CSI (openebs in local-hostpath mode) is a great start for storage but soon you might find you need more features like replicated block storage, or to connect to a NFS/SMB/iSCSI server. If you need any of those features be sure to check out the projects like [rook-ceph](https://github.com/rook/rook), [longhorn](https://github.com/longhorn/longhorn), [openebs](https://github.com/openebs/openebs), [democratic-csi](https://github.com/democratic-csi/democratic-csi), [csi-driver-nfs](https://github.com/kubernetes-csi/csi-driver-nfs),
@@ -12,7 +12,7 @@ cgroup:
hostRoot: /sys/fs/cgroup
cluster:
id: 1
name: "#{ bootstrap_cluster_name|default('home-kubernetes', true) }#"
name: "#{ bootstrap_cluster_name | default('home-kubernetes', true) }#"
cni:
exclusive: false
# NOTE: devices might need to be set if you have more than one active NIC on your hosts
@@ -43,7 +43,7 @@ l2announcements:
#% endif %#
loadBalancer:
algorithm: maglev
mode: "#{ bootstrap_loadbalancer_mode|default('dsr', true) }#"
mode: "#{ bootstrap_loadbalancer_mode | default('dsr', true) }#"
localRedirectPolicy: true
operator:
replicas: 1
@@ -16,7 +16,7 @@ spec:
#% for item in bootstrap_bgp.peers %#
- peerAddress: "#{ item }#/32"
peerASN: #{ bootstrap_bgp.peer_asn }#
peerPort: #{ bootstrap_bgp.peer_port | default(179) }#
peerPort: #{ bootstrap_bgp.peer_port | default(179, true) }#
#% endfor %#
#% else %#
#% if bootstrap_node_default_gateway %#
@@ -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: 2025.4.0
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
@@ -14,4 +14,7 @@ stringData:
github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl
github.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg=
github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=
[repo.home.arpa]:222 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIKYHMrcJFqIYYSLNg9RrMrZmpqzyTrr2sD/ti4HMBCh
[192.168.1.68]:222 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIKYHMrcJFqIYYSLNg9RrMrZmpqzyTrr2sD/ti4HMBCh
#% endif %#
@@ -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:
@@ -10,3 +10,16 @@ cluster:
scheduler:
extraArgs:
bind-address: 0.0.0.0
config:
apiVersion: kubescheduler.config.k8s.io/v1
kind: KubeSchedulerConfiguration
profiles:
- schedulerName: default-scheduler
pluginConfig:
- name: PodTopologySpread
args:
defaultingType: List
defaultConstraints:
- maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: ScheduleAnyway
@@ -0,0 +1,6 @@
machine:
network:
nameservers:
#% for item in bootstrap_dns_servers | default(["1.1.1.1","1.0.0.1"], true) %#
- #{ item }#
#% endfor %#
@@ -0,0 +1,7 @@
machine:
time:
disabled: false
servers:
#% for item in bootstrap_ntp_servers | default(["time.cloudflare.com"], true) %#
- #{ item }#
#% endfor %#
@@ -1,7 +1,6 @@
machine:
sysctls:
fs.inotify.max_queued_events: "65536"
fs.inotify.max_user_watches: "524288"
fs.inotify.max_user_watches: "1048576"
fs.inotify.max_user_instances: "8192"
net.core.rmem_max: "7500000"
net.core.wmem_max: "7500000"
@@ -1,7 +1,7 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/budimanjojo/talhelper/master/pkg/config/schemas/talconfig.json
---
# renovate: datasource=docker depName=ghcr.io/siderolabs/installer
talosVersion: v1.8.1
talosVersion: v1.8.3
# renovate: datasource=docker depName=ghcr.io/siderolabs/kubelet
kubernetesVersion: v1.31.2
@@ -36,9 +36,9 @@ nodes:
#% if bootstrap_secureboot.enabled %#
machineSpec:
secureboot: true
talosImageURL: factory.talos.dev/installer-secureboot/#{ item.schematic_id | default(bootstrap_schematic_id) }#
talosImageURL: factory.talos.dev/installer-secureboot/#{ item.schematic_id | default(bootstrap_schematic_id, true) }#
#% else %#
talosImageURL: factory.talos.dev/installer/#{ item.schematic_id | default(bootstrap_schematic_id) }#
talosImageURL: factory.talos.dev/installer/#{ item.schematic_id | default(bootstrap_schematic_id, true) }#
#% endif %#
controlPlane: #{ (item.controller) | string | lower }#
networkInterfaces:
@@ -49,7 +49,7 @@ nodes:
- vlanId: #{ bootstrap_vlan }#
addresses:
- "#{ item.address }#/#{ bootstrap_node_network.split('/') | last }#"
mtu: #{ item.mtu | default(1500) }#
mtu: #{ item.mtu | default(1500, true) }#
routes:
- network: 0.0.0.0/0
#% if bootstrap_node_default_gateway %#
@@ -62,7 +62,6 @@ nodes:
ip: "#{ bootstrap_controller_vip }#"
#% endif %#
#% else %#
#% if item.address %#
dhcp: false
addresses:
- "#{ item.address }#/#{ bootstrap_node_network.split('/') | last }#"
@@ -73,10 +72,7 @@ nodes:
#% else %#
gateway: "#{ bootstrap_node_network | nthhost(1) }#"
#% endif %#
#% else %#
dhcp: true
#% endif %#
mtu: #{ item.mtu | default(1500) }#
mtu: #{ item.mtu | default(1500, true) }#
#% if item.controller %#
vip:
ip: "#{ bootstrap_controller_vip }#"
@@ -116,27 +112,6 @@ nodes:
# Global patches
patches:
#% if bootstrap_dns_servers | length %#
- # Force nameserver
|-
machine:
network:
nameservers:
#% for item in bootstrap_dns_servers %#
- #{ item }#
#% endfor %#
#% endif %#
#% if bootstrap_ntp_servers | length %#
- # Configure NTP
|-
machine:
time:
disabled: false
servers:
#% for item in bootstrap_ntp_servers %#
- #{ item }#
#% endfor %#
#% endif %#
#% if bootstrap_secureboot.enabled and bootstrap_secureboot.encrypt_disk_with_tpm %#
- # Encrypt system disk with TPM
|-
@@ -12,7 +12,7 @@ spec:
name: github-deploy-key
#% endif %#
ref:
branch: "#{ bootstrap_github_branch|default('main', true) }#"
branch: "#{ bootstrap_github_branch | default('main', true) }#"
ignore: |
# exclude all
/*
+11 -14
View File
@@ -5,7 +5,7 @@
#
# (Optional) Cluster name; affects Cilium and Talos
# Default is "home-kubernetes"
# DEFAULT: "home-kubernetes"
bootstrap_cluster_name: ""
# (Required) Generated schematic id from https://factory.talos.dev/
@@ -18,12 +18,12 @@ bootstrap_node_network: ""
# Worker nodes are optional
bootstrap_node_inventory: []
# - name: "" # (Required) Name of the node (must match [a-z0-9-\]+)
# address: "" # (Optional) IP address of the node (Remove if node has a static DHCP reservation)
# address: "" # (Optional) IP address of the node
# controller: true # (Required) Set to true if this is a controller node
# disk: "" # (Required) Device path or serial number of the disk for this node (talosctl disks -n <ip> --insecure)
# mac_addr: "" # (Required) MAC address of the NIC for this node (talosctl get links -n <ip> --insecure)
# schematic_id: "" # (Optional) Override the 'bootstrap_schematic_id' with a node specific schematic ID from https://factory.talos.dev/
# mtu: "" # (Optional) MTU for the NIC, default is 1500
# mtu: "" # (Optional) MTU for the NIC. DEFAULT: 1500
# manifests: # (Optional) Additional manifests to include after MachineConfig
# - extra.yaml # Ref: https://www.talos.dev/v1.7/reference/configuration/extensions/extensionserviceconfig/
# extension_services: # (Optional) Additional talhelper ExtensionServices (supports talenv.sops.yaml envsubst)
@@ -36,18 +36,15 @@ bootstrap_node_inventory: []
# - key=value
# ...
# (Optional) The DNS servers to use for the cluster nodes.
# Default is pulled from your DHCP server.
# The DNS servers to use for the cluster nodes.
# DEFAULT: [1.1.1.1, 1.0.0.1]
# If using a local DNS server make sure it meets the following requirements:
# 1. your nodes can reach it
# 2. it is configured to forward requests to a public DNS server
# 3. you are not force redirecting DNS requests to it - this will break cert generation over DNS01
# If using multiple DNS servers make sure they are setup the same way, there is no
# guarantee that the first DNS server will always be used for every lookup.
bootstrap_dns_servers: []
# (Optional) The NTP servers to use for the cluster nodes.
# Default is pulled from your DHCP server.
# The NTP servers to use for the cluster nodes.
# DEFAULT: [time.cloudflare.com]
bootstrap_ntp_servers: []
# (Required) The pod CIDR for the cluster, this must NOT overlap with any
@@ -71,7 +68,7 @@ bootstrap_controller_vip: ""
bootstrap_tls_sans: []
# (Optional) The default gateway for the nodes
# Default is derrived from bootstrap_node_network (e.g. 192.168.1.1)
# DEFAULT: .1 derrived from bootstrap_node_network (e.g. 192.168.1.1)
bootstrap_node_default_gateway: ""
# (Optional) Add vlan tag to network master device, leave blank if you tag ports on your switch instead
@@ -90,13 +87,13 @@ bootstrap_age_pubkey: ""
bootstrap_bgp:
enabled: false
# (Optional) If using multiple BGP peers add them here.
# Default is .1 derrived from host_network: ['x.x.x.1']
# DEFAULT: .1 derrived from host_network: ['x.x.x.1']
peers: []
# (Required) Set the BGP Autonomous System Number for the router(s) and nodes.
# If these match, iBGP will be used. If not, eBGP will be used.
peer_asn: "" # Router(s) AS
local_asn: "" # Node(s) AS
peer_port: 179 # BGP Port - default is TCP port 179
peer_port: 179 # BGP Port. DEFAULT: 179
# (Required) The advertised CIDR for the cluster, this must NOT overlap with any
# existing networks and is usually a /16 (64K IPs).
# If you want to use IPv6 check the advanced flags below
@@ -112,7 +109,7 @@ bootstrap_secureboot:
encrypt_disk_with_tpm: false
# (Optional) Change Cilium load balancer mode
# Default is "dsr" (Direct Server Return)
# DEFAULT: "dsr"
# Ref: https://docs.cilium.io/en/stable/network/kubernetes/kubeproxy-free/
bootstrap_loadbalancer_mode: ""
@@ -0,0 +1,108 @@
---
# 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 capacitor
spec:
interval: 15m
chart:
spec:
chart: app-template
version: 3.5.1
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
install:
createNamespace: true
remediation:
retries: 3
upgrade:
remediation:
retries: 3
values:
controllers:
capacitor:
replicas: 1
pod:
securityContext:
fsGroup: 999
# runAsGroup: 3000
# runAsNonRoot: true
# runAsUser: 1000
# seccompProfile:
# type: RuntimeDefault
containers:
app:
env:
TZ: ${SETTING_TZ}
image:
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
seccompProfile:
type: RuntimeDefault
probes:
startup:
enabled: false
liveness: &probe
enabled: true
custom: true
spec:
httpGet:
path: /
port: &port 9000
scheme: HTTP
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
readiness: *probe
resources:
requests:
cpu: 190m
memory: 127Mi
limits:
memory: 127Mi
serviceAccount:
create: false
name: capacitor
service:
app:
controller: capacitor
ports:
http:
enabled: true
port: *port
protocol: HTTP
ingress:
app:
enabled: true
className: internal
hosts:
- host: &host "{{ .Release.Name }}.${SECRET_INTERNAL_DOMAIN}"
paths:
- path: /
pathType: Prefix
service:
identifier: app
port: http
tls:
- hosts:
- *host
secretName: "{{ .Release.Name }}-tls"
@@ -0,0 +1,7 @@
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./helmrelease.yaml
- ./rbac.yaml
@@ -0,0 +1,60 @@
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
- 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
metadata:
name: capacitor
subjects:
- kind: ServiceAccount
name: capacitor
namespace: flux-system
roleRef:
kind: ClusterRole
name: capacitor
apiGroup: rbac.authorization.k8s.io
@@ -0,0 +1,19 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app capacitor
namespace: flux-system
spec:
targetNamespace: flux-system
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/capacitor/capacitor/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: true
interval: 30m
timeout: 5m
@@ -0,0 +1,7 @@
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./namespace.yaml
- ./capacitor/ks.yaml
+7
View File
@@ -0,0 +1,7 @@
---
apiVersion: v1
kind: Namespace
metadata:
name: capacitor
labels:
kustomize.toolkit.fluxcd.io/prune: disabled
@@ -0,0 +1,31 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: cert-manager
spec:
interval: 30m
chart:
spec:
chart: cert-manager
version: v1.16.1
sourceRef:
kind: HelmRepository
name: jetstack
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
values:
crds:
enabled: true
dns01RecursiveNameservers: https://1.1.1.1:443/dns-query,https://1.0.0.1:443/dns-query
dns01RecursiveNameserversOnly: true
prometheus:
enabled: true
servicemonitor:
enabled: true
@@ -0,0 +1,5 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./helmrelease.yaml
@@ -0,0 +1,39 @@
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-production
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: "${SECRET_ACME_EMAIL}"
privateKeySecretRef:
name: letsencrypt-production
solvers:
- dns01:
cloudflare:
apiTokenSecretRef:
name: cert-manager-secret
key: api-token
selector:
dnsZones:
- "${SECRET_DOMAIN}"
---
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-staging
spec:
acme:
server: https://acme-staging-v02.api.letsencrypt.org/directory
email: "${SECRET_ACME_EMAIL}"
privateKeySecretRef:
name: letsencrypt-staging
solvers:
- dns01:
cloudflare:
apiTokenSecretRef:
name: cert-manager-secret
key: api-token
selector:
dnsZones:
- "${SECRET_DOMAIN}"
@@ -0,0 +1,6 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./secret.sops.yaml
- ./issuers.yaml
@@ -0,0 +1,26 @@
apiVersion: v1
kind: Secret
metadata:
name: cert-manager-secret
stringData:
api-token: ENC[AES256_GCM,data:hxn4WpbqH9oZg4ZyW4ZHoCZFfC7pPgh6NizlDz2UTSjDlZF33vmvWw==,iv:5u1KHt6DGnyQgTIpWLFcU0V0o4xXNLatETs/uELfIbU=,tag:1bb8uJsW2Tdmzsk/vnQ74A==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1mhnje42sefcfpvgpeppch84g6vgptmd4gukgvr3gueuxy6ph05xqx45jty
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQZFdoWnFuWDZQZzBwWGM5
VWpoUzlwMTF0MDJsNzJHUE12T2NwQ0JqUTJBClFySXcvTERTNVVRWW5qZFFES292
OUVkZnJGNW1oeVhRTWtzNk1IT0xoYWcKLS0tIHAxR2lqeEJydGdFR2RaY3Fmd212
dURIUWdKbnNEK3N4MDZSVTdJcnQwM1EKZuzgUjc0EUhwLNb9Aq/08Kq2SJZpcy5k
+QlOf/OzjQ8fZinQ7YStN1FrouBoD6eOvrQ9LKmd49den+9JQw3uAg==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-11-07T06:29:43Z"
mac: ENC[AES256_GCM,data:KGoF46Eh22sDxQlLqaU1cNguMWSx71BpmdClVZX/cPMZWsIZHqh32CsfH7hNFMJIUSZiaI+UarKFbmhWd4P9wSMcqzj/zmSJ3DGtd722oToT6kUE3dJhmIk+f8gJd4STXjeQ1NM1UmxwasEJZ0fnSW4+NLwTURLpi8fvNXOlUic=,iv:jO0aMeYCSWthERI181XyS+2VDXxTUKdq2rV6rlTwjXc=,tag:K0J9mTIBayDiLB5QTPa2ig==,type:str]
pgp: []
encrypted_regex: ^(data|stringData)$
version: 3.9.1
@@ -0,0 +1,62 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app cert-manager
namespace: flux-system
spec:
targetNamespace: cert-manager
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/cert-manager/cert-manager/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: true
interval: 30m
timeout: 5m
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app cert-manager-issuers
namespace: flux-system
spec:
targetNamespace: cert-manager
commonMetadata:
labels:
app.kubernetes.io/name: *app
dependsOn:
- name: cert-manager
path: ./kubernetes/apps/cert-manager/cert-manager/issuers
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: true
interval: 30m
timeout: 5m
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app self-signed-issuers
namespace: flux-system
spec:
targetNamespace: cert-manager
commonMetadata:
labels:
app.kubernetes.io/name: *app
dependsOn:
- name: cert-manager-issuers
path: ./kubernetes/apps/cert-manager/cert-manager/selfsigned
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: true
interval: 30m
retryInterval: 1m
timeout: 5m
@@ -0,0 +1,32 @@
---
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:
name: home-ca-issuer
spec:
ca:
secretName: root-secret
@@ -0,0 +1,6 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./clusterissuer.yaml
@@ -0,0 +1,6 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./namespace.yaml
- ./cert-manager/ks.yaml
@@ -0,0 +1,7 @@
---
apiVersion: v1
kind: Namespace
metadata:
name: cert-manager
labels:
kustomize.toolkit.fluxcd.io/prune: disabled
@@ -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.6@sha256:35353a77777ee8f634d0f3945f495b4a40065134b8619e0d18bd49b0ee9c855b
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.6@sha256:35353a77777ee8f634d0f3945f495b4a40065134b8619e0d18bd49b0ee9c855b
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.6@sha256:35353a77777ee8f634d0f3945f495b4a40065134b8619e0d18bd49b0ee9c855b
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
@@ -0,0 +1,46 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: external-secrets
spec:
interval: 15m
chart:
spec:
chart: external-secrets
version: 0.11.0
sourceRef:
kind: HelmRepository
name: external-secrets
namespace: flux-system
driftDetection:
mode: enabled
maxHistory: 3
install:
crds: CreateReplace
remediation:
retries: 3
upgrade:
cleanupOnFail: true
crds: CreateReplace
remediation:
retries: 3
# https://github.com/external-secrets/external-secrets/blob/v0.7.2/deploy/charts/external-secrets/values.yaml
values:
installCRDs: true
replicaCount: 2
leaderElect: true
extraArgs:
loglevel: debug
serviceMonitor:
enabled: true
webhook:
serviceMonitor:
enabled: true
certController:
serviceMonitor:
enabled: true
@@ -0,0 +1,6 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: kube-system
resources:
- helmrelease.yaml
@@ -0,0 +1,25 @@
---
apiVersion: external-secrets.io/v1beta1
kind: ClusterSecretStore
metadata:
name: bitwarden-login
spec:
provider:
webhook:
url: "http://bitwarden-cli.external-secrets.svc.cluster.local:8087/object/item/{{ .remoteRef.key }}"
headers:
Content-Type: application/json
result:
jsonPath: "$.data.login.{{ .remoteRef.property }}"
---
apiVersion: external-secrets.io/v1beta1
kind: ClusterSecretStore
metadata:
name: bitwarden-fields
spec:
provider:
webhook:
url: "http://bitwarden-cli.external-secrets.svc.cluster.local:8087/object/item/{{ .remoteRef.key }}"
result:
jsonPath: "$.data.fields[?@.name==\"{{ .remoteRef.property }}\"].value"
@@ -0,0 +1,81 @@
---
# 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: bitwarden-cli
spec:
interval: 15m
chart:
spec:
chart: app-template
version: 3.5.1
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
driftDetection:
mode: enabled
maxHistory: 3
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
strategy: rollback
retries: 3
values:
defaultPodOptions:
securityContext:
seccompProfile: { type: RuntimeDefault }
controllers:
bitwarden-cli:
annotations:
reloader.stakater.com/auto: "true"
containers:
app:
image:
repository: ghcr.io/oliverziegert/external-secrets-bitwarden
tag: 1.0.6
envFrom:
- secretRef:
name: bitwarden-cli-secret
probes:
liveness:
enabled: true
custom: true
spec:
exec:
command:
- /usr/bin/curl
- -X
- POST
- -s
- http://127.0.0.1:8087/sync
initialDelaySeconds: 20
failureThreshold: 3
timeoutSeconds: 10
periodSeconds: 120
resources:
requests:
memory: 256Mi
cpu: 100m
limits:
memory: 512Mi
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: false
capabilities: { drop: [ 'ALL' ] }
service:
app:
controller: bitwarden-cli
ports:
http:
port: 8087
@@ -0,0 +1,8 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./secret.sops.yaml
- ./helmrelease.yaml
- ./clustersecretstore.yaml
@@ -0,0 +1,30 @@
apiVersion: v1
kind: Secret
metadata:
name: bitwarden-cli-secret
stringData:
BW_HOST: ENC[AES256_GCM,data:wK+Ef3moIG0dFRE3R2sQ4y5jL1iV+RMDfmTKZyPGJCB2/SE/,iv:R0nZ6kN82z4C+rlfGm36wQH9wlMyJlA1j+BFxGYInek=,tag:fe5YwhXqyAlxxYMk2HbL/w==,type:str]
BW_CLIENTID: ENC[AES256_GCM,data:k5owh4o61yxZW0EJwb0GxTUQEoMk8c0YRDFmsL/CeRumgZoVVnx/tMI=,iv:gCTPrl6mv0lZh9AxVm5JCSdnzrwLEOVoCgpTlSEgJ3g=,tag:SvSBHyFvIvde0YxYMIF9tA==,type:str]
BW_CLIENTSECRET: ENC[AES256_GCM,data:8/m9r17gDBf8fo42nLqSxWSn76lN4CaXEZMhZ6hS,iv:l91GjxP0JijlrGx4jM3ZZ7/4HEpBJLE2tp+ZFm351sw=,tag:n8JmlYTRqz8360bDRXdXhQ==,type:str]
BW_USERNAME: ENC[AES256_GCM,data:ztA9l7nEmD5UgTmCRDpxhI1f8aU=,iv:Us/JY2/Oy+ZSRuFaF6dYf2LbG+qsGd5grmD4KOHcmOI=,tag:C13AfUVnHlMQZB1PqwDDEA==,type:str]
BW_PASSWORD: ENC[AES256_GCM,data:84MKQ0t0EAFo3tX9GNvQ,iv:9lgEFurqSFiqP/HQkGXFvh3TCXAU0Ci3VjglHGYGgh8=,tag:MU+0XIXzkp1zBfL8hnFqSA==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1mhnje42sefcfpvgpeppch84g6vgptmd4gukgvr3gueuxy6ph05xqx45jty
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWZXdTKys3MHZMb2ZTc3Fm
TW9XMVhTUTllOFVYekRod0EyT3AyR0p5MHlBCnI2c3B3Zk1HSUlFd3BMNUhJSDlX
VmVGbWdVdFBwMDQ2TmlCeGJHQzQyREkKLS0tIHozMXB3bCtOM0FGZHYzSnZhRzRM
dFM3QW92dWdUUkNNQndIa3RVNHNnMkkKCkdzT78tFGWsS+7bbvRdWvm8uXswKi9s
NuanHeoK0FV+GiMoPLuwC1e4W2g718PazHGveN5pCM7UFQPlKCctDA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-11-08T16:20:08Z"
mac: ENC[AES256_GCM,data:FMXM+wkLPajSIU7dm9q0jo+4Lq+c7G11ErrKF9TC3zB82hsWrBpgZggvqT7xmQmI1c/SLq6mfesfoPWQ4Kf6H6WtPDc3PFvyXARFZZ0zIhSl1WIDd7A6De1qn3DvRJ8sCt+131OS7hYSCgMuLJAkrJg0lRayjINyx3RparL6F4s=,iv:Fy/HjcNjdJKOCdzRF5M+k4CshDgK2CYNVXwezLCfyu0=,tag:KN5xgpOvGijmEk+QeSfFog==,type:str]
pgp: []
encrypted_regex: ^(data|stringData)$
version: 3.9.1
@@ -0,0 +1,47 @@
---
# 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 bitwarden-tls-certs
spec:
secretName: *name
dnsNames:
- bitwarden-sdk-server.external-secrets.svc.cluster.local
- external-secrets-bitwarden-sdk-server.external-secrets.svc.cluster.local
- localhost
ipAddresses:
- 127.0.0.1
- ::1
privateKey:
algorithm: RSA
encoding: PKCS8
size: 2048
rotationPolicy: Always
duration: 168h # 7d
renewBefore: 24h # 1d
issuerRef:
name: home-ca-issuer
kind: ClusterIssuer
group: cert-manager.io
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: bitwarden-css-certs
namespace: external-secrets
spec:
secretName: bitwarden-css-certs
dnsNames:
- bitwarden-secrets-manager.external-secrets.svc.cluster.local
privateKey:
algorithm: RSA
encoding: PKCS8
size: 2048
rotationPolicy: Always
usages:
- client auth
issuerRef:
name: home-ca-issuer
kind: ClusterIssuer
group: cert-manager.io
@@ -0,0 +1,6 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./bitwarden.yaml
+42
View File
@@ -0,0 +1,42 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app external-secrets
namespace: flux-system
spec:
targetNamespace: external-secrets
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/external-secrets/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: true
interval: 30m
retryInterval: 1m
timeout: 5m
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app external-secrets-bw
namespace: flux-system
spec:
targetNamespace: external-secrets
commonMetadata:
labels:
app.kubernetes.io/name: *app
dependsOn:
- name: external-secrets
path: ./kubernetes/apps/external-secrets/bitwarden
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: true
interval: 30m
retryInterval: 1m
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
- ./ks.yaml
@@ -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: external-secrets
labels:
kustomize.toolkit.fluxcd.io/prune: disabled
@@ -0,0 +1,6 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./namespace.yaml
- ./webhooks/ks.yaml
@@ -0,0 +1,7 @@
---
apiVersion: v1
kind: Namespace
metadata:
name: flux-system
labels:
kustomize.toolkit.fluxcd.io/prune: disabled
@@ -0,0 +1,20 @@
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: flux-webhook
annotations:
external-dns.alpha.kubernetes.io/target: "external.${SECRET_DOMAIN}"
spec:
ingressClassName: external
rules:
- host: "flux-webhook.${SECRET_DOMAIN}"
http:
paths:
- path: /hook/
pathType: Prefix
backend:
service:
name: webhook-receiver
port:
number: 80
@@ -0,0 +1,7 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./secret.sops.yaml
- ./ingress.yaml
- ./receiver.yaml
@@ -0,0 +1,25 @@
---
apiVersion: notification.toolkit.fluxcd.io/v1
kind: Receiver
metadata:
name: github-receiver
spec:
type: github
events:
- ping
- push
secretRef:
name: github-webhook-token-secret
resources:
- apiVersion: source.toolkit.fluxcd.io/v1
kind: GitRepository
name: home-kubernetes
namespace: flux-system
- apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
name: cluster
namespace: flux-system
- apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
name: cluster-apps
namespace: flux-system
@@ -0,0 +1,26 @@
apiVersion: v1
kind: Secret
metadata:
name: github-webhook-token-secret
stringData:
token: ENC[AES256_GCM,data:mq8ZPkayUvV4+EKJaj0EMCweaiC8SPuYz7m4smXlW74=,iv:j6Pr1+1XBvHWeZrrH6eKJ+bPXc2dJlghi6GCJ6lH1rE=,tag:fmo0zJJiaTcDwoVne0CX2A==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1mhnje42sefcfpvgpeppch84g6vgptmd4gukgvr3gueuxy6ph05xqx45jty
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaMTVGMkV5K1lXY3RvZ1dI
OWhJV1BkaTdGTXZVY21SMExBMnQ4SThLQ0dvCk1NLzhXY1AvRHhqTGo2akxiZTA3
SHBZRWVja0ZZejNqSVVkMEhjSG1SOUUKLS0tIENXR0l6bGdnSit2RkRucW5HYWNW
Rk1scEUvOUZISWpyUlJIanZ3ZWVmY00KSD1tXiEZeFVyOX6zeu97Be4Ak1Tp4vLX
gqO9Oa0SpvP+YOCbm9t4A8VICYAR+7bmrSqIqfZ7WaLJvRWkl+TBDA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-11-07T06:29:43Z"
mac: ENC[AES256_GCM,data:GAORHFhuCMZ5su6KNnh0HC2al1ezHe6hLBiYsSrGDID3fGT16ZRxMYEVXo/0n1xcZLjxgAckBXFA6HL9viepVsnX0STvB9mbdd8C8qYW0oGwcnmhLavrdABV0Kp6oaRW9agIODQF0mQbX49x3lirRWJxbmU2XBPUVjngJt/yUKU=,iv:rfCSCO1CmEU17Be85qRoYjsBzEfLv0J2j/pq0AiBTgE=,tag:z0qDturLxU3HwF1XWw6BmA==,type:str]
pgp: []
encrypted_regex: ^(data|stringData)$
version: 3.9.1
@@ -0,0 +1,5 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./github
@@ -0,0 +1,19 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app flux-webhooks
namespace: flux-system
spec:
targetNamespace: flux-system
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/flux-system/webhooks/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: true
interval: 30m
timeout: 5m
@@ -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.
Loaded 100 of 257 files, more files were not shown because too many files have changed in this diff. Show more