Compare commits

...

1474 Commits

Author SHA1 Message Date
Devin Buhl
a79311746f chore: add media section with YouTube video link
Added a section for media with a YouTube video link.
2026-03-01 17:49:33 -05:00
Devin Buhl
0f808e2e48 chore: add media section to README
Added media section with links to YouTube videos.
2026-03-01 17:46:17 -05:00
Devin Buhl
e26d350966 chore: no more github sponsor support
Removed GitHub Sponsors section and related details from README.
2026-03-01 17:36:08 -05:00
renovate[bot]
2b197b8d47 fix(mise): update tool aqua:cli/cli ( 2.87.2 ➔ 2.87.3 ) (#2139)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-27 19:52:24 -05:00
renovate[bot]
6a88d02532 fix(mise): update tool uv ( 0.10.4 ➔ 0.10.7 ) (#2142)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-27 19:52:04 -05:00
renovate[bot]
91fb2aedc3 fix(mise): update tool aqua:kubernetes/kubernetes/kubectl ( 1.35.1 ➔ 1.35.2 ) (#2141)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-27 19:51:56 -05:00
renovate[bot]
ccb35dff71 fix(mise): update tool aqua:helmfile/helmfile ( 1.3.1 ➔ 1.3.2 ) (#2140)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-27 19:51:44 -05:00
renovate[bot]
d0ae7f2c90 fix(mise): update tool aqua:cilium/cilium-cli ( 0.19.1 ➔ 0.19.2 ) (#2138)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-27 19:51:28 -05:00
renovate[bot]
2949911568 fix(container): update image quay.io/jetstack/charts/cert-manager ( v1.19.3 ➔ v1.19.4 ) (#2137)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-27 19:51:20 -05:00
renovate[bot]
68da126acf fix(container): update image ghcr.io/siderolabs/kubelet ( v1.35.1 ➔ v1.35.2 ) (#2136)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-27 19:51:11 -05:00
renovate[bot]
080da2a1d4 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 82.2.1 ➔ 82.4.3 ) (#2144)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-27 19:50:56 -05:00
renovate[bot]
5b0a098223 feat(container): update flux-operator group (#2143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-27 19:50:47 -05:00
renovate[bot]
adf1054c24 feat(mise): update tool aqua:fluxcd/flux2 ( 2.7.5 ➔ 2.8.1 ) (#2145)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-27 19:50:39 -05:00
renovate[bot]
1cf56473eb fix(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 82.2.0 ➔ 82.2.1 ) (#2135)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-22 15:45:52 -05:00
renovate[bot]
a850890ce6 feat(mise): update tool aqua:getsops/sops ( 3.11.0 ➔ 3.12.1 ) (#2132)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-22 12:21:06 -05:00
renovate[bot]
55b24ac369 fix(mise): update tool aqua:helmfile/helmfile ( 1.3.0 ➔ 1.3.1 ) (#2134)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-22 06:22:11 -05:00
renovate[bot]
6ad0de136f feat(mise): update tool aqua:helmfile/helmfile ( 1.2.3 ➔ 1.3.0 ) (#2133)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-20 20:44:32 -05:00
renovate[bot]
30d8fdfbdc feat(mise): update tool aqua:cli/cli ( 2.86.0 ➔ 2.87.2 ) (#2131)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-20 20:44:13 -05:00
renovate[bot]
d96e839c04 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 82.1.0 ➔ 82.2.0 ) (#2130)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-20 20:43:58 -05:00
renovate[bot]
f35a6ba7f7 fix(mise): update tool uv ( 0.10.3 ➔ 0.10.4 ) (#2129)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-20 20:43:48 -05:00
Devin Buhl
62e5f875a8 chore: update readme 2026-02-18 09:04:00 -05:00
Devin Buhl
c0629a2f48 chore: update readme 2026-02-18 09:00:58 -05:00
Devin Buhl
2fb226ba78 chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2026-02-18 08:34:40 -05:00
Devin Buhl
87a2e91557 chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2026-02-18 08:31:12 -05:00
renovate[bot]
56878e29da feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 82.0.2 ➔ 82.1.0 ) (#2128)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-17 16:18:33 -05:00
renovate[bot]
8bce2e8d73 fix(container): update image quay.io/cilium/charts/cilium ( 1.19.0 ➔ 1.19.1 ) (#2127)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-17 16:18:25 -05:00
renovate[bot]
dde2085b96 fix(mise): update tool aqua:cilium/cilium-cli ( 0.19.0 ➔ 0.19.1 ) (#2125)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-17 16:18:18 -05:00
renovate[bot]
52064de097 ci(github-action): update action tj-actions/changed-files ( v47.0.2 ➔ v47.0.4 ) 2026-02-17 21:15:47 +00:00
renovate[bot]
cc4c26fc04 fix(mise): update tool uv ( 0.10.2 ➔ 0.10.3 ) (#2126)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-16 19:39:40 -05:00
renovate[bot]
fd20b5ef08 feat(container)!: Update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 81.6.9 ➔ 82.0.2 ) (#2124)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-16 19:36:04 -05:00
renovate[bot]
97b904ce2f feat(container): update flux-operator group (#2122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2026-02-16 19:35:19 -05:00
renovate[bot]
8c40ea0860 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 81.5.0 ➔ 81.6.9 ) (#2123)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2026-02-16 19:35:08 -05:00
Devin Buhl
f3bc0fd858 chore: downgrade cilium-cli version from 0.19.1 to 0.19.0 2026-02-16 19:33:31 -05:00
Devin Buhl
8e3f0f7360 chore: remove Mise Tools auto-merge settings
Removed auto-merge configuration for Mise Tools.
2026-02-16 19:32:59 -05:00
renovate[bot]
be346add11 fix(mise): update tool aqua:mikefarah/yq ( 4.52.3 ➔ 4.52.4 ) 2026-02-14 10:08:35 +00:00
renovate[bot]
d21c5a3663 fix(mise): update tool uv ( 0.10.0 ➔ 0.10.2 ) 2026-02-14 06:00:54 +00:00
renovate[bot]
1a861ba443 fix(mise): update tool aqua:budimanjojo/talhelper ( 3.1.4 ➔ 3.1.5 ) 2026-02-14 06:00:36 +00:00
renovate[bot]
922488bd98 fix(mise): update tool aqua:siderolabs/talos ( 1.12.3 ➔ 1.12.4 ) 2026-02-14 01:56:26 +00:00
renovate[bot]
24bf17db4f fix(mise): update tool aqua:mikefarah/yq ( 4.52.2 ➔ 4.52.3 ) 2026-02-14 01:56:08 +00:00
renovate[bot]
b3e593fab0 fix(mise): update tool aqua:kubernetes/kubernetes/kubectl ( 1.35.0 ➔ 1.35.1 ) 2026-02-14 01:55:29 +00:00
renovate[bot]
cc9d4e3d95 fix(mise): update tool aqua:helm/helm ( 4.1.0 ➔ 4.1.1 ) 2026-02-14 01:55:10 +00:00
renovate[bot]
2c473d802c fix(container): update image ghcr.io/stakater/charts/reloader ( 2.2.7 ➔ 2.2.8 ) (#2120)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-13 20:54:50 -05:00
renovate[bot]
b9bf6e754e fix(container): update image ghcr.io/siderolabs/kubelet ( v1.35.0 ➔ v1.35.1 ) (#2119)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-13 20:54:39 -05:00
renovate[bot]
4f4b018e5e fix(container): update image ghcr.io/siderolabs/installer ( v1.12.3 ➔ v1.12.4 ) (#2118)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-13 20:54:30 -05:00
renovate[bot]
7b1c5b9cef fix(mise): update tool aqua:cilium/cilium-cli ( 0.19.0 ➔ 0.19.1 ) 2026-02-14 01:41:58 +00:00
renovate[bot]
183ca630a4 ci(github-action): update action tj-actions/changed-files ( v47.0.1 ➔ v47.0.2 ) 2026-02-14 01:41:31 +00:00
renovate[bot]
8dd895355c feat(container): update image docker.io/cloudflare/cloudflared ( 2026.1.2 ➔ 2026.2.0 ) (#2116)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-12 09:07:14 -05:00
renovate[bot]
d60629b654 fix(container): update image ghcr.io/siderolabs/installer ( v1.12.2 ➔ v1.12.3 ) (#2117)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-12 09:07:11 -05:00
renovate[bot]
9e459236a1 fix(mise): update tool aqua:budimanjojo/talhelper ( 3.1.3 ➔ 3.1.4 ) 2026-02-08 17:48:36 +00:00
renovate[bot]
5bc713b62e fix(mise): update tool aqua:siderolabs/talos ( 1.12.2 ➔ 1.12.3 ) 2026-02-07 20:45:21 +00:00
renovate[bot]
0785808104 feat(mise): update tool aqua:cloudflare/cloudflared ( 2026.1.2 ➔ 2026.2.0 ) 2026-02-07 01:15:33 +00:00
renovate[bot]
0816f75886 feat(container): update image mirror.gcr.io/envoyproxy/gateway-helm ( v1.6.3 ➔ v1.7.0 ) (#2115)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-05 22:04:14 -05:00
renovate[bot]
5e56d0f0a2 feat(container): update image quay.io/cilium/charts/cilium ( 1.18.6 ➔ 1.19.0 ) (#2114)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-05 22:04:03 -05:00
renovate[bot]
3886fbe520 fix(container): update image quay.io/jetstack/charts/cert-manager ( v1.19.2 ➔ v1.19.3 ) (#2112)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-05 21:44:14 -05:00
renovate[bot]
d0ed9107b4 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 81.4.2 ➔ 81.5.0 ) (#2113)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-05 21:44:06 -05:00
Devin Buhl
f311a5ea2f fix(cilium): replace localRedirectPolicy with localRedirectPolicies 2026-02-05 21:43:35 -05:00
renovate[bot]
b17532ccd3 feat(mise): update tool uv ( 0.9.28 ➔ 0.10.0 ) 2026-02-06 02:43:20 +00:00
renovate[bot]
c592b8a7ae fix(mise): update tool python ( 3.14.2 ➔ 3.14.3 ) 2026-02-06 02:42:30 +00:00
renovate[bot]
82422d97dc fix(mise): update tool aqua:mikefarah/yq ( 4.52.1 ➔ 4.52.2 ) 2026-02-01 00:46:00 +00:00
Devin Buhl
6bcb7c2766 chore: remove templating tools in mise with tidy (#2111) 2026-01-31 08:25:33 -05:00
Devin Buhl
a25598e1d3 chore: add comments next to tools required for templating in mise 2026-01-31 08:16:44 -05:00
Devin Buhl
6c4cbcb9a5 chore: add uv and pipx to mise (#2110) 2026-01-31 08:13:54 -05:00
renovate[bot]
5bc6f2c63e feat(mise): update tool aqua:mikefarah/yq ( 4.50.1 ➔ 4.52.1 ) 2026-01-31 05:54:40 +00:00
renovate[bot]
5e6697b7e7 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 81.2.2 ➔ 81.4.2 ) (#2109)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-30 20:18:16 -05:00
renovate[bot]
2cd8e4d123 feat(mise): update tool aqua:go-task/task ( 3.47.0 ➔ 3.48.0 ) 2026-01-31 01:14:45 +00:00
renovate[bot]
fe77400a53 fix(container): update image mirror.gcr.io/envoyproxy/gateway-helm ( v1.6.2 ➔ v1.6.3 ) (#2108)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-30 20:14:13 -05:00
renovate[bot]
8aed032e0d fix(container): update image docker.io/cloudflare/cloudflared ( 2026.1.1 ➔ 2026.1.2 ) (#2107)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-30 20:14:06 -05:00
renovate[bot]
2617fc01d3 fix(mise): update tool aqua:cloudflare/cloudflared ( 2026.1.1 ➔ 2026.1.2 ) 2026-01-31 00:50:56 +00:00
renovate[bot]
f4f8f3a1e7 fix(mise): update tool aqua:cue-lang/cue ( 0.15.3 ➔ 0.15.4 ) 2026-01-31 00:50:38 +00:00
renovate[bot]
c675ad00dc feat(mise): update tool aqua:go-task/task ( 3.46.4 ➔ 3.47.0 ) 2026-01-25 00:30:50 +00:00
renovate[bot]
223decd6b6 feat(container): update flux-operator group (#2105)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-24 03:55:43 -05:00
renovate[bot]
a24162b36a feat(mise): update tool aqua:helm/helm ( 4.0.5 ➔ 4.1.0 ) 2026-01-24 03:36:51 +00:00
renovate[bot]
9e6a7d7de6 feat(mise): update tool aqua:cli/cli ( 2.85.0 ➔ 2.86.0 ) 2026-01-24 03:36:28 +00:00
renovate[bot]
cdd4c33938 ci(github-action): update action jdx/mise-action ( v3.5.1 ➔ v3.6.1 ) 2026-01-24 03:35:44 +00:00
renovate[bot]
40c5b938e6 fix(mise): update tool aqua:siderolabs/talos ( 1.12.1 ➔ 1.12.2 ) 2026-01-24 03:35:29 +00:00
renovate[bot]
f257cd078b fix(container): update image ghcr.io/siderolabs/installer ( v1.12.1 ➔ v1.12.2 ) (#2104)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-23 22:35:07 -05:00
renovate[bot]
c0c4524828 fix(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 81.2.0 ➔ 81.2.2 ) (#2103)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-23 22:34:59 -05:00
renovate[bot]
f778ffd052 fix(container): update image ghcr.io/coredns/charts/coredns ( 1.45.0 ➔ 1.45.2 ) (#2102)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-23 22:34:52 -05:00
renovate[bot]
cfeaa16441 fix(mise): update tool aqua:budimanjojo/talhelper ( 3.1.2 ➔ 3.1.3 ) 2026-01-24 01:55:10 +00:00
renovate[bot]
1cbd1faab0 ci(github-action): update action actions/checkout ( v6.0.1 ➔ v6.0.2 ) 2026-01-24 01:54:26 +00:00
renovate[bot]
2ac27e18f1 feat(container): update flux-operator group (#2098)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-20 21:44:11 -05:00
renovate[bot]
1e8b8b3dd5 feat(mise)!: Update tool aqua:cloudflare/cloudflared ( 2025.11.1 ➔ 2026.1.1 ) (#2101)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-20 21:44:01 -05:00
renovate[bot]
8a49b7f45c feat(container)!: Update image docker.io/cloudflare/cloudflared ( 2025.11.1 ➔ 2026.1.1 ) (#2100)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-20 21:43:54 -05:00
renovate[bot]
6d22e69d27 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 81.0.0 ➔ 81.2.0 ) (#2099)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-20 21:43:46 -05:00
renovate[bot]
99d175c8e2 fix(mise): update tool aqua:budimanjojo/talhelper ( 3.1.1 ➔ 3.1.2 ) 2026-01-21 02:04:36 +00:00
Devin Buhl
fb0a6a12f9 fix: 6 days LE certificates (#2097) 2026-01-20 21:03:20 -05:00
Devin Buhl
a1e88e878c fix: use the default flux distro version
Updated the artifact version for the Flux operator.
2026-01-18 11:58:16 -05:00
Devin Buhl
af186dbe5d fix(talos): add default route configuration (#2096) 2026-01-18 09:36:07 -05:00
renovate[bot]
7cc95d3241 feat(container)!: Update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 80.14.4 ➔ 81.0.0 ) (#2095)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-16 21:13:54 -05:00
Devin Buhl
5cd38a4383 feat: sync envoy proxy config
Updated compression settings to use Zstd and adjusted related configurations.
2026-01-16 08:18:03 -05:00
renovate[bot]
89b8da3f45 feat(mise): update tool aqua:cli/cli ( 2.83.2 ➔ 2.85.0 ) 2026-01-16 13:15:02 +00:00
renovate[bot]
7623eaf947 fix(container): update image mirror.gcr.io/envoyproxy/gateway-helm ( v1.6.1 ➔ v1.6.2 ) (#2090)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2026-01-16 08:14:41 -05:00
renovate[bot]
2bebaf6a2f fix(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 80.14.3 ➔ 80.14.4 ) (#2094)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-16 08:14:25 -05:00
renovate[bot]
86302aaa72 fix(container): update image ghcr.io/bjw-s-labs/helm/app-template ( 4.6.0 ➔ 4.6.2 ) (#2093)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-16 08:14:19 -05:00
renovate[bot]
fe698f1ab1 fix(mise): update tool aqua:helm/helm ( 4.0.4 ➔ 4.0.5 ) 2026-01-16 13:13:02 +00:00
renovate[bot]
6884de642f fix(mise): update tool aqua:budimanjojo/talhelper ( 3.1.0 ➔ 3.1.1 ) 2026-01-16 13:12:35 +00:00
renovate[bot]
24d5b826f6 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 80.13.3 ➔ 80.14.3 ) (#2091)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2026-01-15 11:24:36 -05:00
Devin Buhl
b0971242f7 chore: update talhelper version to 3.1.0 (#2092) 2026-01-15 11:24:27 -05:00
Devin Buhl
9a2cb1fa3b revert: "feat(mise): update tool aqua:budimanjojo/talhelper ( 3.0.45 ➔ 3.1.0 )" 2026-01-14 10:59:04 -05:00
renovate[bot]
99e670aa85 feat(mise): update tool aqua:cilium/cilium-cli ( 0.18.9 ➔ 0.19.0 ) 2026-01-14 15:53:24 +00:00
renovate[bot]
4eeb49c9cd feat(mise): update tool aqua:budimanjojo/talhelper ( 3.0.45 ➔ 3.1.0 ) 2026-01-14 15:53:04 +00:00
Devin Buhl
76dd86e878 chore: migrate to official cilium OCI chart (#2089) 2026-01-13 09:10:11 -05:00
renovate[bot]
467f1b3634 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 80.11.0 ➔ 80.13.3 ) (#2086)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-13 09:09:53 -05:00
renovate[bot]
e4474ef6b6 feat(container): update image ghcr.io/bjw-s-labs/helm/app-template ( 4.5.0 ➔ 4.6.0 ) (#2085)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-13 09:09:46 -05:00
renovate[bot]
dcafb24ad2 fix(container): update image ghcr.io/k8s-gateway/charts/k8s-gateway ( 3.4.0 ➔ 3.4.1 ) (#2088)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-13 09:09:39 -05:00
renovate[bot]
3e4a3ef36f feat(container)!: Update image ghcr.io/mendhak/http-https-echo ( 38 ➔ 39 ) (#2087)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-13 09:09:33 -05:00
Devin Buhl
3dd05b2883 fix: helm v4 changes (#2084) 2026-01-07 10:17:54 -05:00
renovate[bot]
778fcc4e3b fix(container): update image ghcr.io/siderolabs/installer ( v1.12.0 ➔ v1.12.1 ) (#2082)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 19:45:19 -05:00
renovate[bot]
3c17e076ea feat(container): update image ghcr.io/k8s-gateway/charts/k8s-gateway ( 3.3.0 ➔ 3.4.0 ) (#2083)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 19:44:25 -05:00
renovate[bot]
06edc1753d fix(mise): update tool aqua:siderolabs/talos ( 1.12.0 ➔ 1.12.1 ) 2026-01-06 00:43:03 +00:00
renovate[bot]
ce63f8225f fix(mise): update tool aqua:budimanjojo/talhelper ( 3.0.44 ➔ 3.0.45 ) 2026-01-06 00:42:43 +00:00
renovate[bot]
56a762ef87 feat(container): update image ghcr.io/home-operations/charts-mirror/external-dns ( 1.19.0 ➔ 1.20.0 ) (#2079)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 19:42:07 -05:00
renovate[bot]
9031abaa06 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 80.9.1 ➔ 80.11.0 ) (#2080)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-05 10:15:59 -05:00
renovate[bot]
db9f0ff7a4 feat(container): update image ghcr.io/k8s-gateway/charts/k8s-gateway ( 3.2.8 ➔ 3.3.0 ) (#2081)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-04 14:39:30 -05:00
Devin Lauderdale
97e2c61865 feat: add kernel_modules argument to talconfig (#2076) 2025-12-31 08:31:42 -05:00
renovate[bot]
333bae6447 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 80.8.0 ➔ 80.9.1 ) (#2078)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-30 17:54:54 -05:00
renovate[bot]
3975fff171 fix(mise): update tool aqua:cue-lang/cue ( 0.15.1 ➔ 0.15.3 ) 2025-12-30 22:53:04 +00:00
Jason Whitelock
35996440e3 Update talhelper version to 3.0.44 (#2077) 2025-12-30 17:52:33 -05:00
renovate[bot]
662f244401 fix(mise): update tool aqua:filosottile/age ( 1.3.0 ➔ 1.3.1 ) 2025-12-28 14:13:48 +00:00
David Luo
855becb3bf fix: swap link for k8s-gateway to maintained fork (#2074) 2025-12-28 06:57:52 -05:00
renovate[bot]
f5dae5a666 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 80.6.0 ➔ 80.8.0 ) (#2073)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-28 06:57:15 -05:00
renovate[bot]
d2a8f117af feat(mise): update tool aqua:filosottile/age ( 1.2.1 ➔ 1.3.0 ) 2025-12-28 01:53:32 +00:00
renovate[bot]
7d88f1518e ci(github-action): update action ghcr.io/allenporter/flux-local ( v8.0.1 ➔ v8.1.0 ) 2025-12-27 17:23:05 +00:00
renovate[bot]
239b38295a fix(mise): update tool aqua:go-task/task ( 3.46.3 ➔ 3.46.4 ) 2025-12-27 00:57:32 +00:00
renovate[bot]
43376e2e60 feat(container): update flux-operator group (#2071)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-24 11:39:15 -05:00
renovate[bot]
67f47e1bf7 feat(container): update image ghcr.io/siderolabs/kubelet ( v1.34.3 ➔ v1.35.0 ) (#2068)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-24 11:39:02 -05:00
renovate[bot]
aebf566f23 feat(container): update image ghcr.io/siderolabs/installer ( v1.11.6 ➔ v1.12.0 ) (#2072)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-24 11:35:08 -05:00
renovate[bot]
530438ef40 feat(mise): update tool aqua:siderolabs/talos ( 1.11.6 ➔ 1.12.0 ) 2025-12-24 16:32:01 +00:00
Devin Buhl
58ca670090 fix: set trustedCIDRs for clientIPDetection 2025-12-21 07:55:14 -05:00
renovate[bot]
8dc1d6ae26 fix(container): update image ghcr.io/siderolabs/installer ( v1.11.5 ➔ v1.11.6 ) (#2065)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-20 07:06:38 -05:00
renovate[bot]
a564dfad24 feat(container): update flux-operator group (#2066)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-20 07:06:22 -05:00
renovate[bot]
9a2190b1cb fix(container): update image ghcr.io/home-operations/charts-mirror/cilium ( 1.18.4 ➔ 1.18.5 ) (#2064)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-20 07:06:07 -05:00
renovate[bot]
867c865723 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 80.4.1 ➔ 80.6.0 ) (#2067)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-20 07:05:48 -05:00
renovate[bot]
1e5ec86683 feat(container): update image ghcr.io/spegel-org/helm-charts/spegel ( 0.5.1 ➔ 0.6.0 ) (#2069)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-20 07:05:31 -05:00
renovate[bot]
a5dbd79c54 feat(mise): update tool aqua:kubernetes/kubernetes/kubectl ( 1.34.3 ➔ 1.35.0 ) 2025-12-20 09:46:40 +00:00
renovate[bot]
2171f3ddaf feat(mise): update tool aqua:go-task/task ( 3.45.5 ➔ 3.46.3 ) 2025-12-20 09:46:21 +00:00
renovate[bot]
4f139e6590 fix(mise): update tool aqua:siderolabs/talos ( 1.11.5 ➔ 1.11.6 ) 2025-12-20 05:35:24 +00:00
renovate[bot]
58dc733461 fix(mise): update tool aqua:budimanjojo/talhelper ( 3.0.42 ➔ 3.0.43 ) 2025-12-20 05:35:10 +00:00
renovate[bot]
4a791c88cf fix(mise): update tool aqua:helmfile/helmfile ( 1.2.2 ➔ 1.2.3 ) 2025-12-20 02:06:05 +00:00
renovate[bot]
ec6bf70eb6 fix(mise): update tool aqua:budimanjojo/talhelper ( 3.0.41 ➔ 3.0.42 ) 2025-12-20 02:05:49 +00:00
Wasurerarenai
c3d5a004a8 Add permissions for release job in workflow (#2063) 2025-12-17 11:24:33 -05:00
renovate[bot]
0216e36f9c fix(container): update image ghcr.io/stakater/charts/reloader ( 2.2.6 ➔ 2.2.7 ) (#2062)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-15 10:00:06 -05:00
Aniss Grabsi
8ef2f9d1bb Allow renovate to create the Renovate Dashboard for the first time (#2060) 2025-12-14 16:04:01 -05:00
renovate[bot]
dae0dbee0d ci(github-action): update action tj-actions/changed-files ( v47.0.0 ➔ v47.0.1 ) 2025-12-14 13:49:21 +00:00
renovate[bot]
c553312119 feat(mise): update tool aqua:mikefarah/yq ( 4.49.2 ➔ 4.50.1 ) 2025-12-14 08:39:16 +00:00
renovate[bot]
44d6be26b6 fix(mise): update tool aqua:kubernetes/kubernetes/kubectl ( 1.34.0 ➔ 1.34.3 ) 2025-12-13 11:41:12 +00:00
Bogdan
6de0c86710 chore: fix kubectl package name in mise.toml (#2059) 2025-12-13 06:40:44 -05:00
renovate[bot]
3143a47c61 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 80.2.0 ➔ 80.4.1 ) (#2058)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-12 21:59:59 -05:00
renovate[bot]
c6779d39a0 fix(container): update image ghcr.io/stakater/charts/reloader ( 2.2.5 ➔ 2.2.6 ) (#2057)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-12 21:59:46 -05:00
renovate[bot]
6ca9318aa7 fix(mise): update tool aqua:helm/helm ( 3.19.2 ➔ 3.19.4 ) 2025-12-13 01:14:36 +00:00
renovate[bot]
2bab9baecf fix(mise): update tool aqua:cli/cli ( 2.83.1 ➔ 2.83.2 ) 2025-12-13 01:09:09 +00:00
renovate[bot]
4f0a57b645 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 80.0.0 ➔ 80.2.0 ) (#2056)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-10 10:48:19 -05:00
renovate[bot]
754a13a815 fix(container): update image quay.io/jetstack/charts/cert-manager ( v1.19.1 ➔ v1.19.2 ) (#2055)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-10 10:48:13 -05:00
renovate[bot]
42167ee6aa fix(container): update image ghcr.io/siderolabs/kubelet ( v1.34.2 ➔ v1.34.3 ) (#2054)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-10 10:48:06 -05:00
Jason Whitelock
cb89ff5425 Add mise-vscode extension recommendation (#2053) 2025-12-08 07:34:36 -05:00
renovate[bot]
773e8ec404 feat(container)!: Update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 79.12.0 ➔ 80.0.0 ) (#2052)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-07 19:06:29 -05:00
renovate[bot]
057c9dcbb2 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 79.9.0 ➔ 79.12.0 ) (#2051)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-06 07:52:49 -05:00
renovate[bot]
7f04993c48 feat(container): update image ghcr.io/bjw-s-labs/helm/app-template ( 4.4.0 ➔ 4.5.0 ) (#2050)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-06 07:52:41 -05:00
renovate[bot]
e1a0fa5e44 feat(container): update flux-operator group (#2049)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-06 07:52:31 -05:00
renovate[bot]
4054dad3ef fix(container): update image mirror.gcr.io/envoyproxy/gateway-helm ( v1.6.0 ➔ v1.6.1 ) (#2048)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-06 07:52:15 -05:00
renovate[bot]
290d9201e2 fix(mise): update tool python ( 3.14.0 ➔ 3.14.2 ) 2025-12-06 04:41:24 +00:00
renovate[bot]
81e8caead2 fix(mise): update tool pipx:makejinja ( 2.8.1 ➔ 2.8.2 ) 2025-12-06 04:41:09 +00:00
renovate[bot]
885057f912 fix(mise): update tool aqua:cilium/cilium-cli ( 0.18.8 ➔ 0.18.9 ) 2025-12-06 02:25:39 +00:00
renovate[bot]
4c0efbb18d ci(github-action): update action actions/checkout ( v6.0.0 ➔ v6.0.1 ) 2025-12-06 02:25:25 +00:00
Devin Buhl
1762c86490 chore: update namespace in certificate command 2025-12-05 09:53:00 -05:00
Devin Buhl
c43ababf00 chore: update README
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-12-05 09:27:41 -05:00
Devin Buhl
b846e30152 chore: update README
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-12-05 09:14:58 -05:00
Devin Buhl
d2fa7c478b chore: add sysctl net.ipv4.tcp_slow_start_after_idle 2025-11-30 08:55:16 -05:00
renovate[bot]
5b1c85792b feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 79.7.1 ➔ 79.9.0 ) (#2046)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-29 07:07:40 -05:00
renovate[bot]
d6fafbf735 feat(container): update flux-operator group (#2045)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-29 07:07:24 -05:00
renovate[bot]
b793f07bfc fix(mise): update tool aqua:mikefarah/yq ( 4.49.1 ➔ 4.49.2 ) 2025-11-29 04:49:48 +00:00
renovate[bot]
07680c967b fix(mise): update tool aqua:helmfile/helmfile ( 1.2.1 ➔ 1.2.2 ) 2025-11-29 01:04:36 +00:00
renovate[bot]
6d1119a2e1 fix(mise): update tool aqua:fluxcd/flux2 ( 2.7.3 ➔ 2.7.5 ) 2025-11-29 01:04:23 +00:00
Bogdan
9e079595de Add label for digest update types (#2044) 2025-11-28 06:50:56 -05:00
renovate[bot]
8907757a70 fix(mise): update tool aqua:budimanjojo/talhelper ( 3.0.39 ➔ 3.0.41 ) 2025-11-24 16:17:43 +00:00
renovate[bot]
43ce82058d ci(github-action): update action jdx/mise-action ( v3.5.0 ➔ v3.5.1 ) 2025-11-24 16:17:25 +00:00
renovate[bot]
502681781a fix(mise): update tool aqua:helmfile/helmfile ( 1.2.0 ➔ 1.2.1 ) 2025-11-23 13:00:49 +00:00
Devin Buhl
006696d87f chore: enable cilium socketLB 2025-11-22 08:10:36 -05:00
renovate[bot]
b8b164f931 ci(github-action): update action jdx/mise-action ( v3.4.1 ➔ v3.5.0 ) 2025-11-22 12:18:29 +00:00
renovate[bot]
7c5518199f ci(github-action): update action ghcr.io/allenporter/flux-local ( v8.0.0 ➔ v8.0.1 ) 2025-11-22 12:18:18 +00:00
renovate[bot]
735ff2c1ba feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 79.5.0 ➔ 79.7.1 ) (#2042)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-22 06:22:42 -05:00
renovate[bot]
e578527148 ci(github-action)!: Update action actions/checkout ( v5.0.1 ➔ v6.0.0 ) (#2043)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-22 06:22:21 -05:00
renovate[bot]
826bdd6e56 feat(mise): update tool aqua:mikefarah/yq ( 4.48.2 ➔ 4.49.1 ) 2025-11-22 04:48:12 +00:00
renovate[bot]
e9e2297350 feat(mise): update tool aqua:helmfile/helmfile ( 1.1.9 ➔ 1.2.0 ) 2025-11-22 04:47:55 +00:00
renovate[bot]
49353ee17c fix(mise): update tool aqua:cue-lang/cue ( 0.15.0 ➔ 0.15.1 ) 2025-11-22 00:49:45 +00:00
renovate[bot]
ca3aa47da0 ci(github-action): update action actions/checkout ( v5.0.0 ➔ v5.0.1 ) 2025-11-22 00:49:31 +00:00
Devin Buhl
e9daab2adf chore: update Talos installation instructions in README
Added guidance on selecting CPU-specific system extensions for Talos installation.
2025-11-17 10:04:10 -05:00
Tanguille
02a15b3b78 docs: add instructions to add nodes (#2040) 2025-11-16 08:10:56 -05:00
Bogdan
1427c95167 chore: disable envoy and gatewayAPI for cilium (#2041) 2025-11-16 08:10:31 -05:00
renovate[bot]
7a3a216a19 fix(mise): update tool aqua:mikefarah/yq ( 4.48.1 ➔ 4.48.2 ) 2025-11-15 06:07:15 +00:00
renovate[bot]
d61fbd08ad feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 79.4.1 ➔ 79.5.0 ) (#2036)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-14 08:55:51 -05:00
renovate[bot]
4f87ae748f feat(container): update image mirror.gcr.io/envoyproxy/gateway-helm ( v1.5.4 ➔ v1.6.0 ) (#2037)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2025-11-14 08:55:43 -05:00
renovate[bot]
d6bda80aaf ci(github-action)!: Update action ghcr.io/allenporter/flux-local ( v7.11.0 ➔ v8.0.0 ) (#2038)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-14 08:52:58 -05:00
renovate[bot]
7007835b41 fix(mise): update tool aqua:helm/helm ( 3.19.0 ➔ 3.19.2 ) 2025-11-14 13:45:11 +00:00
renovate[bot]
6f066ebe15 fix(mise): update tool aqua:go-task/task ( 3.45.4 ➔ 3.45.5 ) 2025-11-14 13:44:58 +00:00
renovate[bot]
831cec446c fix(container): update image ghcr.io/siderolabs/kubelet ( v1.34.1 ➔ v1.34.2 ) (#2035)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-14 08:44:30 -05:00
renovate[bot]
5475d33e3e fix(container): update image ghcr.io/home-operations/charts-mirror/cilium ( 1.18.3 ➔ 1.18.4 ) (#2034)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-14 08:44:16 -05:00
renovate[bot]
7727943008 fix(mise): update tool aqua:cli/cli ( 2.83.0 ➔ 2.83.1 ) 2025-11-14 13:43:21 +00:00
renovate[bot]
c1c365c3c8 ci(github-action): update action jdx/mise-action ( v3.4.0 ➔ v3.4.1 ) 2025-11-14 13:42:55 +00:00
renovate[bot]
90fc72a6f1 fix(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 79.4.0 ➔ 79.4.1 ) (#2033)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-08 16:58:48 -05:00
renovate[bot]
f6e9f8598b feat(container): update image ghcr.io/spegel-org/helm-charts/spegel ( 0.4.0 ➔ 0.5.1 ) (#2032)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2025-11-08 06:06:32 -05:00
renovate[bot]
879f17d477 fix(container): update image ghcr.io/siderolabs/installer ( v1.11.3 ➔ v1.11.5 ) (#2028)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-08 06:04:53 -05:00
renovate[bot]
649478fb06 fix(container): update image ghcr.io/stakater/charts/reloader ( 2.2.3 ➔ 2.2.5 ) (#2029)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-08 06:04:33 -05:00
renovate[bot]
bf0ec86740 feat(container): update image docker.io/cloudflare/cloudflared ( 2025.10.1 ➔ 2025.11.1 ) (#2030)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-08 06:04:19 -05:00
renovate[bot]
c757e9331d feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 79.1.1 ➔ 79.4.0 ) (#2031)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-08 06:04:06 -05:00
renovate[bot]
77ca7d2998 feat(mise): update tool aqua:cue-lang/cue ( 0.14.2 ➔ 0.15.0 ) 2025-11-08 09:53:20 +00:00
renovate[bot]
e58a84f9b1 feat(mise): update tool aqua:cloudflare/cloudflared ( 2025.10.1 ➔ 2025.11.1 ) 2025-11-08 09:53:03 +00:00
renovate[bot]
e9a4dc8a5e feat(mise): update tool aqua:cli/cli ( 2.82.1 ➔ 2.83.0 ) 2025-11-08 06:06:09 +00:00
renovate[bot]
1e05f38f43 ci(github-action): update action jdx/mise-action ( v3.3.1 ➔ v3.4.0 ) 2025-11-08 06:05:41 +00:00
renovate[bot]
23d5a00a45 fix(mise): update tool aqua:siderolabs/talos ( 1.11.3 ➔ 1.11.5 ) 2025-11-08 00:53:44 +00:00
renovate[bot]
82a68fcd59 fix(mise): update tool aqua:budimanjojo/talhelper ( 3.0.38 ➔ 3.0.39 ) 2025-11-08 00:53:29 +00:00
renovate[bot]
4f6c4feb0f fix(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 79.1.0 ➔ 79.1.1 ) (#2027)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-02 16:55:43 -05:00
renovate[bot]
16a144e654 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 79.0.1 ➔ 79.1.0 ) (#2026)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-01 06:56:37 -04:00
renovate[bot]
fc97512b14 feat(container): update flux-operator group (#2024)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-31 20:55:11 -04:00
renovate[bot]
67e39f298b feat(container)!: Update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 78.5.0 ➔ 79.0.1 ) (#2025)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-31 20:54:54 -04:00
renovate[bot]
3401fcb5eb fix(mise): update tool aqua:helmfile/helmfile ( 1.1.7 ➔ 1.1.9 ) 2025-11-01 00:33:28 +00:00
renovate[bot]
c4b5cd4d1a fix(container): update image ghcr.io/k8s-gateway/charts/k8s-gateway ( 3.2.7 ➔ 3.2.8 ) (#2023)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-31 20:33:05 -04:00
renovate[bot]
0628925610 fix(container): update image docker.io/cloudflare/cloudflared ( 2025.10.0 ➔ 2025.10.1 ) (#2022)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-31 20:32:57 -04:00
renovate[bot]
4656ad7d09 fix(mise): update tool aqua:fluxcd/flux2 ( 2.7.2 ➔ 2.7.3 ) 2025-11-01 00:14:26 +00:00
renovate[bot]
65eb01e172 fix(mise): update tool aqua:cloudflare/cloudflared ( 2025.10.0 ➔ 2025.10.1 ) 2025-11-01 00:14:10 +00:00
wasurerarenai
5e90b3c1a3 fix: template Taskfile.yaml - talenv.sops.yaml patch (#2021) 2025-10-25 07:48:01 -04:00
Antoine Bertin
9f0406e482 fix(talos): admissionControl patch (#2020) 2025-10-25 07:02:52 -04:00
renovate[bot]
e6f368a76b feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 78.4.0 ➔ 78.5.0 ) (#2018)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-25 06:57:28 -04:00
renovate[bot]
1de5259240 fix(container): update image mirror.gcr.io/envoyproxy/gateway-helm ( 1.5.3 ➔ v1.5.4 ) (#2017)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-25 06:57:16 -04:00
renovate[bot]
3b218a4f43 fix(container): update image ghcr.io/home-operations/charts-mirror/cilium ( 1.18.2 ➔ 1.18.3 ) (#2016)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-25 06:57:06 -04:00
renovate[bot]
81964af988 feat(container)!: Update image ghcr.io/mendhak/http-https-echo ( 37 ➔ 38 ) (#2019)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-25 06:56:53 -04:00
renovate[bot]
b219f792ef ci(github-action): update action ghcr.io/allenporter/flux-local ( v7.10.1 ➔ v7.11.0 ) 2025-10-25 04:51:49 +00:00
renovate[bot]
8189126c5d fix(mise): update tool aqua:cli/cli ( 2.82.0 ➔ 2.82.1 ) 2025-10-25 02:10:46 +00:00
renovate[bot]
7a83c819e4 fix(mise): update tool aqua:cilium/cilium-cli ( 0.18.7 ➔ 0.18.8 ) 2025-10-25 02:10:28 +00:00
renovate[bot]
632bf35507 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 78.3.1 ➔ 78.4.0 ) (#2015)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-21 19:36:52 -04:00
Devin Buhl
b1e2aa9ed9 fix: path to cluster-secrets.sops.yaml 2025-10-21 07:29:25 -04:00
renovate[bot]
2c1a4e3dd3 fix(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 78.3.0 ➔ 78.3.1 ) (#2013)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-18 05:56:16 -04:00
renovate[bot]
31afb30961 feat(container): update image ghcr.io/coredns/charts/coredns ( 1.44.3 ➔ 1.45.0 ) (#2014)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-18 05:56:04 -04:00
Devin Buhl
7f257bfa62 chore: update README
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-10-16 17:56:55 -04:00
Devin Buhl
b7bd604568 chore: remove yaml jsonschemas
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-10-16 17:53:17 -04:00
Devin Buhl
129d8bd92d feat: switch to envoy-gateway (#2011) 2025-10-16 17:50:34 -04:00
Devin Buhl
c69a0ab8df feat: remove namespace component (#2010) 2025-10-16 13:45:33 -04:00
Devin Buhl
5f78c89a6e feat: set helmrelease defaults via ks patch (#2009) 2025-10-16 13:39:43 -04:00
renovate[bot]
46be724751 feat(container): update image ghcr.io/wiremind/wiremind-helm-charts/gateway-api-crds ( 1.3.0 ➔ 1.4.0 ) (#2008)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-16 13:16:47 -04:00
renovate[bot]
295f495205 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 78.2.0 ➔ 78.3.0 ) (#2007)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-16 13:16:41 -04:00
renovate[bot]
bb292ac27d feat(container): update image ghcr.io/bjw-s-labs/helm/app-template ( 4.3.0 ➔ 4.4.0 ) (#2006)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-16 13:16:34 -04:00
renovate[bot]
b23b480dc5 feat(container): update image docker.io/cloudflare/cloudflared ( 2025.9.1 ➔ 2025.10.0 ) (#2005)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-16 13:16:27 -04:00
renovate[bot]
41326abae6 fix(container): update image quay.io/jetstack/charts/cert-manager ( v1.19.0 ➔ v1.19.1 ) (#2004)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-16 13:16:16 -04:00
renovate[bot]
fbc602fe38 fix(container): update image ghcr.io/siderolabs/installer ( v1.11.2 ➔ v1.11.3 ) (#2003)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-16 13:16:03 -04:00
renovate[bot]
16ffa092b2 feat(mise): update tool aqua:cloudflare/cloudflared ( 2025.9.1 ➔ 2025.10.0 ) 2025-10-16 17:15:55 +00:00
renovate[bot]
11f4a1731e feat(mise): update tool aqua:cli/cli ( 2.81.0 ➔ 2.82.0 ) 2025-10-16 17:15:35 +00:00
renovate[bot]
c678ab7535 fix(mise): update tool aqua:siderolabs/talos ( 1.11.2 ➔ 1.11.3 ) 2025-10-16 17:14:31 +00:00
renovate[bot]
3398d67cda fix(mise): update tool aqua:budimanjojo/talhelper ( 3.0.37 ➔ 3.0.38 ) 2025-10-16 17:14:16 +00:00
renovate[bot]
55726ef788 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 78.1.0 ➔ 78.2.0 ) (#2002)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-12 09:08:49 -04:00
renovate[bot]
77c39856d6 feat(mise): update tool aqua:mikefarah/yq ( 4.47.2 ➔ 4.48.1 ) 2025-10-12 04:33:20 +00:00
renovate[bot]
e12247c974 feat(container)!: Update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 77.14.0 ➔ 78.1.0 ) (#2001)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-11 06:07:14 -04:00
renovate[bot]
cb9d943cb3 feat(container): update flux-operator group (#1998)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-11 06:06:56 -04:00
renovate[bot]
ff837b90ae feat(container): update image quay.io/jetstack/charts/cert-manager ( v1.18.2 ➔ v1.19.0 ) (#2000)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-11 06:06:00 -04:00
renovate[bot]
ee07fa5467 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 77.13.0 ➔ 77.14.0 ) (#1999)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-11 06:05:47 -04:00
renovate[bot]
3d22ff06cd feat(mise): update tool python ( 3.13.8 ➔ 3.14.0 ) 2025-10-11 09:12:58 +00:00
renovate[bot]
0105eb5776 ci(github-action): update action jdx/mise-action ( v3.2.0 ➔ v3.3.1 ) 2025-10-11 05:33:05 +00:00
renovate[bot]
dbdf1b960c fix(mise): update tool aqua:fluxcd/flux2 ( 2.7.0 ➔ 2.7.2 ) 2025-10-11 05:32:51 +00:00
renovate[bot]
00ae9a4c69 fix(mise): update tool aqua:cue-lang/cue ( 0.14.1 ➔ 0.14.2 ) 2025-10-11 00:42:54 +00:00
renovate[bot]
c960edeeea fix(mise): update tool aqua:budimanjojo/talhelper ( 3.0.36 ➔ 3.0.37 ) 2025-10-11 00:42:39 +00:00
renovate[bot]
c47bd71043 ci(github-action): update action ghcr.io/allenporter/flux-local ( v7.10.0 ➔ v7.10.1 ) 2025-10-04 17:44:58 +00:00
renovate[bot]
0ebd6b8884 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 77.12.0 ➔ 77.13.0 ) (#1996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-04 06:32:49 -04:00
renovate[bot]
f0ec01f979 feat(container): update image ghcr.io/coredns/charts/coredns ( 1.43.3 ➔ 1.44.3 ) (#1995)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-04 06:32:37 -04:00
renovate[bot]
ec452c9d6c feat(mise): update tool aqua:cli/cli ( 2.80.0 ➔ 2.81.0 ) 2025-10-04 00:26:37 +00:00
Robert Resch
f42d85ecda fix(container): Align network kustomizations with oher ones (#1994) 2025-10-01 17:33:36 -04:00
Robert Resch
63b67b99be Use ed25519 to generate deploy-key (#1993) 2025-10-01 06:19:12 -04:00
Devin Buhl
ceed1912df feat(flux): add patch to watch configmaps and secrets 2025-09-30 11:38:31 -04:00
Devin Buhl
1d9fb298d9 fix: implement Sops decryption in cluster configurations
Added Sops decryption configuration to cluster metadata and apps.
2025-09-30 11:31:55 -04:00
Devin Buhl
3461e65bc6 feat: add kustomize-controller sops decryption (#1969) 2025-09-30 08:38:04 -04:00
renovate[bot]
5389fe31c4 feat(container): update flux-operator group (#1992)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-30 08:34:23 -04:00
renovate[bot]
beada43f73 feat(mise): update tool aqua:fluxcd/flux2 ( 2.6.4 ➔ 2.7.0 ) 2025-09-30 12:34:07 +00:00
Devin Buhl
d564969646 feat(flux): pre 2.7.0 changes (#1991) 2025-09-30 08:32:34 -04:00
renovate[bot]
317db1721a feat(mise): update tool aqua:getsops/sops ( 3.10.2 ➔ 3.11.0 ) 2025-09-28 21:56:46 +00:00
renovate[bot]
fab2b50903 fix(mise): update tool aqua:budimanjojo/talhelper ( 3.0.35 ➔ 3.0.36 ) 2025-09-27 04:22:58 +00:00
renovate[bot]
2f91966224 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 77.10.0 ➔ 77.12.0 ) (#1990)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-26 22:07:04 -04:00
renovate[bot]
26bce0e92a feat(container): update flux-operator group ( 0.28.0 ➔ 0.29.0 ) (#1989)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-26 22:06:51 -04:00
renovate[bot]
e0f7813d73 feat(mise): update tool aqua:cli/cli ( 2.79.0 ➔ 2.80.0 ) 2025-09-27 01:46:15 +00:00
renovate[bot]
9cd87b6ccf fix(container): update image docker.io/cloudflare/cloudflared ( 2025.9.0 ➔ 2025.9.1 ) (#1987)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-26 21:45:51 -04:00
renovate[bot]
3a4016a975 fix(container): update image ghcr.io/siderolabs/installer ( v1.11.1 ➔ v1.11.2 ) (#1988)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-26 21:45:37 -04:00
renovate[bot]
93b46772c0 fix(mise): update tool aqua:siderolabs/talos ( 1.11.1 ➔ 1.11.2 ) 2025-09-27 01:44:52 +00:00
renovate[bot]
fc8dc142d3 fix(mise): update tool aqua:cloudflare/cloudflared ( 2025.9.0 ➔ 2025.9.1 ) 2025-09-27 01:44:35 +00:00
renovate[bot]
a72568b4fd feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 77.6.2 ➔ 77.10.0 ) (#1985)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-19 21:40:06 -04:00
renovate[bot]
e3fbdd7de9 feat(mise): update tool aqua:go-task/task ( 3.44.1 ➔ 3.45.4 ) (#1986)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-20 01:39:57 +00:00
renovate[bot]
60a3daee46 feat(container): update image ghcr.io/bjw-s-labs/helm/app-template ( 4.2.0 ➔ 4.3.0 ) (#1984)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-19 21:39:48 -04:00
renovate[bot]
4f9d1d34b6 feat(container): update image docker.io/cloudflare/cloudflared ( 2025.8.1 ➔ 2025.9.0 ) (#1983)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-19 21:39:39 -04:00
renovate[bot]
af1d513ee6 fix(container): update image ghcr.io/stakater/charts/reloader ( 2.2.2 ➔ 2.2.3 ) (#1982)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-19 21:39:29 -04:00
renovate[bot]
b356905bcc fix(container): update image ghcr.io/home-operations/charts-mirror/cilium ( 1.18.1 ➔ 1.18.2 ) (#1981)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-19 21:39:19 -04:00
renovate[bot]
cf12f8bb75 feat(mise): update tool aqua:cloudflare/cloudflared ( 2025.8.1 ➔ 2025.9.0 ) 2025-09-20 01:24:50 +00:00
renovate[bot]
2a4c6ab9e5 ci(github-action): update action ghcr.io/allenporter/flux-local ( v7.9.0 ➔ v7.10.0 ) 2025-09-20 01:24:23 +00:00
renovate[bot]
1bd3c8e83f feat(container): update image ghcr.io/spegel-org/helm-charts/spegel ( 0.3.0 ➔ 0.4.0 ) (#1980)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-14 18:06:50 -04:00
renovate[bot]
028d80c71d ci(github-action)!: Update action tj-actions/changed-files ( v46.0.5 ➔ v47.0.0 ) (#1979)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-13 22:42:29 -04:00
renovate[bot]
7c4dcec0f5 feat(mise): update tool aqua:helm/helm ( 3.18.6 ➔ 3.19.0 ) 2025-09-13 21:05:59 +00:00
renovate[bot]
0003b4e78f feat(mise): update tool aqua:cli/cli ( 2.78.0 ➔ 2.79.0 ) 2025-09-13 21:05:39 +00:00
renovate[bot]
e23f7363bd fix(mise): update tool aqua:mikefarah/yq ( 4.47.1 ➔ 4.47.2 ) 2025-09-13 21:05:29 +00:00
renovate[bot]
faa96a7a25 fix(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 77.6.0 ➔ 77.6.2 ) (#1977)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-13 15:59:01 -04:00
renovate[bot]
eae5ca8884 fix(container): update image ghcr.io/siderolabs/kubelet ( v1.34.0 ➔ v1.34.1 ) (#1978)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-13 15:58:48 -04:00
renovate[bot]
ddc6506e47 fix(mise): update tool aqua:helmfile/helmfile ( 1.1.6 ➔ 1.1.7 ) 2025-09-13 18:15:27 +00:00
renovate[bot]
9cf3b1d806 fix(mise): update tool aqua:budimanjojo/talhelper ( 3.0.34 ➔ 3.0.35 ) 2025-09-13 18:15:17 +00:00
renovate[bot]
77c7670ca3 feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 77.5.0 ➔ 77.6.0 ) (#1976)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-10 07:07:25 -04:00
renovate[bot]
4fa6c092df feat(container): update image ghcr.io/home-operations/charts-mirror/external-dns ( 1.18.0 ➔ 1.19.0 ) (#1975)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-10 07:07:11 -04:00
renovate[bot]
0e7a4deffb fix(container): update image ghcr.io/siderolabs/installer ( v1.11.0 ➔ v1.11.1 ) (#1974)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-10 07:07:02 -04:00
renovate[bot]
a8c4dfe2e7 fix(mise): update tool aqua:siderolabs/talos ( 1.11.0 ➔ 1.11.1 ) 2025-09-10 10:56:01 +00:00
Devin Buhl
40500633e0 fix(cloudflare): TUNNEL_TRANSPORT_PROTOCOL to http2
For maximum compatibility
2025-09-08 11:06:31 -04:00
renovate[bot]
2c10a16b7b ci(github-action): update action ghcr.io/allenporter/flux-local ( v7.8.0 ➔ v7.9.0 ) 2025-09-07 20:58:43 +00:00
renovate[bot]
dc99a5e15f feat(container): update image ghcr.io/prometheus-community/charts/kube-prometheus-stack ( 77.3.0 ➔ 77.5.0 ) (#1971)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-06 06:48:36 -04:00
renovate[bot]
27b73bcdd3 ci(github-action)!: Update action actions/labeler ( v5.0.0 ➔ v6.0.1 ) (#1973)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-06 06:48:05 -04:00
renovate[bot]
40e924618e ci(github-action)!: Update action actions/github-script ( v7.1.0 ➔ v8.0.0 ) (#1972)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-06 06:47:53 -04:00
renovate[bot]
82a113c904 ci(github-action): update action actions/github-script ( v7.0.1 ➔ v7.1.0 ) 2025-09-06 04:55:25 +00:00
renovate[bot]
5072fb9bc3 fix(mise): update tool aqua:helmfile/helmfile ( 1.1.5 ➔ 1.1.6 ) 2025-09-06 02:07:46 +00:00
renovate[bot]
0d087e75fd fix(mise): update tool aqua:cilium/cilium-cli ( 0.18.6 ➔ 0.18.7 ) 2025-09-06 02:07:29 +00:00
Devin Buhl
cc96afaa66 Add OCIRepository configuration for flux-instance (#1970) 2025-09-03 23:22:08 -04:00
Devin Buhl
015a2cb57c feat: update bootstrap process and break up HRs and OCIRepos (#1968) 2025-09-02 20:16:34 -04:00
Devin Buhl
a4517ffc99 chore: update mise deps
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-09-02 17:57:38 -04:00
renovate[bot]
13ac3bf278 feat(container): update image ghcr.io/siderolabs/kubelet ( v1.33.4 ➔ v1.34.0 ) (#1965)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2025-09-02 17:56:54 -04:00
renovate[bot]
75b94455a8 feat(container): update image ghcr.io/siderolabs/installer ( v1.10.7 ➔ v1.11.0 ) (#1966)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-02 17:55:19 -04:00
renovate[bot]
97000499e0 feat(mise): update tool aqua:siderolabs/talos ( 1.10.7 ➔ 1.11.0 ) 2025-09-02 21:53:38 +00:00
renovate[bot]
0fc9280182 ci(github-action): update action ncipollo/release-action ( v1.18.0 ➔ v1.20.0 ) 2025-09-02 21:53:01 +00:00
renovate[bot]
6229517149 fix(mise): update tool aqua:budimanjojo/talhelper ( 3.0.33 ➔ 3.0.34 ) 2025-09-02 21:52:50 +00:00
renovate[bot]
69f90ce6e3 fix(container): update image ghcr.io/coredns/charts/coredns ( 1.43.2 ➔ 1.43.3 ) (#1963)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-31 07:25:26 -04:00
renovate[bot]
bf0cf4feff fix(container): update image ghcr.io/k8s-gateway/charts/k8s-gateway ( 3.2.6 ➔ 3.2.7 ) (#1964)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-31 07:25:16 -04:00
renovate[bot]
9f854847b7 fix(mise): update tool aqua:budimanjojo/talhelper ( 3.0.32 ➔ 3.0.33 ) 2025-08-31 09:14:20 +00:00
renovate[bot]
91b53e45e3 fix(container): update image ghcr.io/siderolabs/installer ( v1.10.6 ➔ v1.10.7 ) (#1961)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-26 18:01:53 -04:00
renovate[bot]
898c1aa16a fix(container): update image ghcr.io/stakater/charts/reloader ( 2.2.0 ➔ 2.2.2 ) (#1962)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-26 18:01:42 -04:00
renovate[bot]
62c1cc9c9b ci(github-action): update action jdx/mise-action ( v3.1.0 ➔ v3.2.0 ) 2025-08-26 22:00:55 +00:00
renovate[bot]
c72de5f826 fix(mise): update tool aqua:siderolabs/talos ( 1.10.6 ➔ 1.10.7 ) 2025-08-26 22:00:39 +00:00
Devin Buhl
bcfa91093c chore: housekeeping 🧹 (#1960) 2025-08-26 17:49:50 -04:00
Devin Buhl
27cb263fae chore: refactor package rules and commit message formats
Updated package rules and commit message formats in .renovaterc.json5.
2025-08-26 17:21:48 -04:00
renovate[bot]
728e6f0eef feat(github-release): update release prometheus-operator/prometheus-operator ( v0.84.1 → v0.85.0 ) (#1959)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-23 07:20:46 -04:00
renovate[bot]
02ccf80eee fix(container): update image docker.io/cloudflare/cloudflared ( 2025.8.0 → 2025.8.1 ) (#1958)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-23 07:20:28 -04:00
renovate[bot]
1e69ab27c7 feat(mise): update tool aqua:cli/cli ( 2.76.2 → 2.78.0 ) 2025-08-23 02:02:20 +00:00
renovate[bot]
e7889f5308 fix(mise): update tool aqua:cloudflare/cloudflared ( 2025.8.0 → 2025.8.1 ) 2025-08-23 02:02:02 +00:00
renovate[bot]
87f7cee2c0 ci(github-action)!: Update action jdx/mise-action ( v2.4.4 → v3.1.0 ) (#1957)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-19 19:19:12 -04:00
renovate[bot]
3075858a74 fix(mise): update tool aqua:helm/helm ( 3.18.5 → 3.18.6 ) 2025-08-19 23:17:23 +00:00
renovate[bot]
1d08257b23 feat(container): update flux operator group ( 0.27.0 → 0.28.0 ) (#1956)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-16 09:15:28 -04:00
renovate[bot]
99e370d939 ci(github-action)!: Update action actions/checkout ( v4.3.0 → v5.0.0 ) (#1955)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-15 22:10:02 -04:00
renovate[bot]
44c1d04fa6 fix(container): update image ghcr.io/k8s-gateway/charts/k8s-gateway ( 3.2.3 → 3.2.6 ) (#1952)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-15 22:08:38 -04:00
renovate[bot]
0a0ff92361 ci(github-action): update action actions/checkout ( v4.2.2 → v4.3.0 ) 2025-08-16 02:08:28 +00:00
renovate[bot]
53a91668ac fix(mise): update tool aqua:helmfile/helmfile ( 1.1.4 → 1.1.5 ) 2025-08-16 02:08:15 +00:00
renovate[bot]
c47a588eda fix(container): update image ghcr.io/siderolabs/kubelet ( v1.33.3 → v1.33.4 ) (#1953)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-15 22:08:03 -04:00
renovate[bot]
73c9b4a624 fix(helm): update chart cilium ( 1.18.0 → 1.18.1 ) (#1954)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-15 22:07:52 -04:00
renovate[bot]
973d54004c fix(mise): update tool aqua:helm/helm ( 3.18.4 → 3.18.5 ) 2025-08-16 01:47:11 +00:00
renovate[bot]
89ec706ae9 fix(mise): update tool aqua:cue-lang/cue ( 0.14.0 → 0.14.1 ) 2025-08-16 01:46:55 +00:00
renovate[bot]
0b9ca18c26 fix(mise): update tool aqua:helmfile/helmfile ( 1.1.3 → 1.1.4 ) 2025-08-09 08:57:12 +00:00
renovate[bot]
0a5cf42b9e feat(container): update image docker.io/cloudflare/cloudflared ( 2025.7.0 → 2025.8.0 ) (#1951)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-08 22:00:24 -04:00
renovate[bot]
55d4848902 feat(container): update flux operator group ( 0.26.0 → 0.27.0 ) (#1950)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-08 22:00:18 -04:00
renovate[bot]
c72ffb5afe fix(github-release): update release prometheus-operator/prometheus-operator ( v0.84.0 → v0.84.1 ) (#1949)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-08 22:00:11 -04:00
renovate[bot]
6006d907e4 fix(container): update coredns group ( 1.43.0 → 1.43.2 ) (#1948)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-08 22:00:04 -04:00
renovate[bot]
d7d373594e feat(mise): update tool aqua:cloudflare/cloudflared ( 2025.7.0 → 2025.8.0 ) 2025-08-09 01:24:21 +00:00
renovate[bot]
380e223ce7 ci(github-action): update action ghcr.io/allenporter/flux-local ( v7.7.1 → v7.8.0 ) 2025-08-09 01:23:56 +00:00
Devin Buhl
51e932ffb3 Revert "feat: use gcr mirror for docker.io pulls" (#1947) 2025-08-02 13:15:47 -04:00
Devin Buhl
8e2d39428d feat: update containerd config 2025-08-02 12:31:17 -04:00
Devin Buhl
2230dd2a65 feat: update sysctls 2025-08-02 12:29:18 -04:00
Devin Buhl
b32b2a988c feat: use gcr mirror for docker.io pulls (#1946) 2025-08-02 12:27:02 -04:00
renovate[bot]
f1824ff34b feat(helm): update chart cilium ( 1.17.6 → 1.18.0 ) (#1945)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2025-08-02 08:57:56 -04:00
renovate[bot]
e472301c79 feat(container): update flux operator group ( 0.25.0 → 0.26.0 ) (#1942)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-02 08:57:14 -04:00
renovate[bot]
9137d1f1e8 feat(container): update image ghcr.io/bjw-s-labs/helm/app-template ( 4.1.2 → 4.2.0 ) (#1943)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-02 08:56:54 -04:00
renovate[bot]
9e3a5defc9 feat(container): update image ghcr.io/stakater/charts/reloader ( 2.1.5 → 2.2.0 ) (#1944)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-02 08:56:47 -04:00
renovate[bot]
c68d094bb9 feat(mise): update tool aqua:cue-lang/cue ( 0.13.2 → 0.14.0 ) 2025-08-02 12:53:36 +00:00
renovate[bot]
4401902808 fix(mise): update tool pipx:makejinja ( 2.8.0 → 2.8.1 ) 2025-08-02 06:11:35 +00:00
renovate[bot]
b1706b3dc3 fix(mise): update tool aqua:siderolabs/talos ( 1.10.5 → 1.10.6 ) 2025-08-02 06:11:18 +00:00
renovate[bot]
db28d294c4 fix(mise): update tool aqua:cli/cli ( 2.76.1 → 2.76.2 ) 2025-08-02 02:20:35 +00:00
renovate[bot]
ba8933048a fix(mise): update tool aqua:cilium/cilium-cli ( 0.18.5 → 0.18.6 ) 2025-08-02 02:20:24 +00:00
renovate[bot]
2e31e66208 fix(container): update image ghcr.io/siderolabs/installer ( v1.10.5 → v1.10.6 ) (#1941)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 22:19:18 -04:00
renovate[bot]
05a5da5e00 fix(mise): update tool aqua:budimanjojo/talhelper ( 3.0.31 → 3.0.32 ) 2025-08-02 01:24:56 +00:00
renovate[bot]
6278191814 ci(github-action): update action jdx/mise-action ( v2.4.2 → v2.4.4 ) 2025-08-02 01:24:38 +00:00
renovate[bot]
f1d09526dc ci(github-action): update action jdx/mise-action ( v2.4.0 → v2.4.2 ) 2025-07-27 09:47:23 +00:00
renovate[bot]
30174300f3 ci(github-action): update action ghcr.io/allenporter/flux-local ( v7.7.0 → v7.7.1 ) 2025-07-27 04:41:16 +00:00
renovate[bot]
abc8018472 feat(helm): update chart metrics-server ( 3.12.2 → 3.13.0 ) (#1940)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-26 06:34:34 -04:00
renovate[bot]
fd79011e44 feat(container): update flux operator group ( 0.24.1 → 0.25.0 ) (#1939)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-26 06:34:25 -04:00
renovate[bot]
2fcf83226b feat(mise): update tool aqua:mikefarah/yq ( 4.46.1 → 4.47.1 ) 2025-07-26 10:26:40 +00:00
renovate[bot]
91a5a8c5f2 ci(github-action): update action ghcr.io/allenporter/flux-local ( v7.5.6 → v7.7.0 ) 2025-07-26 04:57:35 +00:00
renovate[bot]
9276695c1a fix(mise): update tool aqua:go-task/task ( 3.44.0 → 3.44.1 ) 2025-07-26 04:57:16 +00:00
renovate[bot]
cc4c0e3dd4 fix(mise): update tool aqua:cli/cli ( 2.76.0 → 2.76.1 ) 2025-07-26 02:35:15 +00:00
renovate[bot]
f0fc383921 fix(mise): update tool aqua:budimanjojo/talhelper ( 3.0.30 → 3.0.31 ) 2025-07-26 02:34:59 +00:00
Hef
a589981a59 fix labeler permissions (#1938) 2025-07-19 18:17:28 -04:00
renovate[bot]
2f36551c0a feat(mise): update tool aqua:cli/cli ( 2.75.0 → 2.76.0 ) 2025-07-18 21:04:17 +00:00
renovate[bot]
cb2a70b2d1 ci(github-action): update action jdx/mise-action ( v2.3.1 → v2.4.0 ) 2025-07-18 21:04:02 +00:00
renovate[bot]
655c6a44c3 feat(helm): update chart external-dns ( 1.17.0 → 1.18.0 ) (#1937)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 17:03:09 -04:00
renovate[bot]
a637ff9dea feat(github-release): update release prometheus-operator/prometheus-operator ( v0.83.0 → v0.84.0 ) (#1936)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 17:02:47 -04:00
renovate[bot]
ba04289c3b fix(helm): update chart cilium ( 1.17.5 → 1.17.6 ) (#1935)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 17:02:41 -04:00
renovate[bot]
9697055319 fix(container): update image ghcr.io/siderolabs/kubelet ( v1.33.2 → v1.33.3 ) (#1934)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 17:02:34 -04:00
renovate[bot]
4dc853e59e fix(container): update image ghcr.io/k8s-gateway/charts/k8s-gateway ( 3.2.1 → 3.2.3 ) (#1933)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 17:02:27 -04:00
renovate[bot]
d716845224 feat(mise): update tool aqua:mikefarah/yq ( 4.45.4 → 4.46.1 ) 2025-07-12 02:53:11 +00:00
renovate[bot]
f5566a07d1 feat(container): update cert-manager group ( v1.17.2 → v1.18.2 ) (#1932)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-11 22:52:39 -04:00
renovate[bot]
3e0b057c54 feat(mise): update tool aqua:cli/cli ( 2.74.2 → 2.75.0 ) 2025-07-12 01:02:39 +00:00
renovate[bot]
7d7aea22d1 fix(mise): update tool aqua:helmfile/helmfile ( 1.1.2 → 1.1.3 ) 2025-07-12 01:02:18 +00:00
Bogdan
579aab2ff8 fix: set token permissions for label-sync (#1931) 2025-07-09 12:09:59 -04:00
renovate[bot]
96f059159b fix(github-release): update release controlplaneio-fluxcd/distribution ( v2.6.3 → v2.6.4 ) (#1929)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 09:39:03 -04:00
renovate[bot]
90b96726e4 feat(container): update flux operator group ( 0.23.0 → 0.24.1 ) (#1930)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 09:38:55 -04:00
renovate[bot]
e4a8159834 fix(container): update image ghcr.io/stakater/charts/reloader ( 2.1.4 → 2.1.5 ) (#1928)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 09:38:30 -04:00
renovate[bot]
4d6204eda8 fix(mise): update tool aqua:helm/helm ( 3.18.3 → 3.18.4 ) 2025-07-09 13:38:05 +00:00
renovate[bot]
9fe96a0088 fix(mise): update tool aqua:fluxcd/flux2 ( 2.6.3 → 2.6.4 ) 2025-07-09 13:37:47 +00:00
Devin Buhl
835a24c130 chore: update mise deps
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-07-07 09:25:39 -04:00
renovate[bot]
792e32c275 fix(github-release): update release controlplaneio-fluxcd/distribution ( v2.6.2 → v2.6.3 ) (#1924)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 09:01:30 -04:00
renovate[bot]
61244480bf feat(container): update image docker.io/cloudflare/cloudflared ( 2025.6.1 → 2025.7.0 ) (#1927)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-05 09:16:18 -04:00
renovate[bot]
3eea6ed036 fix(container): update image ghcr.io/siderolabs/installer ( v1.10.4 → v1.10.5 ) (#1926)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-05 09:16:07 -04:00
renovate[bot]
4bce4e3004 fix(container): update image ghcr.io/k8s-gateway/charts/k8s-gateway ( 3.2.0 → 3.2.1 ) (#1925)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-05 09:15:54 -04:00
renovate[bot]
84483462ea feat(mise): update tool aqua:cloudflare/cloudflared ( 2025.6.1 → 2025.7.0 ) 2025-07-05 08:30:34 +00:00
renovate[bot]
e2b1fb5027 ci(github-action): update action ncipollo/release-action ( v1.16.0 → v1.18.0 ) 2025-07-05 06:02:14 +00:00
renovate[bot]
6c9391911f fix(mise): update tool aqua:siderolabs/talos ( 1.10.4 → 1.10.5 ) 2025-07-05 06:01:57 +00:00
renovate[bot]
637694aba8 fix(mise): update tool aqua:cilium/cilium-cli ( 0.18.4 → 0.18.5 ) 2025-07-05 00:57:11 +00:00
renovate[bot]
ee3b32d8b5 fix(mise): update tool aqua:budimanjojo/talhelper ( 3.0.29 → 3.0.30 ) 2025-07-05 00:56:51 +00:00
Devin Buhl
e00574be04 chore: update vlan comment in cluster sample 2025-07-04 11:41:15 -04:00
Devin Buhl
401b2f5d56 chore: Update README.md 2025-06-29 09:30:02 -04:00
renovate[bot]
93a350df15 ci(github-action): update action jdx/mise-action ( v2.3.0 → v2.3.1 ) 2025-06-28 17:23:34 +00:00
renovate[bot]
d282723602 ci(github-action): update action jdx/mise-action ( v2.2.3 → v2.3.0 ) 2025-06-28 13:11:27 +00:00
renovate[bot]
b2fa6c9196 fix(container): update image ghcr.io/bjw-s-labs/helm/app-template ( 4.1.1 → 4.1.2 ) (#1923)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-28 06:57:03 -04:00
renovate[bot]
de1aa53559 fix(mise): update tool aqua:fluxcd/flux2 ( 2.6.2 → 2.6.3 ) 2025-06-28 02:58:50 +00:00
renovate[bot]
a071e846ca fix(mise): update tool aqua:cue-lang/cue ( 0.13.1 → 0.13.2 ) 2025-06-28 02:58:34 +00:00
AJ
2decac1ee8 update external-dns mainfest yaml filename (#1922) 2025-06-27 01:53:51 -04:00
renovate[bot]
1c04fda4bf fix(container): update image ghcr.io/siderolabs/kubelet ( v1.33.1 → v1.33.2 ) (#1915)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-22 09:44:27 -04:00
renovate[bot]
0ff0125407 fix(helm): update chart cilium ( 1.17.4 → 1.17.5 ) (#1918)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-21 07:16:28 -04:00
renovate[bot]
37a4927d57 fix(github-release): update release controlplaneio-fluxcd/distribution ( v2.6.1 → v2.6.2 ) (#1917)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-21 07:16:19 -04:00
renovate[bot]
761c7e8ee7 feat(container): update flux operator group ( 0.22.0 → 0.23.0 ) (#1920)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-21 07:16:01 -04:00
renovate[bot]
2209bca37f feat(helm): update chart external-dns ( 1.16.1 → 1.17.0 ) (#1921)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-21 07:15:40 -04:00
renovate[bot]
5d6ec0a8b7 feat(container): update coredns group ( 1.42.3 → 1.43.0 ) (#1919)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-21 07:15:29 -04:00
renovate[bot]
c479254e62 fix(container): update image ghcr.io/stakater/charts/reloader ( 2.1.3 → 2.1.4 ) (#1916)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-21 07:15:16 -04:00
renovate[bot]
67b3bd21e2 fix(container): update image docker.io/cloudflare/cloudflared ( 2025.6.0 → 2025.6.1 ) (#1914)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-21 07:15:01 -04:00
renovate[bot]
b5522d0ce3 fix(mise): update tool aqua:helm/helm ( 3.18.2 → 3.18.3 ) 2025-06-21 08:36:24 +00:00
renovate[bot]
ea5077a540 fix(mise): update tool aqua:fluxcd/flux2 ( 2.6.1 → 2.6.2 ) 2025-06-21 05:05:52 +00:00
renovate[bot]
4b47d3c8ab fix(mise): update tool aqua:cloudflare/cloudflared ( 2025.6.0 → 2025.6.1 ) 2025-06-21 05:05:31 +00:00
renovate[bot]
7c7341315c fix(mise): update tool aqua:cli/cli ( 2.74.1 → 2.74.2 ) 2025-06-21 03:28:45 +00:00
renovate[bot]
1177050119 ci(github-action): update action ghcr.io/allenporter/flux-local ( v7.5.5 → v7.5.6 ) 2025-06-21 03:28:11 +00:00
renovate[bot]
1f39ac3155 ci(github-action): update action ghcr.io/allenporter/flux-local ( v7.5.4 → v7.5.5 ) 2025-06-15 18:44:36 +00:00
renovate[bot]
00d74ec0a5 feat(mise): update tool pipx:makejinja ( 2.7.2 → 2.8.0 ) 2025-06-14 22:26:00 +00:00
renovate[bot]
4d9c1eeeaf feat(container): update image ghcr.io/bjw-s-labs/helm/app-template ( 4.0.1 → 4.1.1 ) (#1911)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2025-06-12 08:33:55 -04:00
renovate[bot]
b6605826ea fix(mise): update tool aqua:helmfile/helmfile ( 1.1.1 → 1.1.2 ) 2025-06-12 11:48:29 +00:00
renovate[bot]
c18272ee68 fix(mise): update tool aqua:budimanjojo/talhelper ( 3.0.28 → 3.0.29 ) 2025-06-12 11:48:12 +00:00
renovate[bot]
7f1dba136c feat(mise): update tool aqua:go-task/task ( 3.43.3 → 3.44.0 ) 2025-06-12 02:14:04 +00:00
renovate[bot]
8d52f9692d fix(mise): update tool aqua:cue-lang/cue ( 0.13.0 → 0.13.1 ) 2025-06-11 23:58:58 +00:00
renovate[bot]
9ba2bd3165 fix(mise): update tool aqua:cli/cli ( 2.74.0 → 2.74.1 ) 2025-06-11 23:58:44 +00:00
renovate[bot]
0c014878fe feat(container): update image docker.io/cloudflare/cloudflared ( 2025.5.0 → 2025.6.0 ) (#1910)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 19:57:58 -04:00
renovate[bot]
8926861621 fix(container): update image ghcr.io/siderolabs/installer ( v1.10.3 → v1.10.4 ) (#1909)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 19:57:51 -04:00
renovate[bot]
bca67b9f18 fix(container): update coredns group ( 1.42.2 → 1.42.3 ) (#1908)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-11 19:57:39 -04:00
renovate[bot]
76a1e6cd7a feat(mise): update tool aqua:cloudflare/cloudflared ( 2025.5.0 → 2025.6.0 ) 2025-06-11 23:57:10 +00:00
renovate[bot]
6ae96ab13c fix(mise): update tool aqua:siderolabs/talos ( 1.10.3 → 1.10.4 ) 2025-06-11 23:56:47 +00:00
renovate[bot]
3686c3ddb4 feat(container): update spegel group ( 0.2.0 → 0.3.0 ) (#1907)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 22:59:50 -04:00
renovate[bot]
94ac96d0dc fix(mise): update tool aqua:cilium/cilium-cli ( 0.18.3 → 0.18.4 ) 2025-06-07 02:58:34 +00:00
renovate[bot]
efb85ff226 fix(github-release): update release controlplaneio-fluxcd/distribution ( v2.6.0 → v2.6.1 ) (#1905)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-03 18:41:28 -04:00
renovate[bot]
535972c168 feat(container): update flux operator group ( 0.21.0 → 0.22.0 ) (#1906)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-03 18:41:19 -04:00
Devin Buhl
51058594a2 chore: update README.md 2025-06-03 18:40:39 -04:00
renovate[bot]
f7e3ed50ee fix(mise): update tool aqua:helm/helm ( 3.18.1 → 3.18.2 ) 2025-06-03 22:40:21 +00:00
renovate[bot]
5a78381a9c fix(mise): update tool aqua:fluxcd/flux2 ( 2.6.0 → 2.6.1 ) 2025-06-03 22:40:05 +00:00
Devin Buhl
1f4c1f8ecb fix: check for TALOSCONFIG and KUBECONFIG envs in bootstrap 2025-05-31 09:55:24 -04:00
Devin Buhl
22add01f41 fix: use helmfile sync instead of apply
This gets around requiring helm-diff
2025-05-31 09:51:12 -04:00
renovate[bot]
ba852bed41 feat(mise): update tool aqua:cli/cli ( 2.73.0 → 2.74.0 ) (#1904)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-31 10:50:28 +00:00
Devin Buhl
64a781e043 chore: update .renovaterc.json5 2025-05-31 06:49:53 -04:00
renovate[bot]
d3f1c3263f feat(github-release): update release prometheus-operator/prometheus-operator ( v0.82.2 → v0.83.0 ) (#1903)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-31 06:48:45 -04:00
renovate[bot]
5d63db5a60 fix(mise): update tool aqua:budimanjojo/talhelper ( 3.0.27 → 3.0.28 ) 2025-05-31 06:20:27 +00:00
renovate[bot]
0e254f190a fix(mise): update tool aqua:helmfile/helmfile ( 1.1.0 → 1.1.1 ) 2025-05-31 00:33:10 +00:00
Devin Buhl
91ec4029df chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-05-30 09:12:25 -04:00
Devin Buhl
7028675738 feat: post-flux v2.6.0 updates (#1902) 2025-05-29 12:10:15 -04:00
renovate[bot]
e8e90b5fb4 feat(github-release): update release controlplaneio-fluxcd/distribution ( v2.5.1 → v2.6.0 ) (#1900)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-29 12:04:53 -04:00
renovate[bot]
e27fc1f588 feat(container): update flux operator group ( 0.20.0 → 0.21.0 ) (#1899)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-29 12:04:47 -04:00
renovate[bot]
8fb0a4ffda feat(mise): update tool aqua:fluxcd/flux2 ( 2.5.1 → 2.6.0 ) (#1901)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-29 12:04:39 -04:00
Devin Buhl
1b2c36a3f2 chore: be clear about placeholders in readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-05-29 10:06:28 -04:00
Devin Buhl
9442b12894 chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-05-29 09:54:32 -04:00
Devin Buhl
8fb6288350 feat: add various flux2 patches for their controllers
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-05-29 07:10:14 -04:00
renovate[bot]
b2b3a4bb82 fix(container): update image ghcr.io/siderolabs/installer ( v1.10.2 → v1.10.3 ) (#1898)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-29 06:57:49 -04:00
renovate[bot]
687fa2f294 ci(github-action): update action jdx/mise-action ( v2.2.2 → v2.2.3 ) 2025-05-29 10:52:24 +00:00
renovate[bot]
4399ecf086 ci(github-action): update action ghcr.io/allenporter/flux-local ( v7.5.2 → v7.5.4 ) 2025-05-29 10:52:09 +00:00
Devin Buhl
09022f266e chore: update mise deps
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-05-29 06:50:55 -04:00
Devin Buhl
63e9f96d92 fix: do not rely on patching decryption due to race condition
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-05-28 21:26:40 -04:00
Devin Buhl
9d64bb8027 chore: address some minor nites
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-05-28 20:17:24 -04:00
Gregory Mulvaney
1aff4277e7 fix: Added annotations to gateways (#1897) 2025-05-28 18:13:27 -04:00
Devin Buhl
1e3a0e2af2 chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-05-28 07:59:42 -04:00
Devin Buhl
37ea3835a4 fix: use wait false in cluster-apps ks
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-05-27 17:31:10 -04:00
Devin Buhl
1f46c8c98e fix: add postBuild to cert-manager ks
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-05-27 11:01:16 -04:00
Devin Buhl
e4b54e5712 chore: Update README.md 2025-05-26 08:31:42 -04:00
Devin Buhl
5f9e9e293a chore: add mise to label configs
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-05-26 08:08:45 -04:00
Devin Buhl
f5331226c2 chore: automerge mise tools on patch releases 2025-05-26 08:05:13 -04:00
renovate[bot]
8c09cd8d52 fix(container): update coredns group ( 1.42.1 → 1.42.2 ) (#1896)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-26 08:03:41 -04:00
Devin Buhl
ad2882241d fix: downgrade helm due to OCI bug
https://github.com/helm/helm/issues/30890
2025-05-26 07:59:52 -04:00
Devin Buhl
0b02c35741 chore: add mise to renovate config 2025-05-26 07:58:58 -04:00
renovate[bot]
3fdc58e8a2 ci(github-action): update action ghcr.io/allenporter/flux-local ( v7.5.1 → v7.5.2 ) 2025-05-25 23:13:36 +00:00
renovate[bot]
a18ccff5d0 ci(github-action): update action ghcr.io/allenporter/flux-local ( v7.5.0 → v7.5.1 ) 2025-05-25 18:50:16 +00:00
Devin Buhl
161cd892af feat!: deprecate ingress-nginx and use gateway-api (#1895) 2025-05-25 10:35:17 -04:00
Devin Buhl
2cbeef857a feat(k8s_gateway): switch to maintained fork (#1894) 2025-05-25 09:00:02 -04:00
github-actions[bot]
c2847928d2 chore(mise): upgrade dependencies (#1893)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-05-24 20:40:30 -04:00
renovate[bot]
dbea3fb2fc feat(container)!: Update image ghcr.io/mendhak/http-https-echo ( 36 → 37 ) (#1892)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-24 07:37:17 -04:00
Devin Buhl
c7a7fc6dd1 chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-05-17 10:18:14 -04:00
renovate[bot]
7e6ed19a84 feat(container)!: Update image ghcr.io/bjw-s-labs/helm/app-template ( 3.7.3 → 4.0.1 ) (#1889)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-17 10:04:15 -04:00
Devin Buhl
6887d48921 chore: migrate renovate config
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-05-17 10:01:37 -04:00
Tanguille
244657662b chore(external-dns): update CRD path (#1890) 2025-05-17 07:40:19 -04:00
renovate[bot]
a9973e86df feat(container): update image docker.io/cloudflare/cloudflared ( 2025.4.2 → 2025.5.0 ) (#1888)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-17 00:28:56 -04:00
renovate[bot]
34ae87492f fix(helm): update chart cilium ( 1.17.3 → 1.17.4 ) (#1887)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-17 00:28:47 -04:00
renovate[bot]
9d4de8d570 fix(container): update image ghcr.io/siderolabs/kubelet ( v1.33.0 → v1.33.1 ) (#1886)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-17 00:28:37 -04:00
renovate[bot]
d769523059 fix(container): update image ghcr.io/siderolabs/installer ( v1.10.1 → v1.10.2 ) (#1885)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-17 00:28:28 -04:00
renovate[bot]
a8a015f18a ci(github-action): update action jdx/mise-action ( v2.2.1 → v2.2.2 ) 2025-05-15 15:59:38 +00:00
renovate[bot]
edf542d3d9 fix(github-release): update release prometheus-operator/prometheus-operator ( v0.82.1 → v0.82.2 ) (#1882)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-15 11:58:47 -04:00
renovate[bot]
a6b23a2d68 feat(container): update flux operator group ( 0.19.0 → 0.20.0 ) (#1883)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-15 11:58:40 -04:00
renovate[bot]
ff002b9a8f feat(github-release): update release kubernetes-sigs/external-dns ( v0.16.1 → v0.17.0 ) (#1884)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-15 11:58:33 -04:00
github-actions[bot]
c974ed8730 chore(mise): upgrade dependencies (#1881)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-05-10 21:05:13 -04:00
renovate[bot]
c4bd701568 feat(container): update image ghcr.io/siderolabs/kubelet ( v1.32.4 → v1.33.0 ) (#1867)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2025-05-07 13:50:53 -04:00
renovate[bot]
430612838b feat(container): update image ghcr.io/siderolabs/installer ( v1.9.6 → v1.10.1 ) (#1879)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-07 13:49:32 -04:00
github-actions[bot]
5f88bf44fc chore(mise): upgrade dependencies (#1880)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-05-07 13:49:26 -04:00
renovate[bot]
38379cc5f6 fix(github-release): update release prometheus-operator/prometheus-operator ( v0.82.0 → v0.82.1 ) (#1878)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-07 13:47:49 -04:00
renovate[bot]
618bad876a fix(container): update coredns group ( 1.42.0 → 1.42.1 ) (#1877)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-07 13:47:41 -04:00
Devin Buhl
60be8d1a68 chore: update talos to 1.9.6 and kubernetes to 1.32.4 2025-05-05 12:10:01 -04:00
github-actions[bot]
2d30b1934d chore(mise): upgrade dependencies (#1876)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-05-04 01:28:23 -04:00
renovate[bot]
2cd953bdda ci(github-action): update action ghcr.io/allenporter/flux-local ( v7.4.0 → v7.5.0 ) 2025-05-03 21:24:42 +00:00
renovate[bot]
8ac4270c20 fix(container): update image docker.io/cloudflare/cloudflared ( 2025.4.0 → 2025.4.2 ) (#1871)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-02 20:43:55 -04:00
renovate[bot]
0b989f4beb fix(container): update image ghcr.io/stakater/charts/reloader ( 2.1.2 → 2.1.3 ) (#1872)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-02 20:43:44 -04:00
renovate[bot]
aefecd9665 fix(helm): update chart ingress-nginx ( 4.12.1 → 4.12.2 ) (#1873)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-02 20:43:34 -04:00
renovate[bot]
974b7dcfc8 feat(container): update coredns group ( 1.40.0 → 1.42.0 ) (#1874)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-02 20:43:25 -04:00
Devin Buhl
ad6a584416 fix: remove cosign verifications of oci charts
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-05-01 20:21:39 -04:00
Devin Buhl
3aec5b798b fix: update app-template oci url 2025-05-01 20:20:07 -04:00
Devin Buhl
a44b852bbb chore: add github-actions to release.yaml 2025-04-30 20:19:58 -04:00
github-actions[bot]
c0dcdca561 chore(mise): upgrade dependencies (#1870)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-04-26 23:10:17 -04:00
renovate[bot]
a8627a8a43 feat(container): update spegel group ( 0.1.1 → 0.2.0 ) (#1869)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-26 12:05:09 -04:00
renovate[bot]
c8b8ab593c fix(container): update cert-manager group ( v1.17.1 → v1.17.2 ) (#1868)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 08:07:07 -04:00
renovate[bot]
6928db2e1c ci(github-action): update action jdx/mise-action ( v2.1.11 → v2.2.1 ) 2025-04-25 12:06:44 +00:00
renovate[bot]
de4d63726e fix(container): update image ghcr.io/stakater/charts/reloader ( 2.1.1 → 2.1.2 ) (#1864)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 08:05:50 -04:00
renovate[bot]
9ac6e9a1ad feat(container): update coredns group ( 1.39.2 → 1.40.0 ) (#1866)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 08:05:43 -04:00
Devin Buhl
9b21f6f218 chore: update .renovaterc.json5 2025-04-25 08:04:41 -04:00
renovate[bot]
6e45395310 ci(github-action): update action ghcr.io/allenporter/flux-local ( v7.3.0 → v7.4.0 ) 2025-04-25 12:04:00 +00:00
wasurerarenai
b6d1eac93b Swap Cilium BGP Node/Router ASNs (#1862) 2025-04-22 12:02:35 -04:00
renovate[bot]
cab2799953 fix(container): update image ghcr.io/stakater/charts/reloader ( 2.1.0 → 2.1.1 ) (#1861)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-20 18:35:52 -04:00
github-actions[bot]
6e8ed7dd3e chore(mise): upgrade dependencies (#1860)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-04-19 20:09:04 -04:00
renovate[bot]
f81702cede feat(container): update image ghcr.io/stakater/charts/reloader ( 2.0.0 → 2.1.0 ) (#1859)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 22:29:54 -04:00
renovate[bot]
4092feff25 feat(github-release): update release prometheus-operator/prometheus-operator ( v0.81.0 → v0.82.0 ) (#1858)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2025-04-17 09:01:28 -04:00
renovate[bot]
25da9c40da fix(helm): update chart cilium ( 1.17.2 → 1.17.3 ) (#1857)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-17 09:00:49 -04:00
snoopy82481
bc29f46675 feat(cilium): update BGP configuration to use cluster config and peer settings (#1856)
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2025-04-17 08:59:17 -04:00
github-actions[bot]
78551ba01d chore(mise): upgrade dependencies (#1854)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-04-12 22:29:09 -04:00
renovate[bot]
de4fb94d92 ci(github-action): update action tj-actions/changed-files ( v46.0.4 → v46.0.5 ) 2025-04-12 07:10:12 +00:00
renovate[bot]
7a202b5776 feat(helm): update chart external-dns ( 1.15.2 → 1.16.1 ) (#1853)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-11 08:24:04 -04:00
renovate[bot]
8ee1630b61 feat(container): update flux operator group ( 0.18.0 → 0.19.0 ) (#1852)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-11 08:23:45 -04:00
renovate[bot]
93b4c26fc0 ci(github-action): update action tj-actions/changed-files ( v46.0.3 → v46.0.4 ) 2025-04-06 17:20:18 +00:00
github-actions[bot]
b2f0c0007f chore(mise): upgrade dependencies (#1851)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-04-05 20:15:59 -04:00
Devin Buhl
c8f803ba08 fix: set oci intervals to 5m and infinite helm install reties
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-04-04 18:58:22 -04:00
Devin Buhl
15968fd6ca fix: cert manager to oci chart (#1850) 2025-04-04 16:15:15 -04:00
renovate[bot]
fa6be9ce9e feat(container): update image docker.io/cloudflare/cloudflared ( 2025.2.1 → 2025.4.0 ) (#1849)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-04 07:15:39 -04:00
Devin Buhl
d0d81aa774 feat: revert new k8s-gateway chart
```W0330 12:41:41.898614       1 reflector.go:569] pkg/mod/k8s.io/client-go@v0.32.3/tools/cache/reflector.go:251: failed to list *endpoint.DNSEndpoint: dnsendpoints.externaldns.k8s.io is forbidden: User "
E0330 12:41:41.898748       1 reflector.go:166] "Unhandled Error" err="pkg/mod/k8s.io/client-go@v0.32.3/tools/cache/reflector.go:251: Failed to watch *endpoint.DNSEndpoint: failed to list *endpoint.DNS```
2025-03-30 09:08:27 -04:00
Devin Buhl
0929d1dea9 feat: switch to new k8s-gateway
Project new home: https://github.com/k8s-gateway/k8s_gateway
2025-03-29 19:32:04 -04:00
renovate[bot]
cce93b2aa7 fix(container): update spegel group ( 0.1.0 → 0.1.1 ) (#1847)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-28 22:16:35 -04:00
renovate[bot]
eeb3fdd314 fix(helm): update chart ingress-nginx ( 4.12.0 → 4.12.1 ) (#1846)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-25 20:36:09 -04:00
renovate[bot]
97014476ca fix(container): update coredns group ( 1.39.1 → 1.39.2 ) (#1845)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-25 20:35:59 -04:00
renovate[bot]
664ee9fa7e ci(github-action): update action tj-actions/changed-files ( v46.0.2 → v46.0.3 ) 2025-03-26 00:26:05 +00:00
renovate[bot]
c5b80e64c4 ci(github-action): update action tj-actions/changed-files ( v46.0.1 → v46.0.2 ) 2025-03-26 00:25:51 +00:00
Jim
25e2d091b7 Add back read permission in flux-local workflow (#1844) 2025-03-23 09:44:46 -04:00
github-actions[bot]
5aa32602ec chore(mise): upgrade dependencies (#1843)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-03-22 20:06:59 -04:00
renovate[bot]
53d8a2fbd3 feat(container)!: Update image ghcr.io/mendhak/http-https-echo ( 35 → 36 ) (#1842)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-22 20:06:46 -04:00
renovate[bot]
28f92938ff feat(container): update spegel group ( v0.0.30 → 0.1.0 ) (#1841)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-22 14:14:01 -04:00
renovate[bot]
51cbfb7a3b ci(github-action): update action ghcr.io/allenporter/flux-local ( v7.2.1 → v7.3.0 ) 2025-03-22 03:22:18 +00:00
renovate[bot]
a06acc906f feat(container): update flux operator group ( 0.17.0 → 0.18.0 ) (#1838)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-20 07:22:24 -04:00
Devin Buhl
f754cbe548 fix: not ready for gateway api yet 2025-03-20 07:20:09 -04:00
Devin Buhl
ceb134b7e4 chore: pin actions to semver for minireleaseage to work
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-17 08:37:16 -04:00
renovate[bot]
0f4e6e3cb7 ci(github-action)!: Update action tj-actions/changed-files ( v45.0.9 → v46.0.1 ) (#1837)
* ci(github-action)!: Update action tj-actions/changed-files ( v45.0.9 → v46.0.1 )

* Update flux-local.yaml

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2025-03-16 07:17:54 -04:00
Devin Buhl
f676c3e572 chore: update renovate config and vscode settings
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-15 22:02:26 -04:00
github-actions[bot]
c0b9948fbc chore(mise): upgrade dependencies (#1836)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-03-15 20:14:48 -04:00
Devin Buhl
095cc2f5bd chore: switch back to upstream tj-actions and pin
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-15 17:58:12 -04:00
renovate[bot]
a45b017280 ci(github-action): pin dependencies (#1835)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-15 17:48:20 -04:00
renovate[bot]
ada1cad296 ci(github-action): update action tj-actions/changed-files ( a284dc1 → 48d8f15 ) (#1834)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-15 21:47:45 +00:00
Devin Buhl
954c80464d chore: switch back to upstream tj-actions and pin
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-15 17:47:05 -04:00
Devin Buhl
8030eee56b fix: switch back to tj-actions and pin 2025-03-15 17:45:30 -04:00
renovate[bot]
efe7d40e86 fix(helm): update chart cilium ( 1.17.1 → 1.17.2 ) (#1833)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-15 17:16:24 -04:00
renovate[bot]
e37cbd9545 fix(github-release): update release kubernetes-sigs/external-dns ( v0.16.0 → v0.16.1 ) (#1832)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-15 17:16:13 -04:00
renovate[bot]
fab30ad4f4 feat(github-release): update release prometheus-operator/prometheus-operator ( v0.80.1 → v0.81.0 ) (#1831)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-15 08:49:44 -04:00
renovate[bot]
e8eafc4498 fix(container): update image ghcr.io/bjw-s/helm/app-template ( 3.7.2 → 3.7.3 ) (#1828)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-15 08:49:19 -04:00
renovate[bot]
ae7758d309 fix(container): update image ghcr.io/siderolabs/installer ( v1.9.4 → v1.9.5 ) (#1829)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-15 08:49:13 -04:00
renovate[bot]
89a24dc26b fix(container): update image ghcr.io/siderolabs/kubelet ( v1.32.2 → v1.32.3 ) (#1830)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-15 08:49:06 -04:00
Devin Buhl
b505aec5a4 fix: upgrade talos and k8s tasks looking at wrong file
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-15 08:08:59 -04:00
Devin Buhl
c6e71a2299 fix: use JJ fork for tj-actions and pin mshick/add-pr-comment
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-15 08:07:52 -04:00
Devin Buhl
d1d659652c feat: remove global postbuild patch (#1827)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-14 18:36:01 -04:00
Devin Buhl
8028c75154 chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-12 15:17:14 -04:00
Devin Buhl
bb22cf6175 fix: GitHub deploy key to flux-system 2025-03-12 13:37:36 -04:00
Devin Buhl
25ee6ef4b6 chore: remove requirements.txt (#1826)
* chore: remove requirements.txt

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: remove requirements.txt

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: remove requirements.txt

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: remove requirements.txt

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: remove requirements.txt

Signed-off-by: Devin Buhl <devin@buhl.casa>

* Update e2e.yaml

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-12 13:02:02 -04:00
Devin Buhl
ed8d88535e fix: move installation of crds to bootstrap script (#1825)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-12 09:36:56 -04:00
Devin Buhl
af158e283a feat: improve makejinja functions and cloudflared deployment (#1824)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-11 22:39:27 -04:00
Devin Buhl
4628682b56 chore: update cloudflared (#1823)
* chore: update cloudflared

* Update helmrelease.yaml.j2
2025-03-11 22:02:02 -04:00
Devin Buhl
87a5c3f052 feat: add gateway-api crds 2025-03-10 19:58:24 -04:00
Devin Buhl
43e69bd2b2 fix: use better prom crd link 2025-03-10 19:52:10 -04:00
Devin Buhl
31ff9b0a2e feat: combine helmrepo and helmrelease files (#1822)
* feat: combine helmrepo and helmrels

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat: combine helmrepo and helmrels

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-10 17:52:10 -04:00
Devin Buhl
7dec26ccb0 chore: update mise and renovate config
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-10 17:37:41 -04:00
Devin Buhl
ba83cfc536 chore: update mise config 2025-03-10 16:50:27 -04:00
Devin Buhl
60857fd54b chore: update mise config
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-09 16:09:16 -04:00
Jim
73f22c052f Make bash and gsed brew availability check Intel Mac compatible (#1821)
- On Intel Mac the homebrew binaries are located at /usr/local/bin/ instead of
  /opt/homebrew/bin, let's include the Intel Mac path in the check as well.
- See https://docs.brew.sh/Installation for more details on possible install configurations.
- Checking the actual versions of these binaries would be better but this works fine for now.
2025-03-09 13:20:34 -04:00
Devin Buhl
dd22897072 chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-08 21:23:04 -05:00
Devin Buhl
1dabb2db98 fix: use gcr mirror for coredns 2025-03-08 07:04:27 -05:00
Devin Buhl
f493695c85 feat: only deploy production certificate (#1819) 2025-03-07 21:19:25 -05:00
Devin Buhl
814b79c5f9 chore: update readme (#1818)
* chore: update readme

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: update readme

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: update readme

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: update readme

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: update readme

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: update readme

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-07 18:14:06 -05:00
Devin Buhl
983a133a42 chore: namespace is not needed on these resources (#1815) 2025-03-07 16:37:37 -05:00
renovate[bot]
9ebb1470fe feat(container)!: Update image ghcr.io/stakater/charts/reloader ( 1.3.0 → 2.0.0 ) (#1817)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-07 16:28:27 -05:00
renovate[bot]
d138690db4 fix(container): update image ghcr.io/bjw-s/helm/app-template ( 3.7.1 → 3.7.2 ) (#1816)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-07 16:28:20 -05:00
renovate[bot]
332675c1c5 ci(github-action): update action ghcr.io/allenporter/flux-local ( v7.1.0 → v7.2.1 ) 2025-03-07 21:26:05 +00:00
Devin Buhl
49bfd59a70 fix: update talhelper config files (#1814)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-07 08:20:09 -05:00
Devin Buhl
562886f660 fix: update containerd conf.d file permissions 2025-03-06 21:02:46 -05:00
Devin Buhl
f9a8e4373f chore: update mise config
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-06 20:18:37 -05:00
Devin Buhl
a6b44122fa fix: helmfile spegel oci repo 2025-03-05 20:53:26 -05:00
Devin Buhl
de79f9ccdf feat(kubelet): enable concurrent image pulls
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-04 07:48:43 -05:00
Devin Buhl
75dee6c67f feat: only deploy spegel if more than one node (#1812)
* feat: only deploy spegel if more than one node

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat: only deploy spegel if more than one node

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-04 07:46:47 -05:00
Devin Buhl
8df1738b42 feat: update helmfile and introduce ocirepositories (#1811)
* feat: update helmfile and introduce ocirepositories

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat: update helmfile and introduce ocirepositories

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-04 07:31:43 -05:00
renovate[bot]
c3dd33adf7 ci(github-action): update action ghcr.io/allenporter/flux-local ( v7.0.0 → v7.1.0 ) 2025-03-04 11:55:58 +00:00
Devin Buhl
08d213f2f5 chore: use latest uv in mise config 2025-03-04 06:55:05 -05:00
Devin Buhl
240f32099d fix: no more cluster settings file 2025-03-04 06:53:28 -05:00
rafal11ck
2ecec496eb fix: make hsts-max-age well formed (#1810)
* fix: make hsts-max-age well formed

* Update helmrelease.yaml.j2

* Update helmrelease.yaml.j2

---------

Co-authored-by: rafal <you@example.com>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2025-03-03 19:21:10 -05:00
Devin Buhl
eca1034f26 fix: set defaults for sb and encrypt disk (#1809)
* fux: set defaults for sb and encrypt disk

* Update talconfig.yaml.j2

* Update nodes.yaml

* Update nodes.yaml
2025-03-03 14:38:39 -05:00
Mr. Khachaturov
03e5cdddcc Fix: Allow secureboot and encrypt_disk fields to be optional (#1808)
* Fix: Allow secureboot and encrypt_disk fields to be optional

Updated the node schema to add optioanal secureboot and encrypt_disk fields in schema.

* Update nodes.schema.cue

---------

Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2025-03-03 07:17:02 -05:00
Devin Buhl
2d9982b8cb fix: update cert-manager template logic (#1806)
* fix: update cert-manager template logic

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: update cert-manager template logic

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: update cert-manager template logic

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-02 13:21:48 -05:00
Devin Buhl
221b661402 chore: update renovate config 2025-03-02 08:20:13 -05:00
Devin Buhl
f8c5d91e3f fix: rename two cloudflare vars in cluster.yaml (#1804)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-03-02 08:10:30 -05:00
Devin Buhl
c90bd23af9 chore: update README 2025-03-01 19:28:26 -05:00
github-actions[bot]
cc3bd7337a chore(mise): upgrade dependencies (#1803)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-03-01 19:15:59 -05:00
Devin Buhl
35ca21aa84 chore: release workflow was already removed 2025-03-01 08:53:02 -05:00
fhoekstra
8f19105704 Remove .github/release.yaml too as part of tidy action (#1802) 2025-03-01 08:51:57 -05:00
Devin Buhl
187ef15abe chore: remove release workflow on tidy task 2025-03-01 08:03:54 -05:00
renovate[bot]
a2ad699a1a feat(container): update flux operator group ( 0.16.0 → 0.17.0 ) (#1801)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-28 21:50:59 -05:00
Devin Buhl
48e8b481d0 chore: update cluster.sample.yaml 2025-02-28 09:15:46 -05:00
Devin Buhl
47cbcf4889 feat: reorganize helmfile flux apps and update flux ks intervals (#1795) 2025-02-27 21:45:03 -05:00
renovate[bot]
1ee30f462a fix(github-release): update release controlplaneio-fluxcd/distribution ( v2.5.0 → v2.5.1 ) (#1799)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-27 21:25:20 -05:00
renovate[bot]
7f9c4cabe1 feat(container): update flux operator group ( 0.15.0 → 0.16.0 ) (#1800)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-27 21:25:13 -05:00
renovate[bot]
3291aa4edb fix(container): update image docker.io/cloudflare/cloudflared ( 2025.2.0 → 2025.2.1 ) (#1798)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-27 21:25:04 -05:00
renovate[bot]
a085c3a2b3 fix(container): update image coredns ( 1.39.0 → 1.39.1 ) (#1797)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-27 21:24:55 -05:00
Devin Buhl
600675ec3a fix: date command not working on macos date 2025-02-27 14:19:16 -05:00
Jim
1a48805a3b Add back missing newline in github-deploy-key (#1794)
In #1791 a `strip()` was added to a bunch of strings read from files. However, this also removes newlines, so for the github-deploy-key the `known_hosts` would end up on the same line as the end of the private key and therefore not work in the `source-controller`.

Instead of removing the `strip()` let's remove the `-` sign in the jinja end block so we keep newline after it.
2025-02-26 18:09:47 -05:00
Jim
fc4be6d924 Use new variable name in README.md (#1793) 2025-02-26 16:23:44 -05:00
Devin Buhl
eb32b5c319 chore: update README
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-02-26 14:45:38 -05:00
surskitt
8c15145954 fix(readme): typo in link to cloudflare documentation (#1792) 2025-02-26 13:18:06 -05:00
Devin Buhl
b44af4a279 refactor: remove ability to disable cloudflare and refactor config.yaml (#1791) 2025-02-26 10:04:23 -05:00
Devin Buhl
c92b461434 chore: increase timeout on cert-manager-tls ks
Should hopefully have a cert by 15 minutes
2025-02-24 17:03:03 -05:00
Devin Buhl
99759158c4 chore: Update README.md 2025-02-22 21:55:40 -05:00
github-actions[bot]
3f1b60a6ff chore(mise): upgrade dependencies (#1790)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-02-22 19:27:55 -05:00
Devin Buhl
ae3a617a95 chore(taskfiles): add preconditions for macos
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-02-22 17:27:23 -05:00
Devin Buhl
18cad0877c chore(cilium): update tolerations in Flux HR instead (#1789) 2025-02-22 09:52:36 -05:00
Devin Buhl
422ee49938 chore(renovate): update file matchers for regexmanager 2025-02-22 09:01:07 -05:00
Devin Buhl
f7ac839480 chore(cilium): no need for flux ks waits 2025-02-22 08:59:48 -05:00
Devin Buhl
5461b56d47 chore(cilium): remove default tolerations to fix ContainerStatusUnknown 2025-02-22 08:33:17 -05:00
Devin Buhl
d3d815bd93 chore: Update README.md 2025-02-20 23:42:52 -05:00
renovate[bot]
6e17f895ab fix(deps): update dependency prometheus-operator/prometheus-operator ( v0.80.0 → v0.80.1 ) (#1785)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-20 17:22:16 -05:00
Devin Buhl
65c4a51e64 chore: add healthcheckexprs to certmanager flux ks
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-02-20 17:20:13 -05:00
renovate[bot]
9b591bf375 feat(deps): update dependency controlplaneio-fluxcd/distribution ( v2.4.0 → v2.5.0 ) (#1787)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-20 14:07:52 -05:00
renovate[bot]
653c8789a9 feat(container): update flux operator group ( 0.14.0 → 0.15.0 ) (#1786)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-20 14:07:43 -05:00
Devin Buhl
2c414649bd chore: pin flux version in instance 2025-02-20 12:56:41 -05:00
Devin Buhl
d81dc7b423 chore: run flux-local workflow on component changes
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-02-20 12:15:33 -05:00
Devin Buhl
c386266b05 fix: install prom op crds via talhelper config (#1784) 2025-02-20 12:11:23 -05:00
Devin Buhl
7163d23c7b chore: update renovate config 2025-02-20 08:22:25 -05:00
Devin Buhl
a1d66fc080 fix: issue with GitHub deploy key (#1783) 2025-02-20 07:38:20 -05:00
renovate[bot]
35dcd56d87 feat(container): update reloader ( 1.2.1 → 1.3.0 ) (#1781)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-19 20:46:15 -05:00
Devin Buhl
47723d952d refactor: update directory paths (#1777) 2025-02-19 20:18:57 -05:00
Devin Buhl
7a99c8fbb0 chore: update gitattributes 2025-02-19 19:00:04 -05:00
renovate[bot]
ec9609c9be fix(container): update ghcr.io/siderolabs/installer ( v1.9.3 → v1.9.4 ) (#1771)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-15 14:36:54 -05:00
github-actions[bot]
31dde60bbd chore(mise): upgrade dependencies (#1776)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-02-15 14:34:48 -05:00
renovate[bot]
d9967f9486 fix(helm): update external-dns ( 1.15.1 → 1.15.2 ) (#1774)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-14 20:50:58 -05:00
Devin Buhl
db328702ce fix(bootstrap): add dependency check to prepare script
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-02-14 18:22:42 -05:00
Devin Buhl
bdb04605f4 Revert "feat: deploy SUC (#1770)" (#1772)
This reverts commit 5ed1d921ab.
2025-02-13 18:03:21 -05:00
Devin Buhl
14db8811b7 feat(helmfile): put prepare logic in bash script (#1763) 2025-02-13 17:47:29 -05:00
Devin Buhl
5ed1d921ab feat: deploy SUC (#1770) 2025-02-13 17:44:00 -05:00
renovate[bot]
32a29de9e1 fix(helm): update cert-manager ( v1.17.0 → v1.17.1 ) (#1769)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-13 06:56:02 -05:00
renovate[bot]
8d5097a5b2 fix(container): update ghcr.io/siderolabs/kubelet ( v1.32.1 → v1.32.2 ) (#1766)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-13 06:50:01 -05:00
renovate[bot]
496bf92ad8 fix(container): update app-template ( 3.7.0 → 3.7.1 ) (#1765)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-13 06:49:48 -05:00
renovate[bot]
6deee602fa fix(helm): update cilium ( 1.17.0 → 1.17.1 ) (#1767)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-13 06:49:36 -05:00
renovate[bot]
b895b333aa feat(container): update flux operator group ( 0.13.0 → 0.14.0 ) (#1768)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-13 06:49:27 -05:00
Devin Buhl
ab49a07085 chore: mise workflow run once a week 2025-02-12 19:27:09 -05:00
github-actions[bot]
3effa1e8a0 chore(mise): upgrade dependencies (#1764)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-02-12 19:25:11 -05:00
Devin Buhl
d8579d100f chore(makejinja): set copy_metadata to true in config file
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-02-10 18:12:27 -05:00
Devin Buhl
623341c2bc fix: update helmfile bootstrap hook script 2025-02-10 16:56:42 -05:00
Devin Buhl
52c843714f fix: update helmfile hooks (#1762)
* fix: update helmfile hooks

* Update helmfile.yaml.j2

* Rename prometheus-operator-crds.sh.j2 to bootstrap.sh.j2

* Update bootstrap.sh.j2

* Update bootstrap.sh.j2

* Update helmfile.yaml.j2
2025-02-10 15:32:45 -05:00
Devin Buhl
00f38b8623 fix(helmfile): add some idempotence to hooks (#1761)
* fix(helmfile): add some idempotence

* Update prometheus-operator-crds.sh.j2
2025-02-10 08:59:32 -05:00
wasurerarenai
a2aa8e4cb3 Update helmfile.yaml.j2 (#1759) 2025-02-10 06:53:46 -05:00
Devin Buhl
099aa6fa3e feat(helmfile): use global hooks for prom crds
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-02-09 13:02:05 -05:00
renovate[bot]
379aee83b0 feat(container): update app-template ( 3.6.1 → 3.7.0 ) (#1758)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-07 21:02:02 -05:00
Devin Buhl
150385874c feat(helmfile): install prom crds via presync hook
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-02-07 16:46:28 -05:00
Devin Buhl
2597811a17 feat: flatten existing components into common (#1757) 2025-02-07 08:07:44 -05:00
renovate[bot]
28c92dd825 feat(container)!: Update prometheus-operator-crds ( 17.0.2 → 18.0.0 ) (#1756)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-07 07:10:19 -05:00
Devin Buhl
b7ea8967b6 fix: helmfile helm keep annotation 2025-02-06 13:25:46 -05:00
Devin Buhl
28fb37ce9b feat: prometheus operator crds need no flux management now (#1755)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-02-06 11:42:34 -05:00
Devin Buhl
e358f6eee8 fix: add validation for github repository name (#1754) 2025-02-06 10:02:44 -05:00
renovate[bot]
4c08b2398f feat(helm): update cilium ( 1.16.6 → 1.17.0 ) (#1753)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-06 09:01:14 -05:00
renovate[bot]
96c403a2a1 feat(container): update docker.io/cloudflare/cloudflared ( 2025.1.1 → 2025.2.0 ) (#1752)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-06 09:01:01 -05:00
Devin Buhl
89b30e6472 fix: enable enable-aggregator-routing on apiserver 2025-02-05 20:49:33 -05:00
github-actions[bot]
ef83326d62 chore(mise): upgrade dependencies (#1751)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-02-05 19:30:24 -05:00
Devin Buhl
84126b4463 fix: talos genconfig tasks updates (#1750) 2025-02-05 12:46:27 -05:00
Devin Buhl
cc3613ac78 feat: bootstrap all namespaces and secrets (#1748) 2025-02-05 10:22:59 -05:00
Devin Buhl
adac9def27 chore: updates readme and template taskfile
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-02-04 21:18:44 -05:00
Devin Buhl
c6123fce39 feat!: migrate flux ks out of flux-system (#1747) 2025-02-04 21:06:37 -05:00
Devin Buhl
1b9394d454 feat: remove openebs (#1746) 2025-02-04 08:30:21 -05:00
Devin Buhl
ab4e969fb3 feat(helmfile): use abs paths to helm-values
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-02-03 20:41:37 -05:00
renovate[bot]
f13beaed95 feat(helm): update cert-manager ( v1.16.3 → v1.17.0 ) (#1743)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-03 16:59:50 -05:00
Jim
ff92720ed8 Add read permission for flux local diff workflow (#1742)
- This is needed for private repos as setting the permission
   overwites ALL permissions.
- See https://github.com/actions/checkout/issues/254#issuecomment-981945812 for the explanation for a similar issue.
2025-02-02 12:34:01 -05:00
github-actions[bot]
02d52433c6 chore(mise): upgrade dependencies (#1737)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-02-01 09:52:48 -05:00
renovate[bot]
971f9dcd1a fix(helm): update openebs ( 4.1.2 → 4.1.3 ) (#1741)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-31 19:49:28 -05:00
renovate[bot]
a4e686b427 fix(container): update docker.io/cloudflare/cloudflared ( 2025.1.0 → 2025.1.1 ) (#1739)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-31 19:49:17 -05:00
Devin Buhl
a5792e5515 fix: remove email from config and cert manager (#1738) 2025-01-31 00:08:23 -05:00
Devin Buhl
e99d08bb09 fix: that should be no dawg 2025-01-29 14:44:41 -05:00
Devin Buhl
c6f3bd6012 feat: add cert-manager to helmfile (#1736) 2025-01-29 10:22:14 -05:00
renovate[bot]
5f40077989 fix(container): update ghcr.io/siderolabs/installer ( v1.9.2 → v1.9.3 ) (#1735)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-28 19:31:02 -05:00
github-actions[bot]
4d562f3684 chore(mise): upgrade dependencies (#1734)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-01-28 19:24:54 -05:00
Devin Buhl
8a6d3b21f5 fix: remove taskfile experiment env vars 2025-01-28 19:24:39 -05:00
AJ
a0aff5d9e3 Update README.md (#1733) 2025-01-28 17:27:26 -05:00
renovate[bot]
c136601433 fix(helm): update external-dns ( 1.15.0 → 1.15.1 ) (#1732)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-28 07:59:40 -05:00
renovate[bot]
979ff7b469 feat(helm): update coredns ( 1.37.3 → 1.38.1 ) (#1730)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-27 08:46:28 -05:00
Jamie Baker
d1f2e932b0 Update README.md (#1731)
typo on the apply-node example
2025-01-26 18:10:59 -05:00
Devin Buhl
b8bd34b9ae chore: update taskfiles (#1729) 2025-01-26 10:13:31 -05:00
wasurerarenai
6df4a270aa Execute talhelper commands within the talos directory (#1728) 2025-01-26 08:44:11 -05:00
github-actions[bot]
273eee0ead chore(mise): upgrade dependencies (#1726)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-01-25 19:11:07 -05:00
Devin Buhl
fd335ba3bf fix: update talos taskfile 2025-01-25 07:57:21 -05:00
renovate[bot]
6a08ae4481 fix(github-release): update uv ( 0.5.23 → 0.5.24 ) (#1725)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-24 20:03:58 -05:00
Devin Buhl
ebcb037551 fix: update talhelper config (#1723) 2025-01-24 10:38:38 -05:00
Jamie Baker
fb5c793e53 Replace outdated links in config template, added text to post-bootstrap state for clarity (#1722) 2025-01-24 07:13:00 -05:00
github-actions[bot]
f5b2feb1dc chore(mise): upgrade dependencies (#1721)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-01-23 20:29:17 -05:00
Devin Buhl
b044f5fa52 chore: update taskfiles
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-23 18:03:58 -05:00
Devin Buhl
67bde08eda chore: Update README.md 2025-01-23 14:42:23 -05:00
Devin Buhl
6cce02e16d fix: remove circular dependency (#1719) 2025-01-23 13:10:55 -05:00
Devin Buhl
9aa0ed26d2 chore: update readme 2025-01-23 13:04:34 -05:00
Devin Buhl
25d130b75b chore(taskfile): remove extraneous arg on talos task 2025-01-23 12:02:14 -05:00
github-actions[bot]
8d0a51c46e chore(mise): upgrade dependencies (#1718)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-01-22 19:09:00 -05:00
Devin Buhl
513bac852a chore: update flux-local workflow 2025-01-22 13:40:48 -05:00
Devin Buhl
df6c7eea36 chore: update flux-local workflow 2025-01-22 09:01:37 -05:00
renovate[bot]
f046fc2d9d fix(helm): update coredns ( 1.37.1 → 1.37.3 ) (#1717)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 08:58:08 -05:00
renovate[bot]
18f9a1e200 fix(helm): update cilium ( 1.16.5 → 1.16.6 ) (#1716)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 08:58:01 -05:00
Devin Buhl
abafa6f465 chore: update e2e workflow 2025-01-22 08:56:30 -05:00
Devin Buhl
fbe5113750 chore(workflows): enable verbose on e2e flux-local test 2025-01-22 08:33:32 -05:00
Devin Buhl
83e763a36a feat: refactor the network namespace (#1715) 2025-01-21 21:30:34 -05:00
Devin Buhl
02ee65a2aa fix: remove spegel from helmfile apps
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-21 19:47:29 -05:00
Devin Buhl
1b19e4dd5a chore(readme): add github sponsor support section
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-21 18:55:01 -05:00
Devin Buhl
97e1f4bfa3 fix(taskfiles): update talos operational commands
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-19 19:20:17 -05:00
Devin Buhl
7d20e0f915 chore: remove mise workflow with tidy task
this workflow requires a custom GH token created for it to work, plus better mise support is coming in renovate in the future.
2025-01-18 21:43:36 -05:00
github-actions[bot]
3e5baa3044 chore(mise): upgrade dependencies (#1712)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-01-18 20:20:12 -05:00
Devin Buhl
5f1df32bb4 fix: add talhelper validate to task configure (#1711) 2025-01-18 09:34:00 -05:00
wasurerarenai
53c59bd9c4 Node secureboot and disk encrypt (#1710) 2025-01-18 09:02:02 -05:00
AJ
e3b0d2b035 Talos secureboot conditional validation issue (#1708) 2025-01-17 21:34:46 -05:00
renovate[bot]
87ae2aa6e5 fix(container): update ghcr.io/siderolabs/kubelet ( v1.32.0 → v1.32.1 ) (#1701)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-17 19:34:49 -05:00
renovate[bot]
b57603b062 fix(container): update spegel ( v0.0.29 → v0.0.30 ) (#1703)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-17 19:34:36 -05:00
renovate[bot]
f52b854146 fix(container): update reloader ( 1.2.0 → 1.2.1 ) (#1702)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-17 19:34:00 -05:00
renovate[bot]
84de59448f fix(container): update ghcr.io/siderolabs/installer ( v1.9.1 → v1.9.2 ) (#1700)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-17 19:33:53 -05:00
renovate[bot]
ae077356ef fix(helm): update cert-manager ( v1.16.2 → v1.16.3 ) (#1705)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-17 19:33:07 -05:00
renovate[bot]
5b87df94b8 fix(helm): update coredns ( 1.37.0 → 1.37.1 ) (#1706)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-17 19:32:59 -05:00
renovate[bot]
994a05b5db chore(deps): update dependency cloudflare to v4 (#1707)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-17 19:32:52 -05:00
Devin Buhl
000926d360 chore(mise): remove square braces 2025-01-15 19:27:18 -05:00
github-actions[bot]
37525a2dfc chore(mise): upgrade dependencies (#1698)
Co-authored-by: onedr0p <213795+onedr0p@users.noreply.github.com>
2025-01-15 19:24:56 -05:00
Devin Buhl
0181f76c06 fix: flatten dual_stack_ipv4_first flag
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-14 08:42:25 -05:00
Devin Buhl
1145cc2c7f chore: update comments
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-12 20:01:38 -05:00
Devin Buhl
b54fb58675 fix(bgp): reduce options and clear up confusion (#1696) 2025-01-12 19:22:06 -05:00
Devin Buhl
caab35619b fix(fluxinstance): move dependsOn to HR
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-12 18:36:05 -05:00
Devin Buhl
2c77cded57 fix: add back ability to set branch 2025-01-12 17:36:08 -05:00
Devin Buhl
4ef112f4aa chore: update mise workflow
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-12 12:03:14 -05:00
Devin Buhl
7c5562b0f1 chore: update mise workflow
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-12 11:58:55 -05:00
Devin Buhl
f0627ca1a8 chore: update mise workflow (#1694) 2025-01-12 11:53:50 -05:00
Devin Buhl
f5983bd001 chore: pin mise dependencies and add upgrade workflow
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-12 11:39:27 -05:00
renovate[bot]
0cf442ebd6 fix(container): update app-template ( 3.6.0 → 3.6.1 ) (#1693)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-12 08:59:03 -05:00
Devin Buhl
61e26011a6 fix: renovate needs namespace on helm repositories for lookups
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-12 08:31:42 -05:00
Devin Buhl
4be8ea1cc2 fix: cluster-meta is not an "app" 2025-01-11 16:55:52 -05:00
Devin Buhl
1e4577425e chore: improve template:tidy Task
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-11 08:52:38 -05:00
Devin Buhl
f9e5998e5b feat: targetNamespace on cluster-meta
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-11 08:34:24 -05:00
Devin Buhl
48e54bd542 feat(config): require schematic id on nodes
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-10 19:41:22 -05:00
Devin Buhl
77757fca21 fix: english is hard
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-10 18:51:16 -05:00
Devin Buhl
35c0db644c feat: implement cluster-meta dir
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-10 17:47:58 -05:00
renovate[bot]
4211253818 fix(container): update spegel ( v0.0.28 → v0.0.29 ) (#1690)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-10 17:31:34 -05:00
renovate[bot]
174a476c37 fix(helm): update openebs ( 4.1.1 → 4.1.2 ) (#1691)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-10 17:31:26 -05:00
renovate[bot]
b6af3ca10a feat(container): update flux operator group ( 0.12.0 → 0.13.0 ) (#1692)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-10 17:31:19 -05:00
Benjamin Runnels
dec722c5eb Added more schemas (#1689) 2025-01-10 17:16:31 -05:00
Devin Buhl
5133a5d7d9 chore: update renovate config 2025-01-09 21:20:32 -05:00
renovate[bot]
707e514a0e feat(container)!: Update image docker.io/cloudflare/cloudflared to v2025 (#1688)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-09 21:10:41 -05:00
renovate[bot]
17a88acadc chore(deps): update helmrepository to source.toolkit.fluxcd.io/v1 (#1687)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-09 21:10:34 -05:00
Devin Buhl
0d4fcca100 fix: move github folder into flux instance
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-09 18:05:45 -05:00
Devin Buhl
ec5a3ec94d feat: deploy flux with flux-operator (#1686) 2025-01-09 09:07:42 -05:00
Robert Tooker
fa8da5646b fix ssl cert for ingresses (#1685) 2025-01-08 19:51:58 -05:00
Devin Buhl
0f64b6d1e4 feat: also allow for graceful takeover of spegel when update is released 2025-01-08 10:25:43 -05:00
Devin Buhl
c7712d6350 feat: allow flux to gracefully take over the helmfile apps
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-08 10:24:19 -05:00
Devin Buhl
ce11e150d1 chore: use the correct naming on that last commit 2025-01-08 00:19:51 -05:00
Devin Buhl
ad8576bfa3 chore: try to figure out what sed to use
Mac sed is Unix, so look for gsed which is the same as Linux sed
2025-01-08 00:18:23 -05:00
Devin Buhl
8e127330b8 fix: update sops configuration file
Allow encrypted files to be edited and
adjust YAML indentation to two.
2025-01-08 00:05:51 -05:00
Devin Buhl
615550eb5b chore: flux group is not needed anymore 2025-01-08 00:03:13 -05:00
Devin Buhl
fd1c9fdb09 feat!: deploy flux with helm (#1684) 2025-01-07 13:32:42 -05:00
Devin Buhl
5612222cc6 fix: github privatekey var
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-07 12:00:19 -05:00
Devin Buhl
ce59515ca2 feat: better organize talhelper patches
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-06 18:22:03 -05:00
Devin Buhl
608d6efc71 fix: prevent helmfile apps from restarting when flux takes over
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-06 18:16:15 -05:00
Devin Buhl
7c096def65 feat: remove kubelet-csr-approver
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-06 18:13:44 -05:00
Robert Tooker
cd92b8410d correct github private key reference in cluster.yaml.j2 (#1682)
flux failing due to not finding github.private_key when using config sample.
2025-01-05 16:22:45 -05:00
Devin Buhl
c2d4dabb11 feat: update config options and taskfiles (#1681) 2025-01-05 08:46:41 -05:00
Devin Buhl
82366a9cab fix(template): remove options for extra manifests and extension config (#1679) 2025-01-04 22:43:08 -05:00
renovate[bot]
84ec8e29c1 feat(helm): update chart ingress-nginx to 4.12.0 (#1677)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-04 17:36:46 -05:00
Devin Buhl
3659673e2d fix(ingress-nginx): make renovate happy
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-04 17:35:16 -05:00
Devin Buhl
abb8323f66 feat!: separate templating and bootstrap process connotations (#1674) 2025-01-04 10:48:35 -05:00
Devin Buhl
70fbd00ed2 chore: update workflows and clean task (#1672) 2025-01-03 10:01:38 -05:00
Devin Buhl
089123ba26 fix: remove talos health check
This doesn't work on clusters using Talos 1.9.0+
2025-01-03 08:18:36 -05:00
Devin Buhl
ac4321ba24 chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-03 07:46:48 -05:00
Devin Buhl
917d471c7d fix: separate out bootstrap app task into own task
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-02 14:48:29 -05:00
Devin Buhl
269eb5dc26 chore: update config sample
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-02 10:15:31 -05:00
Devin Buhl
ea42f08106 fix: move the config sample to config on task init
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-02 10:14:31 -05:00
Devin Buhl
5f3c2c507d fix: rename mise config to .mise.toml and remove requirements.txt on clean task
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-01 14:24:53 -05:00
Devin Buhl
9ddfdbb846 chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-01 11:59:34 -05:00
Devin Buhl
4398b2d3e9 chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-01 11:49:03 -05:00
Devin Buhl
0804079ff6 chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-01 11:43:38 -05:00
Devin Buhl
9dc415780f chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2025-01-01 11:42:32 -05:00
renovate[bot]
4739f004d6 feat(github-action)!: Update image ghcr.io/allenporter/flux-local to v7 (#1671)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-01 08:31:46 -05:00
renovate[bot]
3256356cc2 fix(helm): update chart kubelet-csr-approver to 1.2.4 (#1669)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-30 21:07:42 -05:00
Devin Buhl
11b1465a09 fix(talos): use service discovery defaults - requires reboot
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-12-30 14:12:46 -05:00
Devin Buhl
90d60f356e chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-12-30 09:27:17 -05:00
Devin Buhl
b731ccc05e feat(mise): use pip instead of uv (#1668) 2024-12-29 09:22:46 -05:00
Devin Buhl
5711d9fe1e chore: Update README 2024-12-28 21:11:24 -05:00
renovate[bot]
a12dd0ed99 fix(github-action): update image ghcr.io/allenporter/flux-local to v6.1.1 2024-12-26 22:13:15 +00:00
renovate[bot]
e2a3318dc3 feat(container): update image app-template to v3.6.0 (#1667)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-26 12:16:01 -05:00
renovate[bot]
282b1775f0 fix(container): update image ghcr.io/siderolabs/installer to v1.9.1 (#1666)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-26 12:15:54 -05:00
renovate[bot]
68f2b0bac1 feat(github-action): update image ghcr.io/allenporter/flux-local to v6.1.0 2024-12-26 17:13:07 +00:00
Devin Buhl
96eda88dec fix: update apply-ks task to be ks-apply or ks-delete 2024-12-26 11:57:41 -05:00
Aviator-Coding
73fb211f9b fix(task-kubernetes:apply-ks): --dry-run was appended to the path, making it invalid (#1665) 2024-12-26 11:55:03 -05:00
Devin Buhl
d62155849b fix(cloudflared): use originRequest.noTLSVerify=true on staging cert 2024-12-23 19:29:03 -05:00
Devin Buhl
4b4a318d10 fix: update talos service discovery (#1662) 2024-12-22 11:38:04 -05:00
Devin Buhl
6a98eea1e3 fix: remove use for VIRTUAL_ENV 2024-12-21 21:41:54 -05:00
Devin Buhl
215e3fb391 fix(ingress-nginx-internal): remove namespace value 2024-12-21 08:34:14 -05:00
renovate[bot]
5612df7572 fix(helm): update chart cilium to 1.16.5 (#1659)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-20 20:18:03 -05:00
renovate[bot]
27004a401b fix(container): update image prometheus-operator-crds to v17.0.2 (#1658)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-20 20:17:56 -05:00
renovate[bot]
a3474d7eba fix(container): update image docker.io/cloudflare/cloudflared to v2024.12.2 (#1657)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-20 20:17:44 -05:00
Devin Buhl
575ee1b974 chore: update readme 2024-12-20 12:37:52 -05:00
Devin Buhl
df4ffae01b fix(talos): remove defaulted config
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-12-20 10:56:21 -05:00
Devin Buhl
a26a4851c9 chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-12-20 09:38:46 -05:00
Devin Buhl
8aa35f4777 feat!: use mise for managing the dev env (#1656)
* feat(mise)!: Utilize mise for managing CLI tools and Python venv

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat(mise)!: Utilize mise for managing CLI tools and Python venv

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat(mise)!: Utilize mise for managing CLI tools and Python venv

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat(mise)!: Utilize mise for managing CLI tools and Python venv

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat(mise)!: Utilize mise for managing CLI tools and Python venv

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat(mise)!: Utilize mise for managing CLI tools and Python venv

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat(mise)!: Utilize mise for managing CLI tools and Python venv

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat(mise)!: Utilize mise for managing CLI tools and Python venv

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat(mise)!: Utilize mise for managing CLI tools and Python venv

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat(mise)!: Utilize mise for managing CLI tools and Python venv

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat(mise)!: Utilize mise for managing CLI tools and Python venv

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-12-19 22:06:37 -05:00
Devin Buhl
d739265c43 fix(talos): containerd v2 has these defaulted now 2024-12-18 08:03:48 -05:00
Devin Buhl
b6bb27e37c fix(talos): update containerd config for spegel 2024-12-17 21:10:10 -05:00
renovate[bot]
c91c59ba62 feat(talos): update to v1.32.0 and enable service discovery (#1650)
* feat(container): update image ghcr.io/siderolabs/kubelet to v1.32.0

* Update cluster-discovery.yaml.j2

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-12-17 21:08:58 -05:00
renovate[bot]
5725092303 feat(container): update image ghcr.io/siderolabs/installer to v1.9.0 (#1654)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-17 13:52:06 -05:00
renovate[bot]
9e064e2f5e feat(container)!: Update image prometheus-operator-crds to v17 (#1653)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-17 08:17:04 -05:00
renovate[bot]
a4bb70c28a fix(container): update image spegel to v0.0.28 (#1652)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-17 08:16:57 -05:00
Devin Buhl
26f0a0ecd1 fix: improve validation for mac addr 2024-12-17 08:14:52 -05:00
renovate[bot]
c9d8b67677 feat(helm): update chart coredns to 1.37.0 (#1651)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-13 20:41:25 -05:00
renovate[bot]
c2a0b8cef8 feat(container): update image docker.io/cloudflare/cloudflared to v2024.12.1 (#1649)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-13 20:41:13 -05:00
renovate[bot]
e081c5c753 fix(container): update image ghcr.io/siderolabs/installer to v1.8.4 (#1648)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-13 20:41:06 -05:00
Devin Buhl
491ffa8209 chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-12-09 20:37:55 -05:00
Devin Buhl
946edc9f8e fix(external-dns): update extraArgs values
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-12-09 20:12:07 -05:00
renovate[bot]
18ee1a21d7 chore(deps): update cloudflare to 3.1.1 (#1646)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-08 08:49:26 -05:00
Devin Buhl
e55e4b66f4 fix: add validation to node names to check for reserved names
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-12-08 08:47:10 -05:00
Emmanuel Ferdman
f7c30961bf docs: update kubernetes task file reference (#1645)
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2024-12-01 07:50:41 -05:00
renovate[bot]
03136540b6 fix(container): update image prometheus-operator-crds to v16.0.1 (#1643)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-26 19:31:01 -05:00
Devin Buhl
0111d1e568 Update README.md 2024-11-26 10:41:07 -05:00
renovate[bot]
957757d60b fix(container): update image docker.io/cloudflare/cloudflared to v2024.11.1 (#1638)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-23 17:08:54 -05:00
renovate[bot]
66006d22e8 fix(container): update image ghcr.io/siderolabs/kubelet to v1.31.3 (#1639)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-23 17:08:48 -05:00
renovate[bot]
443840a9b7 fix(helm): update chart cert-manager to v1.16.2 (#1640)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-23 17:08:43 -05:00
renovate[bot]
6707bc3b34 fix(helm): update chart cilium to 1.16.4 (#1641)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-23 17:08:38 -05:00
renovate[bot]
629345916f feat(container): update image reloader to v1.2.0 (#1642)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-23 17:08:31 -05:00
renovate[bot]
0aebde4479 chore(deps): update makejinja to 2.7.2 (#1637)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-17 18:17:13 -05:00
Devin Buhl
6b33bd616b fix: wrong quotes around var TALOS_SECUREBOOT 2024-11-17 07:58:05 -05:00
Devin Buhl
74bcc0a453 fix: rename var to TALOS_SECUREBOOT 2024-11-17 07:54:10 -05:00
Devin Buhl
cc3551e503 fix: use secureboot when needed on Talos upgrade task 2024-11-17 07:49:13 -05:00
renovate[bot]
c3a80d827c chore(deps): update makejinja to 2.7.1 (#1635)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-17 07:25:31 -05:00
renovate[bot]
3bacd8ae3d chore(deps): update makejinja to 2.7.0 (#1632)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-15 09:44:39 -05:00
renovate[bot]
a9d65f8fd0 fix(container): update image ghcr.io/siderolabs/installer to v1.8.3 (#1631)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-15 09:44:27 -05:00
Jean-Paul van Ravensberg
643fc90ae1 Add hostNamespaceOnly setting (#1628)
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-11-13 14:38:15 -05:00
Devin Buhl
0962814ed2 chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-11-11 11:56:15 -05:00
renovate[bot]
ed4722db48 fix(github-action): update image ghcr.io/allenporter/flux-local to v6.0.2 2024-11-10 19:32:03 +00:00
Devin Buhl
cabfb1b9ea fix(devcontainer): use go-task since not aliased yet 2024-11-10 08:49:42 -05:00
Devin Buhl
68ec204b85 chore: update readme 2024-11-09 09:13:39 -05:00
renovate[bot]
6b7656d79b feat(container)!: Update image prometheus-operator-crds to v16 (#1626)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-08 19:53:12 -05:00
renovate[bot]
ac43f1e7f9 feat(container): update image docker.io/cloudflare/cloudflared to v2024.11.0 (#1625)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-08 19:53:04 -05:00
Tanguille
d2eb686cae fix(taskfile): remove redundant braces (#1624) 2024-11-08 12:24:37 -05:00
Devin Buhl
5b8bb5ae35 bootstrap: improve validation and update tasks (#1623) 2024-11-06 20:15:56 -05:00
AJ
9942f9ab54 Update missing quotes (#1622) 2024-11-04 17:08:45 -05:00
Devin Buhl
bfeaf9670f feat(talos) set sysctl vm.nr_hugepages=1024 2024-11-04 16:55:08 -05:00
Ikko Eltociear Ashimine
674cbce837 docs: update README.md (#1621)
runnning -> running
2024-11-04 07:06:19 -05:00
Devin Buhl
ea90bfaa89 Update README.md 2024-11-03 22:38:31 -05:00
renovate[bot]
bebd4701d2 fix(github-action): update image ghcr.io/allenporter/flux-local to v6.0.1 2024-11-02 16:42:31 +00:00
renovate[bot]
144b5f8052 fix(helm): update chart coredns to 1.36.1 (#1620)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-01 21:56:45 -04:00
renovate[bot]
642b96dad8 fix(container): update image ghcr.io/siderolabs/installer to v1.8.2 (#1619)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-01 21:56:40 -04: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
Devin Buhl
68e07e7807 fix: improve taskfiles and e2e test (#1615) 2024-10-26 14:01:59 -04:00
renovate[bot]
d71c3e163d fix(container): update image docker.io/cloudflare/cloudflared to v2024.10.1 (#1613)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-26 12:21:12 -04:00
renovate[bot]
5f5b4890d5 fix(container): update image ghcr.io/siderolabs/kubelet to v1.31.2 (#1614)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-25 22:23:33 -04:00
Devin Buhl
25b4179b74 fix: assign TALOSCONFIG to a var and then to env 2024-10-24 11:42:50 -04:00
Devin Buhl
d720f36821 fix: talos taskfile doesn't need dir most of the time 2024-10-24 11:16:03 -04:00
Devin Buhl
db0762033e chore: move flux to apk in devcontainer 2024-10-21 15:46:56 -04:00
Devin Buhl
b229ffc732 chore: move more tools into alpine repos 2024-10-21 15:42:09 -04:00
Devin Buhl
8728c6b115 chore: update devcontainer 2024-10-21 15:12:37 -04:00
Devin Buhl
3c0c74a3b3 chore: update README 2024-10-21 11:43:40 -04:00
Devin Buhl
b1bcc9695f fix(yaskfile): VERSION is not required anymore 2024-10-21 11:30:20 -04:00
Devin Buhl
0a59e4fdcc feat: improve talos upgrade and kubernetes upgrade tasks 2024-10-21 11:27:24 -04:00
Devin Buhl
13efcdbc7a feat: add apply-config to talos taskfile 2024-10-21 11:10:21 -04:00
Devin Buhl
de1944ec73 fix: cp on macos is ancient 2024-10-20 10:21:35 -04:00
Devin Buhl
83d2235824 fix: update cp command in taskfile 2024-10-20 10:16:24 -04:00
renovate[bot]
ba8bb30db1 feat(container)!: Update image ghcr.io/mendhak/http-https-echo to v35 (#1611)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-19 13:02:37 -04:00
Devin Buhl
b7273c2aaf fix(yaskfile): lower case .taskfiles dirs (#1610) 2024-10-19 08:41:00 -04:00
renovate[bot]
182a403153 fix(helm): update chart kubelet-csr-approver to 1.2.3 (#1609)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-18 20:57:19 -04:00
renovate[bot]
c1e6091ad5 fix(helm): update chart cilium to 1.16.3 (#1608)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-18 20:57:12 -04:00
Devin Buhl
fa38c6d294 chore: I dropped a v 2024-10-18 15:23:09 -04:00
Devin Buhl
7570388c32 feat(yaskfile): updates and reorganizations (#1607) 2024-10-17 15:45:45 -04:00
Devin Buhl
50b6f98dd7 feat(cilium): loadbalancer mode default to dsr and allow configurability
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-10-17 08:44:35 -04:00
Devin Buhl
7fb926cfc5 fix(yaskfile): TALOS_SCHEMATIC_ID 2024-10-15 11:21:30 -04:00
renovate[bot]
2f18d56810 fix(container): update image spegel to v0.0.27 (#1605)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-13 12:06:21 -04:00
renovate[bot]
05151c3e94 fix(container): update image spegel to v0.0.26 (#1604)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-12 07:00:59 -04:00
Devin Buhl
5e6887ecf8 chore: Update README.md 2024-10-11 07:42:07 -04:00
Devin Buhl
636d2fd840 feat: change talos upgrade task to support version instead of image (#1603)
* feat: change talos upgrade task to support version instead of image

* Update README.md

* Update Taskfile.yaml

* Update Taskfile.yaml

* Update Taskfile.yaml

* Update Taskfile.yaml
2024-10-11 07:35:08 -04:00
Devin Buhl
df74ade69a chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-10-10 12:14:30 -04:00
renovate[bot]
60ff994d30 feat(container): update image docker.io/cloudflare/cloudflared to v2024.10.0 (#1602)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-10 12:13:37 -04:00
Devin Buhl
fd4f7643fa chore: update dev/null redirects
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-10-10 12:11:46 -04:00
Devin Buhl
88996d0824 fix: updates to talos taskfile and readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-10-10 12:09:10 -04:00
Devin Buhl
dd16fcd64b chore: update taskfiles and direnv (#1601) 2024-10-09 17:53:15 -04:00
Devin Buhl
be2819a84e chore: update config.yaml comments 2024-10-09 14:07:28 -04:00
renovate[bot]
3a846986d8 feat(helm): update chart cert-manager to v1.16.1 (#1598)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-09 13:54:11 -04:00
renovate[bot]
687189524b feat(helm): update chart coredns to 1.36.0 (#1599)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-09 13:54:05 -04:00
Devin Buhl
d1e92b5bc9 fix: taloscto not being installed with brew 2024-10-09 12:32:38 -04:00
renovate[bot]
57c6610fac feat(github-action)!: Update image ghcr.io/allenporter/flux-local to v6 (#1600)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-09 12:26:50 -04:00
renovate[bot]
aeda4da2f4 fix(helm): update chart metrics-server to 3.12.2 (#1597)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-09 12:26:30 -04:00
renovate[bot]
757e858d5f fix(container): update image ghcr.io/siderolabs/installer to v1.8.1 (#1596)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-09 12:26:23 -04:00
renovate[bot]
2e57f08217 fix(container): update image app-template to v3.5.1 (#1595)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-09 12:26:14 -04:00
Philipp Rosch
c66400741e Fix 'xargs: command line too long' in SOPS encryption task (#1594)
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-10-07 18:19:43 -04:00
Devin Buhl
8c29e80587 fix: remove default option on cert-manager chart 2024-10-07 08:08:15 -04:00
Devin Buhl
51afc1d7c3 fix: downgrade cert-manager until we know why the new version is failing 2024-10-07 08:07:49 -04:00
renovate[bot]
fb2eb73b84 fix(container): update image spegel to v0.0.25 and remove hack (#1593)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-10-07 08:06:48 -04:00
Devin Buhl
643e682982 fix(devcontainer): does arm64 build now question mark
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-10-06 09:55:30 -04:00
Devin Buhl
c6528ce3b9 fix(devcontainer): add docker pull to init cmd
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-10-06 09:42:24 -04:00
renovate[bot]
573cca5335 feat(helm): update chart coredns to 1.35.0 (#1592)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-06 09:06:15 -04:00
renovate[bot]
9aca7775a1 feat(container)!: Update image prometheus-operator-crds to v15 (#1591)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-04 21:22:25 -04:00
renovate[bot]
dc2f69dd2c feat(helm): update chart coredns to 1.34.0 (#1590)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-04 21:22:19 -04:00
renovate[bot]
fa79da5d62 feat(helm): update chart cert-manager to v1.16.0 (#1589)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-04 21:22:12 -04:00
renovate[bot]
d04d2887a6 feat(github-release): update flux group to v2.4.0 (#1588)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-04 21:22:05 -04:00
renovate[bot]
3074efb225 feat(container): update image app-template to v3.5.0 (#1587)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-04 21:21:04 -04:00
Heavybullets8
cee18af64c Various Improvements (#1586)
* Cert-Manager: Replace depricated "installCRDs"

* Cilium: Replace deprecated "io.cilium/lb-ipam-ips" annotation

* Sysctls: Up `net.core.rmem_max` and `net.core.wmem_max` for Cloudflared
2024-10-03 21:01:58 -04:00
Devin Buhl
f2de4c7fab fix: remove retryInterval from all flux ks
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-10-03 10:03:24 -04:00
Devin Buhl
4453ff0fb2 fix: update spegel version with multiarch build 2024-09-28 09:41:35 -04:00
Devin Buhl
9fcabba314 fix: use sops filestatus for discovering non-encrypted sops files
Fixes: https://github.com/onedr0p/cluster-template/issues/1539
2024-09-27 14:31:19 -04:00
renovate[bot]
81ce49599b feat(helm): update chart coredns to 1.33.0 (#1585)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-27 14:22:03 -04:00
renovate[bot]
6411509d29 fix(helm): update chart cilium to 1.16.2 (#1584)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-27 14:21:36 -04:00
Devin Buhl
49b209b04d fix(spegel): use deedee-ops container for containerd v2 2024-09-25 12:23:08 -04:00
renovate[bot]
cb9dc8cb59 feat(container): update image ghcr.io/siderolabs/kubelet to v1.31.1 (#1567)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-25 12:21:25 -04:00
renovate[bot]
d015939e2c feat(container): update image ghcr.io/siderolabs/installer to v1.8.0 (#1583)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-25 12:21:18 -04:00
renovate[bot]
a884b135d7 fix(helm): update chart openebs to 4.1.1 (#1582)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-25 12:20:33 -04:00
Devin Buhl
a8070575d9 fix(talconfig): disable service discovery 2024-09-25 12:18:17 -04:00
renovate[bot]
02eeb993e7 feat(helm): update chart external-dns to 1.15.0 (#1581)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-13 20:51:33 -04:00
renovate[bot]
db124bbb44 feat(container): update image docker.io/cloudflare/cloudflared to v2024.9.1 (#1580)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-13 20:51:16 -04:00
Devin Buhl
2713eeeee8 fix: remove pinning cattrs in requirements 2024-09-11 14:08:16 -04:00
renovate[bot]
61fa13cdeb fix(container): update image spegel to v0.0.24 (#1577)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-06 20:58:06 -04:00
Devin Buhl
a38d40a08f fix: add openssl to devcontainer 2024-09-03 07:24:54 -04:00
Devin Buhl
912f612dd1 fix: pin cattrs to 23.2.3 2024-08-31 08:26:13 -04:00
renovate[bot]
3ec9849d7d feat(container): update image reloader to v1.1.0 (#1573)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-30 21:40:46 -04:00
renovate[bot]
689b904686 feat(container): update image app-template to v3.4.0 (#1572)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-30 21:40:41 -04:00
renovate[bot]
de350ce24a fix(container): update image docker.io/cloudflare/cloudflared to v2024.8.3 (#1569)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-23 21:00:33 -04:00
renovate[bot]
bcd48fde9d feat(container)!: Update image prometheus-operator-crds to v14 (#1570)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-23 21:00:28 -04:00
renovate[bot]
5361aaac36 feat(container)!: Update image ghcr.io/mendhak/http-https-echo to v34 (#1568)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-17 11:13:26 -04:00
renovate[bot]
a3585fb339 fix(helm): update chart ingress-nginx to 4.11.2 (#1566)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-17 11:13:08 -04:00
renovate[bot]
5e1659d523 fix(helm): update chart cert-manager to v1.15.3 (#1564)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-17 11:13:01 -04:00
renovate[bot]
0be7bb3838 fix(helm): update chart cilium to 1.16.1 (#1565)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-17 11:12:55 -04:00
renovate[bot]
aec53a5920 fix(container): update image ghcr.io/siderolabs/installer to v1.7.6 (#1559)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-10 09:11:31 -04:00
renovate[bot]
00a6a59a33 fix(container): update image reloader to v1.0.121 (#1560)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-10 09:11:19 -04:00
renovate[bot]
187ba40362 feat(container): update image docker.io/cloudflare/cloudflared to v2024.8.2 (#1561)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-10 09:11:11 -04:00
renovate[bot]
1b6d2375af feat(helm): update chart coredns to 1.32.0 (#1562)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-10 09:11:05 -04:00
renovate[bot]
d36a639e89 feat(github-action): update image ghcr.io/allenporter/flux-local to v5.5.1 2024-08-10 02:38:40 +00:00
Dean
43e3ae2bf9 fix: Add conditional check for existing sops-age secret in bootstrap task (#1556)
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-08-05 16:18:25 -04:00
Dean
07f8f78dce Update README.md with additional GitHub webhook setup instructions as application/json isn't the default. (#1555) 2024-08-05 11:27:50 -04:00
renovate[bot]
2f5e6c3150 feat(container): update image app-template to v3.3.2 (#1554)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-02 21:04:00 -04:00
renovate[bot]
e128f861d5 fix(helm): update chart cert-manager to v1.15.2 (#1553)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-02 21:03:51 -04:00
renovate[bot]
6b3739be9f chore(deps): update makejinja to 2.6.2 (#1550)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-29 08:00:55 -04:00
renovate[bot]
debceb746c feat(helm): update chart cilium to 1.16.0 and disable envoy proxy (#1549)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-07-26 16:32:08 -04:00
renovate[bot]
63275e68b2 fix(container): update image prometheus-operator-crds to v13.0.2 (#1548)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 16:30:39 -04:00
renovate[bot]
2200311c9f feat(helm): update chart ingress-nginx to 4.11.1 (#1547)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-19 21:44:22 -04:00
renovate[bot]
f584317f7b fix(container): update image reloader to v1.0.119 (#1541)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-18 09:09:10 -04:00
renovate[bot]
b2e762621d fix(container): update image ghcr.io/siderolabs/kubelet to v1.30.3 (#1545)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-18 09:08:59 -04:00
renovate[bot]
cf23a31c7a chore(deps): update cloudflare to 3.1.0 (#1546)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-18 09:08:49 -04:00
renovate[bot]
b4d980b308 feat(helm): update chart openebs to 4.1.0 (#1544)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-18 09:08:43 -04:00
renovate[bot]
0ef3b72389 fix(helm): update chart cilium to 1.15.7 (#1542)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-18 09:08:32 -04:00
Devin Buhl
63f705a98f fix(openebs): helper pod use quay 2024-07-12 16:45:40 -04:00
renovate[bot]
38d00e2197 feat(github-action): update image ghcr.io/allenporter/flux-local to v5.4.0 2024-06-30 01:48:48 +00:00
renovate[bot]
420df05d22 fix(container): update image prometheus-operator-crds to v13.0.1 (#1538)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-29 07:49:28 -04:00
renovate[bot]
fd7cddd829 feat(container)!: Update image prometheus-operator-crds to v13 (#1537)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-28 22:18:51 -04:00
renovate[bot]
b7fc2c726b chore(deps): update makejinja to 2.6.1 (#1533)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-27 08:35:47 -04:00
renovate[bot]
ac230f419f fix(container): update image reloader to v1.0.115 (#1534)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-27 08:35:39 -04:00
renovate[bot]
8559df1859 fix(helm): update chart cert-manager to v1.15.1 (#1535)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-27 08:35:33 -04:00
renovate[bot]
55030b3896 chore(deps): update cloudflare to 3.0.1 (#1536)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-27 08:35:28 -04:00
AJ
a46b317f31 add kubeconfig for create secert in flux:bootstrap (#1531) 2024-06-22 18:37:21 -04:00
renovate[bot]
f69551cbf3 fix(container): update image reloader to v1.0.114 (#1530)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-21 21:31:27 -04:00
renovate[bot]
7b4ce155d7 fix(container): update image ghcr.io/siderolabs/installer to v1.7.5 (#1529)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-21 21:31:21 -04:00
renovate[bot]
f5df721a16 fix(container): update image docker.io/cloudflare/cloudflared to v2024.6.1 (#1525)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-20 16:47:50 -04:00
renovate[bot]
75f4baa128 chore(deps): update email-validator to 2.2.0 (#1528)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-20 16:47:44 -04:00
renovate[bot]
8d48268a18 fix(container): update image reloader to v1.0.108 (#1526)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-20 16:47:38 -04:00
renovate[bot]
ee8c1215c6 fix(helm): update chart kubelet-csr-approver to 1.2.2 (#1527)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-20 16:47:34 -04:00
Devin Buhl
30a56ad048 chore: pin flux-local to v5.3.1 2024-06-20 15:56:02 -04:00
renovate[bot]
fe9c5acf4b feat(helm): update chart coredns to 1.31.0 (#1523)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-13 12:09:46 -04:00
renovate[bot]
14a68ea5bc fix(container): update image ghcr.io/siderolabs/kubelet to v1.30.2 (#1522)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-13 12:09:41 -04:00
renovate[bot]
7970543af7 fix(container): update image reloader to v1.0.107 (#1519)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-12 07:13:42 -04:00
Devin Buhl
cffd5b323e fix(reloader): use OCI helm repo
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-06-12 07:07:04 -04:00
Devin Buhl
9524e417ae fix(cilium): remove deprecated containerRuntime enable Talos forwardKubeDNSToHost
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-06-10 15:09:04 -04:00
renovate[bot]
a91f1c7591 fix(helm): update chart cilium to 1.15.6 (#1517)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-10 15:02:24 -04:00
renovate[bot]
1228d8d93f fix(helm): update chart external-dns to 1.14.5 (#1518)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-10 15:02:14 -04:00
renovate[bot]
7dea34ac5b fix(helm): update chart reloader to 1.0.105 (#1513)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-09 11:49:02 -04:00
renovate[bot]
93da06992f feat(container): update image docker.io/cloudflare/cloudflared to v2024.6.0 (#1514)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-09 11:48:54 -04:00
renovate[bot]
2c9557032c feat(helm): update chart cert-manager to v1.15.0 (#1515)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-09 11:48:47 -04:00
renovate[bot]
4dc7fd5b77 fix(container): update image spegel to v0.0.23 (#1516)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-09 11:48:34 -04:00
wasurerarenai
ebce537dca Sort talos patches for consistency (#1511) 2024-06-04 16:12:45 -04:00
Devin Buhl
f397a7d09c feat: talos_patches makejinja func and move certain patches to patches directory (#1509) 2024-06-04 09:55:57 -04:00
Devin Buhl
6fd9c17bb7 fix: add dir back into other talos tasks
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-06-03 20:19:37 -04:00
AJ
85cc1f6fb9 Access patch files and manifest files for talhelper (#1508) 2024-06-03 20:16:32 -04:00
Devin Buhl
b1b2100283 feat(talos): enable hostDNS and resolveMemberNames 2024-06-03 14:15:03 -04:00
Devin Buhl
d566efbb5c fix: improve talos taskfile and add upgrade docs to README.md
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-05-31 09:05:27 -04:00
Devin Buhl
67ed0a4f19 fix: improve talos taskfile and add upgrade docs to README.md
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-05-31 08:23:32 -04:00
renovate[bot]
77c112bc7a feat(container)!: Update image prometheus-operator-crds to v12 (#1506)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-30 16:00:16 -04:00
renovate[bot]
66f8a197af feat(helm): update chart coredns to 1.30.0 (#1505)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-30 16:00:08 -04:00
renovate[bot]
c5ff7279e1 fix(helm): update chart reloader to 1.0.101 (#1503)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-30 16:00:01 -04:00
renovate[bot]
8c8bbee193 chore(deps): update netaddr to 1.3.0 (#1504)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-30 15:59:56 -04:00
renovate[bot]
7e438c911b fix(container): update image ghcr.io/siderolabs/installer to v1.7.4 (#1502)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-30 15:59:49 -04:00
wasurerarenai
1a740ec619 Update talconfig.yaml.j2 (#1498)
Fix for #1497.
2024-05-28 08:17:59 -04:00
wasurerarenai
6befe50130 Update talconfig.yaml.j2 (#1497)
Fix extensionServices configFile content multi-line indentation.
2024-05-28 07:29:56 -04:00
wasurerarenai
cfb3d8e259 Allow extensionServices to be specified (#1496)
* Update talconfig.yaml.j2

Allow extensionServices to be specified

* Update config.sample.yaml

Allow extensionServices to be specified
2024-05-28 07:02:24 -04:00
wasurerarenai
10118c20c0 Allow extraManifests to be specified (#1495)
* Update talconfig.yaml.j2

Allow extraManifests to be specified.

* Update config.sample.yaml

Allow extraManifests to be specified.
2024-05-27 21:46:38 -04:00
Devin Buhl
56e501838b fix: update default bootstrap_schematic_id var
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-05-27 10:43:28 -04:00
Devin Buhl
68287d31c4 chore: update readme 2024-05-27 09:36:14 -04:00
AJ
cd23465771 add multi arch support for talos using schematic id (#1494) 2024-05-27 09:32:38 -04:00
Devin Buhl
0dfd4f5dd8 fix: update bgp peer port logic
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-05-27 09:27:12 -04:00
wasurerarenai
cbe8b24c78 Allow BGP port override (#1493)
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-05-27 09:21:13 -04:00
Devin Buhl
95a1b30ff2 feat: use DoH for cert-manager nameservers
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-05-23 12:19:12 -04:00
Devin Buhl
1a32b61101 fix: no more relative paths in talos taskfile
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-05-23 11:56:33 -04:00
Devin Buhl
c1af3dbb4c fix: move helmfile up a directory
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-05-23 11:15:36 -04:00
renovate[bot]
a60899d078 feat(container): update image app-template to v3.2.1 (#1492)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-23 11:09:26 -04:00
Devin Buhl
18dfe45662 fix: clean up replica counts across apps
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-05-23 09:49:16 -04:00
Devin Buhl
452398dc32 chore(talos): update formatting in talconfig
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-05-22 15:14:04 -04:00
Jean-François Roy
13412a7414 fix(bootstrap): Add missing coredns repo (#1491) 2024-05-22 12:22:26 -04:00
Devin Buhl
37b8e39535 chore(talos): update formatting in helmfile
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-05-22 10:04:05 -04:00
Devin Buhl
74477840dd fix: update cluster-settings and cluster-secrets files
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-05-22 09:57:11 -04:00
AJ
8a7b1391c2 update cilium value to replace CIDR value from config.yaml (#1489)
* update cilium value to replace CIDR value from config.yaml

* removed unused var
2024-05-22 09:32:18 -04:00
Devin Buhl
dd7d48f678 chore: remove json schemas (#1488)
* Update ks.yaml.j2

* Update kustomization.yaml.j2

* Update helmrelease.yaml.j2
2024-05-21 21:29:50 -04:00
Devin Buhl
7dee32b940 fix: disable coredns in talconfig 2024-05-21 21:19:40 -04:00
AJ
4058adb440 Fix helmvalue path (#1486)
* fixed helmfile failure of prometheus-operator-crds depends on and Taskfile for talos:nuke

* update helmvalue path
2024-05-21 19:51:18 -04:00
Devin Buhl
584d23f3c8 chore: update e2e workflow 2024-05-21 19:48:00 -04:00
AJ
a1b7830093 fixed helmfile failure of prometheus-operator-crds depends on and Taskfile for talos:nuke (#1485) 2024-05-21 19:31:55 -04:00
Devin Buhl
fdd02f4189 fix: only build devcontainer for amd64
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-05-21 11:51:27 -04:00
Devin Buhl
c9a6d68606 chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-05-21 11:24:53 -04:00
Devin Buhl
b18319c286 chore: update devcontainer install script
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-05-21 10:47:21 -04:00
Devin Buhl
3f6fc9cb7d chore: build devcontainer once a day to ensure radness
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-05-21 10:37:01 -04:00
Devin Buhl
25d353b0ce fix: update taskfiles and renovate config
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-05-21 10:30:33 -04:00
Devin Buhl
ca861b2e5c fix: remove bcrypt and passlib pip dep
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-05-21 08:42:07 -04:00
renovate[bot]
c171d6a641 feat(helm): update chart kubelet-csr-approver to 1.2.1 (#1483)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-21 08:34:33 -04:00
Devin Buhl
21afc0baa2 feat!: Remove support for k3s and go full-on Talos (#1482) 2024-05-21 08:29:59 -04:00
renovate[bot]
f4eb701ac6 fix(container): update image ghcr.io/siderolabs/installer to v1.7.2 (#1479)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-17 22:02:51 -04:00
renovate[bot]
bf1a00c504 feat(github-release): update prometheus-operator/prometheus-operator to v0.74.0 (#1480)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-17 22:02:25 -04:00
Devin Buhl
134d78ac49 Revert "feat(helm): update chart kubelet-csr-approver to 1.2.0 (#1476)" (#1478)
This reverts commit 366eea27af.
2024-05-17 13:08:21 -04:00
willian.eth
ef481428f5 chore: update kube-vip (#1466) 2024-05-16 16:47:10 -04:00
Devin Buhl
b7f6d117f2 chore: add partials dir to renovate fileMatches 2024-05-16 16:44:52 -04:00
renovate[bot]
a3555ea487 chore(deps): update helmrelease to helm.toolkit.fluxcd.io/v2 (#1467)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-16 16:41:49 -04:00
renovate[bot]
b0af616699 chore(deps): update helmrepository to source.toolkit.fluxcd.io/v1 (#1468)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-16 16:41:42 -04:00
renovate[bot]
bf30fd4f0c feat(github-release): update flux group to v2.3.0 (minor) (#1475)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-16 16:41:30 -04:00
renovate[bot]
1425b85a18 feat(container): update image docker.io/cloudflare/cloudflared to v2024.5.0 (#1474)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-16 16:41:14 -04:00
renovate[bot]
d5d92668e7 fix(container): update image ghcr.io/siderolabs/kubelet to v1.30.1 (#1469)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-16 16:41:08 -04:00
renovate[bot]
fc3815b368 chore(deps): update ansible-lint to 24.5.0 (#1472)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-16 16:40:45 -04:00
renovate[bot]
366eea27af feat(helm): update chart kubelet-csr-approver to 1.2.0 (#1476)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-16 16:40:37 -04:00
renovate[bot]
fed4cf2841 fix(container): update image registry.k8s.io/kubectl to v1.30.1 (#1470)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-16 16:40:22 -04:00
renovate[bot]
c9565a6185 fix(helm): update chart cilium to 1.15.5 (#1471)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-16 16:40:07 -04:00
renovate[bot]
b3cbb6dcf9 feat(ansible): update kubernetes.core to 3.1.0 (#1473)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-16 16:39:42 -04:00
renovate[bot]
d9a6680f44 fix(helm): update chart reloader to 1.0.97 (#1461)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-15 16:02:08 -04:00
renovate[bot]
79e17ecec8 feat(github-release): update k3s-io/k3s to v1.30.0+k3s1 (#1463)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-15 16:02:02 -04:00
renovate[bot]
277794f6f6 chore(deps): update makejinja to 2.6.0 (#1464)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-15 16:01:52 -04:00
renovate[bot]
0985f9c862 chore(deps): update cloudflare to 2.20.0 (#1462)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-15 16:01:43 -04:00
renovate[bot]
fddf72171d chore(deps): update ansible-lint to 24.2.3 (#1453)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-08 17:03:23 -04:00
renovate[bot]
4446d2709a fix(container): update image ghcr.io/siderolabs/installer to v1.7.1 (#1454)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-08 17:03:16 -04:00
renovate[bot]
4decdb72df chore(deps): update bcrypt to 4.1.3 (#1455)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-08 17:03:07 -04:00
Jory Irving
5d62d47678 Fix siderolabs tap (#1459)
https://github.com/siderolabs/homebrew-tap#how-do-i-install-talosctl
2024-05-08 12:44:20 -04:00
martinohmann
d1e54587be chore: migrate to new openebs chart repository (#1457)
The old chart repository was archived eagerly a couple of days ago,
which broke things for a lot of people. They reinstated the repository
now, but added a deprecation notice to it.

This change switches openebs to the new chart repo. Since this does not
contain release for the 3.x branch anymore, I did the necessary values
changes to bump openebs to 4.x.

With the new values, it will only deploy the localpv-provisioner, just
like we did on version 3.x.

I'm using 4.x already since a couple of days and it's working as
intended (https://github.com/martinohmann/home-ops/blob/main/kubernetes/main/apps/openebs-system/openebs/app/helmrelease.yaml).
2024-05-05 08:22:06 -04:00
renovate[bot]
c2d4dd0c00 chore(deps): update cloudflare to 2.19.4 (#1452)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 22:34:52 -04:00
renovate[bot]
0bd39f3ece fix(github-release): update k3s-io/k3s to v1.29.4+k3s1 (#1446)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 22:33:42 -04:00
renovate[bot]
a350c51a05 fix(helm): update chart reloader to 1.0.93 (#1450)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 22:33:33 -04:00
renovate[bot]
51aa8c7b8b fix(helm): update chart reloader to 1.0.88 (#1449)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-26 21:26:38 -04:00
renovate[bot]
baf2f9ced8 fix(helm): update chart ingress-nginx to 4.10.1 (#1448)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-26 21:26:17 -04:00
renovate[bot]
8eb308a1d6 fix(helm): update chart cert-manager to v1.14.5 (#1447)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-26 21:26:09 -04:00
renovate[bot]
6d1075be13 chore(deps): update ansible to 9.5.1 (#1444)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-24 13:05:33 -04:00
renovate[bot]
bc0d15d28e fix(helm): update chart reloader to 1.0.82 (#1443)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-24 13:05:22 -04:00
renovate[bot]
01878f17e1 fix(container): update image spegel to v0.0.22 (#1442)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-24 13:05:13 -04:00
renovate[bot]
cb84b56db2 fix(container): update image docker.io/cloudflare/cloudflared to v2024.4.1 (#1441)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-24 13:05:07 -04:00
Devin Buhl
4b46e84f7f fix: example private ssh repo url
Fixes: https://github.com/onedr0p/cluster-template/issues/1440
2024-04-24 08:11:08 -04:00
renovate[bot]
ee8326898f feat(ansible): update community.general to 8.6.0 (#1439)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-22 14:28:13 -04:00
Devin Buhl
94c51c148d feat(k8s-gateway): add watchedResources of service and ingress 2024-04-22 09:41:35 -04:00
Michael Koval
2e2c53dce2 Clarify direnv setup instructions (#1437)
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-04-21 17:39:14 -04:00
Michael Koval
3ae02b7aa7 Clarify talos:bootstrap setup instructions (#1438) 2024-04-21 17:37:17 -04:00
Devin Buhl
ad1d09f43c chore: update config sample to make it clear what github address should look like
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-04-21 08:43:34 -04:00
renovate[bot]
c2402cbe1b feat(container): update image ghcr.io/siderolabs/kubelet to v1.30.0 (#1433)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-04-20 08:59:37 -04:00
renovate[bot]
3cebb757f5 feat(container): update image ghcr.io/siderolabs/installer to v1.7.0 (#1432)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-19 14:52:06 -04:00
Devin Buhl
6d0df5c57d fix(cilium): set default loadBalancer to snat
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-04-19 14:51:36 -04:00
renovate[bot]
7b2b054a95 feat(container): update image registry.k8s.io/kubectl to v1.30.0 (#1434)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-19 14:49:26 -04:00
renovate[bot]
2ccf026de3 fix(github-release): update prometheus-operator/prometheus-operator to v0.73.2 (#1431)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-19 14:43:15 -04:00
Devin Buhl
896598fa79 fix(talos): update k8s to v1.29.4
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-04-18 16:10:49 -04:00
renovate[bot]
32f68d5b20 fix(helm): update chart reloader to 1.0.80 (#1430)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-18 15:01:48 -04:00
Devin Buhl
2601f18d90 fix: cilium not exclusive CNI, remove ingress tls block and use defaultPodOptions in app-template workloads
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-04-17 17:12:49 -04:00
renovate[bot]
d3307de9fa feat(ansible): update ansible.utils to 4.1.0 (#1428)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-15 12:07:02 -04:00
Devin Buhl
f37a8381ec fix: update validation script for cloudflare tools check
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-04-14 14:50:32 -04:00
Devin Buhl
22ad47418f feat: drop support for web/dashboard created cloudflare tunnel
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-04-14 14:47:00 -04:00
renovate[bot]
3a255894e4 fix(github-release): update prometheus-operator/prometheus-operator to v0.73.1 (#1425)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-14 14:31:41 -04:00
renovate[bot]
6a9eee0dbd fix(helm): update chart cilium to 1.15.4 (#1426)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-13 00:55:41 -04:00
renovate[bot]
e959636f66 chore(deps): update ansible-lint to 24.2.2 (#1419)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-11 11:06:45 -04:00
renovate[bot]
6e60c176c0 fix(container): update image spegel to v0.0.21 (#1420)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-11 11:06:39 -04:00
renovate[bot]
399e68fc20 fix(helm): update chart reloader to 1.0.79 (#1421)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-11 11:06:34 -04:00
renovate[bot]
79408c6a41 feat(container): update image docker.io/cloudflare/cloudflared to v2024.4.0 (#1422)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-11 11:06:29 -04:00
Devin Buhl
58535fe81f chore: do not check for private dir in task repo clean 2024-04-11 11:05:52 -04:00
Petr Řehoř
0bb18d4588 Fix cilium to use k3s paths for binPath and confPath v2 (#1402) 2024-04-11 10:14:48 -04:00
AJ
6fd11c398d update Cloudflare dashboard token as optional (#1417)
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-04-10 15:08:25 -04:00
AJ
953ff569f8 add kubeconfig flag to helmfile (#1416) 2024-04-10 14:40:09 -04:00
AJ
9df9d0bc72 add helm default and performs pods restart for the resource (#1415) 2024-04-10 12:55:38 -04:00
zbigniewzolnierowicz
57ea47d176 Make deviceSelector.hardwareAddr in config.yaml case-insensitive (#1414)
* fix(docs): mention case sensitivity for talos_nic

* fix: make deviceSelector.hardwareAddr case-insensitive
2024-04-10 06:35:02 -04:00
renovate[bot]
5421d11b8d feat(container)!: Update image ghcr.io/mendhak/http-https-echo to v33 (#1413)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 07:40:03 -04:00
renovate[bot]
d2cb69ca5c fix(helm): update chart reloader to 1.0.76 (#1412)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 07:39:56 -04:00
renovate[bot]
9f27386989 feat(helm): update chart kubelet-csr-approver to 1.1.0 (#1411)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-06 14:00:32 -04:00
renovate[bot]
1cdb9ef648 fix(helm): update chart reloader to 1.0.75 (#1410)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-06 14:00:24 -04:00
renovate[bot]
75a68fe5df fix(helm): update chart metrics-server to 3.12.1 (#1409)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-06 14:00:18 -04:00
renovate[bot]
2996e8dc61 fix(container): update image spegel to v0.0.20 (#1408)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-06 14:00:12 -04:00
Devin Buhl
914ecadbd3 fix(taskfile): add warnings if KUBECONFIG and SOPS Age are not the expected values
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-04-05 15:32:40 -04:00
Devin Buhl
79b3de005e chore: housekeeping
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-04-05 15:08:47 -04:00
Devin Buhl
b3fc170b8c fix(external-dns): update to 1.14.4 and adjust CRD
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-04-05 11:25:11 -04:00
renovate[bot]
2679794440 feat(container): update image app-template to v3.1.0 (#1405)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-04 11:46:10 -04:00
renovate[bot]
252d2879dd feat(github-release): update prometheus-operator/prometheus-operator to v0.73.0 (#1406)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-04 11:46:04 -04:00
renovate[bot]
8ba22dd5aa fix(helm): update chart reloader to 1.0.74 (#1404)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-04 11:45:58 -04:00
Devin Buhl
35df2fb0f7 fix: add talos_nic validation
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-04-03 14:27:39 -04:00
Devin Buhl
28ae26d3a8 fix: add sysctls for cloudflared
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-04-02 20:01:45 -04:00
Devin Buhl
b6234fcbad fix(spegel): moved to new github org and new update
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-04-01 17:56:49 -04:00
Devin Buhl
159c25a1b5 fix: include a default schematic id with no customizations included 2024-04-01 15:18:27 -04:00
renovate[bot]
e4d67ea560 feat(ansible)!: Update ansible.utils to 4.0.0 (#1396)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-01 15:08:28 -04:00
renovate[bot]
1e01652ba9 feat(container)!: Update image ghcr.io/mendhak/http-https-echo to v32 (#1397)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-01 15:08:22 -04:00
Wasurerarenai
0cbcf98698 Disable node.ssh_user check (#1395) 2024-03-28 11:12:16 -04:00
Devin Buhl
73f6b80b13 fix(validation): cannot verify nodes in CI 2024-03-28 08:37:23 -04:00
renovate[bot]
1284cad869 fix(github-release): update k3s-io/k3s to v1.29.3+k3s1 (#1390)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 19:32:42 -04:00
renovate[bot]
ada01c0339 fix(helm): update chart reloader to 1.0.72 (#1392)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 19:32:20 -04:00
renovate[bot]
7a01b2f8fd chore(deps): update ansible to 9.4.0 (#1393)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 19:32:03 -04:00
renovate[bot]
d6bfb50552 feat(ansible): update community.general to 8.5.0 (#1394)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 19:31:55 -04:00
renovate[bot]
34cd3d2f99 fix(helm): update chart cilium to 1.15.3 (#1391)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 19:31:20 -04:00
Devin Buhl
5e0f5cbe58 chore: Update README.md 2024-03-27 18:05:33 -04:00
Devin Buhl
ca6145f938 fix(openebs): disable ndm-operator 2024-03-27 14:44:02 -04:00
Jean-François Roy
1a9c37c910 fix(metrics-server): Remove --kubelet-insecure-tls (#1389)
* fix(metrics-server): Remove --kubelet-insecure-tls

According to https://www.talos.dev/v1.6/kubernetes-guides/configuration/deploy-metrics-server, this flag is not necessary when enabling certificate rotation and an auto CSR approver.

* Update helmrelease.yaml.j2

---------

Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-03-27 12:56:43 -04:00
Devin Buhl
d3a4b10641 Revert "Fix cilium to use k3s paths for binPath and confPath" (#1388) 2024-03-26 11:30:54 -04:00
Devin Buhl
94cffb45e3 feat: add a few more config validations
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-03-26 08:48:46 -04:00
Devin Buhl
49a77bec2a fix(talos): add deps to helmfile so that cilium installs first 2024-03-25 15:55:47 -04:00
Devin Buhl
22e7e30918 chore: update config sample
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-03-25 12:34:08 -04:00
Jean-François Roy
13f4f99992 feat: Support remotely-managed cloudflare tunnels (#1378)
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-03-25 12:27:51 -04:00
Devin Buhl
deb038915a fix: specify talhelper secret file
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-03-22 08:32:29 -04:00
Devin Buhl
62ea1d67fa chore: update talos apply taskfile description 2024-03-22 07:47:03 -04:00
Devin Buhl
9a3374c1b2 fix: kubeconfig should go to root dir 2024-03-21 20:43:51 -04:00
renovate[bot]
ec76be1b52 fix(container): update image ghcr.io/siderolabs/installer to v1.6.7 (#1385)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 19:21:08 -04:00
RLe
dc02a4654d Fix (renovate): Invalid escape character in string. (#1384) 2024-03-20 09:21:29 -04:00
renovate[bot]
a5cea2ce28 feat(container): update image docker.io/cloudflare/cloudflared to v2024.3.0 (#1383)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 08:19:14 -04:00
renovate[bot]
986cf0d0eb fix(helm): update chart reloader to 1.0.71 (#1382)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 08:19:07 -04:00
Petr Řehoř
c6833e0b24 Fix cilium to use k3s paths for binPath and confPath (#1381)
* Update cilium-values-init.partial.yaml.j2

* Update cilium-values-full.partial.yaml.j2

* Update cluster-nuke.yaml.j2

---------

Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-03-20 08:05:51 -04:00
Jean-François Roy
5fa7c0d4f6 feat: Make the cluster name configurable (#1379) 2024-03-20 05:51:15 -04:00
Jean-François Roy
d09d856920 fix: Update deprecated allowSchedulingOnMasters field to allowSchedulingOnControlPlanes (#1380) 2024-03-20 05:48:55 -04:00
Petr Řehoř
92e8d7212f Add kernel modules required by cilium (#1377)
According to the errors in the logs, cillium also requires the following modules
- iptable_mangle
- iptable_raw
- xt_socket
2024-03-19 08:45:52 -04:00
Devin Buhl
8610430e95 fix: remove some config to keep things simple
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-03-19 07:59:45 -04:00
Devin Buhl
b275b781fd feat(talos): change from net.ifnames to a macaddr deviceSelector (#1376)
* feat(talos): change from net.ifnames to a macaddr deviceSelector

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: derpge

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: logic is easier to follow now questionmark

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: logic is easier to follow now questionmark

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-03-18 19:06:19 -04:00
renovate[bot]
91a9890a91 fix(container): update image ghcr.io/siderolabs/kubelet to v1.29.3 (#1375)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-18 17:21:13 -04:00
Devin Buhl
1164fbff8f add gettext to devcontainer 2024-03-16 19:55:56 -04:00
Wasurerarenai
75f49dd3b6 Update echo-server app-template ingress' v3 service identifier (#1374) 2024-03-16 07:45:30 -04:00
Devin Buhl
034b3f4a9c chore: update config example 2024-03-15 11:13:49 -04:00
renovate[bot]
78d588224a fix(container): update image registry.k8s.io/kubectl to v1.29.3 (#1372)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-15 10:24:30 -04:00
renovate[bot]
0c9a9e1a21 fix(container): update image app-template to v3.0.4 (#1371)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-15 10:24:21 -04:00
renovate[bot]
1656c05156 fix(helm): update chart cilium to 1.15.2 (#1369)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 10:44:22 -04:00
Devin Buhl
c8acfee483 fix: update renovate config 2024-03-14 10:39:55 -04:00
renovate[bot]
63f30c7d9f feat(container)!: Update image app-template to v3 (#1370)
* feat(container)!: Update image app-template to v3

* Update helmrelease.yaml.j2

* Update helmrelease.yaml.j2

* Update helmrelease.yaml.j2

* Update README.md

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-03-14 10:32:14 -04:00
renovate[bot]
499b80aa30 chore(deps): update ansible-lint to 24.2.1 (#1368)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 10:25:30 -04:00
Jory Irving
142fd98ced include talosconfig (#1366) 2024-03-12 23:19:46 -04:00
renovate[bot]
c58eef71da feat(helm): update chart k8s-gateway to 2.4.0 (#1365)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-11 21:39:34 -04:00
renovate[bot]
7f0a2e8d90 fix(container): update image ghcr.io/siderolabs/installer to v1.6.6 (#1360)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-10 14:19:10 -04:00
renovate[bot]
ab4d0acf25 feat(github-release): update prometheus-operator/prometheus-operator to v0.72.0 (#1363)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-10 14:17:32 -04:00
renovate[bot]
9f0cea409e fix(helm): update chart cert-manager to v1.14.4 (#1362)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-10 14:16:50 -04:00
renovate[bot]
0c6e944090 fix(github-release): update k3s-io/k3s to v1.29.2+k3s1 (#1361)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-10 14:16:38 -04:00
renovate[bot]
c9c9e9cce7 fix(ansible): update kubernetes.core to 3.0.1 (#1359)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-10 14:16:21 -04:00
Devin Buhl
cadee91bdc fix: rename talhelper secret to talsecret.sops.yaml
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-03-07 10:41:27 -05:00
Devin Buhl
dff0eb75ac fix: keepHistory is false by default
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-03-06 08:26:49 -05:00
Stephen Bonnell
d105410b6b feat!(kube-vip): Enable flux taking over kube-vip post-deployment. (#1357)
* feat!(kube-vip): Enable flux taking over kube-vip post-deployment.

* Update bootstrap/templates/kubernetes/apps/kube-system/kube-vip/app/kustomization.yaml.j2

* Update bootstrap/templates/kubernetes/apps/kube-system/kube-vip/app/kustomization.yaml.j2

* Update daemonset.yaml.j2

* Update rbac.yaml.j2

* Update bootstrap/templates/kubernetes/apps/kube-system/kustomization.yaml.j2

* Update kustomization.yaml.j2

* Update kustomization.yaml.j2

* Create .mjfilter.py

* Update bootstrap/templates/ansible/playbooks/cluster-installation.yaml.j2

* Update bootstrap/templates/kubernetes/apps/kube-system/kube-vip/ks.yaml.j2

---------

Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-03-06 08:19:51 -05:00
Jakub Jędrzejczyk
d1b5fa1c98 Add the option for assigning a specific SSH key to a node. (#1356)
* Add the option for specifying an SSH key.

* Add ability to specify SSH key.

* Update config.sample.yaml

* Update config.sample.yaml

* Update bootstrap/templates/ansible/inventory/hosts.yaml.j2

* Update bootstrap/templates/ansible/inventory/hosts.yaml.j2

---------

Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-03-04 15:57:47 -05:00
Devin Buhl
e6f8f4dd33 fix(k3s): update args in k3s controllers plan 2024-03-02 14:30:24 -05:00
renovate[bot]
0011fc924f fix(container): update system upgrade controller group to v0.13.4 (#1355)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-01 21:13:48 -05:00
Wasurerarenai
54259b4524 Add optional user tasks to Taskfile.yaml (#1354) 2024-03-01 06:57:52 -05:00
Devin Buhl
75265ab8db fix(workflow): update flux-local to only look at flux entrypoint 2024-02-29 22:34:52 -05:00
willian.eth
115f12d27d fix: identation fix (#1353) 2024-02-29 14:38:04 -05:00
renovate[bot]
1a97870ecc fix(container): update system upgrade controller group to v0.13.3 (patch) (#1352)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-29 09:40:36 -05:00
Devin Buhl
42dde98421 fix(renovate): add SUC group 2024-02-29 09:18:18 -05:00
renovate[bot]
650f6cfc9f feat(helm): update chart ingress-nginx to 4.10.0 (#1351)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-29 09:16:39 -05:00
renovate[bot]
6fc5adebba feat(ansible): update community.general to 8.4.0 (#1348)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-28 17:49:28 -05:00
renovate[bot]
3f4d31916b chore(deps): update ansible to 9.3.0 (#1347)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-28 17:49:20 -05:00
renovate[bot]
dc894031ab chore(deps): update email-validator to 2.1.1 (#1346)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-28 17:49:14 -05:00
Devin Buhl
cdfb1d0176 fix: update kube-vip to v0.7.1 and set lb_enable to true 2024-02-26 16:15:48 -05:00
Devin Buhl
5a41f4ddaf fix(openebs): disable ndm 2024-02-26 07:24:23 -05:00
renovate[bot]
08676e183c fix(helm): update chart reloader to 1.0.69 (#1345)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-23 07:37:03 -05:00
renovate[bot]
3306457c63 fix(helm): update chart cert-manager to v1.14.3 (#1344)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-23 07:36:56 -05:00
renovate[bot]
3872346b4b chore(deps): update cloudflare to 2.19.2 (#1343)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-23 07:36:51 -05:00
renovate[bot]
7284472636 fix(container): update image ghcr.io/siderolabs/installer to v1.6.5 (#1342)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-23 07:36:44 -05:00
renovate[bot]
129432ae42 fix(container): update image docker.io/cloudflare/cloudflared to v2024.2.1 (#1341)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-23 07:36:33 -05:00
Wasurerarenai
46907555a4 fix: Allow users to optionally override templates (#1340) 2024-02-23 07:22:22 -05:00
Petr Řehoř
0083f7b875 Fix cluster-kube-vip playbook (#1338) 2024-02-19 15:26:44 -05:00
Devin Buhl
b389bbe038 fix(talos): remove system-upgrade-controller (#1337)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-02-19 14:18:11 -05:00
Ken Robertson
ecd4081446 fix(talos): Update envvar for talosconfig (#1336)
Fix the path to the talosconfig following the refactoring in #1326.
2024-02-18 06:43:17 -05:00
JJGadgets
8a6f98ae6c fix(cilium): disable BPF masquerade (#1334)
* fix(cilium): disable BPF masquerade

It could cause issues/complications with more advanced networking configuration on the host (e.g. using FRR OpenFabric for host-level routing between nodes, or using other eBPF apps with Cilium). 

There's also no real advantage to using in homelab, so it should be safer to disable this.

* fix(cilium): disable BPF masquerade

It could cause issues/complications with more advanced networking configuration on the host (e.g. using FRR OpenFabric for host-level routing between nodes, or using other eBPF apps with Cilium).

There's also no real advantage to using in homelab, so it should be safer to disable this.
2024-02-17 17:54:37 -05:00
renovate[bot]
de630da5cc chore(deps): update netaddr to 1.2.1 (#1333)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-17 16:51:40 -05:00
Devin Buhl
f2ebe285cd fix: add --skip-diff-on-install as well to helmfile apply args 2024-02-17 16:28:37 -05:00
renovate[bot]
001aa56f86 chore(deps): update cloudflare to 2.19.0 (#1332)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-17 07:55:49 -05:00
Devin Buhl
8c155e552b fix: --suppress-diff with helmfile 2024-02-17 07:55:08 -05:00
Wasurerarenai
0df4641b6a Update config.sample.yaml (#1331) 2024-02-16 10:44:01 -05:00
renovate[bot]
a73b54f014 feat(container): update image app-template to v2.6.0 (#1325)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-15 20:29:57 -05:00
renovate[bot]
8d320e5fec fix(container): update image ghcr.io/siderolabs/kubelet to v1.29.2 (#1327)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-15 20:29:49 -05:00
renovate[bot]
e38e371719 fix(container): update image spegel to v0.0.18 (#1328)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-15 20:29:33 -05:00
renovate[bot]
df33bd4836 fix(helm): update chart kubelet-csr-approver to 1.0.7 (#1329)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-15 20:29:26 -05:00
renovate[bot]
8162ff8916 feat(helm): update chart cilium to 1.15.1 (#1330)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-15 20:29:17 -05:00
Devin Buhl
c17d543b21 refactor!: project updates (#1326)
* refactor!: flux is required again

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: delimiter that chomps

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: bootstrap_cloudflare logic

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: update tests

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: remove last quote

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: update readme

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-02-15 20:03:24 -05:00
renovate[bot]
04ff4ef994 chore(deps): update cloudflare to 2.18.2 (#1322)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-15 16:38:39 -05:00
renovate[bot]
eacedde3e8 chore(deps): update netaddr to 1.1.0 (#1324)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-15 16:38:32 -05:00
renovate[bot]
8f2356db46 fix(helm): update chart cilium to 1.15.1 (#1323)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-15 14:41:06 -05:00
Wasurerarenai
025f5ddedf feat(talos): Allow users to include talhelper patches (#1320)
* feat(talos): Allow users to include talhelper patches

* feat(talos): Add user talhelper patches to example config

* fix: Missing talos user_patches check on workers block
2024-02-15 14:40:29 -05:00
Wasurerarenai
840506cea7 Allow users to optionally override templates (#1319)
* Create overrides directory & readme.partial.yaml.j2

* Add bootstrap/overrides to makejinja.toml
2024-02-14 15:00:05 -05:00
Devin Buhl
c3bf719cce chore: do not use cache when building devcontainer 2024-02-14 04:33:04 -05:00
Wouter Bouvy
00fc89553f Talos: One-liner deployment code (#1317)
* feat(talos): Create one-liner deployment and nuking options

* Update Talos deployment docs

* Update Taskfile.yaml

* Update README.md

* Update README.md

* fix talos e2e tests

---------

Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-02-14 04:16:37 -05:00
Devin Buhl
7171793fab fix: comment out default gateway option 2024-02-13 15:08:00 -05:00
Wouter Bouvy
89559608b2 feat(talos): Add option to specify other gateway (#1316)
* feat(talos): Add option to specify other gateway

* Renamed to default_gateway and add BGP config

* Update config.sample.yaml

---------

Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-02-13 15:04:56 -05:00
Wasurerarenai
7eac552cd6 feat(talos): Add secureboot & tpm-based disk encryption support (#1315)
* feat(talos): Add secureboot & tpm-based disk encryption support

* feat(talos): Add secureboot & tpm-based disk encryption example config
2024-02-13 08:13:06 -05:00
Wasurerarenai
381d3f1a5b fix(cilium): Correct L2 kustomization exclusion logic (#1314) 2024-02-13 01:34:03 -05:00
Devin Buhl
d2f2b85c6b fix(kube-vip): actually remove the option completely
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-02-12 18:55:47 -05:00
Devin Buhl
1b7ed1998d fix: kube-vip does no need svc lb enabled 2024-02-12 18:47:07 -05:00
Wouter Bouvy
6c637aa51f Adding kernel argument to disable predictable NIC naming. Fixes VIP (#1310)
* Adding kernel argument to disable predictable NIC naming. Fixes VIP

* Simplified talconfig jinja template by using general patches option
2024-02-11 17:54:55 -05:00
renovate[bot]
8e145b6a9c chore(deps): update netaddr to 1.0.0 (#1308)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-10 20:23:19 -05:00
Wouter Bouvy
4a65ddeff9 Talos: remove deprecated System Extentions and move to schematicID (#1309)
* Talos: remove deprecated System Extentions and move to schematicID for talhelper and SUC

* Fix typo in comments
2024-02-10 17:02:32 -05:00
renovate[bot]
31323b4036 chore(deps): update ansible-lint to 24.2.0 (#1307)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-09 20:48:40 -05:00
renovate[bot]
c0f26d4b28 fix(github-release): update flux group to v2.2.3 (#1300)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-09 20:48:09 -05:00
renovate[bot]
cb0049b918 fix(github-release): update k3s-io/k3s to v1.29.1+k3s2 (#1301)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-09 20:47:36 -05:00
renovate[bot]
4590ab842f fix(helm): update chart cert-manager to v1.14.2 (#1302)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-09 20:47:19 -05:00
renovate[bot]
91fdd72d27 fix(helm): update chart reloader to 1.0.67 (#1303)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-09 20:47:09 -05:00
renovate[bot]
4753316a8e chore(deps): update cloudflare to 2.18.1 (#1304)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-09 20:47:00 -05:00
renovate[bot]
e99bc90a26 feat(container): update image docker.io/cloudflare/cloudflared to v2024.2.0 (#1305)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-09 20:46:46 -05:00
renovate[bot]
b7631dac09 feat(helm): update chart metrics-server to 3.12.0 (#1306)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-09 20:46:37 -05:00
surskitt
0cec2f9c29 fix(bootstrap): patch flux resource names to match oci manifests (#1299)
* fix(bootstrap): patch flux resource names to match oci manifests

Resource names differ in the installation manifests installed by the
install file found on the flux/fluxcd2 github repo and the oci artifact
oci://ghcr.io/fluxcd/flux-manifests. This commit introduces patches to
the bootstrap kustomization to rename the resources to match the
oci manifests.

* Update bootstrap/templates/kubernetes/bootstrap/kustomization.yaml.j2

---------

Co-authored-by: surskitt <surskitt@users.noreply.github.com>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-02-09 14:00:50 -05:00
Wouter Bouvy
a97c56cc32 Fix Talos SUC ServiceAccount (#1298) 2024-02-09 09:07:50 -05:00
Petr Řehoř
98c1ca40e7 Add note about device selection in Cilium Helm Release (#1297)
See onedr0p/cluster-template#1295
2024-02-08 15:52:24 -05:00
Devin Buhl
a19e7fa431 fix(devcontainer): install age with apk since age-keygen is missing 2024-02-08 10:44:47 -05:00
Wasurerarenai
2549e3698f feat(talos): Add cilium bgpControlPlane support and CNI security settings (#1296)
* fix: Use cilium cni install values for Talos

* fix: Use cilium cni install values for Talos

* feat: Add cilium bgpControlPlane support for Talos

* feat: Add cilium bgpControlPlane support for Talos

* feat: Add LB cidr var for Talos BGPCP

* feat: Add jinja template for cilium-bgp.yaml

* Add cilium bgpControlPlane support for Talos

* feat: Add cilium bgpControlPlane example config for Talos

* fix: Remove invalid fields from bgp peering policy

* fix: Add serviceSelector to bgp peering policy

* Update bootstrap/templates/partials/cilium-values-full.partial.yaml.j2

* Update bootstrap/templates/partials/cilium-values-init.partial.yaml.j2

* Update bootstrap/templates/partials/cilium-values-full.partial.yaml.j2

* Update bootstrap/templates/partials/cilium-values-init.partial.yaml.j2

---------

Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-02-08 08:27:40 -05:00
Devin Buhl
81ffb39143 fix(talos): use the correct schematics var 2024-02-07 17:49:25 -05:00
Devin Buhl
d49ce85e3a fix(talos): use correct var in taskfile 2024-02-04 09:57:53 -05:00
renovate[bot]
448e0fd390 fix(container): update image ghcr.io/siderolabs/installer to v1.6.4 (#1287)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-03 20:09:39 -05:00
renovate[bot]
55f5aa5f0c feat(helm): update chart cert-manager to v1.14.1 (#1293)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-03 18:06:43 -05:00
Devin Buhl
9f45079713 feat: rename ansible hosts groups to controllers and workers
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-02-03 18:03:11 -05:00
Devin Buhl
2c62c13905 fix: update flux taskfile to not check if installed
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-02-02 20:12:57 -05:00
Devin Buhl
eab63476b7 feat(k0s): unsupport it (#1291)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-02-02 18:02:14 -05:00
Devin Buhl
3e0fb233b6 fix(k0s): update k0s config file 2024-02-02 12:12:43 -05:00
Devin Buhl
acbb7e2bcb fix(k0s): nodeLocalLoadBalancing word 2024-02-02 08:17:11 -05:00
Wasurerarenai
ca39a1cc53 fix(talos): Mount openebs-hostpath in kubelet (#1289) 2024-02-02 07:04:24 -05:00
Devin Buhl
6756f29ecb chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-02-01 20:42:03 -05:00
Devin Buhl
acb86f2e35 fix: create flux-system namespace when using private GH repo
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-02-01 20:40:01 -05:00
Devin Buhl
89673cd17b feat: distribution is a dict and nodes and cluster are top level (#1288)
* feat: distribution is a dict and nodes and cluster are top level

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: housekeeping

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-02-01 20:31:42 -05:00
Devin Buhl
cba35dc66a feat: add image-gc to k0s and talos kubelet options
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-02-01 17:01:30 -05:00
Devin Buhl
73bd9fabad feat: add image-gc to talos kubelet options
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-02-01 16:55:55 -05:00
Devin Buhl
7e8870ccf1 chore: housekeeping
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-02-01 16:30:59 -05:00
Devin Buhl
80aa80c1ea feat: upgrade k3s to 1.29.1 and enable the spegel embedded registry (#1284)
* feat: upgrade k3s to 1.29.1 and enable the spegel embedded registry

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix(k3s): add the mirrors for spegel

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: ordering

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-02-01 09:39:53 -05:00
Wasurerarenai
0840b037ee fix(cloudflare): Update ingress-nginx-external-controller service name (#1285) 2024-02-01 08:25:54 -05:00
RLe
cf40220592 Update extensions.json: added Todo Tree (#1283)
- Function: Shows TODO, FIXME, etc. comment tags in a tree view
- Goal: to better manage and track of remaining work

https://marketplace.visualstudio.com/items?itemName=Gruntfuggly.todo-tree
2024-02-01 07:36:56 -05:00
Devin Buhl
ceeaba0ea0 feat: swap echo-server image to mendhak/http-https-echo
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-02-01 07:34:16 -05:00
Devin Buhl
90897f2d2e fix: update echo-server securityContext
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-02-01 07:22:41 -05:00
Devin Buhl
e85cd4d644 fix: update SUC tolerations
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-02-01 07:19:54 -05:00
Devin Buhl
61d7806f18 fix: add security contexts to SUC
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-02-01 07:17:55 -05:00
Wasurerarenai
6cb24b86c1 feat: Talos network vlan tagging (#1282)
* feat: Add talos management vlan

* feat: talos vlan example in config.yaml
2024-02-01 06:51:06 -05:00
Devin Buhl
03125bf9c6 fix: use service monitor for cert manager 2024-01-31 20:40:25 -05:00
Devin Buhl
c59d03c69e feat: enabled monitors everywhere and standardize resources a bit (#1281)
* feat: enabled monitors everywhere and standardize resources a bit

Signed-off-by: Devin Buhl <devin@buhl.casa>

* add raw tags

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-31 18:01:47 -05:00
renovate[bot]
b24a55e790 feat(helm): update chart cilium to 1.15.0 (#1280)
* feat(helm): update chart cilium to 1.15.0

* Update cilium-values-full.partial.yaml.j2

* Update cilium-values-init.partial.yaml.j2

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-01-31 16:43:40 -05:00
renovate[bot]
817a5ea1c2 fix(helm): update chart reloader to 1.0.65 (#1279)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-31 15:19:17 -05:00
Devin Buhl
4159190a46 fix(k0s): only include workers in autopilot if there are any 2024-01-31 14:55:17 -05:00
Devin Buhl
d6e80ea087 feat: update system-upgrade namespace and include support for k0s (#1278)
* fest: k0s Autopilot

* Create .mjfilter.py

* Create kustomization.yaml.j2

* Create ks.yaml.j2

* Create kustomization.yaml.j2

* Create updaterconfig.yaml.j2

* feat: update system-upgrade namespace and include support for k0s

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: rename talos app folder

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: update k0s plan

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-31 14:45:24 -05:00
renovate[bot]
0c688dfa29 chore(deps): update ansible to 9.2.0 (#1276)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-31 08:53:23 -05:00
renovate[bot]
c19dd68759 feat(ansible): update ansible.utils to 3.1.0 (#1277)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-31 08:53:16 -05:00
Devin Buhl
4bf6489f25 chore: Update README.md 2024-01-31 07:07:59 -05:00
Devin Buhl
0021acc522 fix: talos customization multiline string and ansible raw/endraw (#1275)
* chore: update readme and workflows

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: ansible templating

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: talos templating

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-30 21:22:33 -05:00
Devin Buhl
a2ce911a18 fix(talos): do not render worker config when no workers
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-30 17:32:52 -05:00
Devin Buhl
bc9f676c0f chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-30 15:25:56 -05:00
Devin Buhl
6798fd359d chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-30 15:10:26 -05:00
Devin Buhl
ef563a4472 feat: add prevent downgrades check in k3s ansible
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-30 14:33:16 -05:00
Devin Buhl
19308f0783 chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-30 09:25:00 -05:00
Devin Buhl
1be8ceffa8 feat: update SUC dirs - drink coffee before trying to do a PR
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-30 09:23:30 -05:00
Devin Buhl
e22a69f6f2 chore: add support for renovating SUC
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-30 09:18:50 -05:00
Devin Buhl
2267494b98 feat: add SUC for talos and k3s and move schematics to cluster.nodes.talos
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-30 09:10:46 -05:00
Wasurerarenai
fa689379af feat: Support talhelper NodeConfig additions (#1273)
* feat: Example talhelper NodeConfig additions

* feat: Process talhelper NodeConfig additions
2024-01-30 07:53:59 -05:00
renovate[bot]
44fde373f7 feat(ansible): update community.general to 8.3.0 (#1272)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-30 07:00:36 -05:00
Devin Buhl
8ef31af331 feat: add first class support for private github repos (#1271)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-29 20:57:58 -05:00
Devin Buhl
95bf353f7e feat: rename repo to cluster-template (#1270)
* feat: rename repo to cluster-template

Signed-off-by: Devin Buhl <devin@buhl.casa>

* Update README.md

* Update README.md

* Update README.md

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-29 17:34:53 -05:00
Devin Buhl
df642e5425 feat: update jinja delimiters back to default (#1269)
* feat: update jinja delimiters back to default

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat: remove cert-manager promrules

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: update talos csr approver

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-29 17:11:37 -05:00
Devin Buhl
5fa8b9685a fix: update k0s and k0s scripts
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-29 15:58:56 -05:00
Devin Buhl
5d29ec7f12 chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-29 10:12:52 -05:00
Devin Buhl
138e0aa832 chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-29 10:12:30 -05:00
Devin Buhl
b9d164ff9b chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-29 10:00:40 -05:00
Devin Buhl
1e731e0a8e chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-29 09:28:47 -05:00
Devin Buhl
9ea2b4f7c4 chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-29 09:27:52 -05:00
Devin Buhl
c9375f2b05 fix: only run kubeconform when flux
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-29 08:18:30 -05:00
Devin Buhl
7d9219e627 chore: update config sample
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-28 14:36:44 -05:00
Devin Buhl
889ca07692 feat: refactor config file (#1267)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-28 12:41:31 -05:00
Devin Buhl
e4427a8325 fix: update kubeconform script location and fix github workflow
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-27 17:09:55 -05:00
Ales Lerch
3a95e9e09b fixes: lychee pipeline workflow (#1266) 2024-01-27 15:48:35 -05:00
renovate[bot]
6dbf89feab fix(helm): update chart ingress-nginx to 4.9.1 (#1265)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-27 06:53:34 -05:00
Devin Buhl
7fc4250ef2 fix: update taskfiles and validation logic (#1264)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-26 20:34:04 -05:00
Devin Buhl
3b0fcb7ba5 feat: update network and cert-manager ns (#1263)
* feat: update network and cert-manager ns

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: update sops var name to be consistent with env

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-26 18:48:35 -05:00
Devin Buhl
4ac206aef5 fix: remove local hostpath and cilium lb vars and update k0s (#1261)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-26 17:28:36 -05:00
renovate[bot]
95b0e2b0d8 chore(deps): update xanmanning.k3s to v3.4.4 (#1260)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-26 15:51:00 -05:00
renovate[bot]
1f3662e5c2 fix(container): update image docker.io/cloudflare/cloudflared to v2024.1.5 (#1254)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-26 15:45:13 -05:00
renovate[bot]
7c8f5319fd fix(container): update image ghcr.io/siderolabs/installer to v1.6.3 (#1255)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-26 15:45:04 -05:00
renovate[bot]
a5545fdb89 feat(github-release): update k0sproject/k0s to v1.29.1+k0s.0 (#1258)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-26 15:44:56 -05:00
renovate[bot]
cb04e7b796 fix(github-release): update prometheus-operator/prometheus-operator to v0.71.2 (#1256)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-26 15:44:47 -05:00
renovate[bot]
ad7d25d61a fix(helm): update chart external-dns to 1.14.3 (#1257)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-26 15:44:39 -05:00
renovate[bot]
a149d85409 feat(github-action)!: Update peter-evans/create-issue-from-file action to v5 (#1259)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-26 15:22:45 -05:00
Devin Buhl
90ca5f026f fix: address talos comments (#1253)
* fix: update cni to cilium in taskfile

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: more updates

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: more cleanup

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: housekeeping

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-26 14:59:11 -05:00
Devin Buhl
ab93b0e44e chore: update vars gitignore file
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-26 07:51:12 -05:00
Devin Buhl
34a21a37ea chore: slight tweaks to task:workstation-generic
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-26 06:56:36 -05:00
Devin Buhl
98583949f8 fix: these settings files were made optional 2024-01-26 06:10:02 -05:00
Devin Buhl
0643c483bd feat: add workstation:generic-linux and update devcontainer
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-25 20:36:04 -05:00
Devin Buhl
7436eb43ce chore: update renovate config and annotations
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-25 18:39:54 -05:00
Devin Buhl
e321b148a6 feat: removal of all addons (#1247)
* feat: removal of all addons

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: update the mj script

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: remove the default namespace

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: remove descheduler and move reloader into flux-system

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-25 11:09:00 -05:00
Devin Buhl
a5cb9b8d39 feat: implement SUC for talos (#1246)
* feat: implement SUC for talos

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: double ---

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: update formatting

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: address PR comments

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-25 08:42:57 -05:00
Devin Buhl
35185f8aa2 fix: cluster user settings and secrets should be optional (#1245)
* fix: cluster user settings and secrets should be optional

* Delete bootstrap/templates/kubernetes/flux/vars/cluster-secrets-user.sops.yaml.j2

* Delete bootstrap/templates/kubernetes/flux/vars/cluster-settings-user.yaml.j2

* Update kustomization.yaml.j2

* Update storageclass.yaml.j2
2024-01-25 07:39:17 -05:00
Devin Buhl
59b896fa33 chore: update renovate config to fix migrations
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-24 19:27:25 -05:00
Devin Buhl
b5a1a2fe79 chore: add direnv whitelist directory to devincontainer
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-24 15:52:38 -05:00
Devin Buhl
5d849727d8 feat: implement mjfilter file for templates (#1244)
* feat: implement mjfilter file for templates

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: use data.get in mjfilters

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-24 14:52:50 -05:00
Devin Buhl
9d175fcc99 chore: improve arch taskfile and update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-24 09:27:39 -05:00
Devin Buhl
9f2d6a9970 feat: more ricing to the devcontainer
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-24 09:04:29 -05:00
Devin Buhl
40aeae150d chore: update workstation section in readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-23 19:45:58 -05:00
Devin Buhl
e6783b3c12 feat: even more ricing of the devcontainer
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-24 00:23:12 +00:00
Grant Henderson
04a6e36281 Update addons.sample.yaml with correct namespace for kubernetes-dashboard (#1243) 2024-01-23 18:59:07 -05:00
Devin Buhl
b9575ad14f feat: more ricing to the devcontainer
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-23 18:58:46 -05:00
Devin Buhl
a16b347c54 feat: devcontainer properly hooks starship and direnv now
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-23 16:23:20 -05:00
Devin Buhl
0a31eecd6e feat: add starship to devcontainer
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-23 15:42:17 -05:00
Devin Buhl
0eda6492fa feat: more improvements to devcontainer and arm64 (#1242)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-23 15:13:19 -05:00
Devin Buhl
3a646eec30 arm64 devcontainer builds still no work
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-23 17:40:11 +00:00
Devin Buhl
3682419826 maybe arm64 devcontainer builds work now
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-23 17:36:26 +00:00
Devin Buhl
7cdaaf59c9 feat: switch devcontainer to alpine 🚀 (#1241)
* feat: switch devcontainer to alpine 🚀

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: update talosctl arch

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: add serious comment

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: pkg names

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-23 12:19:26 -05:00
Devin Buhl
c7ea5e8e35 feat: add gh cli to devcontainer
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-23 11:16:22 -05:00
Devin Buhl
14105bb5ac fix: remove devcontainer arm64 builds
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-23 11:07:02 -05:00
Devin Buhl
95d2a721f6 fix: devcontainer arm64 builds
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-23 10:38:40 -05:00
Devin Buhl
2206dbc519 feat: add devcontainer container on ghcr (#1240)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-23 10:31:10 -05:00
Devin Buhl
8860565d25 chore: update devcontainer
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-23 08:50:42 -05:00
Devin Buhl
eafde69a7e chore: update devcontainer
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-23 08:37:04 -05:00
Devin Buhl
634e98c6ed chore: update devcontainer
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-23 08:08:52 -05:00
renovate[bot]
04422ce50f fix(github-release): update k0sproject/k0s to v1.28.6+k0s.0 (#1237)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-23 07:56:31 -05:00
Devin Buhl
84a913e350 chore: housekeeping
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-23 07:55:18 -05:00
renovate[bot]
9eafe8f537 chore(deps): update cloudflare to 2.17.0 (#1236)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-23 06:55:56 -05:00
Devin Buhl
a7f6d6a094 chore: update addons and config file comments
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-22 19:28:33 -05:00
Devin Buhl
83118cfec3 chore: improvements to e2e workflow (#1235)
* chore: improvements to e2e workflow

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: improve taskfiles

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: update taskfiles

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-22 17:06:01 -05:00
renovate[bot]
94449b8933 fix(helm): update chart cilium to 1.14.6 (#1232)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-22 16:04:05 -05:00
Devin Buhl
a8d1f1d305 chore: update readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-22 15:58:10 -05:00
Devin Buhl
9f82047a62 fix: update k0s kubeconfig with kube-vip addr
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-22 15:53:02 -05:00
Devin Buhl
afbf097dac feat: update kube-vip ansible playbook for k0s and k3s - ipv6 config changes (#1234)
* feat: update kube-vip ansible playbook for k0s and k3s

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: update renovate

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: move ipv6 to advanced options

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat: kube-vip manifests to partials

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat: kube vip samesies

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: update config sample

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-22 15:28:21 -05:00
renovate[bot]
6557c255d6 fix(helm): update chart external-dns to 1.14.2 (#1233)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-22 12:47:12 -05:00
renovate[bot]
2bcef17368 fix(container): update image kube-prometheus-stack to v56.0.3 (#1231)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-22 12:47:05 -05:00
Devin Buhl
9373065338 feat: implement kube-vip for k0s & k3s in daemonset mode (#1230)
* feat: implement kube-vip for k0s

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat: implement kube-vip for k0s

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: k3s to ds as well

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: no j2j2 nonsense

Signed-off-by: Devin Buhl <devin@buhl.casa>

* upadte: readme and taskfile

Signed-off-by: Devin Buhl <devin@buhl.casa>

* update: renovate config

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-22 12:45:11 -05:00
Devin Buhl
d9c7fd44ba feat: Do not rely on k0s file uploads - instead use curl (#1229)
* feat: Do not rely on k0s file uploads - instead use curl

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: add bootstrap_advanced_flags to validation

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: only skip tests for non-static config

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: only skip tests for non-static config

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: issues in k0s scripts

Signed-off-by: Devin Buhl <devin@buhl.casa>

* update: readme

Signed-off-by: Devin Buhl <devin@buhl.casa>

* update: taskfile

Signed-off-by: Devin Buhl <devin@buhl.casa>

* update: taskfile

Signed-off-by: Devin Buhl <devin@buhl.casa>

* update: k0s config and remove ansible hook

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-22 10:14:49 -05:00
renovate[bot]
5ef0438529 fix(helm): update chart grafana to 7.2.4 (#1227)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-22 06:51:35 -05:00
renovate[bot]
dc724fc4bc fix(container): update image kube-prometheus-stack to v56.0.2 (#1226)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-22 06:51:11 -05:00
Devin Buhl
ba83e9a3c3 feat: add spegel to core components (#1225)
* feat: add spegel to core components

Signed-off-by: Devin Buhl <devin@buhl.casa>

* downgrade: csi-smb-driver

Signed-off-by: Devin Buhl <devin@buhl.casa>

* more: change to smb

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-21 19:24:38 -05:00
renovate[bot]
361920fd65 chore(deps): update email-validator to 2.1.0.post1 (#1223)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-21 19:12:52 -05:00
renovate[bot]
2cd7d1696b fix(container): update image ghcr.io/gethomepage/homepage to v0.8.6 (#1224)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-21 19:12:45 -05:00
Devin Buhl
49a4c19cc7 feat: template the sops configuration file
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-21 19:00:31 -05:00
Devin Buhl
4dd36a7ca8 fix: update k0s spegel var 2024-01-21 17:53:58 -05:00
Devin Buhl
4be97f78e8 feat: update makejinja to 2.5.0 (#1221)
* feat: update makejinja to 2.5.0 and implement mjfilter

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: move logic for skip tests

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat: update makejinja to 2.5.0

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-21 17:37:48 -05:00
Benjamin Runnels
8265c80909 fix: updated csi-drivers for k0s and simplified smb (#1220)
* updated csi-drivers for k0s and simplified smb

* Update addons.yaml

* fixed spegel variable typos

* Removed extra line ending
2024-01-21 17:34:34 -05:00
Benjamin Runnels
1d5a3842de fix: few small tweaks to validation (#1219) 2024-01-21 16:42:25 -05:00
Devin Buhl
eec9fcf7f0 fix: update cloudflare validation
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-21 13:47:08 -05:00
Devin Buhl
0446f28f92 fix: update node validation error descriptions
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-21 13:29:50 -05:00
Devin Buhl
71dddf0854 fix: add node name regex to validation script
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-21 13:25:11 -05:00
Devin Buhl
2aa9e15cf0 fix: add k0s node name back to tls sans 2024-01-21 12:55:17 -05:00
Devin Buhl
e1330d734c feat: more changes to templating (#1218)
* feat: clean up more jinja default references

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat: add additional tls sans force kube-vip on k3s

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-21 11:39:12 -05:00
Devin Buhl
8339d142b7 feat: move various config options to advanced flags (#1217)
* feat: move various config options to advanced flags

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: remove lp refs

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-21 09:53:25 -05:00
George
e738a6f69c Fix devcontainers environment with latest changes (#1212)
* Fix devcontainers environment with latest changes

* Update .devcontainer/devcontainer.json

---------

Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
2024-01-21 09:06:22 -05:00
Devin Buhl
db21ea82fa feat: rename addon vars to addon_ prefix and simplify logic in jinja templates (#1216)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-21 09:05:23 -05:00
Devin Buhl
b89b7b3ed9 feat: migrate to python for data validation (#1214)
* feat: migrate to python for data validation

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: address PR comments

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: add unused kwargs to validate functions

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: update renovate pip and ansible regex

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat: add bootstrap_nodes test

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: update taskfiles

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-21 08:35:21 -05:00
Benjamin Runnels
7456164df0 feat: add pre-defined secrets to csi-driver-smb addon (#1215)
* added ability to use pre-defined secrets

* renamed variables to existing_secret_name and existing_secret_namespace
2024-01-21 07:39:13 -05:00
renovate[bot]
ef8af23093 fix(container): update image kube-prometheus-stack to v56.0.1 (#1210)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-21 06:55:49 -05:00
Benjamin Runnels
4bcbd75164 feat: added csi_driver_smb addon (#1213) 2024-01-20 20:23:33 -05:00
Benjamin Runnels
bc0d8e1261 fix: resolved several issues with flux tasks (#1209)
* fixed several issues with flux tasks

* removed unnecessary default

* added note for longhorn addon

* added note for longhorn addon
2024-01-20 18:18:56 -05:00
Devin Buhl
1ec59d1559 feat: add advanced features to config (#1208)
* feat: add advanced features to config

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: only enable longhorn if distro is k3s or k0s

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: update ansible lint

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-20 12:27:20 -05:00
renovate[bot]
0fda1f6a56 feat(helm): update chart k8s-gateway to 2.3.0 (#1157)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-19 21:31:12 -05:00
renovate[bot]
55781b751f feat(helm): update chart csi-driver-nfs to v4.6.0 (#1189)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-19 21:29:56 -05:00
renovate[bot]
5b411b9a43 fix(helm): update chart reloader to 1.0.63 (#1186)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-19 21:28:58 -05:00
renovate[bot]
7a52a990bd feat(helm): update chart grafana to 7.2.3 (#1164)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-19 21:28:50 -05:00
renovate[bot]
52aa4b5c89 fix(helm): update chart cilium to 1.14.6 (#1198)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-19 21:28:37 -05:00
renovate[bot]
f6466d4815 fix(container): update image docker.io/cloudflare/cloudflared to v2024.1.4 (#1206)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-19 21:28:26 -05:00
renovate[bot]
15d1468b54 feat(github-release): update prometheus-operator/prometheus-operator to v0.71.0 (#1142)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-19 21:28:18 -05:00
renovate[bot]
3564958e49 feat(container)!: Update image kube-prometheus-stack to v56 (#1207)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-19 21:28:09 -05:00
Benjamin Runnels
8a840e1f2e feat: added longhorn addon (#1204)
* added longhorn addon

* enabled longhorn in the tests

* fix: move longhorn to longhorn-system namespace

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: move longhorn to longhorn-system namespace

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: move longhorn to longhorn-system namespace

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: move longhorn to longhorn-system namespace

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
Co-authored-by: Devin Buhl <devin@buhl.casa>
2024-01-19 21:27:47 -05:00
Devin Buhl
965bfcdcb9 feat: k0s remove isolated controllers support and ansible prepare playbook (#1205)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-19 17:35:33 -05:00
Devin Buhl
09c00c9468 fix: change reboot mode in talos Taskfile
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-19 13:25:38 -05:00
Devin Buhl
d104dde02a chore: update incuded CSI in readme
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-19 11:23:49 -05:00
Devin Buhl
168059a8fc chore: add khuedoan/homelab to related projects
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-19 11:02:53 -05:00
Devin Buhl
7c259abe44 fix: add talos docs to root readme (#1203)
* fix: add talos docs to root readme

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-19 10:45:21 -05:00
Devin Buhl
064fa3bed5 fix: add kubelet-csr-approver as partial
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-19 09:44:26 -05:00
Devin Buhl
8359f49dcc fix: talos update providerRegex
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-19 09:38:35 -05:00
Devin Buhl
5a90397ed5 fix: use requires in taskfiles when needed (#1201)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-19 07:49:38 -05:00
renovate[bot]
a7c9827c46 feat(container): update image app-template to v2.5.0 (#1187)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-19 07:38:27 -05:00
renovate[bot]
a53a5ba4cd chore(deps): update ansible-lint to 6.22.2 (#1184)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-19 07:34:35 -05:00
renovate[bot]
63fe978117 feat(github-action)!: Update actions/cache action to v4 (#1190)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-19 07:34:27 -05:00
Devin Buhl
79d849f0ac feat: add custom dns server support (#1199)
* feat: add custom dns server support

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: jinja tmpl

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-19 07:22:21 -05:00
Devin Buhl
eed4faa9e6 fix: keep included k3s coredns (#1197)
* Delete bootstrap/templates/kubernetes/apps/kube-system/coredns directory

* Update kustomization.yaml.j2

* Delete bootstrap/templates/ansible/playbooks/templates/custom-coredns-helmchart.yaml.j2.j2

* Update cluster-installation.yaml.j2

* Delete bootstrap/templates/ansible/playbooks/tasks/coredns.yaml.j2

* Update main.yaml.j2

* Update main.yaml.j2

* Update main.yaml.j2

* Update main.yaml.j2

* Update cluster-installation.yaml.j2
2024-01-19 06:13:39 -05:00
Devin Buhl
91d8b84f3c feat: add talos support (#1192)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-19 05:36:25 -05:00
Devin Buhl
cec32120db fix(k0s): clean up local path storage on reset 2024-01-18 23:44:16 -05:00
Devin Buhl
f355b52326 fix(k0s): update network settings in config 2024-01-18 21:41:08 -05:00
Devin Buhl
08ed800e6c fix(k0s): update reboot command in reset hook 2024-01-18 21:03:35 -05:00
Devin Buhl
4e0941422c fix(k0s): reset hook wait one minute 2024-01-18 20:56:12 -05:00
Devin Buhl
b8e09d5b52 fix: remove maxHistory from HelmReleases since the default is now 5
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-18 20:16:03 -05:00
brunnels
117af5a1bf fixed regression with controller only role and anchors 2024-01-18 16:43:20 -06:00
Devin Buhl
e1e7f7416b fix(k0s): update hooks in k0sctl.yaml 2024-01-18 16:34:19 -05:00
Devin Buhl
db9f6d0258 fix(k0s): update logic in k0sctl.yaml 2024-01-18 16:08:32 -05:00
Benjamin Runnels
c46a70b98f fix(k0s): don't copy files to controller only role (#1193) 2024-01-18 16:06:27 -05:00
Devin Buhl
d17354303e chore: remove extra line ending 2024-01-18 15:23:49 -05:00
Devin Buhl
b6fdf0d8ad fix: respect pod and service cidr in k0s config
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-18 14:20:00 -05:00
Devin Buhl
0c4f0260d5 fix: ansible dir should only exist for k3s and k0s (#1191)
* fix: ansible dir should only exist for k3s and k0s

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: rename partial files

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-18 13:52:11 -05:00
renovate[bot]
bae0be1ef0 fix(container): update image docker.io/cloudflare/cloudflared to v2024.1.3 (#1185)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-18 11:12:41 -05:00
renovate[bot]
7491b6f469 feat(helm): update chart ingress-nginx to 4.9.0 (#1165)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-18 11:11:45 -05:00
Devin Buhl
7c43fb1db0 feat: k0s add reset hooks for cleaning up cilium (#1183)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-18 10:12:03 -05:00
Devin Buhl
d46e7f9663 feat: add partial support, change k0s config filename, always use NLLB for k0s (#1180)
* feat: add partial support, change k0s config filename, always use NLLB for k0s

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: update wording

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-18 08:38:03 -05:00
Devin Buhl
13a005d23d feat: k3s use 127.0.0.1:6444 for Cilium k8sServiceHost:k8sServicePort
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-18 06:27:58 -05:00
Devin Buhl
8b20e9e944 fix: encrypt sops files that are not already encrypted in sops task
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-17 20:45:36 -05:00
Devin Buhl
95094450fb feat: enable etcd monitoring for k0s (#1179)
* feat: enable etcd monitoring for k0s

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: always enable etcd on k3s

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-17 19:44:53 -05:00
Devin Buhl
ca9d1818fc feat: add spegel support for k0s (#1178)
* feat: add spegel support for k0s

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: add spegel to e2e tests

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: update containerd file paths and run apply from k0s-config dir

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: move containerd files after upload

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-17 16:00:28 -05:00
Devin Buhl
edbcf28139 feat: add python version check (#1176)
* feat: add python version check

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: formatting

Signed-off-by: Devin Buhl <devin@buhl.casa>

* test python 3.10

* chore: taskfile formating

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: python 3.11 is minimum

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-16 21:13:58 -05:00
Devin Buhl
35177471b5 chore: update minimum python version to 3.11
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-16 16:10:48 -05:00
Devin Buhl
528508e834 feat: add ansible lint, update taskfiles, and makejinja to not strip trailing newlines (#1172)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-16 14:23:08 -05:00
Devin Buhl
b41ccc8145 fix: add tls sans options for k3s too (#1170)
* fix: add tls sans options for k3s too

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: update comment

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-16 10:52:48 -05:00
Devin Buhl
295f2e7eac fix: kube-vip was not rendering when enabled (#1169)
* fix: kube-vip was not rendering when enabled

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: forgot to save a file

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-16 09:56:41 -05:00
Devin Buhl
646f335689 feat: change jinja variable start/end delimiters to avoid conflicts with go templating (#1168)
* feat: change jinja variable start/end delimiters to avoid conflicts with go templating

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: update comment in makejinja.toml

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: update comment in makejinja.toml

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-16 09:25:12 -05:00
Devin Buhl
9317007e7f chore: remove comment in main Taskfile
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-16 08:24:31 -05:00
Devin Buhl
b0ea9afbfd fix: bump makejinja and add force flag to Taskfile (#1166)
* fix: bump makejinja and add force flag to Taskfile

Signed-off-by: Devin Buhl <devin@buhl.casa>

* chore: Run configure again to ensure idempotency

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-16 08:12:07 -05:00
Devin Buhl
72e7d17a26 fix: add check for bootstrap_distribution
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-15 20:23:49 -05:00
Devin Buhl
153213653b chore: update readme and make required tools bold
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-15 20:16:40 -05:00
Devin Buhl
9d03e291d6 chore: update readme for k0sctl, kustomize and kubeconform
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-15 20:12:41 -05:00
Devin Buhl
4a8e762fc6 chore: update labels and labeler configs
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-15 20:02:47 -05:00
Devin Buhl
5a0e90f561 chore: add distro to labels
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-15 19:48:35 -05:00
Devin Buhl
93c9d21581 feat: change jinja block/start delimiters for renovate support (#1163)
* feat: change jinja block/start delimiters for renovate support

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: update renovate config an helm repos

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-15 19:31:45 -05:00
Devin Buhl
b602a7a1f5 fix: update makeninja - rename Archfile - check for k0sctl (#1161)
* fix: update makeninja

* Update Taskfile.yaml

* fix: check for k0sctl when k0s is choosen

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-15 15:39:37 -05:00
Devin Buhl
2ad3d87b06 fix: update Ansible taskfile (#1160) 2024-01-15 12:27:02 -05:00
Devin Buhl
ea31a49817 feat: add kubeconform workflow and make kubeconform/kustomize required (#1159) 2024-01-15 09:42:50 -05:00
Devin Buhl
e6fbc6e128 feat: remove the need for raw jinja blocks (#1158)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-15 00:03:41 -05:00
Devin Buhl
f9481d6202 feat: replace ansible templating with makejinja (#1156) 2024-01-14 23:03:02 -05:00
Devin Buhl
a4731906d9 feat: set lstrip on ansible template task and remove comments (#1155)
* feat: set lstrip on ansible template task and remove comments

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: cert-manager block was neing stripped

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-14 17:08:59 -05:00
Devin Buhl
ef44ea1b2b chore: add ci tests for k0s (#1152) 2024-01-14 12:11:39 -05:00
Harald Koch
15ffff895c chore: I found minor spelling errors (#1153) 2024-01-14 12:02:33 -05:00
Devin Buhl
4eaadd476e chore: remove extraneous steps from Stage 5 in README
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-14 10:20:40 -05:00
Devin Buhl
842f4ee1d1 chore: add Stargazers
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-14 10:17:27 -05:00
Devin Buhl
6428678fae fix: only remove duplicate metrics in kps if distro is k3s (#1151)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-14 09:32:41 -05:00
Devin Buhl
5ee8a8a2fa fix: remove l2 announcement from k3s role config 2024-01-13 21:48:09 -05:00
Devin Buhl
77eb03d455 feat: do not apply cilium l2 config on cluster bootstrap
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-13 20:43:09 -05:00
Devin Buhl
a21cadb06f feat: update e2e test to account for testing ipv6 (#1150) 2024-01-13 20:30:12 -05:00
Devin Buhl
c9630bf4b5 fix: update cluster-rollout-update to be k0s compatible (#1149)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-13 20:01:22 -05:00
Devin Buhl
03f7e02bcb fix: update homepage addon to fix vars
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-13 14:29:15 -05:00
Devin Buhl
9c2699992f fix: update homepage addon
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-13 14:05:56 -05:00
Devin Buhl
a6cb35fed2 chore: add emoji next to related projects in readme 2024-01-13 12:43:35 -05:00
Devin Buhl
a7bbbcfb5e chore: forgot one instance of paru in the readme 2024-01-13 12:28:36 -05:00
Devin Buhl
3b1ea970b1 fix: Updates to taskfiles and e2e workflow (#1144) 2024-01-13 12:04:44 -05:00
renovate[bot]
0ddfc8db3b feat(container): update image kube-prometheus-stack to v55.8.1 (#1141)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-12 23:22:34 -05:00
Devin Buhl
0363af873e fix: do not limit e2e workflow on folder changed 2024-01-12 23:14:14 -05:00
Devin Buhl
2f9e6068d3 feat: attempt to add a e2e workflow (#1143)
* feat: attempt to add a e2e workflow

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat: attempt to add a e2e workflow

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat: attempt to add a e2e workflow

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat: attempt to add a e2e workflow

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat: attempt to add a e2e workflow

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat: attempt to add a e2e workflow

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat: attempt to add a e2e workflow

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat: attempt to add a e2e workflow

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat: attempt to add a e2e workflow

Signed-off-by: Devin Buhl <devin@buhl.casa>

* feat: attempt to add a e2e workflow

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-12 22:41:03 -05:00
Devin Buhl
e34899bfe2 fix: annotations not rendering correctly and add kubeconform integration
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-12 16:58:22 -05:00
Devin Buhl
7bd55db995 fix: ansible taskfile ad-hoc tasks now have preconditions
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-12 16:23:14 -05:00
Devin Buhl
c0ca6be2ba fix: ansible taskfile ad-hoc tasks now work
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-12 16:20:23 -05:00
Stephen Bonnell
f6136bfb3f fix: Homepage memory limits (#1140) 2024-01-12 11:12:25 -05:00
Devin Buhl
1ff3c252ca feat: add repo taskfile for cleaning up repo
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-12 08:55:27 -05:00
renovate[bot]
00ec522096 fix(helm): update chart external-dns to 1.14.1 (#1136)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-12 07:03:37 -05:00
renovate[bot]
070958ecc5 fix(github-release): update k0sproject/k0s to v1.28.5+k0s.0 (#1135)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-11 21:00:09 -05:00
Devin Buhl
7513f4544e chore: update renovate to find the k0sconfig file
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-11 20:58:46 -05:00
renovate[bot]
18e591238e feat(helm): update chart openebs to 3.10.0 (#1133)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-11 20:51:26 -05:00
renovate[bot]
72f00506ac fix(container): update image kube-prometheus-stack to v55.7.1 (#1130)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-11 20:49:54 -05:00
renovate[bot]
9efe707c11 feat(container)!: Update image docker.io/cloudflare/cloudflared to v2024 (#1134)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-11 20:48:26 -05:00
renovate[bot]
3776df776c feat(helm): update chart external-dns to 1.14.0 (#1132)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-11 20:48:19 -05:00
renovate[bot]
65ca933238 fix(helm): update chart reloader to 1.0.62 (#1131)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-11 20:48:00 -05:00
Devin Buhl
4baa19a25b chore: update README to correct the sub numbers
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-11 19:56:37 -05:00
Devin Buhl
570b83c589 chore: update README to include more k0s
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-11 19:54:41 -05:00
Devin Buhl
e8772928e2 fix: update local path var in nuke playbook 2024-01-11 18:40:39 -05:00
Devin Buhl
d83e14935c fix: task folder gitignore 2024-01-11 18:39:28 -05:00
Devin Buhl
f7eda7f8ec fix: k0s reset task 2024-01-11 18:23:56 -05:00
Devin Buhl
9f5999eaac fix: PYTHON_BIN not being set 2024-01-11 18:23:20 -05:00
Devin Buhl
c8ebab7508 feat: do not template out k3s ansible when k0s is choosen
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-11 16:46:36 -05:00
Devin Buhl
8e7d36c0c5 feat: volsync is now a addon
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-11 16:01:48 -05:00
Devin Buhl
f87af3fba0 fix: homepage needs raw/endraw
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-11 15:21:47 -05:00
Jory Irving
ee5de426a4 Replace Hajimari with Homepage (#1127)
* feat: replace hajimari with homepage

* fix: add secret

* fix: homepage configmap kubernetes widget

Signed-off-by: Jory Irving <jory@jory.dev>

* feat: wrap annotations in blocks

* chore: homepage change ingress to internal

Signed-off-by: Jory Irving <jory@jory.dev>

---------

Signed-off-by: Jory Irving <jory@jory.dev>
2024-01-11 15:05:24 -05:00
Benjamin Runnels
d093d0a4e1 add k0s support (#1123)
* ignore idea

* Initial work on support for k0s

* *  Changed config param to bootstrap_distribution
*  Replaced democratic-csi with openebs
*  Added notes about system-upgrade-controller being ignored with k0s
*  Removed password for nodes

* *  Switched to single storage path for openebs
*  Removed democratic-csi helm repo
*  Added missing openebs helm repo
*  Fixed template formatting
*  Made bootstrap_private_github_repo hidden/undocumented
*  Updated flux cluster config to accommodate bootstrap_private_github_repo

* *  added the storageclass name to be declarative

* *  added newline
*  set chart wait false

* *  fixed spacing in K0sTasks
*  fixed openebs path
*  properly added openebs helm repo

* *  updated configure task to use venv
*  renamed bootstrap_kube_vip_addr to bootstrap_kubeapi_addr
*  renamed bootstrap_kube_vip_addr derived variables accordingly

* *  tweaked configure task cmd
*  started work on k0s-config.yaml template

* *  tweaked k0s task cmd
*  moved coredns under addons rather than optional
*  fixed typo in coredns task
*  normalized formatting in k0s-config
*  disabled telemetry in k0s-config
*  added renovate to k0s-config
*  removed tunnel and added routing mode in k0s-config cilium chart values
*  updated docs in config example
*  fixed issue with k0s-config controller role so it didn't default to worker+controller if more than one master

* *  fixed whitespace

* add k0sctl to brew tasks

* Update bootstrap/vars/config.sample.yaml

* Update bootstrap/vars/config.sample.yaml

* Update k0s-config.yaml.j2

* Update config.sample.yaml

* controllerManager and scheduler bind to `0.0.0.0` for metrics

* Update custom-cilium-helmchart.yaml.j2.j2

* Update helmvalues.yaml.j2

* Update bootstrap/tasks/addons/main.yaml

* first pass at readme updates

* update placement of k0sconfig options

* disable telemetry on k0sctl too

* disable k0s telemetry in env too

* update: jinja spacing in k0sconfig

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: ensure bootstrap_local_storage_path is delete on nuke

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: update renovate regex for k3s/k0s

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: update nuke playbook and only include k3s task when k3s

Signed-off-by: Devin Buhl <devin@buhl.casa>

* fix: update nuke playbook and only include k3s task when k3s and include jinja comments

Signed-off-by: Devin Buhl <devin@buhl.casa>

---------

Signed-off-by: Devin Buhl <devin@buhl.casa>
Co-authored-by: Devin Buhl <onedr0p@users.noreply.github.com>
Co-authored-by: Devin Buhl <devin@buhl.casa>
2024-01-11 15:03:36 -05:00
renovate[bot]
1b73543d34 feat(container): update image kube-prometheus-stack to v55.7.0 (#1118)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-09 15:34:31 -05:00
renovate[bot]
5820b9bb9a fix(helm): update chart reloader to 1.0.60 (#1115)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-09 15:34:20 -05:00
renovate[bot]
234fe41d8b feat(ansible): update community.general to 8.2.0 (#1117)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-09 15:34:14 -05:00
renovate[bot]
9ba5a3bf37 chore(deps): update netaddr to 0.10.1 (#1116)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-09 15:34:06 -05:00
Devin Buhl
a7eadd34b1 feat!: refactor taskfiles and update README
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-06 13:46:32 -05:00
Devin Buhl
f9a7307f76 feat: move installing prom operator crds to taskfile
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-06 09:22:43 -05:00
Jory Irving
a19d7083b5 Change back to output file (#1113)
* Change back to output file

This was recently fixed in the new v1.9.0 action

* fix: indent

* remove token

* revert to secret token

* fix delete

* remove extra lines
2024-01-05 17:38:23 -05:00
Devin Buhl
270f67ab8a fix: kube vip URL changed 2024-01-05 10:36:00 -05:00
Devin Buhl
1edb159559 feat: replace stale-containers systemd timer with kubelet-args
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-04 07:50:32 -05:00
Devin Buhl
5ed37745f3 fix: update nuke playbook to run tasks directly
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-04 07:44:24 -05:00
Devin Buhl
9d3784ec10 fix: need raw jinja expressions for reloader now
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-03 16:56:08 -05:00
Devin Buhl
0c3bc584f8 fix: use SA created from helm chart for SUC
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-03 15:45:18 -05:00
Devin Buhl
e167882e64 feat!: refactor namespaces and add descheduler (#1110)
Signed-off-by: Devin Buhl <devin@buhl.casa>
2024-01-02 16:48:33 -05:00
309 changed files with 3763 additions and 6502 deletions

View File

@@ -1,48 +0,0 @@
{
"name": "Home Ops",
"image": "mcr.microsoft.com/devcontainers/base:bullseye",
"containerEnv": {
"KUBECONFIG": "${containerWorkspaceFolder}/kubeconfig",
"SOPS_AGE_KEY_FILE": "${containerWorkspaceFolder}/age.key"
},
"postCreateCommand": {
"deps": "task deps"
},
"features": {
"ghcr.io/devcontainers/features/common-utils:2": {
"configureZshAsDefaultShell": true
},
"ghcr.io/devcontainers/features/kubectl-helm-minikube:1": {
"minikube": "none"
},
"ghcr.io/devcontainers/features/python:1": {
"version": "3.10.13"
},
"ghcr.io/devcontainers-contrib/features/age:1": {},
"ghcr.io/devcontainers-contrib/features/cloudflared:1": {},
"ghcr.io/devcontainers-contrib/features/go-task:1": {},
"ghcr.io/devcontainers-contrib/features/direnv:1": {},
"ghcr.io/devcontainers-contrib/features/sops:1": {},
"ghcr.io/audacioustux/devcontainers/cilium:1": {},
"ghcr.io/dhoeric/features/stern:1": {},
"ghcr.io/eitsupi/devcontainer-features/jq-likes:2": {},
"ghcr.io/jsburckhardt/devcontainer-features/flux:1": {},
"ghcr.io/rio/features/kustomize:1": {}
},
"customizations": {
"vscode": {
"settings": {
"terminal.integrated.profiles.linux": {
"bash": {
"path": "/bin/zsh"
}
},
"terminal.integrated.defaultProfile.linux": "zsh"
},
"extensions": [
"redhat.ansible",
"redhat.vscode-yaml"
]
}
}
}

View File

@@ -1,4 +1,5 @@
# editorconfig.org
; https://editorconfig.org/
root = true
[*]
@@ -9,10 +10,13 @@ charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[Makefile]
indent_style = space
[*.cue]
indent_style = tab
indent_size = 4
[*.{bash,sh}]
indent_style = space
[*.md]
indent_size = 4
trim_trailing_whitespace = false
[*.sh]
indent_size = 4

10
.envrc
View File

@@ -1,10 +0,0 @@
#shellcheck disable=SC2148,SC2155
export KUBECONFIG="$(expand_path ./kubeconfig)"
export SOPS_AGE_KEY_FILE="$(expand_path ./age.key)"
# ansible
PATH_add "$(expand_path ./.venv/bin)"
export VIRTUAL_ENV="$(expand_path ./.venv)"
export ANSIBLE_COLLECTIONS_PATH=$(expand_path ./.venv/galaxy)
export ANSIBLE_ROLES_PATH=$(expand_path ./.venv/galaxy/ansible_roles)
export ANSIBLE_VARS_ENABLED="host_group_vars,community.sops.sops"
export K8S_AUTH_KUBECONFIG="$(expand_path ./kubeconfig)"

12
.gitattributes vendored
View File

@@ -1,4 +1,10 @@
* text=auto eol=lf
*.yaml.j2 linguist-language=YAML
*.sops.* diff=sopsdiffer
*.sops.toml linguist-language=JSON
*.env linguist-detectable linguist-language=SHELL
*.json linguist-detectable linguist-language=JSON
*.json5 linguist-detectable linguist-language=JSON5
*.md linguist-detectable linguist-language=MARKDOWN
*.sh linguist-detectable linguist-language=SHELL
*.toml linguist-detectable linguist-language=TOML
*.yml linguist-detectable linguist-language=YAML
*.yaml linguist-detectable linguist-language=YAML
*.yaml.j2 linguist-detectable linguist-language=YAML

52
.github/labeler.yaml vendored
View File

@@ -1,27 +1,43 @@
---
area/addons:
- changed-files:
- any-glob-to-any-file: bootstrap/templates/addons/**/*
- any-glob-to-any-file: bootstrap/tasks/addons/**/*
- any-glob-to-any-file: bootstrap/vars/addons.sample.yaml
area/ansible:
- changed-files:
- any-glob-to-any-file: ansible/**/*
- any-glob-to-any-file: bootstrap/templates/ansible/**/*
- any-glob-to-any-file: bootstrap/tasks/ansible/**/*
area/bootstrap:
- changed-files:
- any-glob-to-any-file: bootstrap/**/*
- any-glob-to-any-file: bootstrap/configure.yaml
- any-glob-to-any-file:
- bootstrap/**/*
area/docs:
- changed-files:
- any-glob-to-any-file:
- README.md
area/github:
- changed-files:
- any-glob-to-any-file: .github/**/*
- any-glob-to-any-file:
- .github/**/*
area/kubernetes:
- changed-files:
- any-glob-to-any-file: kubernetes/**/*
- any-glob-to-any-file: bootstrap/templates/kubernetes/**/*
- any-glob-to-any-file: bootstrap/tasks/kubernetes/**/*
- any-glob-to-any-file:
- kubernetes/**/*
area/mise:
- changed-files:
- any-glob-to-any-file:
- .mise.toml
area/renovate:
- changed-files:
- any-glob-to-any-file:
- .renovate/**/*
- .renovaterc.json5
area/scripts:
- changed-files:
- any-glob-to-any-file:
- scripts/**/*
area/talos:
- changed-files:
- any-glob-to-any-file:
- talos/**/*
area/taskfile:
- changed-files:
- any-glob-to-any-file: .taskfiles/**/*
- any-glob-to-any-file: Taskfile*
- any-glob-to-any-file:
- .taskfiles/**/*
- Taskfile.yaml
area/templates:
- changed-files:
- any-glob-to-any-file:
- templates/**/*

36
.github/labels.yaml vendored
View File

@@ -1,37 +1,47 @@
---
# Area
- name: area/addons
color: "0e8a16"
- name: area/ansible
color: "0e8a16"
# Areas
- name: area/bootstrap
color: "0e8a16"
- name: area/docs
color: "0e8a16"
- name: area/github
color: "0e8a16"
- name: area/kubernetes
color: "0e8a16"
- name: area/mise
color: "0e8a16"
- name: area/renovate
color: "0e8a16"
- name: area/scripts
color: "0e8a16"
- name: area/talos
color: "0e8a16"
- name: area/templates
color: "0e8a16"
- name: area/taskfile
color: "0e8a16"
# Renovate
- name: renovate/ansible
color: "027fa0"
# Renovate Types
- name: renovate/container
color: "027fa0"
- name: renovate/github-action
color: "027fa0"
- name: renovate/grafana-dashboard
color: "027fa0"
- name: renovate/github-release
color: "027fa0"
- name: renovate/helm
color: "027fa0"
# Semantic Type
# Semantic Types
- name: type/digest
color: "ffeC19"
- name: type/patch
color: "ffec19"
color: "ffeC19"
- name: type/minor
color: "ff9800"
- name: type/major
color: "f6412d"
- name: type/break
color: "f6412d"
# Uncategorized
- name: hold/upstream
- name: community
color: "370fb2"
- name: hold
color: "ee0701"

View File

@@ -1,4 +1,5 @@
changelog:
exclude:
authors:
- github-actions
- renovate

243
.github/renovate.json5 vendored
View File

@@ -1,243 +0,0 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base",
"docker:enableMajor",
":disableRateLimiting",
":dependencyDashboard",
":semanticCommits",
":automergeBranch"
],
"dependencyDashboard": true,
"dependencyDashboardTitle": "Renovate Dashboard 🤖",
"suppressNotifications": ["prEditedNotification", "prIgnoreNotification"],
"rebaseWhen": "conflicted",
"schedule": ["on saturday"],
"flux": {
"fileMatch": [
"(^|/)addons/.+\\.ya?ml(\\.j2)?(\\.j2)?$",
"(^|/)ansible/.+\\.ya?ml(\\.j2)?(\\.j2)?$",
"(^|/)kubernetes/.+\\.ya?ml(\\.j2)?(\\.j2)?$"
]
},
"helm-values": {
"fileMatch": [
"(^|/)addons/.+\\.ya?ml(\\.j2)?(\\.j2)?$",
"(^|/)ansible/.+\\.ya?ml(\\.j2)?(\\.j2)?$",
"(^|/)kubernetes/.+\\.ya?ml(\\.j2)?(\\.j2)?$"
]
},
"kubernetes": {
"fileMatch": [
"(^|/)addons/.+\\.ya?ml(\\.j2)?(\\.j2)?$",
"(^|/)ansible/.+\\.ya?ml(\\.j2)?(\\.j2)?$",
"(^|/)kubernetes/.+\\.ya?ml(\\.j2)?(\\.j2)?$"
]
},
"kustomize": {
"fileMatch": [
"(^|/)kustomization\\.ya?ml(\\.j2)?$"
]
},
// commit message topics
"commitMessageTopic": "{{depName}}",
"commitMessageExtra": "to {{newVersion}}",
"commitMessageSuffix": "",
// package rules
"packageRules": [
// automerge
{
"description": "Auto merge Github Actions",
"matchManagers": ["github-actions"],
"automerge": true,
"automergeType": "branch",
"ignoreTests": true,
"matchUpdateTypes": ["minor", "patch"]
},
// groups
{
"description": "Flux Group",
"groupName": "Flux",
"matchPackagePatterns": ["flux"],
"matchDatasources": ["docker", "github-tags"],
"versioning": "semver",
"group": {
"commitMessageTopic": "{{{groupName}}} group"
},
"separateMinorPatch": true
},
{
"description": "System Upgrade Controller Group",
"groupName": "System Upgrade Controller",
"matchPackagePatterns": ["rancher/system-upgrade-controller"],
"matchDatasources": ["docker", "github-releases"],
"group": {
"commitMessageTopic": "{{{groupName}}} group"
},
"separateMinorPatch": true
},
// custom versioning
{
"description": "Use custom versioning for k3s",
"matchDatasources": ["github-releases"],
"versioning": "regex:^v(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)(?<compatibility>\\+k3s)(?<build>\\d+)$",
"matchPackagePatterns": ["k3s"]
},
// commit message topics
{
"matchDatasources": ["helm"],
"commitMessageTopic": "chart {{depName}}"
},
{
"matchDatasources": ["docker"],
"commitMessageTopic": "image {{depName}}"
},
// commit messages
{
"matchDatasources": ["docker"],
"matchUpdateTypes": ["major"],
"commitMessagePrefix": "feat(container)!: "
},
{
"matchDatasources": ["docker"],
"matchUpdateTypes": ["minor"],
"semanticCommitType": "feat",
"semanticCommitScope": "container"
},
{
"matchDatasources": ["docker"],
"matchUpdateTypes": ["patch"],
"semanticCommitType": "fix",
"semanticCommitScope": "container"
},
{
"matchDatasources": ["docker"],
"matchUpdateTypes": ["digest"],
"semanticCommitType": "chore",
"semanticCommitScope": "container"
},
{
"matchDatasources": ["helm"],
"matchUpdateTypes": ["major"],
"commitMessagePrefix": "feat(helm)!: "
},
{
"matchDatasources": ["helm"],
"matchUpdateTypes": ["minor"],
"semanticCommitType": "feat",
"semanticCommitScope": "helm"
},
{
"matchDatasources": ["helm"],
"matchUpdateTypes": ["patch"],
"semanticCommitType": "fix",
"semanticCommitScope": "helm"
},
{
"matchDatasources": ["galaxy", "galaxy-collection"],
"matchUpdateTypes": ["major"],
"commitMessagePrefix": "feat(ansible)!: "
},
{
"matchDatasources": ["galaxy", "galaxy-collection"],
"matchUpdateTypes": ["minor"],
"semanticCommitType": "feat",
"semanticCommitScope": "ansible"
},
{
"matchDatasources": ["galaxy", "galaxy-collection"],
"matchUpdateTypes": ["patch"],
"semanticCommitType": "fix",
"semanticCommitScope": "ansible"
},
{
"matchDatasources": ["github-releases", "github-tags"],
"matchUpdateTypes": ["major"],
"commitMessagePrefix": "feat(github-release)!: "
},
{
"matchDatasources": ["github-releases", "github-tags"],
"matchUpdateTypes": ["minor"],
"semanticCommitType": "feat",
"semanticCommitScope": "github-release"
},
{
"matchDatasources": ["github-releases", "github-tags"],
"matchUpdateTypes": ["patch"],
"semanticCommitType": "fix",
"semanticCommitScope": "github-release"
},
{
"matchManagers": ["github-actions"],
"matchUpdateTypes": ["major"],
"commitMessagePrefix": "feat(github-action)!: "
},
{
"matchManagers": ["github-actions"],
"matchUpdateTypes": ["minor"],
"semanticCommitType": "feat",
"semanticCommitScope": "github-action"
},
{
"matchManagers": ["github-actions"],
"matchUpdateTypes": ["patch"],
"semanticCommitType": "fix",
"semanticCommitScope": "github-action"
},
// labels
{
"matchUpdateTypes": ["major"],
"labels": ["type/major"]
},
{
"matchUpdateTypes": ["minor"],
"labels": ["type/minor"]
},
{
"matchUpdateTypes": ["patch"],
"labels": ["type/patch"]
},
{
"matchDatasources": ["docker"],
"addLabels": ["renovate/container"]
},
{
"matchDatasources": ["helm"],
"addLabels": ["renovate/helm"]
},
{
"matchDatasources": ["galaxy", "galaxy-collection"],
"addLabels": ["renovate/ansible"]
},
{
"matchDatasources": ["github-releases", "github-tags"],
"addLabels": ["renovate/github-release"]
},
{
"matchManagers": ["github-actions"],
"addLabels": ["renovate/github-action"]
}
],
// custom managers
"customManagers": [
{
"customType": "regex",
"description": "Process various other dependencies",
"fileMatch": [
"(^|/)addons/.+\\.ya?ml(\\.j2)?(\\.j2)?$",
"(^|/)ansible/.+\\.ya?ml(\\.j2)?(\\.j2)?$",
"(^|/)kubernetes/.+\\.ya?ml(\\.j2)?(\\.j2)?$"
],
"matchStrings": [
// Example: `k3s_release_version: "v1.27.3+k3s1"`
"datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)( versioning=(?<versioning>\\S+))?\n.*?\"(?<currentValue>.*)\"\n",
// Example: `- https://github.com/rancher/system-upgrade-controller/releases/download/v0.11.0/crd.yaml`
"datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)( versioning=(?<versioning>\\S+))?\n.*?-\\s(.*?)\/(?<currentValue>[^/]+)\/[^/]+\n",
// Example: apiVersion=helm.cattle.io/v1 kind=HelmChart
"datasource=(?<datasource>\\S+)\n.*?repo: (?<registryUrl>\\S+)\n.*?chart: (?<depName>\\S+)\n.*?version: (?<currentValue>\\S+)\n"
],
"datasourceTemplate": "{{#if datasource}}{{{datasource}}}{{else}}github-releases{{/if}}",
"versioningTemplate": "{{#if versioning}}{{{versioning}}}{{else}}semver{{/if}}"
}
]
}

19
.github/tests/nodes.yaml vendored Normal file
View File

@@ -0,0 +1,19 @@
nodes:
- name: k8s-0
address: 10.10.10.100
controller: true
disk: /dev/sdfake
mac_addr: 00:00:00:00:00:00
schematic_id: "376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba"
- name: k8s-1
address: 10.10.10.101
controller: false
disk: /dev/sdfake
mac_addr: 00:00:00:00:00:01
schematic_id: "376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba"
mtu: 1500
secureboot: true
encrypt_disk: true
kernel_modules:
- nvidia
- nvidia_uvm

22
.github/tests/private.yaml vendored Normal file
View File

@@ -0,0 +1,22 @@
---
node_cidr: "10.10.10.0/24"
# node_default_gateway: ""
# node_vlan_tag:
# cluster_pod_cidr: ""
# cluster_svc_cidr: ""
# node_dns_servers: []
# node_ntp_servers: []
cluster_api_addr: "10.10.10.254"
# cluster_api_tls_sans: []
cluster_gateway_addr: "10.10.10.252"
cluster_dns_gateway_addr: "10.10.10.253"
repository_name: "onedr0p/cluster-template"
# repository_branch: ""
repository_visibility: "private"
cloudflare_domain: "example.com"
cloudflare_token: "fake"
cloudflare_gateway_addr: "10.10.10.251"
# cilium_bgp_router_addr: ""
# cilium_bgp_router_asn: ""
# cilium_bgp_node_asn: ""
# cilium_loadbalancer_mode: ""

22
.github/tests/public.yaml vendored Normal file
View File

@@ -0,0 +1,22 @@
---
node_cidr: "10.10.10.0/24"
node_default_gateway: "10.10.10.1"
node_vlan_tag: "100"
cluster_pod_cidr: "10.42.0.0/16"
cluster_svc_cidr: "10.43.0.0/16"
node_dns_servers: ["1.1.1.1"]
node_ntp_servers: ["162.159.200.123"]
cluster_api_addr: "10.10.10.254"
cluster_api_tls_sans: ["example.com"]
cluster_gateway_addr: "10.10.10.252"
cluster_dns_gateway_addr: "10.10.10.253"
repository_name: "onedr0p/cluster-template"
repository_branch: "main"
repository_visibility: "public"
cloudflare_domain: "example.com"
cloudflare_token: "fake"
cloudflare_gateway_addr: "10.10.10.251"
cilium_loadbalancer_mode: "dsr"
cilium_bgp_router_addr: "10.10.1.1"
cilium_bgp_router_asn: "64513"
cilium_bgp_node_asn: "64514"

71
.github/workflows/e2e.yaml vendored Normal file
View File

@@ -0,0 +1,71 @@
---
name: "e2e"
on:
workflow_dispatch:
pull_request:
branches: ["main"]
paths-ignore:
- kubernetes/**
concurrency:
group: ${{ github.workflow }}-${{ github.event.number || github.ref }}
cancel-in-progress: true
jobs:
configure:
if: ${{ github.repository == 'onedr0p/cluster-template' }}
name: configure
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
config-files:
- public
- private
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup mise
uses: jdx/mise-action@6d1e696aa24c1aa1bcc1adea0212707c71ab78a8 # v3.6.1
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
with:
cache: false
- name: Run init task
run: task init
- name: Prepare files
run: |
cp ./.github/tests/${{ matrix.config-files }}.yaml cluster.yaml
cp ./.github/tests/nodes.yaml nodes.yaml
echo '{"AccountTag":"fake","TunnelSecret":"fake","TunnelID":"fake"}' > cloudflare-tunnel.json
touch kubeconfig
- name: Run configure task
run: task configure --yes
- name: Run generate talconfig task
run: |
FILENAME=talos/talsecret.sops.yaml
talhelper gensecret | sops --filename-override $FILENAME --encrypt /dev/stdin > $FILENAME
task talos:generate-config
- name: Run flux-local test
uses: docker://ghcr.io/allenporter/flux-local:v8.1.0@sha256:37c3c4309a351830b04f93c323adfcb0e28c368001818cd819cbce3e08828261
with:
args: test --enable-helm --all-namespaces --path /github/workspace/kubernetes/flux/cluster -v
- name: Dry run bootstrap talos task
run: task bootstrap:talos --dry
- name: Dry run bootstrap apps task
run: task bootstrap:apps --dry
- name: Run reset task
run: task template:reset --yes
- name: Run cleanup task
run: task template:tidy --yes

View File

@@ -1,67 +0,0 @@
---
name: "Flux Diff"
on:
pull_request:
branches: ["main"]
paths: ["kubernetes/**"]
concurrency:
group: ${{ github.workflow }}-${{ github.event.number || github.ref }}
cancel-in-progress: true
jobs:
flux-diff:
name: Flux Diff
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
strategy:
matrix:
paths: ["kubernetes"]
resources: ["helmrelease", "kustomization"]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: pull
- name: Checkout Default Branch
uses: actions/checkout@v4
with:
ref: "${{ github.event.repository.default_branch }}"
path: default
- name: Diff Resources
uses: docker://ghcr.io/allenporter/flux-local:main
with:
args: >-
diff ${{ matrix.resources }}
--unified 6
--path /github/workspace/pull/${{ matrix.paths }}
--path-orig /github/workspace/default/${{ matrix.paths }}
--strip-attrs "helm.sh/chart,checksum/config,app.kubernetes.io/version,chart"
--limit-bytes 10000
--all-namespaces
--sources "home-kubernetes"
--output-file diff.patch
- name: Generate Diff
id: diff
run: |
cat diff.patch
echo "diff<<EOF" >> $GITHUB_OUTPUT
cat diff.patch >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
- if: ${{ steps.diff.outputs.diff != '' }}
name: Add comment
uses: mshick/add-pr-comment@v2
with:
message-id: "${{ github.event.pull_request.number }}/${{ matrix.paths }}/${{ matrix.resources }}"
message-failure: Diff was not successful
message: |
```diff
${{ steps.diff.outputs.diff }}
```

121
.github/workflows/flux-local.yaml vendored Normal file
View File

@@ -0,0 +1,121 @@
---
name: "Flux Local"
on:
pull_request:
branches: ["main"]
concurrency:
group: ${{ github.workflow }}-${{ github.event.number || github.ref }}
cancel-in-progress: true
jobs:
pre-job:
name: Flux Local Pre-Job
runs-on: ubuntu-latest
outputs:
any_changed: ${{ steps.changed-files.outputs.any_changed }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Get Changed Files
id: changed-files
uses: tj-actions/changed-files@7dee1b0c1557f278e5c7dc244927139d78c0e22a # v47.0.4
with:
files: kubernetes/**
test:
name: Flux Local Test
needs: pre-job
runs-on: ubuntu-latest
if: ${{ needs.pre-job.outputs.any_changed == 'true' }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Run flux-local test
uses: docker://ghcr.io/allenporter/flux-local:v8.1.0
with:
args: test --enable-helm --all-namespaces --path /github/workspace/kubernetes/flux/cluster -v
diff:
name: Flux Local Diff
needs: pre-job
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
strategy:
matrix:
resources: ["helmrelease", "kustomization"]
max-parallel: 4
fail-fast: false
if: ${{ needs.pre-job.outputs.any_changed == 'true' }}
steps:
- name: Checkout Pull Request Branch
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
path: pull
- name: Checkout Default Branch
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: "${{ github.event.repository.default_branch }}"
path: default
- name: Run flux-local diff
uses: docker://ghcr.io/allenporter/flux-local:v8.1.0
with:
args: >-
diff ${{ matrix.resources }}
--unified 6
--path /github/workspace/pull/kubernetes/flux/cluster
--path-orig /github/workspace/default/kubernetes/flux/cluster
--strip-attrs "helm.sh/chart,checksum/config,app.kubernetes.io/version,chart"
--limit-bytes 10000
--all-namespaces
--sources "flux-system"
--output-file diff.patch
- name: Generate Diff
id: diff
run: |
cat diff.patch;
{
echo 'diff<<EOF'
cat diff.patch
echo EOF
} >> "$GITHUB_OUTPUT";
{
echo "### Diff"
echo '```diff'
cat diff.patch
echo '```'
} >> "$GITHUB_STEP_SUMMARY"
- name: Add Comment
if: ${{ steps.diff.outputs.diff != '' }}
continue-on-error: true
uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2.8.2
with:
message-id: "${{ github.event.pull_request.number }}/kubernetes/${{ matrix.resources }}"
message-failure: Diff was not successful
message: |
```diff
${{ steps.diff.outputs.diff }}
```
flux-local-status:
name: Flux Local Success
needs: ["test", "diff"]
runs-on: ubuntu-latest
if: ${{ always() }}
steps:
- name: Any jobs failed?
if: ${{ contains(needs.*.result, 'failure') }}
run: exit 1
- name: All jobs passed or skipped?
if: ${{ !(contains(needs.*.result, 'failure')) }}
run: echo "All jobs passed or skipped" && echo "${{ toJSON(needs.*.result) }}"

View File

@@ -11,12 +11,15 @@ jobs:
label-sync:
name: Label Sync
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Sync Labels
uses: EndBug/label-sync@v2
uses: EndBug/label-sync@52074158190acb45f3077f9099fea818aa43f97a # v2.3.3
with:
config-file: .github/labels.yaml
delete-other-labels: true

View File

@@ -13,8 +13,9 @@ jobs:
permissions:
contents: read
pull-requests: write
issues: write
steps:
- name: Labeler
uses: actions/labeler@v5
uses: actions/labeler@634933edcd8ababfe52f92936142cc22ac488b1b # v6.0.1
with:
configuration-path: .github/labeler.yaml

View File

@@ -1,66 +0,0 @@
---
name: "Lychee"
on:
workflow_dispatch:
push:
branches: ["main"]
paths: [".github/workflows/lychee.yaml"]
schedule:
- cron: "0 0 * * *"
env:
WORKFLOW_ISSUE_TITLE: "Link Checker Dashboard 🔗"
jobs:
lychee:
name: Lychee
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Homebrew
uses: Homebrew/actions/setup-homebrew@master
- name: Setup Workflow Tools
shell: bash
run: brew install lychee
- name: Scan For Broken Links
shell: bash
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
run: |
lychee --verbose --no-progress \
--format markdown \
--output results.md \
--exclude-all-private \
--exclude-mail \
./**/*.md || true
- name: Print Output
run: cat results.md
- name: Find Link Checker Issue
id: find-issue
shell: bash
env:
GH_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
run: |
issue_number=$( \
gh issue list \
--search "in:title ${{ env.WORKFLOW_ISSUE_TITLE }}" \
--state open \
--json number \
| jq --raw-output '.[0].number' \
)
echo "issue-number=${issue_number}" >> $GITHUB_OUTPUT
echo "${issue_number}"
- name: Update Issue
uses: peter-evans/create-issue-from-file@v4
with:
title: "${{ env.WORKFLOW_ISSUE_TITLE }}"
issue-number: "${{ steps.find-issue.outputs.issue-number || '' }}"
content-filepath: results.md

View File

@@ -4,39 +4,53 @@ name: "Release"
on:
workflow_dispatch:
schedule:
- cron: "0 0 1 * *"
- cron: "0 0 1 * *" # 1st of every month at midnight
jobs:
release:
name: Release
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get Previous Release Tag and Determine Next Tag
id: determine-next-tag
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
result-encoding: string
script: |
const { data: releases } = await github.rest.repos.listReleases({
owner: context.repo.owner,
repo: context.repo.repo,
per_page: 1,
});
let previousTag = "0.0.0"; // Default if no previous release exists
if (releases.length > 0) {
previousTag = releases[0].tag_name;
}
const [previousMajor, previousMinor, previousPatch] = previousTag.split('.').map(Number);
const currentYear = new Date().getFullYear();
const currentMonth = new Date().getMonth() + 1; // Months are 0-indexed in JavaScript
const nextMajorMinor = `${currentYear}.${currentMonth}`;
let nextPatch;
if (`${previousMajor}.${previousMinor}` === nextMajorMinor) {
console.log("Month release already exists for the year. Incrementing patch number by 1.");
nextPatch = previousPatch + 1;
} else {
console.log("Month release does not exist for the year. Starting with patch number 0.");
nextPatch = 0;
}
return `${nextMajorMinor}.${nextPatch}`;
- name: Create Release
shell: bash
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
run: |
# Retrieve previous release tag
previous_tag="$(gh release list --limit 1 | awk '{ print $1 }')"
previous_major="${previous_tag%%\.*}"
previous_minor="${previous_tag#*.}"
previous_minor="${previous_minor%.*}"
previous_patch="${previous_tag##*.}"
# Determine next release tag
next_major_minor="$(date +'%Y').$(date +'%-m')"
if [[ "${previous_major}.${previous_minor}" == "${next_major_minor}" ]]; then
echo "Month release already exists for year, incrementing patch number by 1"
next_patch="$((previous_patch + 1))"
else
echo "Month release does not exist for year, setting patch number to 0"
next_patch="0"
fi
# Create release
release_tag="${next_major_minor}.${next_patch}"
gh release create "${release_tag}" \
--repo="${GITHUB_REPOSITORY}" \
--title="${release_tag}" \
--generate-notes
uses: ncipollo/release-action@b7eabc95ff50cbeeedec83973935c8f306dfcd0b # v1.20.0
with:
generateReleaseNotes: true
tag: "${{ steps.determine-next-tag.outputs.result }}"
token: "${{ secrets.GITHUB_TOKEN }}"

31
.gitignore vendored
View File

@@ -1,14 +1,21 @@
# Trash
.DS_Store
Thumbs.db
# k8s
kubeconfig
.decrypted~*.yaml
.config.env
*.agekey
# Secrets
*.pub
*.key
# Ansible
.venv*
# Taskfile
.tasks
*.decrypted~*.yaml
/age.key
/cloudflare-tunnel.json
/github-deploy.key
/github-deploy.key.pub
/github-push-token.txt
# Template config files
/cluster.yaml
/nodes.yaml
# Kubernetes
kubeconfig
talosconfig
# Misc.
.private/
.task/
.venv/
.DS_Store
Thumbs.db

View File

@@ -1,2 +0,0 @@
https://dash.cloudflare.com/profile/api-tokens
https://www.mend.io/free-developer-tools/renovate/

28
.mise.toml Normal file
View File

@@ -0,0 +1,28 @@
[env]
_.python.venv = { path = "{{config_root}}/.venv", create = true } # required:template
KUBECONFIG = "{{config_root}}/kubeconfig"
SOPS_AGE_KEY_FILE = "{{config_root}}/age.key"
TALOSCONFIG = "{{config_root}}/talos/clusterconfig/talosconfig"
[tools]
"python" = "3.14.3" # required:template
"uv" = "0.10.7" # required:template
"pipx" = "1.8.0" # required:template
"pipx:makejinja" = "2.8.2" # required:template
"aqua:budimanjojo/talhelper" = "3.1.5"
"aqua:cilium/cilium-cli" = "0.19.2"
"aqua:cli/cli" = "2.87.3"
"aqua:cloudflare/cloudflared" = "2026.2.0"
"aqua:cue-lang/cue" = "0.15.4" # required:template
"aqua:FiloSottile/age" = "1.3.1"
"aqua:fluxcd/flux2" = "2.8.1"
"aqua:getsops/sops" = "3.12.1"
"aqua:go-task/task" = "3.48.0"
"aqua:helm/helm" = "4.1.1"
"aqua:helmfile/helmfile" = "1.3.2"
"aqua:jqlang/jq" = "1.8.1"
"aqua:kubernetes-sigs/kustomize" = "5.7.1"
"aqua:kubernetes/kubernetes/kubectl" = "1.35.2"
"aqua:mikefarah/yq" = "4.52.4"
"aqua:siderolabs/talos" = "1.12.4"
"aqua:yannh/kubeconform" = "0.7.0"

172
.renovaterc.json5 Normal file
View File

@@ -0,0 +1,172 @@
{
$schema: "https://docs.renovatebot.com/renovate-schema.json",
extends: [
"config:recommended",
"docker:enableMajor",
"helpers:pinGitHubActionDigests",
":automergeBranch",
":dependencyDashboard",
":disableRateLimiting",
":semanticCommits",
],
dependencyDashboard: true,
dependencyDashboardTitle: "Renovate Dashboard :robot:",
schedule: ["every weekend"],
ignorePaths: ["**/*.sops.*"],
flux: {
managerFilePatterns: ["/(^|/)kubernetes/.+\\.ya?ml(?:\\.j2)?$/"],
},
helmfile: {
managerFilePatterns: [
"/(^|/)helmfile\\.ya?ml(?:\\.gotmpl)?(?:\\.j2)?$/",
"/(^|/)helmfile\\.d/.+\\.ya?ml(?:\\.gotmpl)?(?:\\.j2)?$/",
],
},
kubernetes: {
managerFilePatterns: ["/(^|/)kubernetes/.+\\.ya?ml(?:\\.j2)?$/"],
},
kustomize: {
managerFilePatterns: ["/^kustomization\\.ya?ml(?:\\.j2)?$/"],
},
packageRules: [
{
description: "Override Helmfile Dependency Name",
matchDatasources: ["docker"],
matchManagers: ["helmfile"],
overrideDepName: "{{packageName}}",
},
{
description: "Flux Operator Group",
groupName: "flux-operator",
matchDatasources: ["docker"],
matchPackageNames: ["/flux-operator/", "/flux-instance/", "/flux-operator-manifests/"],
group: {
commitMessageTopic: "{{{groupName}}} group",
},
minimumGroupSize: 3,
},
{
description: "Auto-merge GitHub Actions",
matchManagers: ["github-actions"],
automerge: true,
automergeType: "branch",
matchUpdateTypes: ["minor", "patch", "digest"],
minimumReleaseAge: "3 days",
ignoreTests: true,
},
{
matchUpdateTypes: ["major"],
semanticCommitType: "feat",
commitMessagePrefix: "{{semanticCommitType}}({{semanticCommitScope}})!:",
commitMessageExtra: "( {{currentVersion}} ➔ {{newVersion}} )",
},
{
matchUpdateTypes: ["minor"],
semanticCommitType: "feat",
commitMessageExtra: "( {{currentVersion}} ➔ {{newVersion}} )",
},
{
matchUpdateTypes: ["patch"],
semanticCommitType: "fix",
commitMessageExtra: "( {{currentVersion}} ➔ {{newVersion}} )",
},
{
matchUpdateTypes: ["digest"],
semanticCommitType: "chore",
commitMessageExtra: "( {{currentDigestShort}} ➔ {{newDigestShort}} )",
},
{
matchDatasources: ["docker"],
semanticCommitScope: "container",
commitMessageTopic: "image {{depName}}",
},
{
matchDatasources: ["helm"],
semanticCommitScope: "helm",
commitMessageTopic: "chart {{depName}}",
},
{
matchManagers: ["github-actions"],
semanticCommitType: "ci",
semanticCommitScope: "github-action",
commitMessageTopic: "action {{depName}}",
},
{
matchDatasources: ["github-releases"],
semanticCommitScope: "github-release",
commitMessageTopic: "release {{depName}}",
},
{
matchManagers: ["mise"],
semanticCommitScope: "mise",
commitMessageTopic: "tool {{depName}}",
},
{
matchUpdateTypes: ["major"],
labels: ["type/major"],
},
{
matchUpdateTypes: ["minor"],
labels: ["type/minor"],
},
{
matchUpdateTypes: ["patch"],
labels: ["type/patch"],
},
{
matchUpdateTypes: ["digest"],
labels: ["type/digest"],
},
{
matchDatasources: ["docker"],
addLabels: ["renovate/container"],
},
{
matchDatasources: ["helm"],
addLabels: ["renovate/helm"],
},
{
matchManagers: ["github-actions"],
addLabels: ["renovate/github-action"],
},
{
matchDatasources: ["github-releases"],
addLabels: ["renovate/github-release"],
},
],
customManagers: [
{
description: "Process annotated dependencies",
customType: "regex",
managerFilePatterns: [
"/(^|/).+\\.env(?:\\.j2)?$/",
"/(^|/).+\\.sh(?:\\.j2)?$/",
"/(^|/).+\\.ya?ml(?:\\.j2)?$/",
],
matchStrings: [
// # renovate: datasource=github-releases depName=k3s-io/k3s
// k3s_release_version: &version v1.29.0+k3s1
// # renovate: datasource=helm depName=cilium repository=https://helm.cilium.io
// version: 1.15.1
// # renovate: datasource=docker depName=ghcr.io/siderolabs/kubelet
// KUBERNETES_VERSION=v1.31.1
"datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)( repository=(?<registryUrl>\\S+))?\\n.+(:\\s|=)(&\\S+\\s)?(?<currentValue>\\S+)",
// # renovate: datasource=docker depName=ghcr.io/prometheus-operator/prometheus-operator
// https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.80.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
"datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)\\n.+/(?<currentValue>(v|\\d)[^/]+)",
],
datasourceTemplate: "{{#if datasource}}{{{datasource}}}{{else}}github-releases{{/if}}",
},
{
customType: "regex",
description: "Process OCI dependencies",
managerFilePatterns: [
"/\\.yaml(?:\\.j2)?$/",
],
matchStrings: [
"oci://(?<depName>[^:]+):(?<currentValue>\\S+)",
],
datasourceTemplate: "docker",
},
],
}

2
.shellcheckrc Normal file
View File

@@ -0,0 +1,2 @@
disable=SC1091
disable=SC2155

View File

@@ -1,54 +0,0 @@
---
version: "3"
vars:
ANSIBLE_PLAYBOOK_DIR: "{{.ANSIBLE_DIR}}/playbooks"
ANSIBLE_INVENTORY_DIR: "{{.ANSIBLE_DIR}}/inventory"
tasks:
prepare:
desc: Prepare all the k8s nodes for running k3s
dir: "{{.ANSIBLE_DIR}}"
cmd: ansible-playbook -i {{.ANSIBLE_INVENTORY_DIR}}/hosts.yaml {{.ANSIBLE_PLAYBOOK_DIR}}/cluster-prepare.yaml
install:
desc: Install Kubernetes on the nodes
dir: "{{.ANSIBLE_DIR}}"
cmd: ansible-playbook -i {{.ANSIBLE_INVENTORY_DIR}}/hosts.yaml {{.ANSIBLE_PLAYBOOK_DIR}}/cluster-installation.yaml
rollout-update:
desc: Preform operating system updates and rollout restart the cluster
dir: "{{.ANSIBLE_DIR}}"
cmd: ansible-playbook -i {{.ANSIBLE_INVENTORY_DIR}}/hosts.yaml {{.ANSIBLE_PLAYBOOK_DIR}}/cluster-rollout-update.yaml
nuke:
desc: Uninstall Kubernetes on the nodes
dir: "{{.ANSIBLE_DIR}}"
interactive: true
cmd: ansible-playbook -i {{.ANSIBLE_INVENTORY_DIR}}/hosts.yaml {{.ANSIBLE_PLAYBOOK_DIR}}/cluster-nuke.yaml
reboot:
desc: Reboot all the k8s nodes
dir: "{{.ANSIBLE_DIR}}"
cmd: ansible-playbook -i {{.ANSIBLE_INVENTORY_DIR}}/hosts.yaml {{.ANSIBLE_PLAYBOOK_DIR}}/cluster-reboot.yaml
poweroff:
desc: Shutdown all the k8s nodes
dir: "{{.ANSIBLE_DIR}}"
cmd: ansible kubernetes -i {{.ANSIBLE_INVENTORY_DIR}}/hosts.yaml -a '/usr/bin/systemctl poweroff' --become
list:
desc: List all the hosts
dir: "{{.ANSIBLE_DIR}}"
cmd: ansible all -i {{.ANSIBLE_INVENTORY_DIR}}/hosts.yaml --list-hosts
ping:
desc: Ping all the hosts
dir: "{{.ANSIBLE_DIR}}"
cmd: ansible all -i {{.ANSIBLE_INVENTORY_DIR}}/hosts.yaml --one-line -m 'ping'
uptime:
desc: Uptime of all the hosts
dir: "{{.ANSIBLE_DIR}}"
cmd: ansible all -i {{.ANSIBLE_INVENTORY_DIR}}/hosts.yaml --one-line -a 'uptime'

View File

@@ -1,27 +0,0 @@
---
version: "3"
tasks:
deps:
desc: Install workstation dependencies with Brew
cmd: brew install {{.DEPS}} {{.CLI_ARGS}}
preconditions:
- sh: command -v brew
msg: |
Homebrew is not installed. Using MacOS, Linux or WSL?
Head over to https://brew.sh to get up and running.
vars:
DEPS: >-
age
cilium-cli
cloudflared
fluxcd/tap/flux
helm
jq
k9s
kubernetes-cli
kustomize
sops
stern
yq

View File

@@ -1,81 +0,0 @@
---
version: "3"
tasks:
verify:
desc: Verify flux meets the prerequisites
cmd: flux check --pre
install:
desc: Install Flux into your cluster
cmds:
- kubectl apply --kustomize {{.KUBERNETES_DIR}}/bootstrap
- cat {{.SOPS_AGE_KEY_FILE}} | kubectl -n flux-system create secret generic sops-age --from-file=age.agekey=/dev/stdin
- sops --decrypt {{.KUBERNETES_DIR}}/flux/vars/cluster-secrets.sops.yaml | kubectl apply -f -
- sops --decrypt {{.KUBERNETES_DIR}}/flux/vars/cluster-secrets-user.sops.yaml | kubectl apply -f -
- kubectl apply -f {{.KUBERNETES_DIR}}/flux/vars/cluster-settings.yaml
- kubectl apply -f {{.KUBERNETES_DIR}}/flux/vars/cluster-settings-user.yaml
- kubectl apply --kustomize {{.KUBERNETES_DIR}}/flux/config
preconditions:
- sh: test -f {{.SOPS_AGE_KEY_FILE}}
msg: |
Age key file is not found. Did you forget to create it?
vars:
SOPS_AGE_KEY_FILE: "{{.ROOT_DIR}}/age.key"
reconcile:
desc: Force update Flux to pull in changes from your Git repository
cmd: flux reconcile -n flux-system kustomization cluster --with-source
hr-restart:
desc: Restart all failed Helm Releases
cmds:
- kubectl get hr --all-namespaces | grep False | awk '{print $2, $1}' | xargs -L1 bash -c 'flux suspend hr $0 -n $1'
- kubectl get hr --all-namespaces | grep False | awk '{print $2, $1}' | xargs -L1 bash -c 'flux resume hr $0 -n $1'
nodes:
desc: List all the nodes in your cluster
cmd: kubectl get nodes {{.CLI_ARGS | default "-o wide"}}
pods:
desc: List all the pods in your cluster
cmd: kubectl get pods {{.CLI_ARGS | default "-A"}}
kustomizations:
desc: List all the kustomizations in your cluster
cmd: kubectl get kustomizations {{.CLI_ARGS | default "-A"}}
helmreleases:
desc: List all the helmreleases in your cluster
cmd: kubectl get helmreleases {{.CLI_ARGS | default "-A"}}
helmrepositories:
desc: List all the helmrepositories in your cluster
cmd: kubectl get helmrepositories {{.CLI_ARGS | default "-A"}}
gitrepositories:
desc: List all the gitrepositories in your cluster
cmd: kubectl get gitrepositories {{.CLI_ARGS | default "-A"}}
certificates:
desc: List all the certificates in your cluster
cmds:
- kubectl get certificates {{.CLI_ARGS | default "-A"}}
- kubectl get certificaterequests {{.CLI_ARGS | default "-A"}}
ingresses:
desc: List all the ingresses in your cluster
cmd: kubectl get ingress {{.CLI_ARGS | default "-A"}}
resources:
desc: Gather common resources in your cluster, useful when asking for support
cmds:
- task: nodes
- task: kustomizations
- task: helmreleases
- task: helmrepositories
- task: gitrepositories
- task: certificates
- task: ingresses
- task: pods

View File

@@ -0,0 +1,30 @@
---
version: '3'
tasks:
talos:
desc: Bootstrap the Talos cluster
dir: '{{.TALOS_DIR}}'
cmds:
- '[ -f talsecret.sops.yaml ] || talhelper gensecret | sops --filename-override talos/talsecret.sops.yaml --encrypt /dev/stdin > talsecret.sops.yaml'
- talhelper genconfig
- talhelper gencommand apply --extra-flags="--insecure" | bash
- until talhelper gencommand bootstrap | bash; do sleep 10; done
- until talhelper gencommand kubeconfig --extra-flags="{{.ROOT_DIR}} --force" | bash; do sleep 10; done
preconditions:
- test -f {{.ROOT_DIR}}/.sops.yaml
- test -f {{.SOPS_AGE_KEY_FILE}}
- test -f {{.TALOS_DIR}}/talconfig.yaml
- which talhelper talosctl sops
apps:
desc: Bootstrap apps into the Talos cluster
cmd: bash {{.SCRIPTS_DIR}}/bootstrap-apps.sh
preconditions:
- msg: Unsupported bash version, run `brew install bash` to upgrade
sh: '{{if eq OS "darwin"}}test -f /opt/homebrew/bin/bash || test -f /usr/local/bin/bash{{end}}'
- test -f {{.KUBECONFIG}}
- test -f {{.ROOT_DIR}}/.sops.yaml
- test -f {{.SCRIPTS_DIR}}/bootstrap-apps.sh
- test -f {{.SOPS_AGE_KEY_FILE}}

View File

@@ -0,0 +1,65 @@
---
version: '3'
tasks:
generate-config:
desc: Generate Talos configuration
dir: '{{.TALOS_DIR}}'
cmd: talhelper genconfig
preconditions:
- test -f {{.TALOS_DIR}}/talconfig.yaml
- test -f {{.ROOT_DIR}}/.sops.yaml
- test -f {{.SOPS_AGE_KEY_FILE}}
- which talhelper
apply-node:
desc: Apply Talos config to a node [IP=required]
dir: '{{.TALOS_DIR}}'
cmd: talhelper gencommand apply --node {{.IP}} --extra-flags '--mode={{.MODE}}' | bash
vars:
MODE: '{{.MODE | default "auto"}}'
requires:
vars: [IP]
preconditions:
- talosctl --nodes {{.IP}} get machineconfig
- talosctl config info
- test -f {{.TALOSCONFIG}}
- which talhelper talosctl yq
upgrade-node:
desc: Upgrade Talos on a single node [IP=required]
dir: '{{.TALOS_DIR}}'
cmd: talhelper gencommand upgrade --node {{.IP}} --extra-flags "--image='{{.TALOS_IMAGE}}:{{.TALOS_VERSION}}' --timeout=10m" | bash
vars:
TALOS_IMAGE:
sh: yq '.nodes[] | select(.ipAddress == "{{.IP}}") | .talosImageURL' {{.TALOS_DIR}}/talconfig.yaml
TALOS_VERSION:
sh: yq '.talosVersion' {{.TALOS_DIR}}/talenv.yaml
requires:
vars: [IP]
preconditions:
- talosctl --nodes {{.IP}} get machineconfig
- talosctl config info
- test -f {{.TALOSCONFIG}}
- which kubectl talhelper talosctl yq
upgrade-k8s:
desc: Upgrade Kubernetes
dir: '{{.TALOS_DIR}}'
cmd: talhelper gencommand upgrade-k8s --extra-flags "--to '{{.KUBERNETES_VERSION}}'" | bash
vars:
KUBERNETES_VERSION:
sh: yq '.kubernetesVersion' {{.TALOS_DIR}}/talenv.yaml
preconditions:
- talosctl config info
- test -f {{.TALOSCONFIG}}
- which talhelper talosctl yq
reset:
desc: Resets nodes back to maintenance mode
dir: '{{.TALOS_DIR}}'
prompt: This will destroy your cluster and reset the nodes back to maintenance mode... continue?
cmd: talhelper gencommand reset --extra-flags="--reboot {{- if eq .CLI_FORCE false }} --system-labels-to-wipe STATE --system-labels-to-wipe EPHEMERAL{{ end }} --graceful=false --wait=false" | bash
preconditions:
- which talhelper

View File

@@ -0,0 +1,173 @@
---
version: '3'
vars:
MAKEJINJA_CONFIG_FILE: '{{.ROOT_DIR}}/makejinja.toml'
TEMPLATE_DIR: '{{.ROOT_DIR}}/templates'
TEMPLATE_RESOURCES_DIR: '{{.ROOT_DIR}}/.taskfiles/template/resources'
TEMPLATE_CONFIG_FILE: '{{.ROOT_DIR}}/cluster.yaml'
TEMPLATE_NODE_CONFIG_FILE: '{{.ROOT_DIR}}/nodes.yaml'
tasks:
:init:
desc: Initialize configuration files
cmds:
- task: generate-template-config
- task: generate-age-key
- task: generate-deploy-key
- task: generate-push-token
generate-template-config:
internal: true
cmds:
- mv {{.TEMPLATE_CONFIG_FILE | replace ".yaml" ".sample.yaml"}} {{.TEMPLATE_CONFIG_FILE}}
- mv {{.TEMPLATE_NODE_CONFIG_FILE | replace ".yaml" ".sample.yaml"}} {{.TEMPLATE_NODE_CONFIG_FILE}}
status:
- test -f {{.TEMPLATE_CONFIG_FILE}}
- test -f {{.TEMPLATE_NODE_CONFIG_FILE}}
generate-age-key:
internal: true
cmd: age-keygen --output {{.SOPS_AGE_KEY_FILE}}
status:
- test -f {{.SOPS_AGE_KEY_FILE}}
preconditions:
- which age-keygen
generate-deploy-key:
internal: true
cmd: ssh-keygen -t ed25519 -C "deploy-key" -f {{.ROOT_DIR}}/github-deploy.key -q -P ""
status:
- test -f {{.ROOT_DIR}}/github-deploy.key
preconditions:
- which ssh-keygen
generate-push-token:
internal: true
cmd: python -c "import secrets; print(secrets.token_hex(16))" > {{.ROOT_DIR}}/github-push-token.txt
status:
- test -f {{.ROOT_DIR}}/github-push-token.txt
:configure:
desc: Render and validate configuration files
prompt: Any conflicting files in the kubernetes directory will be overwritten... continue?
cmds:
- task: validate-schemas
- task: render-configs
- task: encrypt-secrets
- task: validate-kubernetes-config
- task: validate-talos-config
preconditions:
- msg: An existing Age key interferes with the age key in this repository, rename or delete ~/.config/sops/age/keys.txt
sh: '! test -f ~/.config/sops/age/keys.txt'
- msg: File cluster.yaml not found, did you run `task init`?
sh: test -f {{.TEMPLATE_CONFIG_FILE}}
- msg: File nodes.yaml not found, did you run `task init`?
sh: test -f {{.TEMPLATE_NODE_CONFIG_FILE}}
- msg: File cloudflare-tunnel.json not found, see the README for information on creating it.
sh: test -f {{.ROOT_DIR}}/cloudflare-tunnel.json
validate-schemas:
internal: true
cmds:
- cue vet {{.TEMPLATE_CONFIG_FILE}} {{.TEMPLATE_RESOURCES_DIR}}/cluster.schema.cue
- cue vet {{.TEMPLATE_NODE_CONFIG_FILE}} {{.TEMPLATE_RESOURCES_DIR}}/nodes.schema.cue
preconditions:
- test -f {{.TEMPLATE_RESOURCES_DIR}}/cluster.schema.cue
- test -f {{.TEMPLATE_RESOURCES_DIR}}/nodes.schema.cue
- which cue
render-configs:
internal: true
cmd: makejinja
env:
PYTHONDONTWRITEBYTECODE: '1'
preconditions:
- test -f {{.TEMPLATE_DIR}}/scripts/plugin.py
- test -f {{.MAKEJINJA_CONFIG_FILE}}
- which makejinja
encrypt-secrets:
internal: true
cmds:
- for: { var: SECRET_FILES }
cmd: |
if [ $(sops filestatus "{{.ITEM}}" | jq ".encrypted") == "false" ]; then
sops --encrypt --in-place "{{.ITEM}}"
fi
vars:
SECRET_FILES:
sh: find "{{.BOOTSTRAP_DIR}}" "{{.KUBERNETES_DIR}}" "{{.TALOS_DIR}}" -type f -name "*.sops.*" -print
preconditions:
- test -f {{.SOPS_AGE_KEY_FILE}}
- test -f {{.ROOT_DIR}}/.sops.yaml
- which jq sops
validate-kubernetes-config:
internal: true
cmd: bash {{.TEMPLATE_RESOURCES_DIR}}/kubeconform.sh {{.KUBERNETES_DIR}}
preconditions:
- test -f {{.TEMPLATE_RESOURCES_DIR}}/kubeconform.sh
- which kubeconform
validate-talos-config:
internal: true
dir: '{{.TALOS_DIR}}'
cmd: talhelper validate talconfig {{.TALOS_DIR}}/talconfig.yaml
preconditions:
- test -f {{.TALOS_DIR}}/talconfig.yaml
- which talhelper
debug:
desc: Gather common resources in your cluster
cmds:
- for:
matrix:
RESOURCE: [certificates, certificaterequests, gitrepositories, helmrepositories, helmreleases, httproutes, kustomizations, nodes, pods]
cmd: kubectl get --all-namespaces {{.ITEM.RESOURCE}}
preconditions:
- test -f {{.KUBECONFIG}}
- which kubectl
tidy:
desc: Archive or remove all template related config
prompt: All template related config will be archived or removed... continue?
cmds:
- mkdir -p {{.TIDY_FOLDER}}
- rm -rf {{.ROOT_DIR}}/.github/tests
- rm -rf {{.ROOT_DIR}}/.github/workflows/e2e.yaml
- rm -rf {{.ROOT_DIR}}/.github/workflows/mise.yaml
- rm -rf {{.ROOT_DIR}}/.github/workflows/release.yaml
- |
{{.SED}} -i 's/(..\.j2)\?//g' {{.ROOT_DIR}}/.renovaterc.json5
- mv {{.TEMPLATE_DIR}} {{.TIDY_FOLDER}}/templates
- mv {{.MAKEJINJA_CONFIG_FILE}} {{.TIDY_FOLDER}}/makejinja.toml
- mv {{.TEMPLATE_CONFIG_FILE}} {{.TIDY_FOLDER}}/cluster.yaml
- mv {{.TEMPLATE_NODE_CONFIG_FILE}} {{.TIDY_FOLDER}}/nodes.yaml
- |
{{.SED}} -i '/template:/d' {{.ROOT_DIR}}/Taskfile.yaml
- mv {{.ROOT_DIR}}/.taskfiles/template {{.TIDY_FOLDER}}/.taskfiles/
- |
{{.SED}} -i '/required:template/d' {{.ROOT_DIR}}/.mise.toml
- rm -rf {{.ROOT_DIR}}/.venv
vars:
TIDY_FOLDER: '{{.PRIVATE_DIR}}/{{now | unixEpoch}}'
SED:
sh: which gsed || which sed
preconditions:
- msg: Unsupported sed version, run `brew install gsed` to upgrade
sh: '{{if eq OS "darwin"}}test -f /opt/homebrew/bin/gsed || test -f /usr/local/bin/gsed{{end}}'
- test -d {{.ROOT_DIR}}/.taskfiles/template
- test -d {{.TEMPLATE_DIR}}
- test -f {{.MAKEJINJA_CONFIG_FILE}}
- test -f {{.ROOT_DIR}}/.renovaterc.json5
reset:
desc: Remove templated files and directories
prompt: Remove all templated files and directories... continue?
cmds:
- rm -rf {{.BOOTSTRAP_DIR}}
- rm -rf {{.KUBERNETES_DIR}}
- rm -rf {{.TALOS_DIR}}
- rm -rf {{.ROOT_DIR}}/.sops.yaml

View File

@@ -0,0 +1,31 @@
package config
import (
"net"
)
#Config: {
node_cidr: net.IPCIDR & !=cluster_pod_cidr & !=cluster_svc_cidr
node_dns_servers?: [...net.IPv4]
node_ntp_servers?: [...net.IPv4]
node_default_gateway?: net.IPv4 & !=""
node_vlan_tag?: string & !=""
cluster_pod_cidr: *"10.42.0.0/16" | net.IPCIDR & !=node_cidr & !=cluster_svc_cidr
cluster_svc_cidr: *"10.43.0.0/16" | net.IPCIDR & !=node_cidr & !=cluster_pod_cidr
cluster_api_addr: net.IPv4
cluster_api_tls_sans?: [...net.FQDN]
cluster_gateway_addr: net.IPv4 & !=cluster_api_addr & !=cluster_dns_gateway_addr & !=cloudflare_gateway_addr
cluster_dns_gateway_addr: net.IPv4 & !=cluster_api_addr & !=cluster_gateway_addr & !=cloudflare_gateway_addr
repository_name: string
repository_branch?: string & !=""
repository_visibility?: *"public" | "private"
cloudflare_domain: net.FQDN
cloudflare_token: string
cloudflare_gateway_addr: net.IPv4 & !=cluster_api_addr & !=cluster_gateway_addr & !=cluster_dns_gateway_addr
cilium_bgp_router_addr?: net.IPv4 & !=""
cilium_bgp_router_asn?: string & !=""
cilium_bgp_node_asn?: string & !=""
cilium_loadbalancer_mode?: *"dsr" | "snat"
}
#Config

View File

@@ -0,0 +1,50 @@
#!/usr/bin/env bash
set -euo pipefail
KUBERNETES_DIR=$1
[[ -z "${KUBERNETES_DIR}" ]] && echo "Kubernetes location not specified" && exit 1
kustomize_args=("--load-restrictor=LoadRestrictionsNone")
kustomize_config="kustomization.yaml"
kubeconform_args=(
"-strict"
"-ignore-missing-schemas"
"-skip"
"Gateway,HTTPRoute,Secret"
"-schema-location"
"default"
"-schema-location"
"https://kubernetes-schemas.pages.dev/{{.Group}}/{{.ResourceKind}}_{{.ResourceAPIVersion}}.json"
"-verbose"
)
echo "=== Validating standalone manifests in ${KUBERNETES_DIR}/flux ==="
find "${KUBERNETES_DIR}/flux" -maxdepth 1 -type f -name '*.yaml' -print0 | while IFS= read -r -d $'\0' file;
do
kubeconform "${kubeconform_args[@]}" "${file}"
if [[ ${PIPESTATUS[0]} != 0 ]]; then
exit 1
fi
done
echo "=== Validating kustomizations in ${KUBERNETES_DIR}/flux ==="
find "${KUBERNETES_DIR}/flux" -type f -name $kustomize_config -print0 | while IFS= read -r -d $'\0' file;
do
echo "=== Validating kustomizations in ${file/%$kustomize_config} ==="
kustomize build "${file/%$kustomize_config}" "${kustomize_args[@]}" | kubeconform "${kubeconform_args[@]}"
if [[ ${PIPESTATUS[0]} != 0 ]]; then
exit 1
fi
done
echo "=== Validating kustomizations in ${KUBERNETES_DIR}/apps ==="
find "${KUBERNETES_DIR}/apps" -type f -name $kustomize_config -print0 | while IFS= read -r -d $'\0' file;
do
echo "=== Validating kustomizations in ${file/%$kustomize_config} ==="
kustomize build "${file/%$kustomize_config}" "${kustomize_args[@]}" | kubeconform "${kubeconform_args[@]}"
if [[ ${PIPESTATUS[0]} != 0 ]]; then
exit 1
fi
done

View File

@@ -0,0 +1,30 @@
package config
import (
"net"
"list"
)
#Config: {
nodes: [...#Node]
_nodes_check: {
name: list.UniqueItems() & [for item in nodes {item.name}]
address: list.UniqueItems() & [for item in nodes {item.address}]
mac_addr: list.UniqueItems() & [for item in nodes {item.mac_addr}]
}
}
#Node: {
name: =~"^[a-z0-9][a-z0-9\\-]{0,61}[a-z0-9]$|^[a-z0-9]$" & !="global" & !="controller" & !="worker"
address: net.IPv4
controller: bool
disk: string
mac_addr: =~"^([0-9a-f]{2}[:]){5}([0-9a-f]{2})$"
schematic_id: =~"^[a-z0-9]{64}$"
mtu?: >=1450 & <=9000
secureboot?: bool
encrypt_disk?: bool
kernel_modules?: [...string]
}
#Config

View File

@@ -1,14 +1,9 @@
{
"recommendations": [
"albert.TabOut",
"britesnow.vscode-toggle-quotes",
"fcrespo82.markdown-table-formatter",
"mikestead.dotenv",
"mitchdenny.ecdc",
"redhat.ansible",
"signageos.signageos-vscode-sops",
"will-stone.in-any-case",
"EditorConfig.editorconfig",
"PKief.material-icon-theme",
]
"recommendations": [
"blueglassblock.better-json5",
"irongeek.vscode-env",
"redhat.vscode-yaml",
"signageos.signageos-vscode-sops",
"hverlin.mise-vscode"
]
}

23
.vscode/settings.json vendored
View File

@@ -1,27 +1,18 @@
{
"ansible.ansible.path": ".venv/bin/ansible",
"ansible.python.activationScript": ".venv/bin/activate",
"ansible.python.interpreterPath": ".venv/bin/python3",
"ansible.validation.enabled": true,
"ansible.validation.lint.arguments": "-c ansible/.ansible-lint",
"ansible.validation.lint.enabled": true,
"ansible.validation.lint.path": ".venv/bin/ansible-lint",
"editor.bracketPairColorization.enabled": true,
"files.associations": {
"*.json5": "jsonc",
"./ansible/**/*.yaml": "ansible",
"./ansible/**/*.sops.yaml": "yaml",
"./ansible/**/inventory/**/*.yaml": "yaml",
"./kubernetes/**/*.sops.toml": "plaintext"
"**/*.json5": "json5"
},
"files.trimTrailingWhitespace": true,
"sops.defaults.ageKeyFile": "age.key",
"yaml.schemas": {
"ansible": "./ansible/*.yaml",
"Kubernetes": "./kubernetes/*.yaml"
},
"vs-kubernetes": {
"vs-kubernetes.kubeconfig": "./kubeconfig",
"vs-kubernetes.knownKubeconfigs": [
"./kubeconfig"
]
},
"yaml.schemaStore.enable": true,
"yaml.schemas": {
"kubernetes": "./kubernetes/**/*.yaml"
}
}

View File

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2023 onedr0p
Copyright (c) 2025 onedr0p
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

802
README.md
View File

@@ -1,602 +1,484 @@
# Deploy a Kubernetes cluster backed by Flux
# ⛵ Cluster Template
Welcome to my highly opinionated template for deploying a single Kubernetes ([k3s](https://k3s.io)) cluster with [Ansible](https://www.ansible.com) and using [Flux](https://toolkit.fluxcd.io) to manage its state.
Welcome to my template designed for deploying a single Kubernetes cluster. Whether you're setting up a cluster at home on bare-metal or virtual machines (VMs), this project aims to simplify the process and make Kubernetes more accessible. This template is inspired by my personal [home-ops](https://github.com/onedr0p/home-ops) repository, providing a practical starting point for anyone interested in managing their own Kubernetes environment.
## 👋 Introduction
At its core, this project leverages [makejinja](https://github.com/mirkolenz/makejinja), a powerful tool for rendering templates. By reading configuration files—such as [cluster.yaml](./cluster.sample.yaml) and [nodes.yaml](./nodes.sample.yaml)—Makejinja generates the necessary configurations to deploy a Kubernetes cluster with the following features:
The goal of this project is to make it easy for people interested in learning Kubernetes to deploy a cluster at home and become familiar with the GitOps tool Flux.
- Easy configuration through YAML files.
- Compatibility with home setups, whether on physical hardware or VMs.
- A modular and extensible approach to cluster deployment and management.
This template implements Flux in a way that promotes legibility and ease of use for those who are new (or relatively new) to the technology and GitOps in general.
If you are new to Flux and GitOps in general it is important to understand that **all changes** you want made to your Kubernetes cluster should be **commited to your Git repository** which Flux will pick up and attempt to apply. You're still free to make _dirty_ edits using `kubectl` but keep in mind that Flux might revert them once its reconcilation loop happens.
With this approach, you'll gain a solid foundation to build and manage your Kubernetes cluster efficiently.
## ✨ Features
- Automated, reproducible, customizable setup through Ansible templates and playbooks
- Opinionated implementation of Flux with [strong community support](https://github.com/onedr0p/flux-cluster-template/tree/main#-help)
- Encrypted secrets thanks to [SOPS](https://github.com/getsops/sops) and [Age](https://github.com/FiloSottile/age)
- Web application firewall thanks to [Cloudflare Tunnels](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/)
- SSL certificates thanks to [Cloudflare](https://cloudflare.com) and [cert-manager](https://cert-manager.io)
- HA control plane capability thanks to [kube-vip](https://kube-vip.io)
- Next-gen networking thanks to [Cilium](https://cilium.io/)
- A [Renovate](https://www.mend.io/renovate)-ready repository with pull request diffs provided by [flux-local](https://github.com/allenporter/flux-local)
- Integrated [GitHub Actions](https://github.com/features/actions)
- ... and more!
A Kubernetes cluster deployed with [Talos Linux](https://github.com/siderolabs/talos) and an opinionated implementation of [Flux](https://github.com/fluxcd/flux2) using [GitHub](https://github.com/) as the Git provider, [sops](https://github.com/getsops/sops) to manage secrets and [cloudflared](https://github.com/cloudflare/cloudflared) to access applications external to your local network.
## 📝 Pre-start checklist
- **Required:** Some knowledge of [Containers](https://opencontainers.org/), [YAML](https://noyaml.com/), [Git](https://git-scm.com/), and a **Cloudflare account** with a **domain**.
- **Included components:** [flux](https://github.com/fluxcd/flux2), [cilium](https://github.com/cilium/cilium), [cert-manager](https://github.com/cert-manager/cert-manager), [spegel](https://github.com/spegel-org/spegel), [reloader](https://github.com/stakater/Reloader), [envoy-gateway](https://github.com/envoyproxy/gateway), [external-dns](https://github.com/kubernetes-sigs/external-dns) and [cloudflared](https://github.com/cloudflare/cloudflared).
**Other features include:**
- Dev env managed w/ [mise](https://mise.jdx.dev/)
- Workflow automation w/ [GitHub Actions](https://github.com/features/actions)
- Dependency automation w/ [Renovate](https://www.mend.io/renovate)
- Flux `HelmRelease` and `Kustomization` diffs w/ [flux-local](https://github.com/allenporter/flux-local)
Does this sound cool to you? If so, continue to read on! 👇
## 🚀 Let's Go!
There are **6 stages** outlined below for completing this project, make sure you follow the stages in order.
### Stage 1: Hardware Configuration
For a **stable** and **high-availability** production Kubernetes cluster, hardware selection is critical. NVMe/SSDs are strongly preferred over HDDs, and **Bare Metal is strongly recommended** over virtualized platforms like Proxmox.
Using **enterprise NVMe or SATA SSDs on Bare Metal** (even used drives) provides the most reliable performance and rock-solid stability. Consumer **NVMe or SATA SSDs**, on the other hand, carry risks such as latency spikes, corruption, and fsync delays, particularly in multi-node setups.
**Proxmox with enterprise drives can work** for testing or carefully tuned production clusters, but it introduces additional layers of potential I/O contention — especially if consumer drives are used. Any **replicated storage** (e.g., Rook-Ceph, Longhorn) should always use **dedicated disks separate from control plane and etcd nodes** to ensure reliability. Worker nodes are more flexible, but risky configurations should still be avoided for stateful workloads to maintain cluster stability.
These guidelines provide a strong baseline, but there are always exceptions and nuances. The best way to ensure your hardware configuration works is to **test it thoroughly and benchmark performance** under realistic workloads.
### Stage 2: Machine Preparation
> [!IMPORTANT]
> Before we get started everything below must be taken into consideration, you must...
> If you have **3 or more nodes** it is recommended to make 3 of them controller nodes for a highly available control plane. This project configures **all nodes** to be able to run workloads. **Worker nodes** are therefore **optional**.
>
> **Minimum system requirements**
> | Role | Cores | Memory | System Disk |
> |---------|----------|---------------|---------------------------|
> | Control/Worker | 4 | 16GB | 256GB SSD/NVMe |
- [ ] have some experience with the following: Git/SCM, containers, networking and scripting.
- [ ] bring a **positive attitude** and be ready to learn and fail a lot. _The more you fail, the more you can learn from._
- [ ] run the cluster on bare metal machines or VMs within your home network &mdash; **this is NOT designed for cloud environments**.
- [ ] have Debian 12 freshly installed on 1 or more AMD64/ARM64 bare metal machines or VMs. Each machine will be either a **control node** or a **worker node** in your cluster.
- [ ] give your nodes unrestricted internet access &mdash; **air-gapped environments won't work**.
- [ ] have a domain you can manage on Cloudflare.
- [ ] be willing to commit encrypted secrets to a public GitHub repository.
- [ ] have a DNS server that supports split DNS (e.g. Pi-Hole) deployed somewhere outside your cluster **ON** your home network.
1. Head over to the [Talos Linux Image Factory](https://factory.talos.dev) and follow the instructions. Be sure to only choose the **bare-minimum system extensions** as some might require additional configuration and prevent Talos from booting without it. Depending on your CPU start with the Intel/AMD system extensions (`i915`, `intel-ucode` & `mei` **or** `amdgpu` & `amd-ucode`), you can always add system extensions after Talos is installed and working.
## 💻 Machine Preparation
2. This will eventually lead you to download a Talos Linux ISO (or for SBCs a RAW) image. Make sure to note the **schematic ID** you will need this later on.
### System requirements
3. Flash the Talos ISO or RAW image to a USB drive and boot from it on your nodes.
> [!IMPORTANT]
> 1. The default behaviour of k3s is that all nodes are able to run workloads, **including** control nodes. Worker nodes are therefore optional.
> 2. Do you have 3 or more nodes? It is strongly recommended to make 3 of them control nodes for a highly available control plane.
> 3. Running the cluster on Proxmox VE? My thoughts and recommendations about that are documented [here](https://onedr0p.github.io/home-ops/notes/proxmox-considerations.html).
| Role | Cores | Memory | System Disk |
|---------|----------|---------------|---------------------------|
| Control | 4 _(6*)_ | 8GB _(24GB*)_ | 100GB _(500GB*)_ SSD/NVMe |
| Worker | 4 _(6*)_ | 8GB _(24GB*)_ | 100GB _(500GB*)_ SSD/NVMe |
| _\* recommended_ |
### Debian for AMD64
1. Download the latest stable release of Debian from [here](https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd), then follow [this guide](https://www.linuxtechi.com/how-to-install-debian-12-step-by-step) to get it installed. Deviations from the guide:
```txt
Choose "Guided - use entire disk"
Choose "All files in one partition"
Delete Swap partition
Uncheck all Debian desktop environment options
```
2. [Post install] Remove CD/DVD as apt source
4. Verify with `nmap` that your nodes are available on the network. (Replace `192.168.1.0/24` with the network your nodes are on.)
```sh
su -
sed -i '/deb cdrom/d' /etc/apt/sources.list
apt update
exit
nmap -Pn -n -p 50000 192.168.1.0/24 -vv | grep 'Discovered'
```
3. [Post install] Enable sudo for your non-root user
### Stage 3: Local Workstation
> [!TIP]
> It is recommended to set the visibility of your repository to `Public` so you can easily request help if you get stuck.
1. Create a new repository by clicking the green `Use this template` button at the top of this page, then clone the new repo you just created and `cd` into it. Alternatively you can use the [GitHub CLI](https://cli.github.com/) ...
```sh
su -
apt update
apt install -y sudo
usermod -aG sudo ${username}
echo "${username} ALL=(ALL) NOPASSWD:ALL" | tee /etc/sudoers.d/${username}
exit
newgrp sudo
sudo apt update
export REPONAME="home-ops"
gh repo create $REPONAME --template onedr0p/cluster-template --public --clone
cd $REPONAME
```
4. [Post install] Add SSH keys (or use `ssh-copy-id` on the client that is connecting)
2. **Install** the [Mise CLI](https://mise.jdx.dev/getting-started.html#installing-mise-cli) on your local workstation.
📍 _First make sure your ssh keys are up-to-date and added to your github account as [instructed](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)._
3. **Activate** Mise in your shell by following the [activation guide](https://mise.jdx.dev/getting-started.html#activate-mise).
4. Use `mise` to install the **required** CLI tools:
```sh
mkdir -m 700 ~/.ssh
sudo apt install -y curl
curl https://github.com/${github_username}.keys > ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
mise trust
pip install pipx
mise install
```
### Debian for RasPi4
📍 _**Having trouble installing the tools?** Try unsetting the `GITHUB_TOKEN` env var and then run these commands again_
> [!IMPORTANT]
> 1. It is recommended to have an 8GB RasPi model. Most important is to **boot from an external SSD/NVMe** rather than an SD card. This is [supported natively](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html), however if you have an early model you may need to [update the bootloader](https://www.tomshardware.com/how-to/boot-raspberry-pi-4-usb) first.
> 2. Check the [power requirements](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#power-supply) if using a PoE Hat and a SSD/NVMe dongle.
📍 _**Having trouble compiling Python?** Try running `mise settings python.compile=0` and then run these commands again_
1. Download the latest stable release of Debian from [here](https://raspi.debian.net/tested-images). _**Do not** use Raspbian or DietPi or any other flavor Linux OS._
2. Flash the image onto an SSD/NVMe drive.
3. Re-mount the drive to your workstation and then do the following (per the [official documentation](https://raspi.debian.net/defaults-and-settings)):
```txt
Open 'sysconf.txt' in a text editor and save it upon updating the information below
- Change 'root_authorized_key' to your desired public SSH key
- Change 'root_pw' to your desired root password
- Change 'hostname' to your desired hostname
```
4. Connect SSD/NVMe drive to the Raspberry Pi 4 and power it on.
5. [Post install] SSH into the device with the `root` user and then create a normal user account with `adduser ${username}`
6. [Post install] Follow steps 3 and 4 from [Debian for AMD64](#debian-for-amd64).
7. [Post install] Install `python3` which is needed by Ansible.
5. Logout of the GitHub Container Registry as this may cause authorization problems in future steps when using the public registry:
```sh
sudo apt install -y python3
docker logout ghcr.io
helm registry logout ghcr.io
```
## 🚀 Getting Started
### Stage 4: Cloudflare configuration
Once you have installed Debian on your nodes, there are six stages to getting a Flux-managed cluster up and runnning.
> [!WARNING]
> If any of the commands fail with `command not found` or `unknown command` it means `mise` is either not installed, activated or it could be configured incorrectly.
> [!IMPORTANT]
> For all stages below the commands **MUST** be ran on your personal workstation within your repository directory
1. Create a Cloudflare API token for use with cloudflared and external-dns by reviewing the official [documentation](https://developers.cloudflare.com/fundamentals/api/get-started/create-token/) and following the instructions below.
### 🎉 Stage 1: Create a Git repository
- Click the blue `Use template` button for the `Edit zone DNS` template.
- Name your token `kubernetes`
- Under `Permissions`, click `+ Add More` and add permissions `Zone - DNS - Edit` and `Account - Cloudflare Tunnel - Read`
- Limit the permissions to a specific account and/or zone resources and then click `Continue to Summary` and then `Create Token`.
- **Save this token somewhere safe**, you will need it later on.
1. Create a new **public** repository by clicking the big green "Use this template" button at the top of this page.
2. Clone **your new repo** to you local workstation and `cd` into it.
### 🌱 Stage 2: Setup your local workstation environment
1. Install the most recent version of [task](https://taskfile.dev/), see the task [installation docs](https://taskfile.dev/installation/) for other supported platforms.
2. Create the Cloudflare Tunnel:
```sh
# Brew
brew install go-task
cloudflared tunnel login
cloudflared tunnel create --credentials-file cloudflare-tunnel.json kubernetes
```
2. Install the most recent version of [direnv](https://direnv.net/), see the direnv [installation docs](https://direnv.net/docs/installation.html) for other supported platforms.
### Stage 5: Cluster configuration
📍 _After installing `direnv` be sure to **[hook it into your shell](https://direnv.net/docs/hook.html)** and after that is done run `direnv allow` while in your repos' directory._
```sh
# Brew
brew install direnv
```
3. Setup a Python virual env and install Ansible by running the following task command.
📍 _This commands requires Python 3.10+ to be installed_
```sh
# Platform agnostic
task deps
```
4. Install the required tools: [age](https://github.com/FiloSottile/age), [flux](https://toolkit.fluxcd.io/), [cloudflared](https://github.com/cloudflare/cloudflared), [kubectl](https://kubernetes.io/docs/tasks/tools/), [sops](https://github.com/getsops/sops)
📍 _Not using brew? Make sure to look up how to install the latest version of each of these CLI tools yourself._
```sh
# Brew
task brew:deps
```
### 🔧 Stage 3: Do bootstrap configuration
📍 _Both `bootstrap/vars/config.yaml` and `bootstrap/vars/addons.yaml` files contain necessary information that is **vital** to the bootstrap process._
1. Generate the `bootstrap/vars/config.yaml` and `bootstrap/vars/addons.yaml` configuration files.
1. Generate the config files from the sample files:
```sh
task init
```
2. Setup Age private / public key
2. Fill out `cluster.yaml` and `nodes.yaml` configuration files using the comments in those file as a guide.
📍 _Using [SOPS](https://github.com/getsops/sops) with [Age](https://github.com/FiloSottile/age) allows us to encrypt secrets and use them in Ansible and Flux._
2a. Create a Age private / public key (this file is gitignored)
```sh
age-keygen -o age.key
```
2b. Fill out the appropriate vars in `bootstrap/vars/config.yaml`
3. Create Cloudflare API Token
📍 _To use `cert-manager` with the Cloudflare DNS challenge you will need to create a API Token._
3a. Head over to Cloudflare and create a API Token by going [here](https://dash.cloudflare.com/profile/api-tokens).
3b. Under the `API Tokens` section click the blue `Create Token` button.
3c. Click the blue `Use template` button for the `Edit zone DNS` template.
3d. Name your token something like `home-kubernetes`
3e. Under `Permissions`, click `+ Add More` and add each permission below:
```text
Zone - DNS - Edit
Account - Cloudflare Tunnel - Read
```
3f. Limit the permissions to a specific account and zone resources.
3g. Fill out the appropriate vars in `bootstrap/vars/config.yaml`
4. Create Cloudflare Tunnel
📍 _To expose services to the internet you will need to create a [Cloudflare Tunnel](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/)._
4a. Authenticate cloudflared to your domain
```sh
cloudflared tunnel login
```
4b. Create the tunnel
```sh
cloudflared tunnel create k8s
```
4c. In the `~/.cloudflared` directory there will be a json file with details you need. Ignore the `cert.pem` file.
4d. Fill out the appropriate vars in `bootstrap/vars/config.yaml`
5. Complete filling out the rest of the `bootstrap/vars/config.yaml` configuration file.
5a. Ensure `bootstrap_acme_production_enabled` is set to `false`.
5b. [Optional] Update `bootstrap/vars/addons.yaml` and enable applications you would like included.
6. Once done run the following command which will verify and generate all the files needed to continue.
3. Template out the kubernetes and talos configuration files, if any issues come up be sure to read the error and adjust your config files accordingly.
```sh
task configure
```
> [!IMPORTANT]
> The configure task will create a `./ansible` directory and the following directories under `./kubernetes`.
> ```sh
> 📁 kubernetes # Kubernetes cluster defined as code
> ├─📁 bootstrap # Flux installation (not tracked by Flux)
> ├─📁 flux # Main Flux configuration of repository
> └─📁 apps # Apps deployed into the cluster grouped by namespace
> ```
4. Push your changes to git:
### ⚡ Stage 4: Prepare your nodes for k3s
📍 _Here we will be running an Ansible playbook to prepare your nodes for running a Kubernetes cluster._
1. Ensure you are able to SSH into your nodes from your workstation using a private SSH key **without a passphrase** (for example using a SSH agent). This lets Ansible interact with your nodes.
2. Verify Ansible can view your config
```sh
task ansible:list
```
3. Verify Ansible can ping your nodes
```sh
task ansible:ping
```
4. Run the Ansible prepare playbook (nodes wil reboot when done)
```sh
task ansible:prepare
```
### ⛵ Stage 5: Use Ansible to install k3s
📍 _Here we will be running a Ansible Playbook to install [k3s](https://k3s.io/) with [this](https://galaxy.ansible.com/xanmanning/k3s) Ansible galaxy role. If you run into problems, you can run `task ansible:nuke` to destroy the k3s cluster and start over from this point._
1. Verify Ansible can view your config
```sh
task ansible:list
```
2. Verify Ansible can ping your nodes
```sh
task ansible:ping
```
3. Install k3s with Ansible
```sh
task ansible:install
```
4. Verify the nodes are online
📍 _If this command **fails** you likely haven't configured `direnv` as mentioned previously in the guide._
```sh
kubectl get nodes -o wide
# NAME STATUS ROLES AGE VERSION
# k8s-0 Ready control-plane,etcd,master 1h v1.27.3+k3s1
# k8s-1 Ready worker 1h v1.27.3+k3s1
```
5. The `kubeconfig` for interacting with your cluster should have been created in the root of your repository.
### 🔹 Stage 6: Install Flux in your cluster
📍 _Here we will be installing [flux](https://fluxcd.io/flux/) after some quick bootstrap steps._
1. Verify Flux can be installed
```sh
flux check --pre
# ► checking prerequisites
# ✔ kubectl 1.27.3 >=1.18.0-0
# ✔ Kubernetes 1.27.3+k3s1 >=1.16.0-0
# ✔ prerequisites checks passed
```
2. Push you changes to git
📍 **Verify** all the `*.sops.yaml` and `*.sops.yaml` files under the `./ansible`, and `./kubernetes` directories are **encrypted** with SOPS
📍 _**Verify** all the `./kubernetes/**/*.sops.*` files are **encrypted** with SOPS_
```sh
git add -A
git commit -m "Initial commit :rocket:"
git commit -m "chore: initial commit :rocket:"
git push
```
3. Install Flux and sync the cluster to the Git repository
> [!TIP]
> Using a **private repository**? Make sure to paste the public key from `github-deploy.key.pub` into the deploy keys section of your GitHub repository settings. This will make sure Flux has read/write access to your repository.
### Stage 6: Bootstrap Talos, Kubernetes, and Flux
> [!WARNING]
> It might take a while for the cluster to be setup (10+ minutes is normal). During which time you will see a variety of error messages like: "couldn't get current server API group list," "error: no matching resources found", etc. 'Ready' will remain "False" as no CNI is deployed yet. **This is normal.** If this step gets interrupted, e.g. by pressing <kbd>Ctrl</kbd> + <kbd>C</kbd>, you likely will need to [reset the cluster](#-reset) before trying again
1. Install Talos:
```sh
task cluster:install
# namespace/flux-system configured
# customresourcedefinition.apiextensions.k8s.io/alerts.notification.toolkit.fluxcd.io created
# ...
task bootstrap:talos
```
4. Verify Flux components are running in the cluster
2. Push your changes to git:
```sh
kubectl -n flux-system get pods -o wide
# NAME READY STATUS RESTARTS AGE
# helm-controller-5bbd94c75-89sb4 1/1 Running 0 1h
# kustomize-controller-7b67b6b77d-nqc67 1/1 Running 0 1h
# notification-controller-7c46575844-k4bvr 1/1 Running 0 1h
# source-controller-7d6875bcb4-zqw9f 1/1 Running 0 1h
git add -A
git commit -m "chore: add talhelper encrypted secret :lock:"
git push
```
### 🎤 Verification Steps
_Mic check, 1, 2_ - In a few moments applications should be lighting up like Christmas in July 🎄
1. Output all the common resources in your cluster.
📍 _Feel free to use the provided [cluster tasks](.taskfiles/ClusterTasks.yaml) for validation of cluster resources or continue to get familiar with the `kubectl` and `flux` CLI tools._
3. Install cilium, coredns, spegel, flux and sync the cluster to the repository state:
```sh
task cluster:resources
task bootstrap:apps
```
2. ⚠️ It might take `cert-manager` awhile to generate certificates, this is normal so be patient.
4. Watch the rollout of your cluster happen:
3. 🏆 **Congratulations** if all goes smooth you will have a Kubernetes cluster managed by Flux and your Git repository is driving the state of your cluster.
4. 🧠 Now it's time to pause and go get some motel motor oil ☕ and admire you made it this far!
```sh
kubectl get pods --all-namespaces --watch
```
## 📣 Post installation
#### 🌐 Public DNS
### ✅ Verifications
The `external-dns` application created in the `networking` namespace will handle creating public DNS records. By default, `echo-server` and the `flux-webhook` are the only subdomains reachable from the public internet. In order to make additional applications public you must set set the correct ingress class name and ingress annotations like in the HelmRelease for `echo-server`.
#### 🏠 Home DNS
`k8s_gateway` will provide DNS resolution to external Kubernetes resources (i.e. points of entry to the cluster) from any device that uses your home DNS server. For this to work, your home DNS server must be configured to forward DNS queries for `${bootstrap_cloudflare_domain}` to `${bootstrap_k8s_gateway_addr}` instead of the upstream DNS server(s) it normally uses. This is a form of **split DNS** (aka split-horizon DNS / conditional forwarding).
> [!TIP]
> Below is how to configure a Pi-hole for split DNS. Other platforms should be similar.
> 1. Apply this file on the Pihole server while substituting the variables
> ```sh
> # /etc/dnsmasq.d/99-k8s-gateway-forward.conf
> server=/${bootstrap_cloudflare_domain}/${bootstrap_k8s_gateway_addr}
> ```
> 2. Restart dnsmasq on the server.
> 3. Query an internal-only subdomain from your workstation (any `internal` class ingresses): `dig @${home-dns-server-ip} hubble.${bootstrap_cloudflare_domain}`. It should resolve to `${bootstrap_internal_ingress_addr}`.
If you're having trouble with DNS be sure to check out these two GitHub discussions: [Internal DNS](https://github.com/onedr0p/flux-cluster-template/discussions/719) and [Pod DNS resolution broken](https://github.com/onedr0p/flux-cluster-template/discussions/635).
... Nothing working? That is expected, this is DNS after all!
#### 📜 Certificates
By default this template will deploy a wildcard certificate using the Let's Encrypt **staging environment**, which prevents you from getting rate-limited by the Let's Encrypt production servers if your cluster doesn't deploy properly (for example due to a misconfiguration). Once you are sure you will keep the cluster up for more than a few hours be sure to switch to the production servers as outlined in `config.yaml`.
📍 _You will need a production certificate to reach internet-exposed applications through `cloudflared`._
#### 🪝 Github Webhook
By default Flux will periodically check your git repository for changes. In order to have Flux reconcile on `git push` you must configure Github to send `push` events to Flux.
> [!IMPORTANT]
> This will only work after you have switched over certificates to the Let's Encrypt Production servers.
1. Obtain the webhook path
📍 _Hook id and path should look like `/hook/12ebd1e363c641dc3c2e430ecf3cee2b3c7a5ac9e1234506f6f5f3ce1230e123`_
1. Check the status of Cilium:
```sh
kubectl -n flux-system get receiver github-receiver -o jsonpath='{.status.webhookPath}'
cilium status
```
2. Piece together the full URL with the webhook path appended
2. Check the status of Flux and if the Flux resources are up-to-date and in a ready state:
```text
https://flux-webhook.${bootstrap_cloudflare_domain}/hook/12ebd1e363c641dc3c2e430ecf3cee2b3c7a5ac9e1234506f6f5f3ce1230e123
```
3. Navigate to the settings of your repository on Github, under "Settings/Webhooks" press the "Add webhook" button. Fill in the webhook url and your `bootstrap_flux_github_webhook_token` secret and save.
### 🤖 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.
To enable Renovate, click the 'Configure' button over at their [Github app page](https://github.com/apps/renovate) and select your repository. Renovate creates a "Dependency Dashboard" as an issue in your repository, giving an overview of the status of all updates. The dashboard has interactive checkboxes that let you do things like advance scheduling or reattempt update PRs you closed without merging.
The base Renovate configuration in your repository can be viewed at [.github/renovate.json5](https://github.com/onedr0p/flux-cluster-template/blob/main/.github/renovate.json5). By default it is scheduled to be active with PRs every weekend, but you can [change the schedule to anything you want](https://docs.renovatebot.com/presets-schedule), or remove it if you want Renovate to open PRs right away.
## 🐛 Debugging
Below is a general guide on trying to debug an issue with an resource or application. For example, if a workload/resource is not showing up or a pod has started but in a `CrashLoopBackOff` or `Pending` state.
1. Start by checking all Flux Kustomizations & Git Repository & OCI Repository and verify they are healthy.
📍 _Run `task reconcile` to force Flux to sync your Git repository state_
```sh
flux get sources oci -A
flux get sources git -A
flux check
flux get sources git flux-system
flux get ks -A
```
2. Then check all the Flux Helm Releases and verify they are healthy.
```sh
flux get hr -A
```
3. Then check the if the pod is present.
3. Check TCP connectivity to both the internal and external gateways:
📍 _The variables are only placeholders, replace them with your actual values_
```sh
nmap -Pn -n -p 443 ${cluster_gateway_addr} ${cloudflare_gateway_addr} -vv
```
4. Check you can resolve DNS for `echo`, this should resolve to `${cloudflare_gateway_addr}`:
📍 _The variables are only placeholders, replace them with your actual values_
```sh
dig @${cluster_dns_gateway_addr} echo.${cloudflare_domain}
```
5. Check the status of your wildcard `Certificate`:
```sh
kubectl -n network describe certificates
```
### 🌐 Public DNS
> [!TIP]
> Use the `envoy-external` gateway on `HTTPRoutes` to make applications public to the internet. These are also accessible on your private network once you set up split DNS.
The `external-dns` application created in the `network` namespace will handle creating public DNS records. By default, `echo` and the `flux-webhook` are the only subdomains reachable from the public internet. In order to make additional applications public you must **set the correct gateway** like in the HelmRelease for `echo`.
### 🏠 Home DNS
> [!TIP]
> Use the `envoy-internal` gateway on `HTTPRoutes` to make applications private to your network. If you're having trouble with internal DNS resolution check out [this](https://github.com/onedr0p/cluster-template/discussions/719) GitHub discussion.
`k8s_gateway` will provide DNS resolution to external Kubernetes resources (i.e. points of entry to the cluster) from any device that uses your home DNS server. For this to work, your home DNS server must be configured to forward DNS queries for `${cloudflare_domain}` to `${cluster_dns_gateway_addr}` instead of the upstream DNS server(s) it normally uses. This is a form of **split DNS** (aka split-horizon DNS / conditional forwarding).
_... Nothing working? That is expected, this is DNS after all!_
### 🪝 GitHub Webhook
By default Flux will periodically check your git repository for changes. In-order to have Flux reconcile on `git push` you must configure GitHub to send `push` events to Flux.
1. Obtain the webhook path:
📍 _Hook id and path should look like `/hook/12ebd1e363c641dc3c2e430ecf3cee2b3c7a5ac9e1234506f6f5f3ce1230e123`_
```sh
kubectl -n flux-system get receiver github-webhook --output=jsonpath='{.status.webhookPath}'
```
2. Piece together the full URL with the webhook path appended:
```text
https://flux-webhook.${cloudflare_domain}/hook/12ebd1e363c641dc3c2e430ecf3cee2b3c7a5ac9e1234506f6f5f3ce1230e123
```
3. Navigate to the settings of your repository on GitHub, under "Settings/Webhooks" press the "Add webhook" button. Fill in the webhook URL and your token from `github-push-token.txt`, Content type: `application/json`, Events: Choose Just the push event, and save.
## 💥 Reset
> [!CAUTION]
> **Resetting** the cluster **multiple times in a short period of time** could lead to being **rate limited by DockerHub or Let's Encrypt**.
There might be a situation where you want to destroy your Kubernetes cluster. The following command will reset your nodes back to maintenance mode.
```sh
task talos:reset
```
## 🛠️ Talos and Kubernetes Maintenance
### ⚙️ Updating Talos node configuration
> [!TIP]
> Ensure you have updated `talconfig.yaml` and any patches with your updated configuration. In some cases you **not only need to apply the configuration but also upgrade talos** to apply new configuration.
```sh
# (Re)generate the Talos config
task talos:generate-config
# Apply the config to the node
task talos:apply-node IP=? MODE=?
# e.g. task talos:apply-node IP=10.10.10.10 MODE=auto
```
### ⬆️ Updating Talos and Kubernetes versions
> [!TIP]
> Ensure the `talosVersion` and `kubernetesVersion` in `talenv.yaml` are up-to-date with the version you wish to upgrade to.
```sh
# Upgrade node to a newer Talos version
task talos:upgrade-node IP=?
# e.g. task talos:upgrade-node IP=10.10.10.10
```
```sh
# Upgrade cluster to a newer Kubernetes version
task talos:upgrade-k8s
# e.g. task talos:upgrade-k8s
```
### Adding a node to your cluster
At some point you might want to expand your cluster to run more workloads and/or improve the reliability of your cluster. Keep in mind it is recommended to have an **odd number** of control plane nodes for quorum reasons.
You don't need to re-bootstrap the cluster to add new nodes. Follow these steps:
1. **Prepare the new node**: Review the [Stage 2: Machine Preparation](#stage-2-machine-preparation) section and boot your new node into maintenance mode.
2. **Get the node information**: While the node is in maintenance mode, retrieve the disk and MAC address information needed for configuration:
```sh
talosctl get disks -n <ip> --insecure
talosctl get links -n <ip> --insecure
```
3. **Update the configuration**: Read the documentation for [talhelper](https://budimanjojo.github.io/talhelper/latest/) and extend the `talconfig.yaml` file manually with the new node information (including the disk and MAC address from step 2).
4. **Generate and apply the configuration**:
```sh
# Render your talosconfig based on the talconfig.yaml file
task talos:generate-config
# Apply the configuration to the node
task talos:apply-node IP=?
# e.g. task talos:apply-node IP=10.10.10.10
```
The node should join the cluster automatically and workloads will be scheduled once they report as ready.
## 🤖 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 and more! In most cases merging a PR will cause Flux to apply the update to your cluster.
To enable Renovate, click the 'Configure' button over at their [Github app page](https://github.com/apps/renovate) and select your repository. Renovate creates a "Dependency Dashboard" as an issue in your repository, giving an overview of the status of all updates. The dashboard has interactive checkboxes that let you do things like advance scheduling or reattempt update PRs you closed without merging.
The base Renovate configuration in your repository can be viewed at [.renovaterc.json5](.renovaterc.json5). By default it is scheduled to be active with PRs every weekend, but you can [change the schedule to anything you want](https://docs.renovatebot.com/presets-schedule), or remove it if you want Renovate to open PRs immediately.
## 🐛 Debugging
Below is a general guide on trying to debug an issue with an resource or application. For example, if a workload/resource is not showing up or a pod has started but in a `CrashLoopBackOff` or `Pending` state. These steps do not include a way to fix the problem as the problem could be one of many different things.
1. Check if the Flux resources are up-to-date and in a ready state:
📍 _Run `task reconcile` to force Flux to sync your Git repository state_
```sh
flux get sources git -A
flux get ks -A
flux get hr -A
```
2. Do you see the pod of the workload you are debugging:
```sh
kubectl -n <namespace> get pods -o wide
```
4. Then check the logs of the pod if its there.
3. Check the logs of the pod if it's there:
```sh
kubectl -n <namespace> logs <pod-name> -f
# or
stern -n <namespace> <fuzzy-name>
```
5. If a resource exists try to describe it to see what problems it might have.
4. If a resource exists, try to describe it to see what problems it might have:
```sh
kubectl -n <namespace> describe <resource> <name>
```
6. Check the namespace events
5. Check the namespace events:
```sh
kubectl -n <namespace> get events --sort-by='.metadata.creationTimestamp'
```
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.
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 a NFS server. If you are unable to figure out your problem see the support sections below.
## 👉 Help
## 🧹 Tidy up
- Make a post in this repository's Github [Discussions](https://github.com/onedr0p/flux-cluster-template/discussions).
- Start a thread in the `#support` or `#flux-cluster-template` channels in the [Home Operations](https://discord.gg/home-operations) Discord server.
Once your cluster is fully configured and you no longer need to run `task configure`, it's a good idea to clean up the repository by removing the [templates](./templates) directory and any files related to the templating process. This will help eliminate unnecessary clutter from the upstream template repository and resolve any "duplicate registry" warnings from Renovate.
1. Tidy up your repository:
```sh
task template:tidy
```
2. Push your changes to git:
```sh
git add -A
git commit -m "chore: tidy up :broom:"
git push
```
## ❔ What's next
The cluster is your oyster (or something like that). Below are some optional considerations you might want to review.
There's a lot to absorb here, especially if you're new to these tools. Take some time to familiarize yourself with the tooling and understand how all the components interconnect. Dive into the documentation of the various tools included — they are a valuable resource. This shouldn't be a production environment yet, so embrace the freedom to experiment. Move fast, break things intentionally, and challenge yourself to fix them.
#### Ship it
Below are some optional considerations you may want to explore.
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
#### Storage
The template uses [k8s_gateway](https://github.com/k8s-gateway/k8s_gateway) to provide DNS for your applications, consider exploring [external-dns](https://github.com/kubernetes-sigs/external-dns) as an alternative.
The included CSI (democratic-csi 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),
and [synology-csi](https://github.com/SynologyOpenSource/synology-csi).
External-DNS offers broad support for various DNS providers, including but not limited to:
#### Authenticate Flux over SSH
- [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)
Authenticating Flux to your git repository has a couple benefits like using a private git repository and/or using the Flux [Image Automation Controllers](https://fluxcd.io/docs/components/image/).
This flexibility allows you to integrate seamlessly with a range of DNS solutions to suit your environment and offload DNS from your cluster to your router, or external device.
By default this template only works on a public Github repository, it is advised to keep your repository public.
### Secrets
The benefits of a public repository include:
SOPS is an excellent tool for managing secrets in a GitOps workflow. However, it can become cumbersome when rotating secrets or maintaining a single source of truth for secret items.
- Debugging or asking for help, you can provide a link to a resource you are having issues with.
- Adding a topic to your repository of `kubesearch` to be included in the [Kubesearch](https://kubesearch.dev) results. This search helps people discover different configurations of Helm charts across others Flux based repositories.
For a more streamlined approach to those issues, consider [External Secrets](https://external-secrets.io/latest/). This tool allows you to move away from SOPs and leverage an external provider for managing your secrets. External Secrets supports a wide range of providers, from cloud-based solutions to self-hosted options.
<details>
<summary>Expand to read guide on adding Flux SSH authentication</summary>
### Storage
1. Generate new SSH key:
If your workloads require persistent storage with features like replication or connectivity to NFS, SMB, or iSCSI servers, there are several projects worth exploring:
```sh
ssh-keygen -t ecdsa -b 521 -C "github-deploy-key" -f ./kubernetes/bootstrap/github-deploy.key -q -P ""
```
- [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) / [csi-driver-smb](https://github.com/kubernetes-csi/csi-driver-smb)
- [synology-csi](https://github.com/SynologyOpenSource/synology-csi)
- [truenas-csi](https://github.com/truenas/truenas-csi) / [tns-csi](https://github.com/fenio/tns-csi)
2. Paste public key in the deploy keys section of your repository settings
3. Create sops secret in `./kubernetes/bootstrap/github-deploy-key.sops.yaml` with the contents of:
These tools offer a variety of solutions to meet your persistent storage needs, whether youre using cloud-native or self-hosted infrastructures.
```yaml
apiVersion: v1
kind: Secret
metadata:
name: github-deploy-key
namespace: flux-system
stringData:
# 3a. Contents of github-deploy-key
identity: |
-----BEGIN OPENSSH PRIVATE KEY-----
...
-----END OPENSSH PRIVATE KEY-----
# 3b. Output of curl --silent https://api.github.com/meta | jq --raw-output '"github.com "+.ssh_keys[]'
known_hosts: |
github.com ssh-ed25519 ...
github.com ecdsa-sha2-nistp256 ...
github.com ssh-rsa ...
```
### Community Repositories
4. Encrypt secret:
Community member [@whazor](https://github.com/whazor) created [Kubesearch](https://kubesearch.dev) to allow searching Flux HelmReleases across Github and Gitlab repositories with the `kubesearch` topic.
```sh
sops --encrypt --in-place ./kubernetes/bootstrap/github-deploy-key.sops.yaml
```
## 🙋 Support
5. Apply secret to cluster:
### Community
```sh
sops --decrypt ./kubernetes/bootstrap/github-deploy-key.sops.yaml | kubectl apply -f -
```
- Make a post in this repository's GitHub [Discussions](https://github.com/onedr0p/cluster-template/discussions).
- Start a thread in the `#support` or `#cluster-template` channels in the [Home Operations](https://discord.gg/home-operations) Discord server.
6. Update `./kubernetes/flux/config/cluster.yaml`:
## 📺 Media
```yaml
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: GitRepository
metadata:
name: home-kubernetes
namespace: flux-system
spec:
interval: 10m
# 6a: Change this to your user and repo names
url: ssh://git@github.com/$user/$repo
ref:
branch: main
secretRef:
name: github-deploy-key
```
Check out these videos below. If you find them helpful, a like and subscribe goes a long way!
7. Commit and push changes
8. Force flux to reconcile your changes
<a href="https://youtube.com/watch?v=aeUKOpeoiUs">
<img src="https://github.com/user-attachments/assets/2dab1c6f-7b27-4b94-a7ad-a6d9c5b17c78" alt="Youtube Video" width="300">
</a>
&nbsp;&nbsp;
<a href="https://youtube.com/watch?v=hoi2GzvJUXM">
<img src="https://github.com/user-attachments/assets/5b939b90-0019-4515-b90c-321ffe7448cf" alt="Youtube Video" width="300">
</a>
```sh
flux reconcile -n flux-system kustomization cluster --with-source
```
## 🙌 Related Projects
9. Verify git repository is now using SSH:
If this repo is too hot to handle or too cold to hold check out these following projects.
```sh
flux get sources git -A
```
- [ajaykumar4/cluster-template](https://github.com/ajaykumar4/cluster-template) - _A template for deploying a Talos Kubernetes cluster including Argo for GitOps_
- [khuedoan/homelab](https://github.com/khuedoan/homelab) - _Fully automated homelab from empty disk to running services with a single command._
- [mitchross/k3s-argocd-starter](https://github.com/mitchross/k3s-argocd-starter) - starter kit for k3s, argocd
- [ricsanfre/pi-cluster](https://github.com/ricsanfre/pi-cluster) - _Pi Kubernetes Cluster. Homelab kubernetes cluster automated with Ansible and FluxCD_
- [techno-tim/k3s-ansible](https://github.com/techno-tim/k3s-ansible) - _The easiest way to bootstrap a self-hosted High Availability Kubernetes cluster. A fully automated HA k3s etcd install with kube-vip, MetalLB, and more. Build. Destroy. Repeat._
10. Optionally set your repository to Private in your repository settings.
## ⭐ Stargazers
</details>
<div align="center">
<a href="https://star-history.com/#onedr0p/cluster-template&Date">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=onedr0p/cluster-template&type=Date&theme=dark" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=onedr0p/cluster-template&type=Date" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=onedr0p/cluster-template&type=Date" />
</picture>
</a>
</div>
## 🤝 Thanks

View File

@@ -1,82 +1,34 @@
---
version: "3"
version: '3'
set: [pipefail]
shopt: [globstar]
vars:
PYTHON_BIN: python3
BOOTSTRAP_DIR: "{{.ROOT_DIR}}/bootstrap"
ANSIBLE_DIR: "{{.ROOT_DIR}}/ansible"
KUBERNETES_DIR: "{{.ROOT_DIR}}/kubernetes"
BOOTSTRAP_DIR: '{{.ROOT_DIR}}/bootstrap'
KUBERNETES_DIR: '{{.ROOT_DIR}}/kubernetes'
SCRIPTS_DIR: '{{.ROOT_DIR}}/scripts'
TALOS_DIR: '{{.ROOT_DIR}}/talos'
PRIVATE_DIR: '{{.ROOT_DIR}}/.private'
TALOSCONFIG: '{{.ROOT_DIR}}/talos/clusterconfig/talosconfig'
env:
KUBECONFIG: "{{.ROOT_DIR}}/kubeconfig"
SOPS_AGE_KEY_FILE: "{{.ROOT_DIR}}/age.key"
PATH: "{{.ROOT_DIR}}/.venv/bin:$PATH"
VIRTUAL_ENV: "{{.ROOT_DIR}}/.venv"
ANSIBLE_COLLECTIONS_PATH: "{{.ROOT_DIR}}/.venv/galaxy"
ANSIBLE_ROLES_PATH: "{{.ROOT_DIR}}/.venv/galaxy/ansible_roles"
ANSIBLE_VARS_ENABLED: "host_group_vars,community.sops.sops"
K8S_AUTH_KUBECONFIG: "{{.ROOT_DIR}}/kubeconfig"
KUBECONFIG: '{{.ROOT_DIR}}/kubeconfig'
SOPS_AGE_KEY_FILE: '{{.ROOT_DIR}}/age.key'
TALOSCONFIG: '{{.TALOSCONFIG}}'
includes:
ansible: .taskfiles/AnsibleTasks.yaml
brew: .taskfiles/BrewTasks.yaml
cluster: .taskfiles/ClusterTasks.yaml
bootstrap: .taskfiles/bootstrap
talos: .taskfiles/talos
template: .taskfiles/template
tasks:
default: task -l
default: task --list
deps:
desc: Create a Python virtual env and install required packages
summary: task {{.TASK}}
cmds:
- "{{.PYTHON_BIN}} -m venv {{.ROOT_DIR}}/.venv"
- .venv/bin/python3 -m pip install --upgrade pip setuptools wheel
- .venv/bin/python3 -m pip install --upgrade --requirement "{{.ROOT_DIR}}/requirements.txt"
- .venv/bin/ansible-galaxy install --role-file "{{.ROOT_DIR}}/requirements.yaml" --force
init:
desc: Initialize configuration files
summary: task {{.TASK}}
dir: "{{.BOOTSTRAP_DIR}}"
cmds:
- cp -n vars/addons.sample.yaml vars/addons.yaml
- cp -n vars/config.sample.yaml vars/config.yaml
- cmd: echo "=== Configuration files copied ==="
silent: true
- cmd: echo "Proceed with updating the configuration files..."
silent: true
- cmd: echo "{{.BOOTSTRAP_DIR}}/vars/config.yaml"
silent: true
- cmd: echo "{{.BOOTSTRAP_DIR}}/vars/addons.yaml"
silent: true
status:
- test -f "{{.BOOTSTRAP_DIR}}/vars/addons.yaml"
- test -f "{{.BOOTSTRAP_DIR}}/vars/config.yaml"
# TODO: Only prompt when generated directories exist
# https://github.com/go-task/task/issues/1330
configure:
desc: Configure repository from Ansible vars
summary: task {{.TASK}}
prompt: Any conflicting config in the root kubernetes and ansible directories will be overwritten... continue?
dir: "{{.BOOTSTRAP_DIR}}"
cmd: ansible-playbook configure.yaml
env:
ANSIBLE_DISPLAY_SKIPPED_HOSTS: "false"
update-template:
desc: Update from the upstream flux-cluster-template repository
summary: task {{.TASK}}
cmds:
- mkdir -p $(dirname {{.shafile}})
- touch {{.shafile}}
- git remote get-url template >/dev/null 2>&1 || git remote add template git@github.com:onedr0p/flux-cluster-template
- git fetch --all
- git cherry-pick --no-commit --allow-empty $(cat {{.shafile}})..template/main
- git ls-remote template HEAD | awk '{ print $1}' > {{.shafile}}
vars:
shafile: "{{.ROOT_DIR}}/.tasks/.latest-template.sha"
reconcile:
desc: Force Flux to pull in changes from your Git repository
cmd: flux --namespace flux-system reconcile kustomization flux-system --with-source
preconditions:
- { msg: "Git repository not up-to-date", sh: "git diff --exit-code" }
- { msg: "Git repository not up-to-date", sh: "git diff --cached --exit-code" }
- test -f {{.KUBECONFIG}}
- which flux

View File

@@ -1,39 +0,0 @@
---
- name: Cluster Installation
hosts: localhost
connection: local
vars_files:
- vars/config.yaml
- vars/addons.yaml
tasks:
- name: Get absolute path to this Git repository # noqa: command-instead-of-module
ansible.builtin.command: git rev-parse --show-toplevel
changed_when: false
check_mode: false
register: repository
failed_when: repository.rc != 0
- name: Set facts
ansible.builtin.set_fact:
repository_path: "{{ repository.stdout }}"
- name: Override kube-vip address when there is a single master node and no address is defined
when: bootstrap_nodes.master | length == 1 and not bootstrap_kube_vip_addr
ansible.builtin.set_fact:
bootstrap_kube_vip_enabled: false
bootstrap_kube_vip_addr: "{{ bootstrap_nodes.master[0].address }}"
- name: Verify configuration
ansible.builtin.include_tasks: tasks/validation/main.yaml
- name: Template Sops configuration
ansible.builtin.include_tasks: tasks/sops/main.yaml
- name: Template Ansible configuration
ansible.builtin.include_tasks: tasks/ansible/main.yaml
- name: Template Kubernetes configuration
ansible.builtin.include_tasks: tasks/kubernetes/main.yaml
- name: Template Kubernetes addon configuration
ansible.builtin.include_tasks: tasks/addons/main.yaml

View File

@@ -1,34 +0,0 @@
---
- name: Set addon facts
ansible.builtin.set_fact:
addon_name: csi-driver-nfs
addon_namespace: kube-system
- name: Ensure directories exist for {{ addon_namespace }}/{{ addon_name }}
when: item.state == 'directory'
ansible.builtin.file:
path: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path }}"
state: directory
mode: "0755"
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
- name: Template unencrypted files for {{ addon_namespace }}/{{ addon_name }}
when: item.state == 'file' and 'sops' not in item.path
ansible.builtin.template:
src: "{{ item.src }}"
dest: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path | replace('.j2', '') }}"
mode: "0644"
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
- name: Template encrypted files for {{ addon_namespace }}/{{ addon_name }}
block:
- name: Template encrypted files
when: item.state == 'file' and 'sops' in item.path
community.sops.sops_encrypt:
path: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path | replace('.j2', '') }}"
encrypted_regex: ^(data|stringData)$
age: ["{{ bootstrap_age_public_key }}"]
content_yaml: "{{ lookup('ansible.builtin.template', item.src) | from_yaml }}"
mode: "0644"
force: true
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]

View File

@@ -1,34 +0,0 @@
---
- name: Set addon facts
ansible.builtin.set_fact:
addon_name: discord-template-notifier
addon_namespace: default
- name: Ensure directories exist for {{ addon_namespace }}/{{ addon_name }}
when: item.state == 'directory'
ansible.builtin.file:
path: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path }}"
state: directory
mode: "0755"
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
- name: Template unencrypted files for {{ addon_namespace }}/{{ addon_name }}
when: item.state == 'file' and 'sops' not in item.path
ansible.builtin.template:
src: "{{ item.src }}"
dest: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path | replace('.j2', '') }}"
mode: "0644"
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
- name: Template encrypted files for {{ addon_namespace }}/{{ addon_name }}
block:
- name: Template encrypted files
when: item.state == 'file' and 'sops' in item.path
community.sops.sops_encrypt:
path: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path | replace('.j2', '') }}"
encrypted_regex: ^(data|stringData)$
age: ["{{ bootstrap_age_public_key }}"]
content_yaml: "{{ lookup('ansible.builtin.template', item.src) | from_yaml }}"
mode: "0644"
force: true
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]

View File

@@ -1,34 +0,0 @@
---
- name: Set addon facts
ansible.builtin.set_fact:
addon_name: grafana
addon_namespace: monitoring
- name: Ensure directories exist for {{ addon_namespace }}/{{ addon_name }}
when: item.state == 'directory'
ansible.builtin.file:
path: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path }}"
state: directory
mode: "0755"
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
- name: Template unencrypted files for {{ addon_namespace }}/{{ addon_name }}
when: item.state == 'file' and 'sops' not in item.path
ansible.builtin.template:
src: "{{ item.src }}"
dest: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path | replace('.j2', '') }}"
mode: "0644"
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
- name: Template encrypted files for {{ addon_namespace }}/{{ addon_name }}
block:
- name: Template encrypted files
when: item.state == 'file' and 'sops' in item.path
community.sops.sops_encrypt:
path: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path | replace('.j2', '') }}"
encrypted_regex: ^(data|stringData)$
age: ["{{ bootstrap_age_public_key }}"]
content_yaml: "{{ lookup('ansible.builtin.template', item.src) | from_yaml }}"
mode: "0644"
force: true
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]

View File

@@ -1,35 +0,0 @@
---
- name: Set addon facts
ansible.builtin.set_fact:
addon_name: hajimari
addon_namespace: default
- name: Ensure directories exist for {{ addon_namespace }}/{{ addon_name }}
when: item.state == 'directory'
ansible.builtin.file:
path: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path }}"
state: directory
mode: "0755"
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
- name: Template unencrypted files for {{ addon_namespace }}/{{ addon_name }}
when: item.state == 'file' and 'sops' not in item.path
ansible.builtin.template:
src: "{{ item.src }}"
dest: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path | replace('.j2', '') }}"
mode: "0644"
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
# https://github.com/ansible-collections/community.sops/issues/153
- name: Template encrypted files for {{ addon_namespace }}/{{ addon_name }}
block:
- name: Template encrypted files
when: item.state == 'file' and 'sops' in item.path
community.sops.sops_encrypt:
path: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path | replace('.j2', '') }}"
encrypted_regex: ^(data|stringData)$
age: ["{{ bootstrap_age_public_key }}"]
content_yaml: "{{ lookup('ansible.builtin.template', item.src) | from_yaml }}"
mode: "0644"
force: true
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]

View File

@@ -1,34 +0,0 @@
---
- name: Set addon facts
ansible.builtin.set_fact:
addon_name: kube-prometheus-stack
addon_namespace: monitoring
- name: Ensure directories exist for {{ addon_namespace }}/{{ addon_name }}
when: item.state == 'directory'
ansible.builtin.file:
path: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path }}"
state: directory
mode: "0755"
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
- name: Template unencrypted files for {{ addon_namespace }}/{{ addon_name }}
when: item.state == 'file' and 'sops' not in item.path
ansible.builtin.template:
src: "{{ item.src }}"
dest: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path | replace('.j2', '') }}"
mode: "0644"
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
- name: Template encrypted files for {{ addon_namespace }}/{{ addon_name }}
block:
- name: Template encrypted files
when: item.state == 'file' and 'sops' in item.path
community.sops.sops_encrypt:
path: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path | replace('.j2', '') }}"
encrypted_regex: ^(data|stringData)$
age: ["{{ bootstrap_age_public_key }}"]
content_yaml: "{{ lookup('ansible.builtin.template', item.src) | from_yaml }}"
mode: "0644"
force: true
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]

View File

@@ -1,34 +0,0 @@
---
- name: Set addon facts
ansible.builtin.set_fact:
addon_name: kubernetes-dashboard
addon_namespace: monitoring
- name: Ensure directories exist for {{ addon_namespace }}/{{ addon_name }}
when: item.state == 'directory'
ansible.builtin.file:
path: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path }}"
state: directory
mode: "0755"
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
- name: Template unencrypted files for {{ addon_namespace }}/{{ addon_name }}
when: item.state == 'file' and 'sops' not in item.path
ansible.builtin.template:
src: "{{ item.src }}"
dest: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path | replace('.j2', '') }}"
mode: "0644"
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
- name: Template encrypted files for {{ addon_namespace }}/{{ addon_name }}
block:
- name: Template encrypted files
when: item.state == 'file' and 'sops' in item.path
community.sops.sops_encrypt:
path: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path | replace('.j2', '') }}"
encrypted_regex: ^(data|stringData)$
age: ["{{ bootstrap_age_public_key }}"]
content_yaml: "{{ lookup('ansible.builtin.template', item.src) | from_yaml }}"
mode: "0644"
force: true
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]

View File

@@ -1,33 +0,0 @@
---
- name: Process addon csi-driver-nfs
when: csi_driver_nfs.enabled | default(false)
ansible.builtin.include_tasks: csi_driver_nfs.yaml
- name: Process addon hajimari
when: hajimari.enabled | default(false)
ansible.builtin.include_tasks: hajimari.yaml
- name: Process addon grafana
when: grafana.enabled | default(false)
ansible.builtin.include_tasks: grafana.yaml
- name: Process addon kubernetes-dashboard
when: kubernetes_dashboard.enabled | default(false)
ansible.builtin.include_tasks: kubernetes_dashboard.yaml
- name: Process addon kube-prometheus-stack
when: kube_prometheus_stack.enabled | default(false)
ansible.builtin.include_tasks: kube_prometheus_stack.yaml
- name: Process addon system-upgrade-controller
when: system_upgrade_controller.enabled | default(false)
ansible.builtin.include_tasks: system_upgrade_controller.yaml
- name: Process addon weave-gitops
when: weave_gitops.enabled | default(false)
ansible.builtin.include_tasks: weave_gitops.yaml
- name: Process addon discord-template-notifier
when: discord_template_notifier.enabled | default(false)
ansible.builtin.include_tasks: discord_template_notifier.yaml

View File

@@ -1,34 +0,0 @@
---
- name: Set addon facts
ansible.builtin.set_fact:
addon_name: system-upgrade-controller
addon_namespace: kube-system
- name: Ensure directories exist for {{ addon_namespace }}/{{ addon_name }}
when: item.state == 'directory'
ansible.builtin.file:
path: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path }}"
state: directory
mode: "0755"
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
- name: Template unencrypted files for {{ addon_namespace }}/{{ addon_name }}
when: item.state == 'file' and 'sops' not in item.path
ansible.builtin.template:
src: "{{ item.src }}"
dest: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path | replace('.j2', '') }}"
mode: "0644"
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
- name: Template encrypted files for {{ addon_namespace }}/{{ addon_name }}
block:
- name: Template encrypted files
when: item.state == 'file' and 'sops' in item.path
community.sops.sops_encrypt:
path: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path | replace('.j2', '') }}"
encrypted_regex: ^(data|stringData)$
age: ["{{ bootstrap_age_public_key }}"]
content_yaml: "{{ lookup('ansible.builtin.template', item.src) | from_yaml }}"
mode: "0644"
force: true
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]

View File

@@ -1,34 +0,0 @@
---
- name: Set addon facts
ansible.builtin.set_fact:
addon_name: weave-gitops
addon_namespace: flux-system
- name: Ensure directories exist for {{ addon_namespace }}/{{ addon_name }}
when: item.state == 'directory'
ansible.builtin.file:
path: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path }}"
state: directory
mode: "0755"
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
- name: Template unencrypted files for {{ addon_namespace }}/{{ addon_name }}
when: item.state == 'file' and 'sops' not in item.path
ansible.builtin.template:
src: "{{ item.src }}"
dest: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path | replace('.j2', '') }}"
mode: "0644"
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]
- name: Template encrypted files for {{ addon_namespace }}/{{ addon_name }}
block:
- name: Template encrypted files
when: item.state == 'file' and 'sops' in item.path
community.sops.sops_encrypt:
path: "{{ repository_path }}/kubernetes/apps/{{ addon_namespace }}/{{ addon_name }}/{{ item.path | replace('.j2', '') }}"
encrypted_regex: ^(data|stringData)$
age: ["{{ bootstrap_age_public_key }}"]
content_yaml: "{{ lookup('ansible.builtin.template', item.src) | from_yaml }}"
mode: "0644"
force: true
with_community.general.filetree: ["../templates/addons/{{ addon_name }}/"]

View File

@@ -1,39 +0,0 @@
---
- name: Ensure Kubernetes directories exist
when: item.state == 'directory'
ansible.builtin.file:
path: "{{ repository_path }}/ansible/{{ item.path }}"
state: directory
mode: "0755"
with_community.general.filetree: ["../templates/ansible/"]
- name: Template Ansible unencrypted files
when: item.state == 'file' and 'sops' not in item.path and '.DS_Store' not in item.path
ansible.builtin.template:
src: "{{ item.src }}"
dest: "{{ repository_path }}/ansible/{{ item.path | regex_replace('.j2$', '') }}"
mode: "0644"
with_community.general.filetree: ["../templates/ansible/"]
- name: Template Ansible encrypted files
block:
- name: Template Ansible encrypted files
when: item.state == 'file' and 'sops' in item.path
community.sops.sops_encrypt:
path: "{{ repository_path }}/ansible/{{ item.path | replace('.j2', '') }}"
encrypted_regex: ^(data|stringData)$
age: ["{{ bootstrap_age_public_key }}"]
content_yaml: "{{ lookup('ansible.builtin.template', item.src) | from_yaml }}"
mode: "0644"
force: true
with_community.general.filetree: ["../templates/ansible/"]
- name: Template encrypted node secrets
community.sops.sops_encrypt:
path: "{{ repository_path }}/ansible/inventory/host_vars/{{ item.name }}.sops.yaml"
age: ["{{ bootstrap_age_public_key }}"]
content_yaml: "{{ lookup('ansible.builtin.template', 'templates/node.sops.yaml.j2', template_vars=dict(password=item.password)) | from_yaml }}"
mode: "0644"
force: true
loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker | default([]) }}"
loop_control:
label: "{{ item.address }}"

View File

@@ -1,66 +0,0 @@
---
- name: Ensure Kubernetes directories exist
when: item.state == 'directory'
ansible.builtin.file:
path: "{{ repository_path }}/kubernetes/{{ item.path }}"
state: directory
mode: "0755"
with_community.general.filetree: ["../templates/kubernetes/"]
- name: Template Kubernetes unencrypted files
when:
- item.state == 'file'
- "'.DS_Store' not in item.path"
- "'sops' not in item.path"
- "'cluster-settings-user.yaml.j2' not in item.path"
- "'cluster-secrets-user.yaml.j2' not in item.path"
ansible.builtin.template:
src: "{{ item.src }}"
dest: "{{ repository_path }}/kubernetes/{{ item.path | regex_replace('.j2$', '') }}"
mode: "0644"
with_community.general.filetree: ["../templates/kubernetes/"]
- name: Check if the cluster user settings file already exists
stat:
path: "{{ repository_path }}/kubernetes/flux/vars/cluster-settings-user.yaml"
register: cluster_settings_user
- name: Template Kubernetes user cluster settings
when:
- item.state == 'file'
- "'cluster-settings-user.yaml' in item.path"
- not cluster_settings_user.stat.exists
ansible.builtin.template:
src: "{{ item.src }}"
dest: "{{ repository_path }}/kubernetes/{{ item.path | regex_replace('.j2$', '') }}"
mode: "0644"
with_community.general.filetree: ["../templates/kubernetes/"]
- name: Check if the cluster user secrets file already exists
stat:
path: "{{ repository_path }}/kubernetes/flux/vars/cluster-secrets-user.yaml"
register: cluster_secrets_user
- name: Template Kubernetes user cluster secrets
when:
- item.state == 'file'
- "'cluster-secrets-user.yaml' in item.path"
- not cluster_secrets_user.stat.exists
ansible.builtin.template:
src: "{{ item.src }}"
dest: "{{ repository_path }}/kubernetes/{{ item.path | regex_replace('.j2$', '') }}"
mode: "0644"
with_community.general.filetree: ["../templates/kubernetes/"]
- name: Template Kubernetes encrypted files
block:
- name: Template Kubernetes encrypted files
when: item.state == 'file' and 'sops' in item.path
community.sops.sops_encrypt:
path: "{{ repository_path }}/kubernetes/{{ item.path | replace('.j2', '') }}"
encrypted_regex: ^(data|stringData)$
age: ["{{ bootstrap_age_public_key }}"]
content_yaml: "{{ lookup('ansible.builtin.template', item.src) | from_yaml }}"
mode: "0644"
force: true
with_community.general.filetree: ["../templates/kubernetes/"]

View File

@@ -1,6 +0,0 @@
---
- name: Template Sops configuration file
ansible.builtin.template:
src: "templates/.sops.yaml.j2"
dest: "{{ repository_path }}/.sops.yaml"
mode: "0644"

View File

@@ -1,21 +0,0 @@
---
- name: Query age key file
ansible.builtin.stat:
path: "{{ repository_path }}/age.key"
register: result
- name: Check if age key file exists
ansible.builtin.assert:
that: result.stat.exists
success_msg: Age file {{ repository_path }}/age.key exists
fail_msg: Age file {{ repository_path }}/age.key does not exist
- name: Query age key file contents
ansible.builtin.set_fact:
age_contents: "{{ lookup('file', repository_path + '/age.key') }}"
- name: Check if age public keys match
ansible.builtin.assert:
that: bootstrap_age_public_key in age_contents
success_msg: Age public key {{ bootstrap_age_public_key }} exists
fail_msg: Age public key {{ bootstrap_age_public_key }} does not exist

View File

@@ -1,9 +0,0 @@
---
- name: Check for required CLI tools
ansible.builtin.shell: |
command -v {{ item }} >/dev/null 2>&1
loop: [age, cloudflared, flux, sops]
changed_when: false
check_mode: false
register: result
failed_when: result.rc != 0 and result.rc != 127

View File

@@ -1,34 +0,0 @@
---
- name: Query Cloudflare zone
ansible.builtin.uri:
url: https://api.cloudflare.com/client/v4/zones?name={{ bootstrap_cloudflare_domain }}&status=active
headers:
Authorization: Bearer {{ bootstrap_cloudflare_token }}
Content-Type: application/json
timeout: 5
return_content: true
body_format: json
register: result
- name: Check if Cloudflare zone exists
ansible.builtin.assert:
that: result.json.success is true
success_msg: Cloudflare zone {{ bootstrap_cloudflare_domain }} exists
fail_msg: Cloudflare zone {{ bootstrap_cloudflare_domain }} does not exist
- name: Query Cloudflared tunnel
ansible.builtin.uri:
url: https://api.cloudflare.com/client/v4/accounts/{{ bootstrap_cloudflare_account_tag }}/cfd_tunnel/{{ bootstrap_cloudflare_tunnel_id }}
headers:
Authorization: Bearer {{ bootstrap_cloudflare_token }}
Content-Type: application/json
timeout: 5
return_content: true
body_format: json
register: result
- name: Check if Cloudflared tunnel exists
ansible.builtin.assert:
that: result.json.success is true
success_msg: Cloudflared tunnel {{ bootstrap_cloudflare_tunnel_id }} exists
fail_msg: Cloudflared tunnel {{ bootstrap_cloudflare_tunnel_id }} does not exist

View File

@@ -1,42 +0,0 @@
---
- name: Query Github username
ansible.builtin.uri:
url: https://api.github.com/users/{{ bootstrap_github_username }}
timeout: 5
return_content: true
body_format: json
register: result
- name: Check if username exists
ansible.builtin.assert:
that: result.json.login == bootstrap_github_username
success_msg: Github user {{ bootstrap_github_username }} exists
fail_msg: Github user {{ bootstrap_github_username }} does not exist
- name: Query Github repo
ansible.builtin.uri:
url: https://api.github.com/repos/{{ bootstrap_github_username }}/{{ bootstrap_github_repository_name }}
timeout: 5
return_content: true
body_format: json
register: result
- name: Check if repo exists
ansible.builtin.assert:
that: result.json.full_name == bootstrap_github_username + '/' + bootstrap_github_repository_name
success_msg: Github repo {{ bootstrap_github_username }}/{{ bootstrap_github_repository_name }} exists
fail_msg: Github repo {{ bootstrap_github_username }}/{{ bootstrap_github_repository_name }} does not exist
- name: Query Github repo branch
ansible.builtin.uri:
url: https://api.github.com/repos/{{ bootstrap_github_username }}/{{ bootstrap_github_repository_name }}/branches/{{ bootstrap_github_repository_branch | default('main', true) }}
timeout: 5
return_content: true
body_format: json
register: result
- name: Check if repo branch exists
ansible.builtin.assert:
that: result.json.name == bootstrap_github_repository_branch | default('main', true)
success_msg: Github repo branch {{ bootstrap_github_repository_branch | default('main', true) }} exists
fail_msg: Github repo branch {{ bootstrap_github_repository_branch | default('main', true) }} does not exist

View File

@@ -1,6 +0,0 @@
---
- name: Verify configuration
ansible.builtin.include_tasks: "{{ task }}.yaml"
loop: [vars, age, cli, net, cloudflare, github]
loop_control:
loop_var: task

View File

@@ -1,205 +0,0 @@
---
- name: Set reachable address
ansible.builtin.set_fact:
current_address: "{{ item.external_address | default(item.address) }}"
loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker | default([]) }}"
loop_control:
label: "{{ item.address }}"
- name: Verify master node count
ansible.builtin.assert:
that:
- bootstrap_nodes.master | length > 0
- bootstrap_nodes.master | length is odd
success_msg: Master node count {{ bootstrap_nodes.master | length }} is correct.
fail_msg: Master node count {{ bootstrap_nodes.master | length }} is not greater than 0 or is not odd.
- name: Verify node CIDR
ansible.builtin.assert:
that: bootstrap_node_cidr is ansible.utils.ipv4
success_msg: Node CIDR {{ bootstrap_node_cidr }} is valid.
fail_msg: Node CIDR {{ bootstrap_node_cidr }} is invalid.
- name: Verify cluster CIDR is ipv4 OR ipv6
when: not bootstrap_ipv6_enabled | default(false)
ansible.builtin.assert:
that: bootstrap_cluster_cidr is ansible.utils.ipv4 or bootstrap_cluster_cidr is ansible.utils.ipv6
success_msg: Cluster CIDR {{ bootstrap_cluster_cidr }} is valid.
fail_msg: Cluster CIDR {{ bootstrap_cluster_cidr }} is invalid.
- name: Verify service CIDR is ipv4 OR ipv6
when: not bootstrap_ipv6_enabled | default(false)
ansible.builtin.assert:
that: bootstrap_service_cidr is ansible.utils.ipv4 or bootstrap_service_cidr is ansible.utils.ipv6
success_msg: Service CIDR {{ bootstrap_service_cidr }} is valid.
fail_msg: Service CIDR {{ bootstrap_service_cidr }} is invalid.
- name: Verify cluster CIDR is ipv4 AND ipv6
when: bootstrap_ipv6_enabled | default(false)
ansible.builtin.assert:
that: >
(
bootstrap_cluster_cidr.split(',')[0] is ansible.utils.ipv4 or
bootstrap_cluster_cidr.split(',')[1] is ansible.utils.ipv4
) and (
bootstrap_cluster_cidr.split(',')[1] is ansible.utils.ipv6 or
bootstrap_cluster_cidr.split(',')[0] is ansible.utils.ipv6
)
success_msg: Cluster CIDR {{ bootstrap_cluster_cidr }} is valid.
fail_msg: Cluster CIDR {{ bootstrap_cluster_cidr }} is invalid.
- name: Verify service CIDR is ipv4 AND ipv6
when: bootstrap_ipv6_enabled | default(false)
ansible.builtin.assert:
that: >
(
bootstrap_service_cidr.split(',')[0] is ansible.utils.ipv4 or
bootstrap_service_cidr.split(',')[1] is ansible.utils.ipv4
) and (
bootstrap_service_cidr.split(',')[1] is ansible.utils.ipv6 or
bootstrap_service_cidr.split(',')[0] is ansible.utils.ipv6
)
success_msg: Service CIDR {{ bootstrap_service_cidr }} is valid.
fail_msg: Service CIDR {{ bootstrap_service_cidr }} is invalid.
- name: Verify k8s_gateway
ansible.builtin.assert:
that: bootstrap_k8s_gateway_addr is ansible.utils.ipv4
success_msg: k8s_gateway address {{ bootstrap_k8s_gateway_addr }} is valid.
fail_msg: k8s_gateway address {{ bootstrap_k8s_gateway_addr }} is invalid.
- name: Verify k8s_gateway in node CIDR
ansible.builtin.assert:
that: bootstrap_node_cidr | ansible.utils.network_in_usable(bootstrap_k8s_gateway_addr)
success_msg: k8s_gateway address {{ bootstrap_k8s_gateway_addr }} is within {{ bootstrap_node_cidr }}.
fail_msg: k8s_gateway address {{ bootstrap_k8s_gateway_addr }} is not within {{ bootstrap_node_cidr }}.
- name: Verify internal ingress
ansible.builtin.assert:
that: bootstrap_internal_ingress_addr is ansible.utils.ipv4
success_msg: internal ingress address {{ bootstrap_internal_ingress_addr }} is valid.
fail_msg: internal ingress address {{ bootstrap_internal_ingress_addr }} is invalid.
- name: Verify internal ingress in node CIDR
ansible.builtin.assert:
that: bootstrap_node_cidr | ansible.utils.network_in_usable(bootstrap_internal_ingress_addr)
success_msg: internal ingress address {{ bootstrap_internal_ingress_addr }} is within {{ bootstrap_node_cidr }}.
fail_msg: internal ingress address {{ bootstrap_internal_ingress_addr }} is not within {{ bootstrap_node_cidr }}.
- name: Verify external ingress
ansible.builtin.assert:
that: bootstrap_external_ingress_addr is ansible.utils.ipv4
success_msg: external ingress address {{ bootstrap_external_ingress_addr }} is valid.
fail_msg: external ingress address {{ bootstrap_external_ingress_addr }} is invalid.
- name: Verify external ingress in node CIDR
ansible.builtin.assert:
that: bootstrap_node_cidr | ansible.utils.network_in_usable(bootstrap_external_ingress_addr)
success_msg: external ingress address {{ bootstrap_external_ingress_addr }} is within {{ bootstrap_node_cidr }}.
fail_msg: external ingress address {{ bootstrap_external_ingress_addr }} is not within {{ bootstrap_node_cidr }}.
- name: Verify kube-vip
ansible.builtin.assert:
that: bootstrap_kube_vip_addr is ansible.utils.ipv4
success_msg: kube-vip address {{ bootstrap_kube_vip_addr }} is valid.
fail_msg: kube-vip address {{ bootstrap_kube_vip_addr }} is invalid.
- name: Verify kube-vip in node CIDR
ansible.builtin.assert:
that: bootstrap_node_cidr | ansible.utils.network_in_usable(bootstrap_kube_vip_addr)
success_msg: kube-vip address {{ bootstrap_kube_vip_addr }} is within {{ bootstrap_node_cidr }}.
fail_msg: kube-vip address {{ bootstrap_kube_vip_addr }} is not within {{ bootstrap_node_cidr }}.
- name: Verify all IP addresses are unique
ansible.builtin.assert:
that: >
[
bootstrap_k8s_gateway_addr,
bootstrap_external_ingress_addr,
bootstrap_internal_ingress_addr,
bootstrap_kube_vip_addr
] | unique | length == 4
success_msg: All IP addresses are unique.
fail_msg: All IP addresses are not unique.
- name: Verify nodes are not the same IPs as k8s_gateway or ingress external/internal
when: not bootstrap_kube_vip_enabled | default(true)
ansible.builtin.assert:
that: item.address not in (bootstrap_k8s_gateway_addr, bootstrap_external_ingress_addr, bootstrap_internal_ingress_addr)
success_msg: Node address {{ item.address }} is different than k8s_gateway or ingress-nginx.
fail_msg: Node address {{ item.address }} is not different than k8s_gateway or ingress-nginx.
quiet: true
loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker | default([]) }}"
loop_control:
label: "{{ item.address }}"
- name: Verify nodes are not the same IPs as k8s_gateway, ingress external/internal or kube-vip
when: bootstrap_kube_vip_enabled | default(true)
ansible.builtin.assert:
that: item.address not in (bootstrap_k8s_gateway_addr, bootstrap_external_ingress_addr, bootstrap_internal_ingress_addr, bootstrap_kube_vip_addr)
success_msg: Node address {{ item.address }} is different than k8s_gateway, ingress-nginx or kube-vip.
fail_msg: Node address {{ item.address }} is not different than k8s_gateway, ingress-nginx or kube-vip.
quiet: true
loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker | default([]) }}"
loop_control:
label: "{{ item.address }}"
- name: Verify nodes are ipv4
ansible.builtin.assert:
that: item.address is ansible.utils.ipv4
success_msg: Node address {{ item.address }} is valid.
fail_msg: Node address {{ item.address }} is invalid.
quiet: true
loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker | default([]) }}"
loop_control:
label: "{{ item.address }}"
- name: Verify nodes are in node CIDR
ansible.builtin.assert:
that: bootstrap_node_cidr | ansible.utils.network_in_usable(item.address)
success_msg: Node address {{ item.address }} is within {{ bootstrap_node_cidr }}.
fail_msg: Node address {{ item.address }} is not within {{ bootstrap_node_cidr }}.
quiet: true
loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker | default([]) }}"
when: item.external_address is not defined
loop_control:
label: "{{ item.address }}"
- name: Verify node IP addresses are unique
ansible.builtin.assert:
that: >
(
(bootstrap_nodes.master + bootstrap_nodes.worker | default([])) | map(attribute='address') | list
) | unique | length
==
(
(bootstrap_nodes.master + bootstrap_nodes.worker | default([])) | map(attribute='address') | list
) | length
success_msg: All node IP addresses are unique.
fail_msg: All node IP addresses are not unique.
quiet: true
- name: Verify node names are unique
ansible.builtin.assert:
that: >
(
(bootstrap_nodes.master + bootstrap_nodes.worker | default([])) | map(attribute='name') | list
) | unique | length
==
(
(bootstrap_nodes.master + bootstrap_nodes.worker | default([])) | map(attribute='name') | list
) | length
success_msg: All node names are unique.
fail_msg: All node names are not unique.
quiet: true
- name: Verify SSH port is reachable
ansible.builtin.wait_for:
host: "{{ current_address }}"
port: 22
search_regex: OpenSSH
timeout: 10
connection: local
loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker | default([]) }}"
loop_control:
label: "{{ current_address }}"

View File

@@ -1,40 +0,0 @@
---
- name: Verify required bootstrap vars are set
ansible.builtin.assert:
that:
- item in vars
- vars[item] != None
success_msg: Required bootstrap var {{ item }} exists and is defined
fail_msg: Required bootstrap var {{ item }} does not exists or is not defined
loop:
- bootstrap_acme_email
- bootstrap_age_public_key
- bootstrap_cilium_loadbalancer_mode
- bootstrap_cloudflare_account_tag
- bootstrap_cloudflare_domain
- bootstrap_cloudflare_token
- bootstrap_cloudflare_tunnel_id
- bootstrap_cloudflare_tunnel_secret
- bootstrap_cluster_cidr
- bootstrap_flux_github_webhook_token
- bootstrap_github_repository_name
- bootstrap_github_repository_branch
- bootstrap_github_username
- bootstrap_external_ingress_addr
- bootstrap_internal_ingress_addr
- bootstrap_ipv6_enabled
- bootstrap_k8s_gateway_addr
- bootstrap_kube_vip_addr
- bootstrap_local_path_provisioner_path
- bootstrap_node_cidr
- bootstrap_service_cidr
- bootstrap_timezone
- name: Verify bootstrap node names are valid
ansible.builtin.assert:
that: item.name is match('^[a-z0-9-]+$')
success_msg: Node name {{ item.name }} is valid
fail_msg: Node name {{ item.name }} is not valid
loop: "{{ bootstrap_nodes.master + bootstrap_nodes.worker | default([]) }}"
loop_control:
label: "{{ item.name }}"

View File

@@ -1,16 +0,0 @@
---
creation_rules:
- path_regex: kubernetes/.*\.sops\.ya?ml
encrypted_regex: "^(data|stringData)$"
key_groups:
- age:
- "{{ bootstrap_age_public_key }}"
- path_regex: ansible/.*\.sops\.ya?ml
key_groups:
- age:
- "{{ bootstrap_age_public_key }}"
# https://github.com/ansible-collections/community.sops/issues/153
- path_regex: /dev/stdin
key_groups:
- age:
- "{{ bootstrap_age_public_key }}"

View File

@@ -1,28 +0,0 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: csi-driver-nfs
spec:
interval: 30m
chart:
spec:
chart: csi-driver-nfs
version: v4.5.0
sourceRef:
kind: HelmRepository
name: csi-driver-nfs
namespace: flux-system
maxHistory: 2
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
uninstall:
keepHistory: false
values:
externalSnapshotter:
enabled: false

View File

@@ -1,15 +0,0 @@
#jinja2: trim_blocks: True, lstrip_blocks: True
{% for item in csi_driver_nfs.storage_class %}
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: {{ item.name }}
provisioner: nfs.csi.k8s.io
parameters:
server: {{ item.server }}
share: {{ item.share }}
reclaimPolicy: Delete
volumeBindingMode: Immediate
mountOptions: ["hard", "noatime"]
{% endfor %}

View File

@@ -1,20 +0,0 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app csi-driver-nfs
namespace: flux-system
spec:
targetNamespace: kube-system
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/kube-system/csi-driver-nfs/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: true
interval: 30m
retryInterval: 1m
timeout: 5m

View File

@@ -1,63 +0,0 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: discord-template-notifier
spec:
interval: 15m
chart:
spec:
chart: app-template
version: 2.4.0
interval: 30m
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
maxHistory: 2
install:
createNamespace: true
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
uninstall:
keepHistory: false
values:
controllers:
main:
annotations:
reloader.stakater.com/auto: "true"
containers:
main:
image:
repository: ghcr.io/morphy2k/rss-forwarder
tag: 0.6.1
env:
TZ: "${TIMEZONE}"
probes:
liveness: &disabled
enabled: false
readiness: *disabled
startup: *disabled
resources:
requests:
cpu: 5m
memory: 10M
limits:
memory: 64M
service:
main: *disabled
ingress:
main: *disabled
persistence:
config:
enabled: true
type: secret
name: discord-template-notifier-secret
globalMounts:
- path: /data/config.toml
subPath: config.toml
readOnly: true

View File

@@ -1,14 +0,0 @@
---
apiVersion: v1
kind: Secret
metadata:
name: discord-template-notifier-secret
type: Opaque
stringData:
config.toml: |-
[feeds.github-template]
url = "https://github.com/onedr0p/flux-cluster-template/commits/main/.atom"
interval = "10m"
retry_limit = 5
sink.type = "discord"
sink.url = "{{ discord_template_notifier.webhook_url }}"

View File

@@ -1,20 +0,0 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app discord-template-notifier
namespace: flux-system
spec:
targetNamespace: default
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/default/discord-template-notifier/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View File

@@ -1,173 +0,0 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: grafana
spec:
interval: 30m
chart:
spec:
chart: grafana
version: 7.0.19
sourceRef:
kind: HelmRepository
name: grafana
namespace: flux-system
maxHistory: 2
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
uninstall:
keepHistory: false
dependsOn:
- name: local-path-provisioner
namespace: kube-system
values:
deploymentStrategy:
type: Recreate
admin:
existingSecret: grafana-admin-secret
env:
GF_EXPLORE_ENABLED: true
GF_SERVER_ROOT_URL: "https://grafana.${SECRET_DOMAIN}"
grafana.ini:
analytics:
check_for_updates: false
check_for_plugin_updates: false
reporting_enabled: false
dashboardProviders:
dashboardproviders.yaml:
apiVersion: 1
providers:
- name: default
orgId: 1
folder: ""
type: file
disableDeletion: false
editable: true
options:
path: /var/lib/grafana/dashboards/default
- name: flux
orgId: 1
folder: Flux
type: file
disableDeletion: false
editable: true
options:
path: /var/lib/grafana/dashboards/flux
- name: kubernetes
orgId: 1
folder: Kubernetes
type: file
disableDeletion: false
editable: true
options:
path: /var/lib/grafana/dashboards/kubernetes
- name: nginx
orgId: 1
folder: Nginx
type: file
disableDeletion: false
editable: true
options:
path: /var/lib/grafana/dashboards/nginx
datasources:
datasources.yaml:
apiVersion: 1
deleteDatasources:
- { name: Prometheus, orgId: 1 }
datasources:
- name: Prometheus
type: prometheus
uid: prometheus
access: proxy
url: http://kube-prometheus-stack-prometheus.monitoring.svc.cluster.local:9090
jsonData:
prometheusType: Prometheus
isDefault: true
dashboards:
default:
cloudflared:
gnetId: 17457 # https://grafana.com/grafana/dashboards/17457?tab=revisions
revision: 6
datasource:
- { name: DS_PROMETHEUS, value: Prometheus }
external-dns:
gnetId: 15038 # https://grafana.com/grafana/dashboards/15038?tab=revisions
revision: 1
datasource: Prometheus
cert-manager:
url: https://raw.githubusercontent.com/monitoring-mixins/website/master/assets/cert-manager/dashboards/cert-manager.json
datasource: Prometheus
node-exporter-full:
gnetId: 1860 # https://grafana.com/grafana/dashboards/1860?tab=revisions
revision: 31
datasource: Prometheus
flux:
flux-cluster:
url: https://raw.githubusercontent.com/fluxcd/flux2-monitoring-example/main/monitoring/configs/dashboards/cluster.json
datasource: Prometheus
flux-control-plane:
url: https://raw.githubusercontent.com/fluxcd/flux2-monitoring-example/main/monitoring/configs/dashboards/control-plane.json
datasource: Prometheus
kubernetes:
kubernetes-api-server:
url: https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-system-api-server.json
datasource: Prometheus
kubernetes-coredns:
url: https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-system-coredns.json
datasource: Prometheus
kubernetes-global:
url: https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-views-global.json
datasource: Prometheus
kubernetes-namespaces:
url: https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-views-namespaces.json
datasource: Prometheus
kubernetes-nodes:
url: https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-views-nodes.json
datasource: Prometheus
kubernetes-pods:
url: https://raw.githubusercontent.com/dotdc/grafana-dashboards-kubernetes/master/dashboards/k8s-views-pods.json
datasource: Prometheus
nginx:
nginx:
url: https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/grafana/dashboards/nginx.json
datasource: Prometheus
nginx-request-handling-performance:
url: https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/grafana/dashboards/request-handling-performance.json
datasource: Prometheus
sidecar:
dashboards:
enabled: true
searchNamespace: ALL
labelValue: ""
label: grafana_dashboard
folderAnnotation: grafana_folder
provider:
disableDelete: true
foldersFromFilesStructure: true
datasources:
enabled: true
searchNamespace: ALL
labelValue: ""
serviceMonitor:
enabled: true
ingress:
enabled: true
ingressClassName: internal
annotations:
hajimari.io/icon: simple-icons:grafana
hosts:
- &host "grafana.${SECRET_DOMAIN}"
tls:
- hosts:
- *host
persistence:
enabled: true
storageClassName: local-hostpath
testFramework:
enabled: false

View File

@@ -1,8 +0,0 @@
---
apiVersion: v1
kind: Secret
metadata:
name: grafana-admin-secret
stringData:
admin-user: admin
admin-password: "{{ grafana.password }}"

View File

@@ -1,20 +0,0 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app grafana
namespace: flux-system
spec:
targetNamespace: monitoring
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/monitoring/grafana/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View File

@@ -1,65 +0,0 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: hajimari
spec:
interval: 30m
chart:
spec:
chart: hajimari
version: 2.0.2
sourceRef:
kind: HelmRepository
name: hajimari
namespace: flux-system
maxHistory: 2
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
uninstall:
keepHistory: false
values:
hajimari:
title: Apps
darkTheme: espresso
alwaysTargetBlank: true
showGreeting: false
showAppGroups: false
showAppStatus: false
showBookmarkGroups: false
showGlobalBookmarks: false
showAppUrls: false
defaultEnable: true
namespaceSelector:
matchNames:
- default
- monitoring
ingress:
main:
enabled: true
ingressClassName: internal
annotations:
hajimari.io/enable: "false"
hosts:
- host: &host "hajimari.${SECRET_DOMAIN}"
paths:
- path: /
pathType: Prefix
tls:
- hosts:
- *host
podAnnotations:
configmap.reloader.stakater.com/reload: hajimari-settings
persistence:
data:
enabled: true
type: emptyDir
resources:
requests:
cpu: 100m
memory: 128M

View File

@@ -1,20 +0,0 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app hajimari
namespace: flux-system
spec:
targetNamespace: default
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/default/hajimari/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View File

@@ -1,35 +0,0 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: kube-prometheus-stack
spec:
interval: 30m
timeout: 15m
chart:
spec:
chart: kube-prometheus-stack
version: 55.5.1
sourceRef:
kind: HelmRepository
name: prometheus-community
namespace: flux-system
maxHistory: 2
install:
crds: CreateReplace
remediation:
retries: 3
upgrade:
cleanupOnFail: true
crds: CreateReplace
remediation:
retries: 3
uninstall:
keepHistory: false
dependsOn:
- name: local-path-provisioner
namespace: kube-system
valuesFrom:
- name: kube-prometheus-stack-values
kind: ConfigMap
valuesKey: values.yaml

View File

@@ -1,128 +0,0 @@
#jinja2: trim_blocks: True, lstrip_blocks: True
---
apiVersion: v1
kind: ConfigMap
metadata:
name: kube-prometheus-stack-values
data:
values.yaml: |
crds:
enabled: true
cleanPrometheusOperatorObjectNames: true
alertmanager:
enabled: false
kube-state-metrics:
metricLabelsAllowlist:
- "deployments=[*]"
- "persistentvolumeclaims=[*]"
- "pods=[*]"
prometheus:
monitor:
enabled: true
relabelings:
- action: replace
sourceLabels: ["__meta_kubernetes_pod_node_name"]
regex: ^(.*)$
replacement: $1
targetLabel: kubernetes_node
kubelet:
enabled: true
serviceMonitor:
metricRelabelings:
# Remove duplicate labels provided by k3s
- action: keep
sourceLabels: ["__name__"]
regex: (apiserver_audit|apiserver_client|apiserver_delegated|apiserver_envelope|apiserver_storage|apiserver_webhooks|authentication_token|cadvisor_version|container_blkio|container_cpu|container_fs|container_last|container_memory|container_network|container_oom|container_processes|container|csi_operations|disabled_metric|get_token|go|hidden_metric|kubelet_certificate|kubelet_cgroup|kubelet_container|kubelet_containers|kubelet_cpu|kubelet_device|kubelet_graceful|kubelet_http|kubelet_lifecycle|kubelet_managed|kubelet_node|kubelet_pleg|kubelet_pod|kubelet_run|kubelet_running|kubelet_runtime|kubelet_server|kubelet_started|kubelet_volume|kubernetes_build|kubernetes_feature|machine_cpu|machine_memory|machine_nvm|machine_scrape|node_namespace|plugin_manager|prober_probe|process_cpu|process_max|process_open|process_resident|process_start|process_virtual|registered_metric|rest_client|scrape_duration|scrape_samples|scrape_series|storage_operation|volume_manager|volume_operation|workqueue)_(.+)
- action: replace
sourceLabels: ["node"]
targetLabel: instance
# Drop high cardinality labels
- action: labeldrop
regex: (uid)
- action: labeldrop
regex: (id|name)
- action: drop
sourceLabels: ["__name__"]
regex: (rest_client_request_duration_seconds_bucket|rest_client_request_duration_seconds_sum|rest_client_request_duration_seconds_count)
kubeApiServer:
enabled: true
serviceMonitor:
metricRelabelings:
# Remove duplicate labels provided by k3s
- action: keep
sourceLabels: ["__name__"]
regex: (aggregator_openapi|aggregator_unavailable|apiextensions_openapi|apiserver_admission|apiserver_audit|apiserver_cache|apiserver_cel|apiserver_client|apiserver_crd|apiserver_current|apiserver_envelope|apiserver_flowcontrol|apiserver_init|apiserver_kube|apiserver_longrunning|apiserver_request|apiserver_requested|apiserver_response|apiserver_selfrequest|apiserver_storage|apiserver_terminated|apiserver_tls|apiserver_watch|apiserver_webhooks|authenticated_user|authentication|disabled_metric|etcd_bookmark|etcd_lease|etcd_request|field_validation|get_token|go|grpc_client|hidden_metric|kube_apiserver|kubernetes_build|kubernetes_feature|node_authorizer|pod_security|process_cpu|process_max|process_open|process_resident|process_start|process_virtual|registered_metric|rest_client|scrape_duration|scrape_samples|scrape_series|serviceaccount_legacy|serviceaccount_stale|serviceaccount_valid|watch_cache|workqueue)_(.+)
# Drop high cardinality labels
- action: drop
sourceLabels: ["__name__"]
regex: (apiserver|etcd|rest_client)_request(|_sli|_slo)_duration_seconds_bucket
- action: drop
sourceLabels: ["__name__"]
regex: (apiserver_response_sizes_bucket|apiserver_watch_events_sizes_bucket)
kubeControllerManager:
enabled: true
endpoints: &endpoints
{% for item in bootstrap_nodes.master %}
- {{ item.address }}
{% endfor %}
serviceMonitor:
metricRelabelings:
# Remove duplicate labels provided by k3s
- action: keep
sourceLabels: ["__name__"]
regex: "(apiserver_audit|apiserver_client|apiserver_delegated|apiserver_envelope|apiserver_storage|apiserver_webhooks|attachdetach_controller|authenticated_user|authentication|cronjob_controller|disabled_metric|endpoint_slice|ephemeral_volume|garbagecollector_controller|get_token|go|hidden_metric|job_controller|kubernetes_build|kubernetes_feature|leader_election|node_collector|node_ipam|process_cpu|process_max|process_open|process_resident|process_start|process_virtual|pv_collector|registered_metric|replicaset_controller|rest_client|retroactive_storageclass|root_ca|running_managed|scrape_duration|scrape_samples|scrape_series|service_controller|storage_count|storage_operation|ttl_after|volume_operation|workqueue)_(.+)"
kubeEtcd:
{% if bootstrap_nodes.master | length > 1 %}
enabled: true
{% else %}
enabled: false
{% endif %}
endpoints: *endpoints
kubeScheduler:
enabled: true
endpoints: *endpoints
serviceMonitor:
metricRelabelings:
# Remove duplicate labels provided by k3s
- action: keep
sourceLabels: ["__name__"]
regex: "(apiserver_audit|apiserver_client|apiserver_delegated|apiserver_envelope|apiserver_storage|apiserver_webhooks|authenticated_user|authentication|disabled_metric|go|hidden_metric|kubernetes_build|kubernetes_feature|leader_election|process_cpu|process_max|process_open|process_resident|process_start|process_virtual|registered_metric|rest_client|scheduler|scrape_duration|scrape_samples|scrape_series|workqueue)_(.+)"
kubeProxy:
enabled: false # Disabled due to eBPF
prometheus:
ingress:
enabled: true
ingressClassName: internal
annotations:
hajimari.io/appName: Prometheus
hajimari.io/icon: simple-icons:prometheus
pathType: Prefix
hosts:
- "prometheus.${SECRET_DOMAIN}"
tls:
- hosts:
- "prometheus.${SECRET_DOMAIN}"
prometheusSpec:
ruleSelectorNilUsesHelmValues: false
serviceMonitorSelectorNilUsesHelmValues: false
podMonitorSelectorNilUsesHelmValues: false
probeSelectorNilUsesHelmValues: false
scrapeConfigSelectorNilUsesHelmValues: false
enableAdminAPI: true
walCompression: true
retentionSize: 8GB
storageSpec:
volumeClaimTemplate:
spec:
storageClassName: local-hostpath
resources:
requests:
storage: 10Gi
grafana:
enabled: false
forceDeployDashboards: true
sidecar:
dashboards:
multicluster:
etcd:
enabled: true

View File

@@ -1,6 +0,0 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./helmvalues.yaml
- ./helmrelease.yaml

View File

@@ -1,20 +0,0 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app kube-prometheus-stack
namespace: flux-system
spec:
targetNamespace: monitoring
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/monitoring/kube-prometheus-stack/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View File

@@ -1,42 +0,0 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: kubernetes-dashboard
spec:
interval: 30m
chart:
spec:
chart: kubernetes-dashboard
version: 6.0.8
sourceRef:
kind: HelmRepository
name: kubernetes-dashboard
namespace: flux-system
maxHistory: 2
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
uninstall:
keepHistory: false
values:
extraArgs:
- --enable-insecure-login
- --enable-skip-login
- --disable-settings-authorizer
ingress:
enabled: true
className: internal
annotations:
hajimari.io/icon: mdi:kubernetes
hosts:
- &host "kubernetes.${SECRET_DOMAIN}"
tls:
- hosts:
- *host
metricsScraper:
enabled: true

View File

@@ -1,6 +0,0 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./rbac.yaml
- ./helmrelease.yaml

View File

@@ -1,39 +0,0 @@
# For dashboard sign in token:
# kubectl -n monitoring get secret kubernetes-dashboard -o jsonpath='{.data.token}' | base64 -d
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: kubernetes-dashboard
labels:
app.kubernetes.io/managed-by: Helm
annotations:
meta.helm.sh/release-name: kubernetes-dashboard
meta.helm.sh/release-namespace: monitoring
secrets:
- name: kubernetes-dashboard
---
apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:
name: kubernetes-dashboard
labels:
app.kubernetes.io/managed-by: Helm
annotations:
meta.helm.sh/release-name: kubernetes-dashboard
meta.helm.sh/release-namespace: monitoring
kubernetes.io/service-account.name: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: system:kubernetes-dashboard
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: kubernetes-dashboard
namespace: monitoring

View File

@@ -1,23 +0,0 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app kubernetes-dashboard
namespace: flux-system
spec:
targetNamespace: monitoring
commonMetadata:
labels:
app.kubernetes.io/name: *app
dependsOn:
- name: cert-manager
- name: metrics-server
path: ./kubernetes/apps/monitoring/kubernetes-dashboard/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View File

@@ -1,103 +0,0 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: &app system-upgrade-controller
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 2.4.0
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
maxHistory: 2
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
uninstall:
keepHistory: false
values:
controllers:
main:
strategy: RollingUpdate
containers:
main:
image:
repository: docker.io/rancher/system-upgrade-controller
tag: v0.13.2
env:
SYSTEM_UPGRADE_CONTROLLER_DEBUG: false
SYSTEM_UPGRADE_CONTROLLER_THREADS: 2
SYSTEM_UPGRADE_JOB_ACTIVE_DEADLINE_SECONDS: 900
SYSTEM_UPGRADE_JOB_BACKOFF_LIMIT: 99
SYSTEM_UPGRADE_JOB_IMAGE_PULL_POLICY: IfNotPresent
SYSTEM_UPGRADE_JOB_KUBECTL_IMAGE: docker.io/rancher/kubectl:v1.29.0
SYSTEM_UPGRADE_JOB_PRIVILEGED: true
SYSTEM_UPGRADE_JOB_TTL_SECONDS_AFTER_FINISH: 900
SYSTEM_UPGRADE_PLAN_POLLING_INTERVAL: 15m
SYSTEM_UPGRADE_CONTROLLER_NAME: *app
SYSTEM_UPGRADE_CONTROLLER_NAMESPACE:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
pod:
securityContext:
runAsNonRoot: true
runAsUser: 65534
runAsGroup: 65534
allowPrivilegeEscalation: false
seccompProfile:
type: RuntimeDefault
capabilities:
drop: ["ALL"]
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-role.kubernetes.io/control-plane
operator: Exists
tolerations:
- {key: CriticalAddonsOnly, operator: Exists}
- {key: node-role.kubernetes.io/master, operator: Exists, effect: NoSchedule}
- {key: node-role.kubernetes.io/controlplane, operator: Exists, effect: NoSchedule}
- {key: node-role.kubernetes.io/control-plane, operator: Exists, effect: NoSchedule}
- {key: node-role.kubernetes.io/etcd, operator: Exists, effect: NoExecute}
serviceAccount:
name: system-upgrade
service:
main:
enabled: false
persistence:
tmp:
type: emptyDir
globalMounts:
- path: /tmp
etc-ssl:
type: hostPath
hostPath: /etc/ssl
hostPathType: DirectoryOrCreate
globalMounts:
- path: /etc/ssl
readOnly: true
etc-pki:
type: hostPath
hostPath: /etc/pki
hostPathType: DirectoryOrCreate
globalMounts:
- path: /etc/pki
readOnly: true
etc-ca-certificates:
type: hostPath
hostPath: /etc/ca-certificates
hostPathType: DirectoryOrCreate
globalMounts:
- path: /etc/ca-certificates
readOnly: true

View File

@@ -1,8 +0,0 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
# renovate: datasource=github-releases depName=rancher/system-upgrade-controller
- https://github.com/rancher/system-upgrade-controller/releases/download/v0.13.2/crd.yaml
- helmrelease.yaml
- rbac.yaml

View File

@@ -1,28 +0,0 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: system-upgrade
secrets:
- name: system-upgrade
---
apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:
name: system-upgrade
annotations:
kubernetes.io/service-account.name: system-upgrade
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: system-upgrade
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: system-upgrade
namespace: kube-system

View File

@@ -1,42 +0,0 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app system-upgrade-controller
namespace: flux-system
spec:
targetNamespace: kube-system
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/kube-system/system-upgrade-controller/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 system-upgrade-controller-plans
namespace: flux-system
spec:
targetNamespace: kube-system
commonMetadata:
labels:
app.kubernetes.io/name: *app
dependsOn:
- name: system-upgrade-controller
path: ./kubernetes/apps/kube-system/system-upgrade-controller/plans
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View File

@@ -1,18 +0,0 @@
---
apiVersion: upgrade.cattle.io/v1
kind: Plan
metadata:
name: agent
spec:
# renovate: datasource=github-releases depName=k3s-io/k3s
version: "v1.29.0+k3s1"
serviceAccountName: system-upgrade
concurrency: 1
nodeSelector:
matchExpressions:
- {key: node-role.kubernetes.io/control-plane, operator: DoesNotExist}
prepare:
image: rancher/k3s-upgrade
args: ["prepare", "server"]
upgrade:
image: rancher/k3s-upgrade

View File

@@ -1,6 +0,0 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./server.yaml
- ./agent.yaml

View File

@@ -1,23 +0,0 @@
---
apiVersion: upgrade.cattle.io/v1
kind: Plan
metadata:
name: server
spec:
# renovate: datasource=github-releases depName=k3s-io/k3s
version: "v1.29.0+k3s1"
serviceAccountName: system-upgrade
concurrency: 1
cordon: true
nodeSelector:
matchExpressions:
- {key: node-role.kubernetes.io/control-plane, operator: Exists}
tolerations:
- {effect: NoSchedule, operator: Exists}
- {effect: NoExecute, operator: Exists}
- {key: node-role.kubernetes.io/control-plane, effect: NoSchedule, operator: Exists}
- {key: node-role.kubernetes.io/master, effect: NoSchedule, operator: Exists}
- {key: node-role.kubernetes.io/etcd, effect: NoExecute, operator: Exists}
- {key: CriticalAddonsOnly, operator: Exists}
upgrade:
image: rancher/k3s-upgrade

View File

@@ -1,52 +0,0 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: weave-gitops
spec:
interval: 30m
chart:
spec:
chart: weave-gitops
version: 4.0.36
sourceRef:
kind: HelmRepository
name: weave-gitops
namespace: flux-system
maxHistory: 2
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
uninstall:
keepHistory: false
values:
adminUser:
create: true
createSecret: false
username: admin
ingress:
enabled: true
className: internal
annotations:
hajimari.io/icon: sawtooth-wave
hosts:
- host: &host "gitops.${SECRET_DOMAIN}"
paths:
- path: /
pathType: Prefix
tls:
- hosts:
- *host
networkPolicy:
create: false
metrics:
enabled: true
rbac:
create: true
impersonationResourceNames: ["admin"]
podAnnotations:
secret.reloader.stakater.com/reload: cluster-user-auth

View File

@@ -1,9 +0,0 @@
---
apiVersion: v1
kind: Secret
metadata:
name: cluster-user-auth
type: Opaque
stringData:
username: admin
password: "{{ weave_gitops.password | password_hash('bcrypt', rounds=10) }}"

View File

@@ -1,20 +0,0 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app weave-gitops
namespace: flux-system
spec:
targetNamespace: flux-system
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/flux-system/weave-gitops/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View File

@@ -1,8 +0,0 @@
skip_list:
- yaml[line-length]
- var-naming
warn_list:
- command-instead-of-shell
- deprecated-command-syntax
- experimental
- no-changed-when

View File

@@ -1,44 +0,0 @@
#jinja2: trim_blocks: True, lstrip_blocks: True
---
#
# Below vars are for the xanmanning.k3s role
# ...see https://github.com/PyratLabs/ansible-role-k3s
#
# renovate: datasource=github-releases depName=k3s-io/k3s
k3s_release_version: "v1.29.0+k3s1"
k3s_install_hard_links: true
k3s_become: true
{% if bootstrap_nodes.master | length > 1 %}
k3s_etcd_datastore: true
{% else %}
k3s_etcd_datastore: false
{% endif %}
k3s_registration_address: "{% raw %}{{ kube_vip_addr }}{% endraw %}"
k3s_server_manifests_urls:
{% if bootstrap_kube_vip_enabled | default(true) %}
# Kube-vip RBAC
- url: https://raw.githubusercontent.com/kube-vip/kube-vip/main/docs/manifests/rbac.yaml
filename: kube-vip-rbac.yaml
{% endif %}
# Essential Prometheus Operator CRDs (the rest are installed with the kube-prometheus-stack helm release)
- url: https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.70.0/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
filename: custom-prometheus-podmonitors.yaml
- url: https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.70.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
filename: custom-prometheus-prometheusrules.yaml
- url: https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.70.0/example/prometheus-operator-crd/monitoring.coreos.com_scrapeconfigs.yaml
filename: custom-prometheus-scrapeconfigs.yaml
- url: https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.70.0/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
filename: custom-prometheus-servicemonitors.yaml
# /var/lib/rancher/k3s/server/manifests
k3s_server_manifests_templates:
- custom-cilium-helmchart.yaml.j2
{% if not bootstrap_ipv6_enabled | default(false) %}
- custom-cilium-l2.yaml.j2
{% endif %}
- custom-coredns-helmchart.yaml.j2
{% if bootstrap_kube_vip_enabled | default(true) %}
# /var/lib/rancher/k3s/agent/pod-manifests
k3s_server_pod_manifests_templates:
- kube-vip-static-pod.yaml.j2
{% endif %}

View File

@@ -1,13 +0,0 @@
#jinja2: trim_blocks: True, lstrip_blocks: True
---
timezone: "{{ bootstrap_timezone }}"
github_username: "{{ bootstrap_github_username }}"
coredns_addr: "{{ bootstrap_service_cidr.split(',')[0] | ansible.utils.nthhost(10) }}"
kube_vip_addr: "{{ bootstrap_kube_vip_addr }}"
cluster_cidr: "{{ bootstrap_cluster_cidr.split(',')[0] }}"
service_cidr: "{{ bootstrap_service_cidr.split(',')[0] }}"
node_cidr: "{{ bootstrap_node_cidr }}"
{% if bootstrap_ipv6_enabled | default(false) %}
cluster_cidr_v6: "{{ bootstrap_cluster_cidr.split(',')[1] }}"
service_cidr_v6: "{{ bootstrap_service_cidr.split(',')[1] }}"
{% endif %}

View File

@@ -1,43 +0,0 @@
#jinja2: trim_blocks: True, lstrip_blocks: True
---
# https://rancher.com/docs/k3s/latest/en/installation/install-options/server-config/
# https://github.com/PyratLabs/ansible-role-k3s
k3s_control_node: true
k3s_server:
{% if bootstrap_ipv6_enabled | default(false) %}
node-ip: "{% raw %}{{ ansible_host }},{{ ansible_default_ipv6.address }}{% endraw %}"
{% else %}
node-ip: "{% raw %}{{ ansible_host }}{% endraw %}"
{% endif %}
tls-san:
- "{% raw %}{{ kube_vip_addr }}{% endraw %}"
docker: false
flannel-backend: "none" # This needs to be in quotes
disable:
- coredns # Disable coredns - replaced with Coredns Helm Chart
- flannel # Disable flannel - replaced with Cilium Helm Chart
- local-storage # Disable local-path-provisioner - replaced with democratic-csi
- metrics-server # Disable metrics-server - installed with Flux
- servicelb # Disable servicelb - replaced with Cilium Helm Chart
- traefik # Disable traefik - replaced with ingress-nginx and installed with Flux
disable-network-policy: true
disable-cloud-controller: true
disable-kube-proxy: true # Cilium uses eBPF
write-kubeconfig-mode: "644"
pause-image: registry.k8s.io/pause:3.9
secrets-encryption: true
{% if bootstrap_ipv6_enabled | default(false) %}
cluster-cidr: "{% raw %}{{ cluster_cidr }},{{ cluster_cidr_v6 }}{% endraw %}"
service-cidr: "{% raw %}{{ service_cidr }},{{ service_cidr_v6 }}{% endraw %}"
{% else %}
cluster-cidr: "{% raw %}{{ cluster_cidr }}{% endraw %}"
service-cidr: "{% raw %}{{ service_cidr }}{% endraw %}"
{% endif %}
etcd-expose-metrics: true # Required to monitor etcd with kube-prometheus-stack
kube-controller-manager-arg:
- "bind-address=0.0.0.0" # Required to monitor kube-controller-manager with kube-prometheus-stack
kube-scheduler-arg:
- "bind-address=0.0.0.0" # Required to monitor kube-scheduler with kube-prometheus-stack
kube-apiserver-arg:
- "anonymous-auth=true" # Required for HAProxy health-checks

View File

@@ -1,13 +0,0 @@
#jinja2: trim_blocks: True, lstrip_blocks: True
---
# https://rancher.com/docs/k3s/latest/en/installation/install-options/agent-config/
# https://github.com/PyratLabs/ansible-role-k3s
k3s_control_node: false
k3s_agent:
{% if bootstrap_ipv6_enabled | default(false) %}
node-ip: "{% raw %}{{ ansible_host }},{{ ansible_default_ipv6.address }}{% endraw %}"
{% else %}
node-ip: "{% raw %}{{ ansible_host }}{% endraw %}"
{% endif %}
pause-image: registry.k8s.io/pause:3.9

View File

@@ -1,28 +0,0 @@
#jinja2: trim_blocks: True, lstrip_blocks: True
---
kubernetes:
children:
master:
hosts:
{% for item in bootstrap_nodes.master %}
{{ item.name }}:
ansible_user: {{ item.username }}
{% if item.external_address is defined %}
ansible_host: {{ item.external_address }}
{% else %}
ansible_host: {{ item.address }}
{% endif %}
{% endfor %}
{% if bootstrap_nodes.worker | default([]) | length > 0 %}
worker:
hosts:
{% for item in bootstrap_nodes.worker %}
{{ item.name }}:
ansible_user: {{ item.username }}
{% if item.external_address is defined %}
ansible_host: {{ item.external_address }}
{% else %}
ansible_host: {{ item.address }}
{% endif %}
{% endfor %}
{% endif %}

View File

@@ -1,75 +0,0 @@
#jinja2: trim_blocks: True, lstrip_blocks: True
---
- name: Cluster Installation
hosts: kubernetes
become: true
gather_facts: true
any_errors_fatal: true
pre_tasks:
- name: Pausing for 5 seconds...
ansible.builtin.pause:
seconds: 5
tasks:
- name: Check if cluster is installed
check_mode: false
ansible.builtin.stat:
path: /etc/rancher/k3s/config.yaml
register: k3s_installed
- name: Ignore manifests templates and urls if the cluster is already installed
when: k3s_installed.stat.exists
ansible.builtin.set_fact:
k3s_server_manifests_templates: []
k3s_server_manifests_urls: []
- name: Install Kubernetes
ansible.builtin.include_role:
name: xanmanning.k3s
public: true
vars:
k3s_state: installed
- name: Kubeconfig
ansible.builtin.include_tasks: tasks/kubeconfig.yaml
- name: Wait for custom manifests to rollout
when:
- k3s_primary_control_node
- (k3s_server_manifests_templates | length > 0
or k3s_server_manifests_urls | length > 0)
kubernetes.core.k8s_info:
kubeconfig: /etc/rancher/k3s/k3s.yaml
kind: "{% raw %}{{ item.kind }}{% endraw %}"
name: "{% raw %}{{ item.name }}{% endraw %}"
namespace: "{% raw %}{{ item.namespace | default('') }}{% endraw %}"
wait: true
wait_sleep: 10
wait_timeout: 360
loop:
- { name: cilium, kind: HelmChart, namespace: kube-system }
- { name: coredns, kind: HelmChart, namespace: kube-system }
{% if not bootstrap_ipv6_enabled | default(false) %}
- { name: policy, kind: CiliumL2AnnouncementPolicy }
- { name: pool, kind: CiliumLoadBalancerIPPool }
{% endif %}
- { name: podmonitors.monitoring.coreos.com, kind: CustomResourceDefinition }
- { name: prometheusrules.monitoring.coreos.com, kind: CustomResourceDefinition }
- { name: scrapeconfigs.monitoring.coreos.com, kind: CustomResourceDefinition }
- { name: servicemonitors.monitoring.coreos.com, kind: CustomResourceDefinition }
- name: Coredns
when: k3s_primary_control_node
ansible.builtin.include_tasks: tasks/coredns.yaml
- name: Cilium
when: k3s_primary_control_node
ansible.builtin.include_tasks: tasks/cilium.yaml
- name: Cruft
when: k3s_primary_control_node
ansible.builtin.include_tasks: tasks/cruft.yaml
- name: Stale Containers
ansible.builtin.include_tasks: tasks/stale_containers.yaml
vars:
stale_containers_state: enabled

View File

@@ -1,24 +0,0 @@
---
- name: Cluster kube-vip
hosts: master
serial: 1
become: true
gather_facts: true
any_errors_fatal: true
pre_tasks:
- name: Pausing for 5 seconds...
ansible.builtin.pause:
seconds: 5
tasks:
- name: Ensure Kubernetes is running
ansible.builtin.include_role:
name: xanmanning.k3s
public: true
vars:
k3s_state: started
- name: Upgrade kube-vip
ansible.builtin.template:
src: templates/kube-vip-static-pod.yaml.j2
dest: "{% raw %}{{ k3s_server_pod_manifests_dir }}{% endraw %}/kube-vip-static-pod.yaml"
mode: preserve

View File

@@ -1,73 +0,0 @@
---
- name: Cluster Nuke
hosts: kubernetes
become: true
gather_facts: true
any_errors_fatal: true
vars_prompt:
- name: nuke
prompt: |-
Are you sure you want to nuke this cluster?
Type 'YES I WANT TO DESTROY THIS CLUSTER' to proceed
default: "n"
private: false
pre_tasks:
- name: Check for confirmation
ansible.builtin.fail:
msg: Aborted nuking the cluster
when: nuke != 'YES I WANT TO DESTROY THIS CLUSTER'
- name: Pausing for 5 seconds...
ansible.builtin.pause:
seconds: 5
tasks:
- name: Stop Kubernetes # noqa: ignore-errors
ignore_errors: true
block:
- name: Stop Kubernetes
ansible.builtin.include_role:
name: xanmanning.k3s
public: true
vars:
k3s_state: stopped
# https://github.com/k3s-io/docs/blob/main/docs/installation/network-options.md
- name: Networking
block:
- name: Networking | Delete Cilium links
ansible.builtin.command:
cmd: "ip link delete {% raw %}{{ item }}{% endraw %}"
removes: "/sys/class/net/{% raw %}{{ item }}{% endraw %}"
loop: ["cilium_host", "cilium_net", "cilium_vxlan"]
- name: Networking | Flush iptables
ansible.builtin.iptables:
table: "{% raw %}{{ item }}{% endraw %}"
flush: true
loop: ["filter", "nat", "mangle", "raw"]
- name: Networking | Flush ip6tables
ansible.builtin.iptables:
table: "{% raw %}{{ item }}{% endraw %}"
flush: true
ip_version: ipv6
loop: ["filter", "nat", "mangle", "raw"]
- name: Networking | Delete CNI directory
ansible.builtin.file:
path: /etc/cni/net.d
state: absent
- name: Uninstall Kubernetes
ansible.builtin.include_role:
name: xanmanning.k3s
public: true
vars:
k3s_state: uninstalled
- name: Stale Containers
ansible.builtin.include_tasks: tasks/stale_containers.yaml
vars:
stale_containers_state: disabled
- name: Reboot
ansible.builtin.reboot:
msg: Rebooting nodes
reboot_timeout: 3600

View File

@@ -1,132 +0,0 @@
---
- name: Prepare System
hosts: kubernetes
become: true
gather_facts: true
any_errors_fatal: true
pre_tasks:
- name: Pausing for 5 seconds...
ansible.builtin.pause:
seconds: 5
- name: Populate service facts
ansible.builtin.service_facts:
tasks:
- name: Locale
block:
- name: Locale | Set timezone
community.general.timezone:
name: "{% raw %}{{ timezone | default('Etc/UTC') }}{% endraw %}"
- name: Packages
block:
- name: Packages | Install
ansible.builtin.apt:
name: apt-transport-https,ca-certificates,conntrack,curl,dirmngr,gdisk,gnupg,hdparm,htop,
iptables,iputils-ping,ipvsadm,libseccomp2,lm-sensors,neofetch,net-tools,nfs-common,
nvme-cli,open-iscsi,parted,psmisc,python3,python3-apt,python3-kubernetes,python3-yaml,
smartmontools,socat,software-properties-common,unzip,util-linux
install_recommends: false
- name: User Configuration
block:
- name: User Configuration | SSH keys
ansible.posix.authorized_key:
user: "{% raw %}{{ ansible_user }}{% endraw %}"
key: "https://github.com/{% raw %}{{ github_username }}{% endraw %}.keys"
- name: User Configuration | Silence login
ansible.builtin.file:
dest: "{% raw %}{{ '/home/' + ansible_user if ansible_user != 'root' else '/root' }}{% endraw %}/.hushlogin"
state: touch
owner: "{% raw %}{{ ansible_user }}{% endraw %}"
group: "{% raw %}{{ ansible_user }}{% endraw %}"
mode: "0644"
modification_time: preserve
access_time: preserve
- name: Network Configuration
notify: Reboot
block:
- name: Network Configuration | Set hostname
ansible.builtin.hostname:
name: "{% raw %}{{ inventory_hostname }}{% endraw %}"
- name: Network Configuration | Update hosts
ansible.builtin.copy:
content: |
127.0.0.1 localhost
127.0.1.1 {% raw %}{{ inventory_hostname }}{% endraw %}
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
dest: /etc/hosts
mode: preserve
# https://github.com/onedr0p/flux-cluster-template/discussions/635
- name: Network Configuration | Remove immutable flag from /etc/resolv.conf
ansible.builtin.file:
attributes: -i
path: /etc/resolv.conf
- name: Network Configuration | Remove /etc/resolv.conf
ansible.builtin.file:
attributes: -i
path: /etc/resolv.conf
state: absent
- name: Network Configuration | Add custom /etc/resolv.conf
ansible.builtin.copy:
attributes: +i
mode: '0644'
dest: /etc/resolv.conf
content: |
search .
nameserver 1.1.1.1
- name: System Configuration
notify: Reboot
block:
- name: System Configuration | Neofetch
ansible.builtin.copy:
dest: /etc/profile.d/neofetch.sh
mode: "0755"
content: neofetch --config none
- name: System Configuration | Disable apparmor
when: ansible_facts.services['apparmor.service'] is defined
ansible.builtin.systemd:
name: apparmor
state: stopped
masked: true
- name: System Configuration | Disable swap
ansible.posix.mount:
name: "{% raw %}{{ item }}{% endraw %}"
fstype: swap
state: absent
loop: ["none", "swap"]
- name: System Configuration | Create Kernel modules
ansible.builtin.copy:
dest: "/etc/modules-load.d/{% raw %}{{ item }}{% endraw %}.conf"
mode: "0644"
content: "{% raw %}{{ item }}{% endraw %}"
loop: ["br_netfilter", "ceph", "ip_vs", "ip_vs_rr", "nbd", "overlay", "rbd"]
register: modules_status
- name: System Configuration | Reload Kernel modules # noqa: no-changed-when no-handler
when: modules_status.changed
ansible.builtin.systemd:
name: systemd-modules-load
state: restarted
- name: System Configuration | Sysctl
ansible.posix.sysctl:
name: "{% raw %}{{ item.key }}{% endraw %}"
value: "{% raw %}{{ item.value }}{% endraw %}"
sysctl_file: /etc/sysctl.d/99-kubernetes.conf
reload: true
with_dict: "{% raw %}{{ sysctl_config }}{% endraw %}"
vars:
sysctl_config:
fs.inotify.max_queued_events: 65536
fs.inotify.max_user_watches: 524288
fs.inotify.max_user_instances: 8192
handlers:
- name: Reboot
ansible.builtin.reboot:
msg: Rebooting nodes
reboot_timeout: 3600

View File

@@ -1,15 +0,0 @@
---
- name: Reboot
hosts: kubernetes
become: true
gather_facts: true
any_errors_fatal: true
pre_tasks:
- name: Pausing for 5 seconds...
ansible.builtin.pause:
seconds: 5
tasks:
- name: Reboot
ansible.builtin.reboot:
msg: Rebooting nodes
reboot_timeout: 3600

View File

@@ -1,72 +0,0 @@
---
# https://github.com/kevincoakley/ansible-role-k8s-rolling-update
- name: Cluster rollout update
hosts: kubernetes
become: true
gather_facts: true
any_errors_fatal: true
serial: 1
pre_tasks:
- name: Pausing for 5 seconds...
ansible.builtin.pause:
seconds: 5
tasks:
- name: Details
ansible.builtin.command: "kubectl get node {% raw %}{{ inventory_hostname }}{% endraw %} -o json"
register: kubectl_get_node
delegate_to: "{% raw %}{{ groups['master'][0] }}{% endraw %}"
failed_when: false
changed_when: false
- name: Update
when:
# When status.conditions[x].type == Ready then check stats.conditions[x].status for True|False
- kubectl_get_node['stdout'] | from_json | json_query("status.conditions[?type == 'Ready'].status")
# If spec.unschedulable is defined then the node is cordoned
- not (kubectl_get_node['stdout'] | from_json).spec.unschedulable is defined
block:
- name: Cordon
kubernetes.core.k8s_drain:
name: "{% raw %}{{ inventory_hostname }}{% endraw %}"
kubeconfig: /etc/rancher/k3s/k3s.yaml
state: cordon
delegate_to: "{% raw %}{{ groups['master'][0] }}{% endraw %}"
- name: Drain
kubernetes.core.k8s_drain:
name: "{% raw %}{{ inventory_hostname }}{% endraw %}"
kubeconfig: /etc/rancher/k3s/k3s.yaml
state: drain
delete_options:
delete_emptydir_data: true
ignore_daemonsets: true
terminate_grace_period: 600
wait_timeout: 900
pod_selectors:
# Rook Ceph
- app!=rook-ceph-osd
delegate_to: "{% raw %}{{ groups['master'][0] }}{% endraw %}"
- name: Update
ansible.builtin.apt:
upgrade: dist
update_cache: true
- name: Check if reboot is required
ansible.builtin.stat:
path: /var/run/reboot-required
register: reboot_required
- name: Reboot
when: reboot_required.stat.exists
ansible.builtin.reboot:
msg: Rebooting node
post_reboot_delay: 60
reboot_timeout: 3600
- name: Uncordon
kubernetes.core.k8s_drain:
name: "{% raw %}{{ inventory_hostname }}{% endraw %}"
kubeconfig: /etc/rancher/k3s/k3s.yaml
state: uncordon
delegate_to: "{% raw %}{{ groups['master'][0] }}{% endraw %}"

Some files were not shown because too many files have changed in this diff Show More