86 Commits

Author SHA1 Message Date
dc106c1773 Update php Docker tag to v8.5.0
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
lint-test-helm / lint-helm (pull_request) Successful in 17s
2025-12-05 21:32:38 +00:00
2a927d7b67 Update kube-prometheus-stack Docker tag to v79.12.0 (#2272)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 12s
renovate / renovate (push) Successful in 1m35s
2025-12-05 21:31:08 +00:00
06f50abf6d add space
All checks were successful
renovate / renovate (push) Successful in 1m22s
2025-12-05 15:12:23 -06:00
400f9d56c7 update list
All checks were successful
renovate / renovate (push) Successful in 1m1s
2025-12-05 15:10:23 -06:00
2cf3152190 Update Helm release app-template to v4.5.0 (#2270)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 16s
renovate / renovate (push) Successful in 1m5s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [app-template](https://github.com/bjw-s-labs/helm-charts) | minor | `4.4.0` -> `4.5.0` |

---

### Release Notes

<details>
<summary>bjw-s-labs/helm-charts (app-template)</summary>

### [`v4.5.0`](https://github.com/bjw-s-labs/helm-charts/releases/tag/app-template-4.5.0)

[Compare Source](https://github.com/bjw-s-labs/helm-charts/compare/app-template-4.4.0...app-template-4.5.0)

##### Changelog:

##### Changed

- Upgraded the common library to v4.5.0
  - [Upgrade notes](https://bjw-s-labs.github.io/helm-charts/docs/app-template/upgrade-instructions/)
  - [Detailed release notes](https://github.com/bjw-s-labs/helm-charts/releases/tag/common-4.5.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41LjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi41LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImNoYXJ0Il19-->

Reviewed-on: #2270
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-05 21:07:08 +00:00
e12d02e6b2 Update searxng/searxng:latest Docker digest to b40d6e5 (#2268)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 18s
renovate / renovate (push) Successful in 1m36s
2025-12-05 15:01:48 +00:00
a21929dc22 Update searxng/searxng:latest Docker digest to 94b01c3 (#2266)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 12s
renovate / renovate (push) Successful in 1m37s
2025-12-05 12:02:17 +00:00
4e9e670884 Update searxng/searxng:latest Docker digest to 84b86ac (#2264)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 12s
renovate / renovate (push) Successful in 2m7s
2025-12-05 11:02:08 +00:00
a610b94341 use number
All checks were successful
renovate / renovate (push) Successful in 1m56s
2025-12-04 22:10:51 -06:00
9603a78e72 Update Helm release argo-cd to v9.1.6 (#2261)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 26s
renovate / renovate (push) Successful in 1m10s
2025-12-05 04:03:04 +00:00
cb5f91ee53 fix path
All checks were successful
renovate / renovate (push) Successful in 2m52s
2025-12-04 16:05:35 -06:00
0c5775edd3 enable sync
All checks were successful
lint-test-helm / lint-helm (push) Successful in 35s
render-manifests-push / render-manifests-push (push) Successful in 44s
renovate / renovate (push) Successful in 1m33s
2025-12-04 15:59:57 -06:00
4353cc223d change sync policy
Some checks failed
renovate / renovate (push) Failing after 2s
lint-test-helm / lint-helm (push) Successful in 11s
render-manifests-push / render-manifests-push (push) Successful in 18s
2025-12-04 15:20:31 -06:00
e81188c472 change merge payload
All checks were successful
renovate / renovate (push) Successful in 1m47s
2025-12-04 14:52:14 -06:00
f34b836906 change check 2025-12-04 14:49:37 -06:00
3012504e96 change debug
All checks were successful
renovate / renovate (push) Successful in 1m7s
2025-12-04 11:48:12 -06:00
98f4d3f7a2 change debug
All checks were successful
renovate / renovate (push) Successful in 1m25s
2025-12-04 10:52:10 -06:00
133571e782 Update searxng/searxng:latest Docker digest to 5cf43ee (#2255)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 10s
renovate / renovate (push) Successful in 1m30s
2025-12-04 15:03:43 +00:00
3ff0ce30a1 Update searxng/searxng:latest Docker digest to 4ca0a66 (#2253)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 17s
renovate / renovate (push) Successful in 3m33s
2025-12-04 14:01:34 +00:00
77860fa57e Update ghcr.io/linuxserver/qbittorrent:5.1.4 Docker digest to f0465db (#2251)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 12s
renovate / renovate (push) Successful in 1m24s
2025-12-04 11:01:29 +00:00
86274c05db Update searxng/searxng:latest Docker digest to 67c90fe (#2249)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 16s
renovate / renovate (push) Successful in 1m15s
2025-12-04 08:01:49 +00:00
1af50a6d28 Update searxng/searxng:latest Docker digest to df9a8b9 (#2247)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 18s
renovate / renovate (push) Successful in 1m30s
2025-12-04 06:33:10 +00:00
e0acf00a9c change debug
Some checks failed
renovate / renovate (push) Has been cancelled
2025-12-04 00:31:56 -06:00
0d2749dcb5 debug check
All checks were successful
renovate / renovate (push) Successful in 53s
2025-12-04 00:16:26 -06:00
833611ea34 match rendering script
All checks were successful
renovate / renovate (push) Successful in 50s
2025-12-03 23:58:11 -06:00
f21768c353 consilidate and separate out formatting
Some checks failed
renovate / renovate (push) Has been cancelled
2025-12-03 23:57:28 -06:00
86b96d05d7 force extension
All checks were successful
renovate / renovate (push) Successful in 3m8s
2025-12-03 23:23:37 -06:00
4d3fe1c8dc fix variable
All checks were successful
renovate / renovate (push) Successful in 59s
2025-12-03 22:44:51 -06:00
51ab65a9c2 add debugging
All checks were successful
renovate / renovate (push) Successful in 1m13s
2025-12-03 22:20:57 -06:00
886bc214f9 update all rendering
All checks were successful
renovate / renovate (push) Successful in 1m13s
2025-12-03 22:11:02 -06:00
ca1818f663 fix logging
Some checks failed
renovate / renovate (push) Has been cancelled
2025-12-03 22:10:12 -06:00
dd5d7eeeb3 use yq to split templates
All checks were successful
renovate / renovate (push) Successful in 1m3s
2025-12-03 22:07:22 -06:00
372a284c77 fix grep
All checks were successful
renovate / renovate (push) Successful in 2m4s
2025-12-03 21:46:38 -06:00
45d5050935 run command
All checks were successful
renovate / renovate (push) Successful in 1m20s
2025-12-03 21:29:42 -06:00
d56391cb2b merge workflows
All checks were successful
renovate / renovate (push) Successful in 1m19s
2025-12-03 21:24:48 -06:00
90b8c27da7 change diff command 2025-12-03 21:24:38 -06:00
f5c688edd8 handle events
All checks were successful
renovate / renovate (push) Successful in 59s
2025-12-03 21:10:44 -06:00
2f5a1c5982 merge
All checks were successful
renovate / renovate (push) Successful in 1m17s
2025-12-03 20:55:20 -06:00
99ada247bd merge test
All checks were successful
renovate / renovate (push) Successful in 1m41s
2025-12-03 20:53:34 -06:00
f6017099fc update linting workflows
All checks were successful
renovate / renovate (push) Successful in 50s
2025-12-03 19:49:32 -06:00
58c418a05e fix payload
All checks were successful
renovate / renovate (push) Successful in 59s
2025-12-03 19:03:33 -06:00
3bf8985505 Update Helm release argo-events to v2.4.18 (#2243)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / helm-lint (push) Successful in 11s
renovate / renovate (push) Successful in 1m13s
2025-12-04 01:01:34 +00:00
02f6057f34 Update ghcr.io/n8n-io/n8n Docker tag to v1.123.1 (#2240)
Some checks failed
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / helm-lint (push) Successful in 9s
renovate / renovate (push) Has been cancelled
2025-12-04 01:00:48 +00:00
00671531e8 Update ghcr.io/karakeep-app/karakeep Docker tag to v0.29.1 (#2239)
Some checks failed
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / helm-lint (push) Successful in 13s
renovate / renovate (push) Has been cancelled
2025-12-04 01:00:23 +00:00
05f50f09aa change dir handling
All checks were successful
renovate / renovate (push) Successful in 1m47s
2025-12-03 18:45:21 -06:00
0d0795680e change dir handling
All checks were successful
renovate / renovate (push) Successful in 1m30s
2025-12-03 18:34:18 -06:00
bb1e86a9ce Update postgres-cluster Docker tag to v6.16.1 (#2237)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / helm-lint (push) Successful in 10s
renovate / renovate (push) Successful in 2m0s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [postgres-cluster](https://github.com/cloudnative-pg/cloudnative-pg) | patch | `6.16.0` -> `6.16.1` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41LjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi41LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImF1dG9tZXJnZSIsImltYWdlIl19-->

Reviewed-on: #2237
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-04 00:28:30 +00:00
4d7fcdc324 fix json
All checks were successful
renovate / renovate (push) Successful in 7m46s
2025-12-03 17:54:15 -06:00
652b77ae24 Update Helm release meilisearch to v0.17.2 (#2236)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / helm-lint (push) Successful in 59s
renovate / renovate (push) Successful in 6m24s
2025-12-03 23:42:38 +00:00
0702e0b916 Update Helm release element-web to v1.4.26 (#2234)
Some checks failed
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / helm-lint (push) Successful in 8s
renovate / renovate (push) Has been cancelled
2025-12-03 23:41:33 +00:00
07d466a2a0 Update alpine Docker tag to v3.23.0 (#2231)
All checks were successful
lint-test-helm / helm-lint (push) Successful in 10s
render-manifests-push / render-manifests-push (push) Has been skipped
renovate / renovate (push) Successful in 1m44s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| alpine | minor | `3.22.2` -> `3.23.0` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41LjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi41LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImltYWdlIl19-->

Reviewed-on: #2231
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-03 23:37:27 +00:00
961c0e82f9 Update ghcr.io/actualbudget/actual Docker tag to v25.12.0 (#2233)
All checks were successful
renovate / renovate (push) Successful in 1m27s
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / helm-lint (push) Successful in 9s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| ghcr.io/actualbudget/actual | minor | `25.11.0` -> `25.12.0` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41LjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi41LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImltYWdlIl19-->

Reviewed-on: #2233
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-03 23:34:47 +00:00
8717b477ce fix id
Some checks failed
renovate / renovate (push) Has been cancelled
2025-12-03 17:33:49 -06:00
fe89b91887 fix name
Some checks failed
renovate / renovate (push) Has been cancelled
2025-12-03 17:32:16 -06:00
9f4677404c Update vectorim/element-web Docker tag to v1.12.6 (#2230)
Some checks failed
render-manifests-push / render-manifests-push (push) Has been cancelled
renovate / renovate (push) Has been cancelled
lint-test-helm / helm-lint (push) Successful in 14s
2025-12-03 23:30:27 +00:00
f03d5481f9 fix name
Some checks failed
renovate / renovate (push) Has been cancelled
2025-12-03 17:28:55 -06:00
b40e5ce745 Update mirror.gcr.io/aquasec/trivy Docker tag to v0.68.1 (#2228)
Some checks failed
lint-test-helm / helm-lint (push) Successful in 8s
render-manifests-push / render-manifests-push (push) Has been cancelled
renovate / renovate (push) Successful in 54s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [mirror.gcr.io/aquasec/trivy](https://www.aquasec.com/products/trivy/) ([source](https://github.com/aquasecurity/trivy)) | minor | `0.67.2` -> `0.68.1` |

---

### Release Notes

<details>
<summary>aquasecurity/trivy (mirror.gcr.io/aquasec/trivy)</summary>

### [`v0.68.1`](https://github.com/aquasecurity/trivy/blob/HEAD/CHANGELOG.md#0681-2025-12-03)

[Compare Source](https://github.com/aquasecurity/trivy/compare/v0.67.2...v0.68.1)

##### Bug Fixes

- update cosing settings for GoReleaser after bumping cosing to v3 ([#&#8203;9863](https://github.com/aquasecurity/trivy/issues/9863)) ([c7accc8](c7accc85c6))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41LjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi41LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImltYWdlIl19-->

Reviewed-on: #2228
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-03 23:26:20 +00:00
7afc9cad58 fix name
Some checks failed
renovate / renovate (push) Has been cancelled
2025-12-03 17:26:09 -06:00
e4d95b0beb Update ghcr.io/home-assistant/home-assistant Docker tag to v2025.12.0 (#2226)
Some checks failed
renovate / renovate (push) Failing after 3s
lint-test-helm / helm-lint (push) Successful in 8s
render-manifests-push / render-manifests-push (push) Successful in 23s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/home-assistant/home-assistant](https://www.home-assistant.io/) ([source](https://github.com/home-assistant/core)) | minor | `2025.11.3` -> `2025.12.0` |

---

### Release Notes

<details>
<summary>home-assistant/core (ghcr.io/home-assistant/home-assistant)</summary>

### [`v2025.12.0`](https://github.com/home-assistant/core/releases/tag/2025.12.0)

[Compare Source](https://github.com/home-assistant/core/compare/2025.11.3...2025.12.0)

<https://www.home-assistant.io/blog/2025/12/03/release-202512/>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41LjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi41LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImltYWdlIl19-->

Reviewed-on: #2226
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-03 23:24:42 +00:00
1469d0ee07 run on pushes not authrored by renovate
Some checks failed
renovate / renovate (push) Has been cancelled
2025-12-03 17:23:59 -06:00
bb7a17a51b Update ghcr.io/unpoller/unpoller Docker tag to v2.16.0 (#2227)
All checks were successful
lint-test-helm / helm-lint (push) Successful in 18s
render-manifests-push / render-manifests-push (push) Successful in 36s
renovate / renovate (push) Successful in 2m54s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/unpoller/unpoller](https://github.com/unpoller/unpoller) | minor | `v2.15.4` -> `v2.16.0` |

---

### Release Notes

<details>
<summary>unpoller/unpoller (ghcr.io/unpoller/unpoller)</summary>

### [`v2.16.0`](https://github.com/unpoller/unpoller/releases/tag/v2.16.0)

[Compare Source](https://github.com/unpoller/unpoller/compare/v2.15.4...v2.16.0)

#### Changelog

- [`ef677c8`](ef677c8f74) Merge pull request [#&#8203;887](https://github.com/unpoller/unpoller/issues/887) from unpoller/dependabot/go\_modules/all-2743cc9a87
- [`7e2fb01`](7e2fb0135e) fix dd client interface change, update deprecated context lib in influxdb
- [`14b747c`](14b747cb1a) Bump the all group across 1 directory with 5 updates
- [`647b3c0`](647b3c0aea) Merge pull request [#&#8203;888](https://github.com/unpoller/unpoller/issues/888) from unpoller/dependabot/github\_actions/all-14cb627f6c
- [`c778dde`](c778ddea43) fix verify
- [`6f4384c`](6f4384c18d) fix linting
- [`bc37996`](bc37996775) Bump the all group with 2 updates
- [`944ce85`](944ce85477) make dependabot group updates
- [`814c173`](814c173dfa) Merge pull request [#&#8203;883](https://github.com/unpoller/unpoller/issues/883) from unpoller/dependabot/go\_modules/golang.org/x/crypto-0.43.0
- [`91d8eb3`](91d8eb3b89) Bump golang.org/x/crypto from 0.42.0 to 0.43.0
- [`2e51248`](2e512480d4) Merge pull request [#&#8203;872](https://github.com/unpoller/unpoller/issues/872) from unpoller/dependabot/go\_modules/golang.org/x/net-0.44.0
- [`8fb3cb2`](8fb3cb2780) Merge pull request [#&#8203;867](https://github.com/unpoller/unpoller/issues/867) from unpoller/dependabot/go\_modules/github.com/prometheus/client\_golang-1.23.2
- [`5b8d151`](5b8d1516eb) Merge pull request [#&#8203;877](https://github.com/unpoller/unpoller/issues/877) from unpoller/dependabot/github\_actions/docker/login-action-3.6.0
- [`29f9cb5`](29f9cb500c) Bump golang.org/x/net from 0.43.0 to 0.44.0
- [`b73e918`](b73e9181d5) Bump github.com/prometheus/client\_golang from 1.23.0 to 1.23.2
- [`038234b`](038234ba58) Bump docker/login-action from 3.5.0 to 3.6.0
- [`003bdd7`](003bdd7948) Merge pull request [#&#8203;868](https://github.com/unpoller/unpoller/issues/868) from unpoller/dependabot/go\_modules/github.com/prometheus/common-0.66.1
- [`bf68df4`](bf68df44f2) Merge pull request [#&#8203;869](https://github.com/unpoller/unpoller/issues/869) from unpoller/dependabot/github\_actions/actions/setup-go-6
- [`98c9335`](98c93359b1) Merge pull request [#&#8203;870](https://github.com/unpoller/unpoller/issues/870) from unpoller/dependabot/github\_actions/actions/stale-10
- [`d0b5998`](d0b5998829) Merge pull request [#&#8203;876](https://github.com/unpoller/unpoller/issues/876) from unpoller/dependabot/github\_actions/peter-evans/dockerhub-description-5
- [`428f72e`](428f72e256) Bump peter-evans/dockerhub-description from 4 to 5
- [`4d5a89d`](4d5a89d124) Bump actions/stale from 9 to 10
- [`2cf4879`](2cf48797ae) Bump actions/setup-go from 5 to 6
- [`64416a9`](64416a9f8d) Bump github.com/prometheus/common from 0.65.0 to 0.66.1
- [`330e4a4`](330e4a4b0b) Merge pull request [#&#8203;866](https://github.com/unpoller/unpoller/issues/866) from unpoller/dependabot/go\_modules/github.com/spf13/pflag-1.0.8
- [`b976b32`](b976b32aad) Bump github.com/spf13/pflag from 1.0.7 to 1.0.8
- [`98ef73c`](98ef73c597) Merge pull request [#&#8203;865](https://github.com/unpoller/unpoller/issues/865) from unpoller/dependabot/go\_modules/github.com/stretchr/testify-1.11.1
- [`a8ccbba`](a8ccbbaeb3) Bump github.com/stretchr/testify from 1.11.0 to 1.11.1
- [`dd50960`](dd50960ab8) Merge pull request [#&#8203;863](https://github.com/unpoller/unpoller/issues/863) from unpoller/dependabot/go\_modules/github.com/stretchr/testify-1.11.0
- [`5ea181f`](5ea181f5f8) Bump github.com/stretchr/testify from 1.10.0 to 1.11.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41LjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi41LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImltYWdlIl19-->

Reviewed-on: #2227
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-03 23:11:16 +00:00
0a63769b9a fix
All checks were successful
renovate / renovate (push) Successful in 1m13s
2025-12-03 17:05:36 -06:00
a6f46bb1a7 Update ghcr.io/booklore-app/booklore Docker tag to v1.13.1 (#2212)
Some checks failed
renovate / renovate (push) Has been cancelled
render-manifests-push / render-manifests-push (push) Failing after 17s
lint-test-helm / helm-lint (push) Successful in 1m23s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/booklore-app/booklore](https://github.com/booklore-app/booklore) | minor | `v1.12.0` -> `v1.13.1` |

---

### Release Notes

<details>
<summary>booklore-app/booklore (ghcr.io/booklore-app/booklore)</summary>

### [`v1.13.1`](https://github.com/booklore-app/booklore/releases/tag/v1.13.1)

[Compare Source](https://github.com/booklore-app/booklore/compare/v1.13.0...v1.13.1)

#### 🌟 What's New in v1.13.1

#### 🐛 Bug Fixes

- Fix: Missing close button from dialogue window ([#&#8203;1717](https://github.com/booklore-app/booklore/issues/1717)) by [@&#8203;adityachandelgit](https://github.com/adityachandelgit)
- Fix: Date filter doesn't work very well ([#&#8203;1715](https://github.com/booklore-app/booklore/issues/1715)) by [@&#8203;adityachandelgit](https://github.com/adityachandelgit)
- Fix dev docker environment ([#&#8203;1713](https://github.com/booklore-app/booklore/issues/1713)) by [@&#8203;Muppetteer](https://github.com/Muppetteer)

##### 🐳 Docker Images

- **Docker Hub:** `booklore/booklore:v1.13.1`
- **GitHub Container Registry:** `ghcr.io/booklore-app/booklore:v1.13.1`

**Full Changelog**: <https://github.com/booklore-app/booklore/compare/v1.13.0...v1.13.1>

### [`v1.13.0`](https://github.com/booklore-app/booklore/releases/tag/v1.13.0)

[Compare Source](https://github.com/booklore-app/booklore/compare/v1.12.0...v1.13.0)

#### 🌟 What's New in v1.13.0

#### 🚀 New Features

- Feature: Add EPUB conversion support for CBX files to Kobo Sync ([#&#8203;1538](https://github.com/booklore-app/booklore/issues/1538)) by [@&#8203;CounterClops](https://github.com/CounterClops)
- Feat: Improve kobo reading state sync logic for better bidirectional support ([#&#8203;1644](https://github.com/booklore-app/booklore/issues/1644)) by [@&#8203;CounterClops](https://github.com/CounterClops)
- Enable jumping to filters by clicking page count, file size, or match… ([#&#8203;1685](https://github.com/booklore-app/booklore/issues/1685)) by [@&#8203;adityachandelgit](https://github.com/adityachandelgit)
- Improve computed filter label logic for cleaner and more readable sum… ([#&#8203;1684](https://github.com/booklore-app/booklore/issues/1684)) by [@&#8203;adityachandelgit](https://github.com/adityachandelgit)
- Expose Magic Shelves through the OPDS feed so clients can access them ([#&#8203;1683](https://github.com/booklore-app/booklore/issues/1683)) by [@&#8203;adityachandelgit](https://github.com/adityachandelgit)
- Add single select filter mode ([#&#8203;1671](https://github.com/booklore-app/booklore/issues/1671)) by [@&#8203;Muppetteer](https://github.com/Muppetteer)
- Enable navigation by library, year, language, file type, and read sta… ([#&#8203;1672](https://github.com/booklore-app/booklore/issues/1672)) by [@&#8203;adityachandelgit](https://github.com/adityachandelgit)

####  Enhancements

- Maintain book selections when switching between table and grid views ([#&#8203;1651](https://github.com/booklore-app/booklore/issues/1651)) by [@&#8203;Muppetteer](https://github.com/Muppetteer)
- Feature: Keep track of applied filters in URL query string ([#&#8203;1654](https://github.com/booklore-app/booklore/issues/1654)) by [@&#8203;Muppetteer](https://github.com/Muppetteer)
- fix(bookdrop): Ensure source file is only deleted after successful import and cleanup target on failure ([#&#8203;1638](https://github.com/booklore-app/booklore/issues/1638)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)
- Add option to force hyphenation in KEPUB ([#&#8203;1656](https://github.com/booklore-app/booklore/issues/1656)) by [@&#8203;beedaddy](https://github.com/beedaddy)

#### 🐛 Bug Fixes

- fix(pdf): handle out-of-memory errors gracefully during cover generation and limit image size to prevent OOM ([#&#8203;1680](https://github.com/booklore-app/booklore/issues/1680)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)
- Add actual language to Kobo metadata ([#&#8203;1682](https://github.com/booklore-app/booklore/issues/1682)) by [@&#8203;beedaddy](https://github.com/beedaddy)
- Fix: Prevent sorting prefs select options from overflowing container ([#&#8203;1673](https://github.com/booklore-app/booklore/issues/1673)) by [@&#8203;Muppetteer](https://github.com/Muppetteer)
- Fix issue with “unset” read status handling ([#&#8203;1669](https://github.com/booklore-app/booklore/issues/1669)) by [@&#8203;adityachandelgit](https://github.com/adityachandelgit)
- Fix unique file constraint to allow identical filenames in different sub-paths ([#&#8203;1668](https://github.com/booklore-app/booklore/issues/1668)) by [@&#8203;adityachandelgit](https://github.com/adityachandelgit)
- fix(upload): implemented byte-aware path truncation to prevent filesystem errors on long metadata ([#&#8203;1655](https://github.com/booklore-app/booklore/issues/1655)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)
- Add author + series sort option to view settings ([#&#8203;1652](https://github.com/booklore-app/booklore/issues/1652)) by [@&#8203;Muppetteer](https://github.com/Muppetteer)

#### 🛠️ Refactoring & Maintenance

- refactor(exception): modernize exception handling and method signatures across services and controllers ([#&#8203;1670](https://github.com/booklore-app/booklore/issues/1670)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)
- refactor(api): Add BufferedImage resource cleanup to prevent native memory leaks ([#&#8203;1688](https://github.com/booklore-app/booklore/issues/1688)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)
- More single select filters ([#&#8203;1678](https://github.com/booklore-app/booklore/issues/1678)) by [@&#8203;Muppetteer](https://github.com/Muppetteer)
- feat(test-utils): Add comprehensive test coverage for FileService and MetadataChangeDetector ([#&#8203;1658](https://github.com/booklore-app/booklore/issues/1658)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)
- feat(api): add [@&#8203;Builder](https://github.com/Builder).Default to entity fields for safer builder initialization and update mappers to ignore unmapped targets; add tests for builder defaults ([#&#8203;1634](https://github.com/booklore-app/booklore/issues/1634)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)

#### 📖 Documentation

- ci: Add OCI Image Specification Labels to Dockerfile ([#&#8203;1636](https://github.com/booklore-app/booklore/issues/1636)) by [@&#8203;trevorswanson](https://github.com/trevorswanson)

##### 🐳 Docker Images

- **Docker Hub:** `booklore/booklore:v1.13.0`
- **GitHub Container Registry:** `ghcr.io/booklore-app/booklore:v1.13.0`

**Full Changelog**: <https://github.com/booklore-app/booklore/compare/v1.12.0...v1.13.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41LjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi41LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImltYWdlIl19-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/2212
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-03 23:04:38 +00:00
4f42b80902 fix
All checks were successful
renovate / renovate (push) Successful in 59s
2025-12-03 17:01:48 -06:00
51b622b9aa Update ghcr.io/karakeep-app/karakeep Docker tag to v0.29.0 (#2214)
Some checks failed
renovate / renovate (push) Has been cancelled
render-manifests-push / render-manifests-push (push) Failing after 12s
lint-test-helm / helm-lint (push) Successful in 32s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/karakeep-app/karakeep](https://github.com/karakeep-app/karakeep) | minor | `0.28.0` -> `0.29.0` |

---

### Release Notes

<details>
<summary>karakeep-app/karakeep (ghcr.io/karakeep-app/karakeep)</summary>

### [`v0.29.0`](https://github.com/karakeep-app/karakeep/releases/tag/v0.29.0): 0.29.0

[Compare Source](https://github.com/karakeep-app/karakeep/compare/v0.28.0...v0.29.0)

### 0.29.0

Welcome to the 0.29.0 release of Karakeep! This release ships some of our most awaited features. Collaborative lists, automated bookmark backups, search auto complete, highlighs are getting notes and search, and the mobile app is getting some more love. As usual thanks to [@&#8203;aa-ko](https://github.com/aa-ko), [@&#8203;fivestones](https://github.com/fivestones), and everyone who shipped code, triaged bugs, or shared feedback for this release.

> If you enjoy using Karakeep, consider supporting the project [here ️](https://buymeacoffee.com/mbassem) or via GitHub [here](https://github.com/sponsors/MohamedBassem).

<a href="https://www.buymeacoffee.com/mbassem" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" width="auto" height="50" ></a>

And in case you missed it, we now have a ☁️ managed offering ☁️ for those who don't want to self-host. ~~We're still in private beta (you can signup for access [here](https://tally.so/r/wo8zzx)) and gradually letting more and more users in.~~ We're in public beta now and you can signup [here](https://cloud.karakeep.app) 🎉.

### New Features 🚀

- Collaborative lists are here! ([#&#8203;2146](https://github.com/karakeep-app/karakeep/issues/2146), [#&#8203;2152](https://github.com/karakeep-app/karakeep/issues/2152))
  - You can now invite collaborators to your lists and manage their access levels between viewers and editors.
  - This was the most requested feature on the roadmap, and it's now here!
- Automated bookmark backups you can schedule once and forget ([#&#8203;2182](https://github.com/karakeep-app/karakeep/issues/2182))
  - Currently it only captures non-asset bookmarks, but I'm planning to include lists, tags, and other metadata in the future.
- Search gets autocomplete so you can find the right filters and terms faster ([#&#8203;2178](https://github.com/karakeep-app/karakeep/issues/2178))
- Highlights overhaul: notes + search bar on web, plus a dedicated highlights page on mobile ([#&#8203;2154](https://github.com/karakeep-app/karakeep/issues/2154), [#&#8203;2155](https://github.com/karakeep-app/karakeep/issues/2155), [#&#8203;2156](https://github.com/karakeep-app/karakeep/issues/2156), [#&#8203;2157](https://github.com/karakeep-app/karakeep/issues/2157))
- Mobile catches up with smart list creation and an all-tags screen ([#&#8203;2153](https://github.com/karakeep-app/karakeep/issues/2153), [#&#8203;2163](https://github.com/karakeep-app/karakeep/issues/2163))
- Crawler domain rate limiting to avoid getting throttled by external sites ([#&#8203;2115](https://github.com/karakeep-app/karakeep/issues/2115))
  - Configure it with `CRAWLER_DOMAIN_RATE_LIMIT_WINDOW_MS` and `CRAWLER_DOMAIN_RATE_LIMIT_MAX_REQUESTS`.
- Import from MyMind ([#&#8203;2138](https://github.com/karakeep-app/karakeep/issues/2138))

### UX Improvements 

- Sidebar typography and colors should feel nicer (specially in dark mode).
- Page titles are now correctly displayed in the browser tabs.
- We have a friendlier 404 page for bookmarks/lists that don't exist.
- You can now see stats about the source of your bookmarks in the usage stats page (extension, web app, mobile app, etc).

### Fixes 🔧

- Prompts lazily load `js-tiktoken` which should cut between 70-150MB of karakeep's memory usage ([#&#8203;2176](https://github.com/karakeep-app/karakeep/issues/2176))
- The edit dialog wasn't correctly showing the extracted text from assets, this is now fixed ([#&#8203;2181](https://github.com/karakeep-app/karakeep/issues/2181)).
- IP validation allowlisting now allows bypassing all domains by setting `CRAWLER_ALLOWED_INTERNAL_HOSTNAMES` to `.`.
- Fix a worker crash when hitting invalid URLs with proxy enabled.

### For Developers 🛠️

- GET `/api/version` endpoint for getting server version ([#&#8203;2167](https://github.com/karakeep-app/karakeep/issues/2167))
- More visibility: HTTP status Prometheus counters, failed\_permanent worker metric, and system metrics on web/worker containers ([#&#8203;2117](https://github.com/karakeep-app/karakeep/issues/2117), [#&#8203;2107](https://github.com/karakeep-app/karakeep/issues/2107))
- Documentation updates for `LOG_LEVEL` and Raycast links ([#&#8203;2166](https://github.com/karakeep-app/karakeep/issues/2166), [#&#8203;1923](https://github.com/karakeep-app/karakeep/issues/1923)) by [@&#8203;aa-ko](https://github.com/aa-ko) and [@&#8203;fivestones](https://github.com/fivestones)

### Screenshots 📸

#### Collaborative Lists

<img width="1342" height="840" alt="Screenshot 2025-11-29 at 6  23 18@&#8203;2x" src="https://github.com/user-attachments/assets/f19f9951-c460-413c-9757-6014a7ec4f7e" />

#### Automated Backups

<img width="1874" height="1540" alt="Screenshot 2025-11-29 at 6  23 57@&#8203;2x" src="https://github.com/user-attachments/assets/65dc7e0e-3ab3-4243-b451-5ef3a3e7130b" />

#### Search Autocomplete

<img width="1492" height="636" alt="Screenshot 2025-11-29 at 6  24 54@&#8203;2x" src="https://github.com/user-attachments/assets/ed2f7a61-835f-4ee6-8940-657110932526" />

### Upgrading 📦

To upgrade:

- If you're using `KARAKEEP_VERSION=release`, run `docker compose pull && docker compose up -d`.
- If you're pinning it to a specific version, bump the version and then run `docker compose pull && docker compose up -d`.

### All Commits

- i18n: fix en\_US translation - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`f01d96f`](https://github.com/karakeep-app/karakeep/commit/f01d96fd)
- i18n: Sync weblate translations - [@&#8203;Hosted](https://github.com/Hosted) Weblate in [`e1ad2cf`](https://github.com/karakeep-app/karakeep/commit/e1ad2cfd)
- feat: autocomplete search terms ([#&#8203;2178](https://github.com/karakeep-app/karakeep/issues/2178)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`ebafbe5`](https://github.com/karakeep-app/karakeep/commit/ebafbe59)
- build: switch npm to trusted publishing - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`335a84b`](https://github.com/karakeep-app/karakeep/commit/335a84bb)
- feat: Add automated bookmark backup feature ([#&#8203;2182](https://github.com/karakeep-app/karakeep/issues/2182)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`86a4b39`](https://github.com/karakeep-app/karakeep/commit/86a4b396)
- fix: making serverConfig readonly - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`e67c33e`](https://github.com/karakeep-app/karakeep/commit/e67c33e4)
- fix: fix react errors in signin and signup forms - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`6ab7984`](https://github.com/karakeep-app/karakeep/commit/6ab79845)
- fix: separate shared lists in the sidebar ([#&#8203;2180](https://github.com/karakeep-app/karakeep/issues/2180)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`2619f4c`](https://github.com/karakeep-app/karakeep/commit/2619f4cf)
- fix: correctly render asset extracted text in the edit bookmark dialog. fixes [#&#8203;2181](https://github.com/karakeep-app/karakeep/issues/2181) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`9ed338f`](https://github.com/karakeep-app/karakeep/commit/9ed338fe)
- fix: lazy load js-tiktoken in prompts module ([#&#8203;2176](https://github.com/karakeep-app/karakeep/issues/2176)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`e2877b4`](https://github.com/karakeep-app/karakeep/commit/e2877b45)
- fix: fix colors in invitation form - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`a13a227`](https://github.com/karakeep-app/karakeep/commit/a13a227e)
- fix: hide archived checkbox in shared lists - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`adde809`](https://github.com/karakeep-app/karakeep/commit/adde8099)
- feat: improve font and colors of sidebar items - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`5bea5d3`](https://github.com/karakeep-app/karakeep/commit/5bea5d39)
- fix: Propagate group ids in queue calls ([#&#8203;2177](https://github.com/karakeep-app/karakeep/issues/2177)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`6821257`](https://github.com/karakeep-app/karakeep/commit/6821257d)
- feat: Introduce groupId in restate queue ([#&#8203;2168](https://github.com/karakeep-app/karakeep/issues/2168)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`5426875`](https://github.com/karakeep-app/karakeep/commit/54268759)
- fix: support invocation cancellation while awaiting sempahore - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`38842f7`](https://github.com/karakeep-app/karakeep/commit/38842f77)
- docs: Add LOG\_LEVEL to configuration documentation ([#&#8203;2166](https://github.com/karakeep-app/karakeep/issues/2166)) - [@&#8203;aa-ko](https://github.com/aa-ko) in [`6912d0d`](https://github.com/karakeep-app/karakeep/commit/6912d0dd)
- docs: fix link to raycast extension ([#&#8203;1923](https://github.com/karakeep-app/karakeep/issues/1923)) - [@&#8203;fivestones](https://github.com/fivestones) in [`9fedfc1`](https://github.com/karakeep-app/karakeep/commit/9fedfc15)
- tests: Add a test for listing lists - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`e16ae2a`](https://github.com/karakeep-app/karakeep/commit/e16ae2a4)
- feat: add GET /api/version endpoint ([#&#8203;2167](https://github.com/karakeep-app/karakeep/issues/2167)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`472adec`](https://github.com/karakeep-app/karakeep/commit/472adec7)
- fix(mcp): propagate parent id to createList call. fixes: [#&#8203;2144](https://github.com/karakeep-app/karakeep/issues/2144) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`0d14130`](https://github.com/karakeep-app/karakeep/commit/0d14130c)
- feat(mobile): proper handling for shared list permissions ([#&#8203;2165](https://github.com/karakeep-app/karakeep/issues/2165)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`c5c71ba`](https://github.com/karakeep-app/karakeep/commit/c5c71ba9)
- feat(mobile): Add highlights page to mobile app ([#&#8203;2156](https://github.com/karakeep-app/karakeep/issues/2156)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`8a5a109`](https://github.com/karakeep-app/karakeep/commit/8a5a109c)
- feat: A better looking 404 page - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`7f555f5`](https://github.com/karakeep-app/karakeep/commit/7f555f57)
- fix: hide manage collaborators option for smart lists - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`2b38c00`](https://github.com/karakeep-app/karakeep/commit/2b38c006)
- fix: Hide shared lists where user is a viewer in Manage Lists dialog ([#&#8203;2164](https://github.com/karakeep-app/karakeep/issues/2164)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`e4db9bf`](https://github.com/karakeep-app/karakeep/commit/e4db9bf2)
- feat(mobile): Add AI summary field to mobile bookmark info ([#&#8203;2157](https://github.com/karakeep-app/karakeep/issues/2157)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`45081dc`](https://github.com/karakeep-app/karakeep/commit/45081dcb)
- feat(mobile): Add tags screen to mobile app ([#&#8203;2163](https://github.com/karakeep-app/karakeep/issues/2163)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`ad66f78`](https://github.com/karakeep-app/karakeep/commit/ad66f78d)
- feat: Add notes feature to highlights ([#&#8203;2154](https://github.com/karakeep-app/karakeep/issues/2154)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`de5ebbc`](https://github.com/karakeep-app/karakeep/commit/de5ebbc4)
- feat(mobile): Add smart list creation in mobile app ([#&#8203;2153](https://github.com/karakeep-app/karakeep/issues/2153)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`48ab8a1`](https://github.com/karakeep-app/karakeep/commit/48ab8a19)
- feat: Add search bar to highlights page ([#&#8203;2155](https://github.com/karakeep-app/karakeep/issues/2155)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`ed6a3bf`](https://github.com/karakeep-app/karakeep/commit/ed6a3bfa)
- fix: hide collaborator emails from non-owners ([#&#8203;2160](https://github.com/karakeep-app/karakeep/issues/2160)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`8ab5df6`](https://github.com/karakeep-app/karakeep/commit/8ab5df67)
- feat: Add invitation approval for shared lists ([#&#8203;2152](https://github.com/karakeep-app/karakeep/issues/2152)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`5f0934a`](https://github.com/karakeep-app/karakeep/commit/5f0934ac)
- deps: upgrade oxlint - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`daee8e7`](https://github.com/karakeep-app/karakeep/commit/daee8e7a)
- fix: add a way to allowlist all domains from ip validation - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`67b8a3c`](https://github.com/karakeep-app/karakeep/commit/67b8a3c1)
- fix: use kbd for editor card - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`3345377`](https://github.com/karakeep-app/karakeep/commit/3345377d)
- fix: drop journal retention for sempahore and id providers - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`1b44eaf`](https://github.com/karakeep-app/karakeep/commit/1b44eafe)
- refactor: remove the PrivacyAware interface - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`815e196`](https://github.com/karakeep-app/karakeep/commit/815e1961)
- feat: Add collaborative lists ([#&#8203;2146](https://github.com/karakeep-app/karakeep/issues/2146)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`88c73e2`](https://github.com/karakeep-app/karakeep/commit/88c73e21)
- deps: upgrade hono and playwright - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`cc8fee0`](https://github.com/karakeep-app/karakeep/commit/cc8fee0d)
- deps: Upgrade typescript to 5.9 - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`391af8a`](https://github.com/karakeep-app/karakeep/commit/391af8a5)
- build: Improve docker caching ([#&#8203;2140](https://github.com/karakeep-app/karakeep/issues/2140)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`6cccb9f`](https://github.com/karakeep-app/karakeep/commit/6cccb9f1)
- fix: fix hydration error in admin user list - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`12d09a7`](https://github.com/karakeep-app/karakeep/commit/12d09a74)
- feat: import from mymind ([#&#8203;2138](https://github.com/karakeep-app/karakeep/issues/2138)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`0c80f51`](https://github.com/karakeep-app/karakeep/commit/0c80f515)
- feat: add Prometheus counter for HTTP status codes ([#&#8203;2117](https://github.com/karakeep-app/karakeep/issues/2117)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`4350666`](https://github.com/karakeep-app/karakeep/commit/43506669)
- fix(mobile): upgrade react-native-pdf to v7 to fix page alignment - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`4c6ef25`](https://github.com/karakeep-app/karakeep/commit/4c6ef25d)
- fix(mobile): fix app memory page size compatibility ([#&#8203;2135](https://github.com/karakeep-app/karakeep/issues/2135)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`fbd12ea`](https://github.com/karakeep-app/karakeep/commit/fbd12ea3)
- release(mobile): Bump mobile version to 1.8.2 - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`76c291a`](https://github.com/karakeep-app/karakeep/commit/76c291a6)
- fix: remove incorrect array destructuring in mobile search ([#&#8203;2124](https://github.com/karakeep-app/karakeep/issues/2124)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`07390ae`](https://github.com/karakeep-app/karakeep/commit/07390aef)
- feat: correct default prom metrics from web and worker containers - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`c34f70d`](https://github.com/karakeep-app/karakeep/commit/c34f70da)
- fix: stop retrying indefinitely in restate queues - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`d4b7b89`](https://github.com/karakeep-app/karakeep/commit/d4b7b89a)
- fix: fix crash in crawler on invalid URL in matchesNoProxy - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`d0f71a4`](https://github.com/karakeep-app/karakeep/commit/d0f71a4c)
- feat: add crawler domain rate limiting ([#&#8203;2115](https://github.com/karakeep-app/karakeep/issues/2115)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`4cf0856`](https://github.com/karakeep-app/karakeep/commit/4cf0856e)
- refactor: Allow runner functions to return results to onComplete - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`b28cd03`](https://github.com/karakeep-app/karakeep/commit/b28cd03a)
- refactor: Extract ratelimiter into separate plugin ([#&#8203;2112](https://github.com/karakeep-app/karakeep/issues/2112)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`0316148`](https://github.com/karakeep-app/karakeep/commit/03161482)
- feat(extension): Add custom header support for extension ([#&#8203;2111](https://github.com/karakeep-app/karakeep/issues/2111)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`ec87813`](https://github.com/karakeep-app/karakeep/commit/ec87813a)
- feat: Add bookmark sources statistics section ([#&#8203;2110](https://github.com/karakeep-app/karakeep/issues/2110)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`725b521`](https://github.com/karakeep-app/karakeep/commit/725b5218)
- feat: Add page titles ([#&#8203;2109](https://github.com/karakeep-app/karakeep/issues/2109)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`3083be0`](https://github.com/karakeep-app/karakeep/commit/3083be0c)
- feat: add failed\_permanent metric for worker monitoring ([#&#8203;2107](https://github.com/karakeep-app/karakeep/issues/2107)) - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`1b8129a`](https://github.com/karakeep-app/karakeep/commit/1b8129a2)
- release(docs): release the 0.28 docs - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`d9ef832`](https://github.com/karakeep-app/karakeep/commit/d9ef832e)
- release(extension): Release version 1.7.1 - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`7339d1d`](https://github.com/karakeep-app/karakeep/commit/7339d1df)
- release(mobile): Bump mobile version to 1.8.1 - [@&#8203;MohamedBassem](https://github.com/MohamedBassem) in [`f06b8ea`](https://github.com/karakeep-app/karakeep/commit/f06b8eab)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41LjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi41LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImltYWdlIl19-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/2214
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-03 23:00:25 +00:00
83ee45e128 fix if
All checks were successful
renovate / renovate (push) Successful in 2m18s
2025-12-03 16:56:26 -06:00
b36b6330d5 Update Helm release eraser to v1.4.1 (#2217)
Some checks failed
render-manifests-push / render-manifests-push (push) Failing after 16s
renovate / renovate (push) Successful in 1m13s
lint-test-helm / helm-lint (push) Successful in 10s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [eraser](https://github.com/eraser-dev/eraser) | minor | `v1.3.1` -> `1.4.1` |

---

### Release Notes

<details>
<summary>eraser-dev/eraser (eraser)</summary>

### [`v1.4.1`](https://github.com/eraser-dev/eraser/releases/tag/v1.4.1)

[Compare Source](https://github.com/eraser-dev/eraser/compare/v1.3.1...v1.4.1)

#### Chores

- Prepare v1.4.0 release ([#&#8203;1085](https://github.com/eraser-dev/eraser/issues/1085)) [#&#8203;1085](https://github.com/eraser-dev/eraser/pull/1085) ([github-actions\[bot\]](e89d5853e9))
- Prepare v1.4.1 release ([#&#8203;1190](https://github.com/eraser-dev/eraser/issues/1190)) [#&#8203;1190](https://github.com/eraser-dev/eraser/pull/1190) ([github-actions\[bot\]](bb7634b606))
- fix vulnerabilities and CI failures ([#&#8203;1179](https://github.com/eraser-dev/eraser/issues/1179)) ([Ashna Mehrotra](a9cfd88d3f))
- revert "chore: Prepare v1.4.1 release" ([#&#8203;1191](https://github.com/eraser-dev/eraser/issues/1191)) [#&#8203;1191](https://github.com/eraser-dev/eraser/pull/1191) ([Ashna Mehrotra](311e972dbe))
- release 1.4.1 cherry pick module upgrades ([#&#8203;1192](https://github.com/eraser-dev/eraser/issues/1192)) [#&#8203;1192](https://github.com/eraser-dev/eraser/pull/1192) ([Ashna Mehrotra](96b21edac8))
- Prepare v1.4.1 release ([#&#8203;1193](https://github.com/eraser-dev/eraser/issues/1193)) [#&#8203;1193](https://github.com/eraser-dev/eraser/pull/1193) ([github-actions\[bot\]](4b1a8342f4))

#### Commits

- [`1d7dabe`](https://github.com/eraser-dev/eraser/commit/1d7dabe): Upgrade OpenTelemetry modules to v1.37.0 and migrate deprecated APIs ([#&#8203;1160](https://github.com/eraser-dev/eraser/issues/1160)) (Copilot)
- [`a5e6a65`](https://github.com/eraser-dev/eraser/commit/a5e6a65): Merge branch 'release-1.4' of github.com:Azure/eraser into release-1.4 (ashnamehrotra)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41LjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi41LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImNoYXJ0Il19-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/2217
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-03 22:54:06 +00:00
958ee86818 fix directory
Some checks failed
renovate / renovate (push) Has been cancelled
2025-12-03 16:53:39 -06:00
15f7cf6428 Update Helm release argo-workflows to v0.46.1 (#2216)
Some checks failed
lint-test-helm / helm-lint (push) Successful in 10s
render-manifests-push / render-manifests-push (push) Failing after 19s
renovate / renovate (push) Successful in 1m18s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [argo-workflows](https://github.com/argoproj/argo-helm) | minor | `0.45.28` -> `0.46.1` |

---

### Release Notes

<details>
<summary>argoproj/argo-helm (argo-workflows)</summary>

### [`v0.46.1`](https://github.com/argoproj/argo-helm/releases/tag/argo-workflows-0.46.1)

[Compare Source](https://github.com/argoproj/argo-helm/compare/argo-workflows-0.45.28...argo-workflows-0.46.1)

A Helm chart for Argo Workflows

#### What's Changed

- chore(deps): update renovatebot/github-action action to v44.0.5 by [@&#8203;argoproj-renovate](https://github.com/argoproj-renovate)\[bot] in [#&#8203;3612](https://github.com/argoproj/argo-helm/pull/3612)
- chore(deps): update ghcr.io/renovatebot/renovate docker tag to v42 by [@&#8203;argoproj-renovate](https://github.com/argoproj-renovate)\[bot] in [#&#8203;3611](https://github.com/argoproj/argo-helm/pull/3611)
- feat(argo-workflows): make server service targetPort configurable by [@&#8203;blancadesal](https://github.com/blancadesal) in [#&#8203;3584](https://github.com/argoproj/argo-helm/pull/3584)

#### New Contributors

- [@&#8203;blancadesal](https://github.com/blancadesal) made their first contribution in [#&#8203;3584](https://github.com/argoproj/argo-helm/pull/3584)

**Full Changelog**: <https://github.com/argoproj/argo-helm/compare/argo-workflows-0.46.00...argo-workflows-0.46.1>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41LjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi41LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImNoYXJ0Il19-->

Reviewed-on: #2216
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-03 22:52:12 +00:00
33cda55291 fix
All checks were successful
renovate / renovate (push) Successful in 2m10s
2025-12-03 16:49:20 -06:00
44abc97c90 fix 2025-12-03 16:49:20 -06:00
26f6d518f3 Update rmcrackan/libation Docker tag to v12.8.0 (#2219)
Some checks failed
render-manifests-push / render-manifests-push (push) Failing after 14s
lint-test-helm / helm-lint (push) Successful in 8s
renovate / renovate (push) Successful in 2m16s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [rmcrackan/libation](https://github.com/rmcrackan/Libation) | minor | `12.7.5` -> `12.8.0` |

---

### Release Notes

<details>
<summary>rmcrackan/Libation (rmcrackan/libation)</summary>

### [`v12.8.0`](https://github.com/rmcrackan/Libation/releases/tag/v12.8.0): Libation 12.8

[Compare Source](https://github.com/rmcrackan/Libation/compare/v12.7.5...v12.8.0)

- New feature: Add dark mode to Classic
- New setting: Allow users to choose whether Libation imports Audible Plus titles
- New feature [#&#8203;1436](https://github.com/rmcrackan/Libation/issues/1436) : Add "Download split by chapters" context menu item
- Bug fix [#&#8203;1473](https://github.com/rmcrackan/Libation/issues/1473) : Fix LibationCli reusing content licenses
- Bug fix [#&#8203;1470](https://github.com/rmcrackan/Libation/issues/1470) : Fix PDF validation error

Thanks to [@&#8203;Mbucari](https://github.com/Mbucari)

[Libation](https://github.com/rmcrackan/Libation) is a free, open source audible library manager. Decrypt, backup, organize, and search your audible library

I intend to keep Libation free and open source, but if you want to [leave a tip](https://paypal.me/mcrackan?locale.x=en_us), who am I to argue?

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41LjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi41LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImltYWdlIl19-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/2219
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-03 22:41:59 +00:00
b56d55ae15 Migrate Renovate config (#2224)
All checks were successful
renovate / renovate (push) Successful in 1m42s
The Renovate config in this repository needs migrating. Typically this is because one or more configuration options you are using have been renamed.

  You don't need to merge this PR right away, because Renovate will continue to migrate these fields internally each time it runs. But later some of these fields may be fully deprecated and the migrations removed. So it's a good idea to merge this migration PR soon.

🔕 **Ignore**: Close this PR and you won't be reminded about config migration again, but one day your current config may no longer be valid.

 Got questions? Does something look wrong to you? Please don't hesitate to [request help here](https://github.com/renovatebot/renovate/discussions).

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).

Reviewed-on: #2224
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-03 22:39:12 +00:00
9506dec535 separete render for each type
All checks were successful
renovate / renovate (push) Successful in 1m58s
2025-12-03 16:33:38 -06:00
a016d1b194 update message
All checks were successful
renovate / renovate (push) Successful in 3m45s
2025-12-03 16:00:48 -06:00
0456bc146e update message 2025-12-03 16:00:48 -06:00
99beb77bbd Update ghcr.io/autobrr/qui Docker tag to v1.8.1 (#2211)
Some checks failed
lint-test-helm / helm-lint (push) Successful in 15s
render-manifests / render-manifests (push) Failing after 24s
renovate / renovate (push) Successful in 6m14s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/autobrr/qui](https://github.com/autobrr/qui) | minor | `v1.7.0` -> `v1.8.1` |

---

### Release Notes

<details>
<summary>autobrr/qui (ghcr.io/autobrr/qui)</summary>

### [`v1.8.1`](https://github.com/autobrr/qui/releases/tag/v1.8.1)

[Compare Source](https://github.com/autobrr/qui/compare/v1.8.0...v1.8.1)

#### Changelog

##### Bug Fixes

- [`61c87e1`](61c87e1cac): fix(torznab): use detached context for indexer tests ([#&#8203;659](https://github.com/autobrr/qui/issues/659)) ([@&#8203;s0up4200](https://github.com/s0up4200))

**Full Changelog**: <https://github.com/autobrr/qui/compare/v1.8.0...v1.8.1>

#### Docker images

- `docker pull ghcr.io/autobrr/qui:v1.8.1`
- `docker pull ghcr.io/autobrr/qui:latest`

#### What to do next?

- Join our [Discord server](https://discord.autobrr.com/qui)

Thank you for using qui!

### [`v1.8.0`](https://github.com/autobrr/qui/releases/tag/v1.8.0)

[Compare Source](https://github.com/autobrr/qui/compare/v1.7.0...v1.8.0)

#### Changelog

##### New Features

- [`6903812`](6903812f17): feat(crossseed): batch torrent file lookups end-to-end ([#&#8203;625](https://github.com/autobrr/qui/issues/625)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`336ce48`](336ce480b8): feat(crossseed): persist seeded search settings ([#&#8203;618](https://github.com/autobrr/qui/issues/618)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`7b0b292`](7b0b292365): feat(docker): add curl to Dockerfiles ([#&#8203;570](https://github.com/autobrr/qui/issues/570)) ([@&#8203;onedr0p](https://github.com/onedr0p))
- [`91e1677`](91e1677116): feat(filters): default-hide empty status/category/tag groups ([#&#8203;581](https://github.com/autobrr/qui/issues/581)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`f07bb8d`](f07bb8d04d): feat(header): add missing links to header burger menu ([#&#8203;624](https://github.com/autobrr/qui/issues/624)) ([@&#8203;nuxencs](https://github.com/nuxencs))
- [`ee4c16b`](ee4c16b266): feat(instances): allow disabling qbit instances ([#&#8203;582](https://github.com/autobrr/qui/issues/582)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`477db14`](477db14618): feat(search): column filters ([#&#8203;633](https://github.com/autobrr/qui/issues/633)) ([@&#8203;nuxencs](https://github.com/nuxencs))
- [`cd6db45`](cd6db45004): feat(themes): add basic variation support ([#&#8203;569](https://github.com/autobrr/qui/issues/569)) ([@&#8203;jabloink](https://github.com/jabloink))
- [`979a0d4`](979a0d4d74): feat(torrents): add clear filters action for empty filtered state ([#&#8203;627](https://github.com/autobrr/qui/issues/627)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`e06acb7`](e06acb7648): feat(torrents): add cross-seeding and search ([#&#8203;553](https://github.com/autobrr/qui/issues/553)) ([@&#8203;KyleSanderson](https://github.com/KyleSanderson))
- [`95cef23`](95cef23327): feat(torrents): add reannounce monitor ([#&#8203;606](https://github.com/autobrr/qui/issues/606)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`098fdb0`](098fdb06a9): feat(torrents): add rename functionality in TorrentDetailsPanel ([#&#8203;590](https://github.com/autobrr/qui/issues/590)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`6e8fdbd`](6e8fdbd2b8): feat(torrents): implement drag-and-drop file upload to add torrents ([#&#8203;568](https://github.com/autobrr/qui/issues/568)) ([@&#8203;dthinhle](https://github.com/dthinhle))
- [`9240545`](92405457da): feat(ui): add dense view mode for compact table display ([#&#8203;643](https://github.com/autobrr/qui/issues/643)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`77fad15`](77fad1532f): feat(ui): improve torrent details panel file tree and rename UX ([#&#8203;650](https://github.com/autobrr/qui/issues/650)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`8b1e70e`](8b1e70e050): feat(web): Use original qBittorrent status names ([#&#8203;595](https://github.com/autobrr/qui/issues/595)) ([@&#8203;FibreTTP](https://github.com/FibreTTP))
- [`01dd553`](01dd553eaa): feat(web): show listening port in connectable status tooltip ([#&#8203;635](https://github.com/autobrr/qui/issues/635)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`3140739`](3140739c0e): feat: make tracker icon column sortable ([#&#8203;513](https://github.com/autobrr/qui/issues/513)) ([@&#8203;s0up4200](https://github.com/s0up4200))

##### Bug Fixes

- [`240b40d`](240b40df39): fix(auth): avoid logout on license activation errors ([#&#8203;602](https://github.com/autobrr/qui/issues/602)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`7185408`](7185408486): fix(backups): do not persist ZIPs to disk ([#&#8203;632](https://github.com/autobrr/qui/issues/632)) ([@&#8203;KyleSanderson](https://github.com/KyleSanderson))
- [`de0e00a`](de0e00a6ed): fix(content): use Hints for detection ([#&#8203;621](https://github.com/autobrr/qui/issues/621)) ([@&#8203;KyleSanderson](https://github.com/KyleSanderson))
- [`5f016a8`](5f016a8452): fix(cross): performance improvements ([#&#8203;629](https://github.com/autobrr/qui/issues/629)) ([@&#8203;KyleSanderson](https://github.com/KyleSanderson))
- [`82c74ba`](82c74ba576): fix(crossseed): flip deduplication to maps ([#&#8203;622](https://github.com/autobrr/qui/issues/622)) ([@&#8203;KyleSanderson](https://github.com/KyleSanderson))
- [`b78a079`](b78a079046): fix(crossseed): inherit TMM state from matched torrent ([#&#8203;654](https://github.com/autobrr/qui/issues/654)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`2438fc6`](2438fc6c4a): fix(crossseed): process full RSS feeds ([#&#8203;615](https://github.com/autobrr/qui/issues/615)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`6f57090`](6f5709090c): fix(database): do not release mutex on tx err ([#&#8203;571](https://github.com/autobrr/qui/issues/571)) ([@&#8203;KyleSanderson](https://github.com/KyleSanderson))
- [`74509d4`](74509d4e06): fix(incognito): prevent categories leaking ([#&#8203;592](https://github.com/autobrr/qui/issues/592)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`f08eff2`](f08eff2789): fix(instances): support empty username for localhost bypass ([#&#8203;575](https://github.com/autobrr/qui/issues/575)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`cd3caaf`](cd3caaf53c): fix(license): cap 7d offline grace, ignore transient errors ([#&#8203;617](https://github.com/autobrr/qui/issues/617)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`59c747b`](59c747b426): fix(reannounce): validate number fields and show min hints ([#&#8203;613](https://github.com/autobrr/qui/issues/613)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`f6bd1e6`](f6bd1e658b): fix(themes): correct Nightwalker description from purple to blue ([#&#8203;648](https://github.com/autobrr/qui/issues/648)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`2b641c5`](2b641c59df): fix(torznab): filter Prowlarr autodiscovery to enabled torrent indexers ([#&#8203;638](https://github.com/autobrr/qui/issues/638)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`1995783`](19957834b0): fix(ui): improve cross-seed mobile responsiveness ([#&#8203;647](https://github.com/autobrr/qui/issues/647)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`b83aebe`](b83aebe98f): fix(web): align CrossSeedDialog indexers with search flows ([#&#8203;619](https://github.com/autobrr/qui/issues/619)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`3b60821`](3b60821476): fix(web): indent subcategories in SetCategoryDialog ([#&#8203;636](https://github.com/autobrr/qui/issues/636)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`82850cd`](82850cd2b9): fix: glob pattern formatting in tooltip content ([#&#8203;579](https://github.com/autobrr/qui/issues/579)) ([@&#8203;onedr0p](https://github.com/onedr0p))

##### Other Changes

- [`c20bc0a`](c20bc0a235): build(vite): enable default minification ([#&#8203;574](https://github.com/autobrr/qui/issues/574)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`ceac8ca`](ceac8cafbb): chore(ci): upgrade Claude Code workflow to Opus 4.5 ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`9d6c10e`](9d6c10e780): chore(deps): bump actions/checkout from 5 to 6 in the github group ([#&#8203;628](https://github.com/autobrr/qui/issues/628)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot])
- [`f5704de`](f5704de372): chore(deps): bump golang.org/x/crypto from 0.43.0 to 0.45.0 ([#&#8203;611](https://github.com/autobrr/qui/issues/611)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot])
- [`0aae9aa`](0aae9aa5d6): chore(deps): bump the golang group with 3 updates ([#&#8203;546](https://github.com/autobrr/qui/issues/546)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot])
- [`0d97087`](0d97087436): chore(themes): add crypto instructions in-app ([#&#8203;620](https://github.com/autobrr/qui/issues/620)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`e778865`](e778865299): docs(funding): add donation methods and crypto addresses ([#&#8203;583](https://github.com/autobrr/qui/issues/583)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`563645c`](563645c815): docs: update qui image ([#&#8203;655](https://github.com/autobrr/qui/issues/655)) ([@&#8203;s0up4200](https://github.com/s0up4200))

**Full Changelog**: <https://github.com/autobrr/qui/compare/v1.7.0...v1.8.0>

#### Docker images

- `docker pull ghcr.io/autobrr/qui:v1.8.0`
- `docker pull ghcr.io/autobrr/qui:latest`

#### What to do next?

- Join our [Discord server](https://discord.autobrr.com/qui)

Thank you for using qui!

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41LjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi41LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImltYWdlIl19-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/2211
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-03 21:57:04 +00:00
427df1e201 change config
All checks were successful
renovate / renovate (push) Successful in 2m12s
2025-12-03 15:42:27 -06:00
44fb774fef remove condition
All checks were successful
renovate / renovate (push) Successful in 2m1s
2025-12-03 15:25:09 -06:00
f9f27aac12 change commit pattern 2025-12-03 15:25:09 -06:00
8ec24e013e Update harbor.alexlebens.net/images/site-documentation Docker tag to v0.0.4 (#2200)
All checks were successful
lint-test-helm / helm-lint (push) Successful in 10s
render-manifests / render-manifests (push) Successful in 33s
renovate / renovate (push) Successful in 2m21s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [harbor.alexlebens.net/images/site-documentation](https://gitea.alexlebens.dev/alexlebens/site-documentation) | patch | `0.0.3` -> `0.0.4` |

---

### Release Notes

<details>
<summary>alexlebens/site-documentation (harbor.alexlebens.net/images/site-documentation)</summary>

### [`v0.0.4`](https://gitea.alexlebens.dev/alexlebens/site-documentation/compare/0.0.3...0.0.4)

[Compare Source](https://gitea.alexlebens.dev/alexlebens/site-documentation/compare/0.0.3...0.0.4)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41LjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi41LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImF1dG9tZXJnZSIsImltYWdlIl19-->

Reviewed-on: #2200
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-03 21:18:30 +00:00
7798bf19dd change condition
Some checks failed
renovate / renovate (push) Has been cancelled
2025-12-03 15:17:38 -06:00
5525b35055 fix name 2025-12-03 15:17:38 -06:00
68de6d6fcf Update Helm release rook-ceph-cluster to v1.18.8 (#2205)
All checks were successful
lint-test-helm / helm-lint (push) Successful in 10s
render-manifests / render-manifests (push) Successful in 27s
renovate / renovate (push) Successful in 1m50s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [rook-ceph-cluster](https://github.com/rook/rook) | patch | `v1.18.7` -> `v1.18.8` |

---

### Release Notes

<details>
<summary>rook/rook (rook-ceph-cluster)</summary>

### [`v1.18.8`](https://github.com/rook/rook/releases/tag/v1.18.8)

[Compare Source](https://github.com/rook/rook/compare/v1.18.7...v1.18.8)

### Improvements

Rook v1.18.8 is a patch release limited in scope and focusing on feature additions and bug fixes to the Ceph operator.

- core: Add support for ceph tentacle ([#&#8203;16501](https://github.com/rook/rook/issues/16501), [@&#8203;subhamkrai](https://github.com/subhamkrai))
- helm: Include exporter options in CephCluster ([#&#8203;16745](https://github.com/rook/rook/issues/16745), [@&#8203;michaeltchapman](https://github.com/michaeltchapman))
- toolbox: Merge rook-config-override ConfigMap into ceph.conf ([#&#8203;16731](https://github.com/rook/rook/issues/16731), [@&#8203;mheler](https://github.com/mheler))
- csi: ControllerPlugin/NodePlugin resource settings were reversed ([#&#8203;16735](https://github.com/rook/rook/issues/16735), [@&#8203;swills](https://github.com/swills))
- osd: Allow snaptrimp and snaptrip\_wait PGs by the PDBs during node drains ([#&#8203;16713](https://github.com/rook/rook/issues/16713), [@&#8203;sp98](https://github.com/sp98))
- helm: Fix default pathType for HTTPRoute in the rook-ceph-cluster chart ([#&#8203;16724](https://github.com/rook/rook/issues/16724), [@&#8203;fancl20](https://github.com/fancl20))
- pool: Retry if pool status is empty in the rados namespace controller ([#&#8203;16705](https://github.com/rook/rook/issues/16705), [@&#8203;parth-gr](https://github.com/parth-gr))
- namespace: Add retryOnConflict when updating status ([#&#8203;16661](https://github.com/rook/rook/issues/16661), [@&#8203;subhamkrai](https://github.com/subhamkrai))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41LjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi41LjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImF1dG9tZXJnZSIsImNoYXJ0Il19-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/2205
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-03 21:03:00 +00:00
97294a8b56 update auto render
All checks were successful
renovate / renovate (push) Successful in 3m1s
2025-12-03 14:58:32 -06:00
40cd429d33 Update Helm release rook-ceph to v1.18.8 (#2203)
All checks were successful
lint-test-helm / helm-lint (push) Successful in 1m17s
render-manifests / render-manifests (push) Successful in 1m30s
renovate / renovate (push) Successful in 1m53s
2025-12-03 20:02:10 +00:00
177 changed files with 1683 additions and 889 deletions

View File

@@ -1,86 +0,0 @@
name: lint-test-docker
on:
pull_request:
branches:
- main
paths:
- 'hosts/**'
jobs:
docker-lint:
runs-on: ubuntu-js
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Check Branch Exists
id: check-branch-exists
uses: GuillaumeFalourd/branch-exists@v1.1
with:
branch: "${{ github.base_ref }}"
- name: Branch Does Not Exist
if: steps.check-branch-exists.outputs.exists == 'false'
run: echo "Branch ${{ github.base_ref }} was not found, likely already merged"
- name: Set up Node.js
if: steps.check-branch-exists.outputs.exists == 'true'
uses: actions/setup-node@v6
with:
node-version: '24'
- name: Lint Docker Compose
if: steps.check-branch-exists.outputs.exists == 'true'
run: |
set -e # Exit immediately if a command exits with a non-zero status.
TARGET_BRANCH="origin/${{ github.base_ref }}"
echo ">> Target branch for diff is: $TARGET_BRANCH"
CHANGED_FILES=$(git diff --name-only "$TARGET_BRANCH" -- 'hosts/**')
echo ">> Found changed files:"
echo "$CHANGED_FILES"
# For each changed file, find its parent chart directory (the one with compose.yaml).
# Then, create a unique list of those directories.
CHANGED_COMPOSE=$(echo "$CHANGED_FILES" | while read -r file; do
dir=$(dirname "$file")
while [[ "$dir" != "." && ! -f "$dir/compose.yaml" ]]; do
dir=$(dirname "$dir")
done
if [[ "$dir" != "." ]]; then
echo "$dir"
fi
done | sort -u)
if [[ -z "$CHANGED_COMPOSE" ]]; then
echo ">> Could not determine changed compose files. This will happen if only files outside a compose file were changed."
exit 0
fi
echo ">> Running dclint on changed compose files:"
echo "$CHANGED_COMPOSE"
echo "$CHANGED_COMPOSE" | while read -r compose; do
echo ">> Linting $compose ..."
npx dclint $compose
done
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Test Failure - Infrastructure'
priority: 3
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: 'Docker linting on Pull Request for Infrastructure has failed!'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/infrastructure/actions?workflow=lint-test-docker-pull.yaml", "clear": true}]'
image: true

View File

@@ -1,74 +0,0 @@
name: lint-test-docker
on:
push:
branches:
- main
paths:
- 'hosts/**'
jobs:
docker-lint:
runs-on: ubuntu-js
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: '24'
- name: Lint Docker Compose
run: |
set -e # Exit immediately if a command exits with a non-zero status.
TARGET_BRANCH="origin/main"
echo ">> Target branch for diff is: $TARGET_BRANCH"
CHANGED_FILES=$(git diff --name-only "$TARGET_BRANCH" -- 'hosts/**')
echo ">> Found changed files:"
echo "$CHANGED_FILES"
# For each changed file, find its parent chart directory (the one with compose.yaml).
# Then, create a unique list of those directories.
CHANGED_COMPOSE=$(echo "$CHANGED_FILES" | while read -r file; do
dir=$(dirname "$file")
while [[ "$dir" != "." && ! -f "$dir/compose.yaml" ]]; do
dir=$(dirname "$dir")
done
if [[ "$dir" != "." ]]; then
echo "$dir"
fi
done | sort -u)
if [[ -z "$CHANGED_COMPOSE" ]]; then
echo ">> Could not determine changed compose files. This will happen if only files outside a compose file were changed."
exit 0
fi
echo ">> Running dclint on changed compose files:"
echo "$CHANGED_COMPOSE"
echo "$CHANGED_COMPOSE" | while read -r compose; do
echo ">> Linting $compose ..."
npx dclint $compose
done
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Test Failure - Infrastructure'
priority: 4
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: 'Docker linting on Push for Infrastructure has failed!'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/infrastructure/actions?workflow=lint-test-docker-push.yaml", "clear": true}]'
image: true

View File

@@ -0,0 +1,125 @@
name: lint-test-docker
on:
pull_request:
branches:
- main
paths:
- 'hosts/**'
push:
branches:
- main
paths:
- 'hosts/**'
env:
BASE_BRANCH: "origin/${{ gitea.base_ref }}"
jobs:
lint-docker-compose:
runs-on: ubuntu-js
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Check Branch Exists
id: check-branch-exists
if: github.event_name == 'pull_request'
uses: GuillaumeFalourd/branch-exists@v1.1
with:
branch: "${{ github.base_ref }}"
- name: Report Branch Exists
id: branch-exists
if: github.event_name == 'push' || steps.check-branch-exists.outputs.exists == 'true' && github.event_name == 'pull_request'
run: |
echo ">> Branch ${{ gitea.base_ref }} exists, will continue with linting"
echo "----"
echo "exists=true" >> $GITEA_OUTPUT
- name: Set up Node.js
if: steps.check-branch-exists.outputs.exists == 'true'
uses: actions/setup-node@v6
with:
node-version: '24'
- name: Check Directories for Changes
id: check-dir-changes
if: steps.branch-exists.outputs.exists == 'true'
run: |
CHANGED_COMPOSE=()
echo ">> Target branch for diff is: ${BASE_BRANCH}"
if [ "${{ github.event_name }}" == "pull_request" ]; then
echo ""
echo ">> Checking for changes in a pull request ..."
GIT_DIFF=$(git diff --name-only "${BASE_BRANCH}" | xargs -I {} dirname {} | sort -u | grep -E "hosts/[^/]+/[^/]+")
else
echo ""
echo ">> Checking for changes from a push ..."
GIT_DIFF=$(git diff --name-only ${{ gitea.event.before }}..HEAD | xargs -I {} dirname {} | sort -u | grep -E "hosts/[^/]+/[^/]+")
fi
if [ -n "${GIT_DIFF}" ]; then
echo ""
echo ">> Changes detected:"
echo "$GIT_DIFF"
for path in $GIT_DIFF; do
CHANGED_COMPOSE+=$(echo "$path")
done
else
echo ""
echo ">> No changes detected"
fi
if [ -n "${CHANGED_COMPOSE}" ]; then
echo ""
echo ">> Compose to Lint:"
echo "$(echo "${CHANGED_COMPOSE[@]}" | sort -u)"
echo "----"
echo "changes-detected=true" >> $GITEA_OUTPUT
echo "compose-dir<<EOF" >> $GITEA_OUTPUT
echo "$(echo "${CHANGED_COMPOSE[@]}" | sort -u)" >> $GITEA_OUTPUT
echo "EOF" >> $GITEA_OUTPUT
else
echo "changes-detected=false" >> $GITEA_OUTPUT
fi
- name: Lint Docker Compose
if: steps.check-branch-exists.outputs.exists == 'true'
env:
CHANGED_COMPOSE: ${{ steps.check-dir-changes.outputs.compose-dir }}
run: |
echo ">> Running dclint on changed compose files:"
echo "$CHANGED_COMPOSE"
echo "$CHANGED_COMPOSE" | while read -r compose; do
echo ">> Linting $compose ..."
npx dclint $compose
done
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Test Failure - Infrastructure'
priority: 3
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: 'Docker linting on Pull Request for Infrastructure has failed!'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/infrastructure/actions?workflow=lint-test-docker-pull.yaml", "clear": true}]'
image: true

View File

@@ -1,94 +0,0 @@
name: lint-test-helm
on:
pull_request:
branches:
- main
paths:
- 'clusters/**'
jobs:
helm-lint:
runs-on: ubuntu-js
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Check Branch Exists
id: check-branch-exists
uses: GuillaumeFalourd/branch-exists@v1.1
with:
branch: ${{ github.base_ref }}
- name: Branch Does Not Exist
if: steps.check-branch-exists.outputs.exists == 'false'
run: echo "Branch ${{ github.base_ref }} was not found, likely already merged"
- name: Set up Helm
if: steps.check-branch-exists.outputs.exists == 'true'
uses: azure/setup-helm@v4
with:
token: ${{ secrets.GITEA_TOKEN }}
version: v3.19.2
- name: Lint Helm Chart
if: steps.check-branch-exists.outputs.exists == 'true'
run: |
set -e # Exit immediately if a command exits with a non-zero status.
TARGET_BRANCH="origin/${{ github.base_ref }}"
echo ">> Target branch for diff is: $TARGET_BRANCH"
CHANGED_FILES=$(git diff --name-only "$TARGET_BRANCH" -- 'clusters/**')
echo ">> Found changed files:"
echo "$CHANGED_FILES"
# For each changed file, find its parent chart directory (the one with Chart.yaml).
# Then, create a unique list of those directories.
CHANGED_CHARTS=$(echo "$CHANGED_FILES" | while read -r file; do
dir=$(dirname "$file")
while [[ "$dir" != "." && ! -f "$dir/Chart.yaml" ]]; do
dir=$(dirname "$dir")
done
if [[ "$dir" != "." ]]; then
echo "$dir"
fi
done | sort -u)
if [[ -z "$CHANGED_CHARTS" ]]; then
echo ">> Could not determine changed charts. This could happen if only files outside a chart were changed."
exit 0
fi
echo ">> Running helm lint on changed charts:"
echo "$CHANGED_CHARTS"
echo "$CHANGED_CHARTS" | while read -r chart; do
helm dependency list --max-col-width 120 $chart 2> /dev/null \
| tail +2 | head -n -1 \
| awk '{ print "helm repo add " $1 " " $3 }' \
| while read cmd; do echo "$cmd" | sh; done || true
echo ">> Building dependency for "$chart" ..."
helm dependency build "$chart"
echo ">> Linting $chart..."
helm lint "$chart"
done
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Test Failure - Infrastructure'
priority: 3
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: 'Helm linting on Pull Request for Infrastructure has failed!'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/infrastructure/actions?workflow=lint-test-helm-pull.yaml", "clear": true}]'
image: true

View File

@@ -1,80 +0,0 @@
name: lint-test-helm
on:
push:
branches:
- main
paths:
- 'clusters/**'
jobs:
helm-lint:
runs-on: ubuntu-js
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Set up Helm
uses: azure/setup-helm@v4
with:
token: ${{ secrets.GITEA_TOKEN }}
version: v3.19.2
- name: Lint Helm Chart
run: |
TARGET_BRANCH="origin/main"
echo ">> Target branch for diff is: $TARGET_BRANCH"
CHANGED_FILES=$(git diff --name-only "$TARGET_BRANCH" -- 'clusters/**')
echo ">> Found changed files:"
echo "$CHANGED_FILES"
# For each changed file, find its parent chart directory (the one with Chart.yaml).
# Then, create a unique list of those directories.
CHANGED_CHARTS=$(echo "$CHANGED_FILES" | while read -r file; do
dir=$(dirname "$file")
while [[ "$dir" != "." && ! -f "$dir/Chart.yaml" ]]; do
dir=$(dirname "$dir")
done
if [[ "$dir" != "." ]]; then
echo "$dir"
fi
done | sort -u)
if [[ -z "$CHANGED_CHARTS" ]]; then
echo ">> Could not determine changed charts. This could happen if only files outside a chart were changed."
exit 0
fi
echo ">> Running helm lint on changed charts:"
echo "$CHANGED_CHARTS"
echo "$CHANGED_CHARTS" | while read -r chart; do
helm dependency list --max-col-width 120 $chart 2> /dev/null \
| tail +2 | head -n -1 \
| awk '{ print "helm repo add " $1 " " $3 }' \
| while read cmd; do echo "$cmd" | sh; done || true
echo ">> Building dependency for "$chart" ..."
helm dependency build "$chart"
echo ">> Linting $chart..."
helm lint "$chart"
done
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Test Failure - Infrastructure'
priority: 4
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: 'Helm linting on Push for Infrastructure has failed!'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/infrastructure/actions?workflow=lint-test-helm-push.yaml", "clear": true}]'
image: true

View File

@@ -0,0 +1,164 @@
name: lint-test-helm
on:
pull_request:
branches:
- main
paths:
- 'clusters/cl01tl/helm/**'
push:
branches:
- main
paths:
- 'clusters/cl01tl/helm/**'
env:
CLUSTER: cl01tl
BASE_BRANCH: "origin/${{ gitea.base_ref }}"
jobs:
lint-helm:
runs-on: ubuntu-js
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Check Branch Exists
id: check-branch-exists
if: github.event_name == 'pull_request'
uses: GuillaumeFalourd/branch-exists@v1.1
with:
branch: ${{ gitea.base_ref }}
- name: Report Branch Exists
id: branch-exists
if: github.event_name == 'push' || steps.check-branch-exists.outputs.exists == 'true' && github.event_name == 'pull_request'
run: |
echo ">> Branch ${{ gitea.base_ref }} exists, will continue with linting"
echo "----"
echo "exists=true" >> $GITEA_OUTPUT
- name: Set up Helm
if: steps.branch-exists.outputs.exists == 'true'
uses: azure/setup-helm@v4
with:
token: ${{ secrets.GITEA_TOKEN }}
version: v3
- name: Check Directories for Changes
id: check-dir-changes
if: steps.branch-exists.outputs.exists == 'true'
run: |
CHANGED_CHARTS=()
echo ">> Target branch for diff is: ${BASE_BRANCH}"
if [ "${{ github.event_name }}" == "pull_request" ]; then
echo ""
echo ">> Checking for changes in a pull request ..."
GIT_DIFF=$(git diff --name-only "${BASE_BRANCH}" | xargs -I {} dirname {} | sort -u | grep -E "clusters/[^/]+/helm/[^/]+")
else
echo ""
echo ">> Checking for changes from a push ..."
GIT_DIFF=$(git diff --name-only ${{ gitea.event.before }}..HEAD | xargs -I {} dirname {} | sort -u | grep -E "clusters/[^/]+/helm/[^/]+")
fi
if [ -n "${GIT_DIFF}" ]; then
echo ""
echo ">> Changes detected:"
echo "$GIT_DIFF"
for path in $GIT_DIFF; do
CHANGED_CHARTS+=$(echo "$path" | awk -F '/' '{print $4}')
done
else
echo ""
echo ">> No changes detected"
fi
if [ -n "${CHANGED_CHARTS}" ]; then
echo ""
echo ">> Chart to Lint:"
echo "$(echo "${CHANGED_CHARTS[@]}" | sort -u)"
echo "----"
echo "changes-detected=true" >> $GITEA_OUTPUT
echo "chart-dir<<EOF" >> $GITEA_OUTPUT
echo "$(echo "${CHANGED_CHARTS[@]}" | sort -u)" >> $GITEA_OUTPUT
echo "EOF" >> $GITEA_OUTPUT
else
echo "changes-detected=false" >> $GITEA_OUTPUT
fi
- name: Add Repositories
if: steps.check-dir-changes.outputs.changes-detected == 'true'
env:
CHANGED_CHARTS: ${{ steps.check-dir-changes.outputs.chart-dir }}
run: |
echo ">> Adding repositories for chart dependencies ..."
for dir in ${CHANGED_CHARTS}; do
helm dependency list --max-col-width 120 clusters/${CLUSTER}/helm/$dir 2> /dev/null \
| tail +2 | head -n -1 \
| awk '{ print "helm repo add " $1 " " $3 }' \
| while read cmd; do echo "$cmd" | sh; done || true
done
if helm repo list | tail +2 | read -r; then
echo ""
echo ">> Update repository cache ..."
helm repo update
fi
echo "----"
- name: Lint Helm Chart
if: steps.check-dir-changes.outputs.changes-detected == 'true'
env:
CHANGED_CHARTS: ${{ steps.check-dir-changes.outputs.chart-dir }}
run: |
echo ">> Running linting on changed charts ..."
for dir in ${CHANGED_CHARTS}; do
chart_path=clusters/${CLUSTER}/helm/$dir
chart_name=$(basename "$chart_path")
if [ -f "$chart_path/Chart.yaml" ]; then
cd $chart_path
echo ""
echo ">> Building helm dependency ..."
helm dependency build --skip-refresh
echo ""
echo ">> Linting helm ..."
helm lint --namespace "$chart_name"
else
echo ""
echo ">> Directory $chart_path does not contain a Chart.yaml. Skipping ..."
echo ""
fi
done
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: '${{ secrets.NTFY_URL }}'
topic: '${{ secrets.NTFY_TOPIC }}'
title: 'Test Failure - Infrastructure'
priority: 3
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: 'Helm linting on Pull Request for Infrastructure has failed!'
icon: 'https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png'
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/infrastructure/actions?workflow=lint-test-helm-pull.yaml", "clear": true}]'
image: true

View File

@@ -1,4 +1,4 @@
name: render-manfiest-automerge name: render-manifests-automerge
on: on:
pull_request: pull_request:
@@ -17,7 +17,7 @@ env:
MANIFEST_DIR: /workspace/alexlebens/infrastructure/infrastructure-manifests MANIFEST_DIR: /workspace/alexlebens/infrastructure/infrastructure-manifests
jobs: jobs:
render-manfiest-automerge: render-manifests-automerge:
runs-on: ubuntu-js runs-on: ubuntu-js
if: ${{ (github.event.pull_request.merged == true) && (contains(github.event.pull_request.labels.*.name, 'automerge')) }} if: ${{ (github.event.pull_request.merged == true) && (contains(github.event.pull_request.labels.*.name, 'automerge')) }}
steps: steps:
@@ -64,14 +64,15 @@ jobs:
RENDER_DIR=() RENDER_DIR=()
echo ">> Checking for changes ..." echo ">> Checking for changes from HEAD^..HEAD ..."
GIT_DIFF=$(git diff --name-only ${{ gitea.event.before }}..HEAD | xargs -I {} dirname {} | sort -u | grep "clusters/cl01tl/helm/") GIT_DIFF=$(git diff --name-only HEAD^..HEAD | xargs -I {} dirname {} | sort -u | grep -E "clusters/[^/]+/helm/[^/]+")
if [ -n $GIT_DIFF ]; then if [ -n "${GIT_DIFF}" ]; then
echo ">> Changes detected:" echo ">> Changes detected:"
echo "$GIT_DIFF" echo "$GIT_DIFF"
for path in $GIT_DIFF; do for path in $GIT_DIFF; do
RENDER_DIR+=$(echo "$path" | awk -F '/' '{print $4}') RENDER_DIR+=$(echo "$path" | awk -F '/' '{print $4}')
RENDER_DIR+=$(echo " ")
done done
else else
@@ -79,15 +80,15 @@ jobs:
fi fi
if [ -n $RENDER_DIR ]; then if [ -n "${RENDER_DIR}" ]; then
echo ">> Directories to Render:" echo ">> Directories to Render:"
echo "$(printf "%s\n" "${RENDER_DIR[@]}" | sort -u)" echo "$(echo "${RENDER_DIR}" | sort -u)"
echo "----" echo "----"
echo "changes-detected=true" >> $GITEA_OUTPUT echo "changes-detected=true" >> $GITEA_OUTPUT
echo "render-dir<<EOF" >> $GITEA_OUTPUT echo "render-dir<<EOF" >> $GITEA_OUTPUT
echo "$(printf "%s\n" "${RENDER_DIR[@]}" | sort -u)" >> $GITEA_OUTPUT echo "$(echo "${RENDER_DIR}" | sort -u)" >> $GITEA_OUTPUT
echo "EOF" >> $GITEA_OUTPUT echo "EOF" >> $GITEA_OUTPUT
else else
echo "changes-detected=false" >> $GITEA_OUTPUT echo "changes-detected=false" >> $GITEA_OUTPUT
@@ -108,6 +109,11 @@ jobs:
| while read cmd; do echo "$cmd" | sh; done || true | while read cmd; do echo "$cmd" | sh; done || true
done done
if helm repo list | tail +2 | read -r; then
echo ">> Update repository cache ..."
helm repo update
fi
echo "----" echo "----"
- name: Remove Changed Manifest Files - name: Remove Changed Manifest Files
@@ -142,18 +148,22 @@ jobs:
chart_path=${MAIN_DIR}/clusters/${CLUSTER}/helm/$dir chart_path=${MAIN_DIR}/clusters/${CLUSTER}/helm/$dir
chart_name=$(basename "$chart_path") chart_name=$(basename "$chart_path")
echo ""
echo ""
echo ">> Rendering chart: $chart_name" echo ">> Rendering chart: $chart_name"
echo ">> Chart path $chart_path" echo ">> Chart path $chart_path"
if [ -f "$chart_path/Chart.yaml" ]; then if [ -f "$chart_path/Chart.yaml" ]; then
OUTPUT_FOLDER="${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$chart_name/"
TEMPLATE=""
mkdir -p ${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$chart_name mkdir -p ${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$chart_name
OUTPUT_FILE="${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$chart_name/$chart_name.yaml"
cd $chart_path cd $chart_path
echo "" echo ""
echo ">> Building helm dependency ..." echo ">> Building helm dependency ..."
helm dependency build helm dependency build --skip-refresh
echo "" echo ""
echo ">> Linting helm ..." echo ">> Linting helm ..."
@@ -161,10 +171,31 @@ jobs:
echo "" echo ""
echo ">> Rendering templates ..." echo ">> Rendering templates ..."
helm template "$chart_name" ./ --namespace "$chart_name" --include-crds > "$OUTPUT_FILE" case "$chart_name" in
"stack")
echo ""
echo ">> Special Rendering for stack into argocd namespace ..."
TEMPLATE=$(helm template $chart_name ./ --namespace argocd --include-crds --dry-run)
;;
"cilium" | "coredns" | "metrics-server" |"prometheus-operator-crds")
echo ""
echo ">> Special Rendering for $chart_name into kube-system namespace ..."
TEMPLATE=$(helm template $chart_name ./ --namespace kube-system --include-crds --dry-run)
;;
*)
echo ""
echo ">> Standard Rendering for $chart_name ..."
TEMPLATE=$(helm template "$chart_name" ./ --namespace "$chart_name" --include-crds --dry-run)
;;
esac
echo "" echo ""
echo ">> Manifests for $chart_name rendered to $OUTPUT_FILE" echo ">> Formating rendered template ..."
echo "$TEMPLATE" | yq 'select(. != null)' | yq -s '"'"$OUTPUT_FOLDER"'" + .kind + "-" + .metadata.name + ".yaml"'
echo ""
echo ">> Manifests for $chart_name rendered to $OUTPUT_FOLDER"
ls $OUTPUT_FOLDER
echo "" echo ""
else else
echo "" echo ""
@@ -181,13 +212,16 @@ jobs:
run: | run: |
cd ${MANIFEST_DIR} cd ${MANIFEST_DIR}
if git status --porcelain | grep -q .; then GIT_CHANGES=$(git status --porcelain)
if [ -n "$GIT_CHANGES" ]; then
echo ">> Changes detected" echo ">> Changes detected"
git status --porcelain git status --porcelain
echo "changes-detected=true" >> $GITEA_OUTPUT echo "changes-detected=true" >> $GITEA_OUTPUT
else else
echo ">> No changes detected, skipping PR creation" echo ">> No changes detected, skipping PR creation"
exit 0
fi fi
echo "----" echo "----"
@@ -227,9 +261,9 @@ jobs:
PAYLOAD=$( jq -n \ PAYLOAD=$( jq -n \
--arg head "${BRANCH_NAME}" \ --arg head "${BRANCH_NAME}" \
--arg base "${BASE_BRANCH}" \ --arg base "${BASE_BRANCH}" \
--arg title "Automated Manifest Update" \ --arg title "Automated Manifest Update - Automerge" \
--arg body "This PR contains newly rendered Kubernetes manifests automatically generated by the CI workflow. This is expected to be automerged." \ --arg body "This PR contains newly rendered Kubernetes manifests automatically generated by the CI workflow. This is expected to be automerged." \
'{head: $head, base: $base, title: $title, body: $body'} ) '{head: $head, base: $base, title: $title, body: $body}' )
echo ">> Creating PR from branch ${BRANCH_NAME} into ${BASE_BRANCH}" echo ">> Creating PR from branch ${BRANCH_NAME} into ${BASE_BRANCH}"
echo ">> With Endpoint of:" echo ">> With Endpoint of:"
@@ -261,10 +295,15 @@ jobs:
if [ "$HTTP_STATUS" == "201" ]; then if [ "$HTTP_STATUS" == "201" ]; then
echo ">> Pull Request created successfully!" echo ">> Pull Request created successfully!"
PR_URL=$(cat response_body.json | jq -r .html_url) PR_URL=$(cat response_body.json | jq -r .html_url)
echo ">> Pull Request URL: $PR_URL"
echo "pull-request-url=${PR_URL}" >> $GITEA_OUTPUT echo "pull-request-url=${PR_URL}" >> $GITEA_OUTPUT
PR_ID=$(cat response_body.json | jq -r .id)
echo "pull-request-id=${PR_ID}" >> $GITEA_OUTPUT PR_NUMBER=$(cat response_body.json | jq -r .number)
echo ">> Pull Request Number: $PR_NUMBER"
echo "pull-request-number=${PR_NUMBER}" >> $GITEA_OUTPUT
echo "pull-request-operation=created" >> $GITEA_OUTPUT echo "pull-request-operation=created" >> $GITEA_OUTPUT
elif [ "$HTTP_STATUS" == "422" ]; then elif [ "$HTTP_STATUS" == "422" ]; then
@@ -287,18 +326,17 @@ jobs:
GITEA_TOKEN: ${{ secrets.BOT_TOKEN }} GITEA_TOKEN: ${{ secrets.BOT_TOKEN }}
GITEA_URL: ${{ secrets.REPO_URL }} GITEA_URL: ${{ secrets.REPO_URL }}
BRANCH_NAME: ${{ steps.prepare-manifest-branch.outputs.BRANCH_NAME }} BRANCH_NAME: ${{ steps.prepare-manifest-branch.outputs.BRANCH_NAME }}
PR_ID: ${{ steps.prepare-manifest-branch.outputs.pull-request-id }} PR_NUMBER: ${{ steps.create-pull-request.outputs.pull-request-number }}
run: | run: |
cd ${MANIFEST_DIR} cd ${MANIFEST_DIR}
API_ENDPOINT="${GITEA_URL}/api/v1/repos/${{ gitea.repository }}/pulls/${PR_ID}/merge" API_ENDPOINT="${GITEA_URL}/api/v1/repos/${{ gitea.repository }}/pulls/${PR_NUMBER}/merge"
PAYLOAD=$( jq -n \ PAYLOAD=$( jq -n \
--arg Do "merge" \ --arg Do "merge" \
--arg delete_branch_after_merge "true" \ '{Do: $Do}' )
'{Do: $Do, delete_branch_after_merge: $delete_branch_after_merge'} )
echo ">> Merging PR with ID: ${PR_ID}" echo ">> Merging PR with ID: ${PR_NUMBER}"
echo ">> With Endpoint of:" echo ">> With Endpoint of:"
echo "$API_ENDPOINT" echo "$API_ENDPOINT"
echo ">> With Payload of:" echo ">> With Payload of:"
@@ -363,7 +401,6 @@ jobs:
details: "Automerge Manifest rendering for Infrastructure!" details: "Automerge Manifest rendering for Infrastructure!"
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png" icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png"
actions: '[{"action": "view", "label": "Open Gitea", "url": "${{ steps.create-pull-request.outputs.pull-request-url }}", "clear": true}]' actions: '[{"action": "view", "label": "Open Gitea", "url": "${{ steps.create-pull-request.outputs.pull-request-url }}", "clear": true}]'
image: true
- name: ntfy Failed - name: ntfy Failed
uses: niniyas/ntfy-action@master uses: niniyas/ntfy-action@master

View File

@@ -0,0 +1,383 @@
name: render-manifests-dispatch
on:
workflow_dispatch:
env:
CLUSTER: cl01tl
BASE_BRANCH: manifests
BRANCH_NAME: auto/update-manifests
ASSIGNEE: alexlebens
MAIN_DIR: /workspace/alexlebens/infrastructure/infrastructure
MANIFEST_DIR: /workspace/alexlebens/infrastructure/infrastructure-manifests
jobs:
render-manifests-dispatch:
runs-on: ubuntu-js
steps:
- name: Checkout Main
uses: actions/checkout@v6
with:
path: infrastructure
fetch-depth: 0
- name: Checkout Manifests
uses: actions/checkout@v6
with:
ref: manifests
path: infrastructure-manifests
- name: Set up Helm
uses: azure/setup-helm@v4
with:
token: ${{ secrets.GITEA_TOKEN }}
version: v3.17.2 # Pending https://github.com/helm/helm/pull/30743
- name: Prepare Manifest Branch
run: |
cd ${MANIFEST_DIR}
echo ">> Configure git to use gitea-bot as user ..."
git config user.name "gitea-bot"
git config user.email "gitea-bot@alexlebens.net"
echo ">> Checking if PR branch exists ..."
if [[ $(git ls-remote --heads origin "${BRANCH_NAME}" | wc -l) -gt 0 ]]; then
echo ">> Branch '${BRANCH_NAME}' exists, pulling changes ..."
git fetch origin "${BRANCH_NAME}"
git checkout "${BRANCH_NAME}"
git pull --rebase
else
echo ">> Branch '${BRANCH_NAME}' does not exist, creating ..."
git checkout -b $BRANCH_NAME
fi
echo "----"
- name: Check which Directories have Changes
id: check-dir-changes
run: |
cd ${MAIN_DIR}
RENDER_DIR=()
echo ">> Triggered on dispatch, will check all paths ..."
RENDER_DIR+=$(ls clusters/cl01tl/helm/)
if [ -n "${RENDER_DIR}" ]; then
echo ">> Directories to Render:"
echo "$(echo "${RENDER_DIR}" | sort -u)"
echo "----"
echo "changes-detected=true" >> $GITEA_OUTPUT
echo "render-dir<<EOF" >> $GITEA_OUTPUT
echo "$(echo "${RENDER_DIR}" | sort -u)" >> $GITEA_OUTPUT
echo "EOF" >> $GITEA_OUTPUT
else
echo "changes-detected=false" >> $GITEA_OUTPUT
fi
- name: Add Repositories
if: steps.check-dir-changes.outputs.changes-detected == 'true'
env:
RENDER_DIR: ${{ steps.check-dir-changes.outputs.render-dir }}
run: |
cd ${MAIN_DIR}
echo ">> Adding repositories for chart dependencies ..."
for dir in ${RENDER_DIR}; do
helm dependency list --max-col-width 120 ${MAIN_DIR}/clusters/${CLUSTER}/helm/$dir 2> /dev/null \
| tail +2 | head -n -1 \
| awk '{ print "helm repo add " $1 " " $3 }' \
| while read cmd; do echo "$cmd" | sh; done || true
done
if helm repo list | tail +2 | read -r; then
echo ">> Update repository cache ..."
helm repo update
fi
echo "----"
- name: Remove Changed Manifest Files
if: steps.check-dir-changes.outputs.changes-detected == 'true'
env:
RENDER_DIR: ${{ steps.check-dir-changes.outputs.render-dir }}
run: |
cd ${MANIFEST_DIR}
echo ">> Remove manfiest files and rebuild from source ..."
for dir in ${RENDER_DIR}; do
chart_path=${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$dir
echo "$chart_path"
rm -rf $chart_path/*
done
echo "----"
- name: Render Helm Manifests
id: render-manifests
if: steps.check-dir-changes.outputs.changes-detected == 'true'
env:
RENDER_DIR: ${{ steps.check-dir-changes.outputs.render-dir }}
run: |
cd ${MAIN_DIR}
echo ">> Rendering Manifests ..."
for dir in ${RENDER_DIR}; do
chart_path=${MAIN_DIR}/clusters/${CLUSTER}/helm/$dir
chart_name=$(basename "$chart_path")
echo ""
echo ""
echo ">> Rendering chart: $chart_name"
echo ">> Chart path $chart_path"
if [ -f "$chart_path/Chart.yaml" ]; then
OUTPUT_FOLDER="${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$chart_name/"
TEMPLATE=""
mkdir -p ${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$chart_name
cd $chart_path
echo ""
echo ">> Building helm dependency ..."
helm dependency build --skip-refresh
echo ""
echo ">> Linting helm ..."
helm lint --namespace "$chart_name"
echo ""
echo ">> Rendering templates ..."
case "$chart_name" in
"stack")
echo ""
echo ">> Special Rendering for stack into argocd namespace ..."
TEMPLATE=$(helm template $chart_name ./ --namespace argocd --include-crds --dry-run)
;;
"cilium" | "coredns" | "metrics-server" |"prometheus-operator-crds")
echo ""
echo ">> Special Rendering for $chart_name into kube-system namespace ..."
TEMPLATE=$(helm template $chart_name ./ --namespace kube-system --include-crds --dry-run)
;;
*)
echo ""
echo ">> Standard Rendering for $chart_name ..."
TEMPLATE=$(helm template "$chart_name" ./ --namespace "$chart_name" --include-crds --dry-run)
;;
esac
echo ""
echo ">> Formating rendered template ..."
echo "$TEMPLATE" | yq 'select(. != null)' | yq -s '"'"$OUTPUT_FOLDER"'" + .kind + "-" + .metadata.name + ".yaml"'
echo ""
echo ">> Manifests for $chart_name rendered to $OUTPUT_FOLDER"
ls $OUTPUT_FOLDER
echo ""
else
echo ""
echo ">> Directory $chart_path does not contain a Chart.yaml. Skipping ..."
echo ""
fi
done
echo "----"
- name: Check for Changes
id: check-changes
if: steps.check-dir-changes.outputs.changes-detected == 'true'
run: |
cd ${MANIFEST_DIR}
GIT_CHANGES=$(git status --porcelain)
if [ -n "$GIT_CHANGES" ]; then
echo ">> Changes detected"
git status --porcelain
echo "changes-detected=true" >> $GITEA_OUTPUT
else
echo ">> No changes detected, skipping PR creation"
fi
echo "----"
- name: Commit and Push Changes
id: commit-push
if: steps.check-changes.outputs.changes-detected == 'true'
run: |
cd ${MANIFEST_DIR}
echo ">> Commiting changes to ${BRANCH_NAME} ..."
git add .
git commit -m "chore: Update manifests after change"
REPO_URL="${{ secrets.REPO_URL }}/${{ gitea.repository }}"
echo ">> Pushing changes to $REPO_URL ..."
git push -u "https://oauth2:${{ secrets.BOT_TOKEN }}@$(echo $REPO_URL | sed -e 's|https://||')" ${BRANCH_NAME}
echo "----"
echo "HEAD_BRANCH=${BRANCH_NAME}" >> $GITEA_OUTPUT
echo "push=true" >> $GITEA_OUTPUT
- name: Check for Pull Request
id: check-for-pull-requst
if: steps.commit-push.outputs.push == 'true'
env:
GITEA_TOKEN: ${{ secrets.BOT_TOKEN }}
GITEA_URL: ${{ secrets.REPO_URL }}
HEAD_BRANCH: ${{ steps.commit-push.outputs.HEAD_BRANCH }}
run: |
cd ${MANIFEST_DIR}
API_ENDPOINT="${GITEA_URL}/api/v1/repos/${{ gitea.repository }}/pulls?base_branch=${BASE_BRANCH}&state=open&page=1"
echo ">> Checking if PR from branch ${HEAD_BRANCH} into ${BASE_BRANCH}"
echo ">> With Endpoint of:"
echo "$API_ENDPOINT"
HTTP_STATUS=$(
curl -X GET \
--silent \
--write-out '%{http_code}' \
--output response_body.json \
--dump-header response_headers.txt \
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/json" \
"$API_ENDPOINT" 2> response_errors.txt
)
echo ">> HTTP Status Code: $HTTP_STATUS"
echo ">> Response Output ..."
echo "----"
cat response_body.json
echo "----"
cat response_headers.txt
echo "----"
cat response_errors.txt
echo "----"
if [ "$HTTP_STATUS" == "200" ] && [ "$(cat response_body.json | jq -r .[0].state)" == "open" ]; then
echo ">> Pull Request has been found open, will update"
PR_INDEX=$(cat response_body.json | jq -r .[0].number)
echo "pull-request-exists=${PR_INDEX}" >> $GITEA_OUTPUT
echo "pull-request-index=true" >> $GITEA_OUTPUT
elif [ "$HTTP_STATUS" == "200" ] && [ "$(cat response_body.json | jq -r .[0].state)" == "closed" ]; then
echo ">> Pull Request found, but was closed"
echo "pull-request-exists=false" >> $GITEA_OUTPUT
else
echo ">> Pull Request not found"
echo "pull-request-exists=false" >> $GITEA_OUTPUT
fi
echo "----"
- name: Create Pull Request
id: create-pull-request
if: steps.commit-push.outputs.push == 'true' && steps.check-for-pull-requst.outputs.pull-request-exists == 'false'
env:
GITEA_TOKEN: ${{ secrets.BOT_TOKEN }}
GITEA_URL: ${{ secrets.REPO_URL }}
HEAD_BRANCH: ${{ steps.commit-push.outputs.HEAD_BRANCH }}
run: |
cd ${MANIFEST_DIR}
API_ENDPOINT="${GITEA_URL}/api/v1/repos/${{ gitea.repository }}/pulls"
PAYLOAD=$( jq -n \
--arg head "${HEAD_BRANCH}" \
--arg base "${BASE_BRANCH}" \
--arg assignee "${ASSIGNEE}" \
--arg title "Automated Manifest Update" \
--arg body "This PR contains newly rendered Kubernetes manifests automatically generated by the CI workflow." \
'{head: $head, base: $base, assignee: $assignee, title: $title, body: $body}' )
echo ">> Creating PR from branch ${HEAD_BRANCH} into ${BASE_BRANCH}"
echo ">> With Endpoint of:"
echo "$API_ENDPOINT"
echo ">> With Payload of:"
echo "$PAYLOAD"
HTTP_STATUS=$(
curl -X POST \
--silent \
--write-out '%{http_code}' \
--output response_body.json \
--dump-header response_headers.txt \
--data "$PAYLOAD" \
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/json" \
"$API_ENDPOINT" 2> response_errors.txt
)
echo ">> HTTP Status Code: $HTTP_STATUS"
echo ">> Response Output ..."
echo "----"
cat response_body.json
echo "----"
cat response_headers.txt
echo "----"
cat response_errors.txt
echo "----"
if [ "$HTTP_STATUS" == "201" ]; then
echo ">> Pull Request created successfully!"
PR_URL=$(cat response_body.json | jq -r .html_url)
echo "pull-request-url=${PR_URL}" >> $GITEA_OUTPUT
PR_ID=$(cat response_body.json | jq -r .id)
echo "pull-request-id=${PR_ID}" >> $GITEA_OUTPUT
echo "pull-request-operation=created" >> $GITEA_OUTPUT
elif [ "$HTTP_STATUS" == "422" ]; then
echo ">> Failed to create PR (HTTP 422: Unprocessable Entity), PR may already exist"
elif [ "$HTTP_STATUS" == "409" ]; then
echo ">> Failed to create PR (HTTP 409: Conflict), PR already exists"
else
echo ">> Failed to create PR, HTTP status code: $HTTP_STATUS"
exit 1
fi
echo "----"
- name: ntfy Created
uses: niniyas/ntfy-action@master
if: steps.create-pull-request.outputs.pull-request-operation == 'created'
with:
url: "${{ secrets.NTFY_URL }}"
topic: "${{ secrets.NTFY_TOPIC }}"
title: "Manifest Render PR Created - Infrastructure"
priority: 3
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,successfully,completed
details: "Manifest rendering for Infrastructure has created a new Pull Request with ID: ${{ steps.create-pull-request.outputs.pull-request-id }}!"
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png"
actions: '[{"action": "view", "label": "Open Gitea", "url": "${{ steps.create-pull-request.outputs.pull-request-url }}", "clear": true}]'
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: "${{ secrets.NTFY_URL }}"
topic: "${{ secrets.NTFY_TOPIC }}"
title: "Manifest Render Failure - Infrastructure"
priority: 4
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: "Manifest rendering for Infrastructure has failed!"
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png"
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/infrastructure/actions?workflow=render-manifests.yaml", "clear": true}]'
image: true

View File

@@ -0,0 +1,403 @@
name: render-manifests-merge
on:
pull_request:
branches:
- main
paths:
- 'clusters/cl01tl/helm/**'
types:
- closed
env:
CLUSTER: cl01tl
BASE_BRANCH: manifests
BRANCH_NAME: auto/update-manifests
ASSIGNEE: alexlebens
MAIN_DIR: /workspace/alexlebens/infrastructure/infrastructure
MANIFEST_DIR: /workspace/alexlebens/infrastructure/infrastructure-manifests
jobs:
render-manifests-merge:
runs-on: ubuntu-js
if: ${{ (github.event.pull_request.merged == true) && !(contains(github.event.pull_request.labels.*.name, 'automerge')) }}
steps:
- name: Checkout Main
uses: actions/checkout@v6
with:
path: infrastructure
fetch-depth: 0
- name: Checkout Manifests
uses: actions/checkout@v6
with:
ref: manifests
path: infrastructure-manifests
- name: Set up Helm
uses: azure/setup-helm@v4
with:
token: ${{ secrets.GITEA_TOKEN }}
version: v3.17.2 # Pending https://github.com/helm/helm/pull/30743
- name: Prepare Manifest Branch
run: |
cd ${MANIFEST_DIR}
echo ">> Configure git to use gitea-bot as user ..."
git config user.name "gitea-bot"
git config user.email "gitea-bot@alexlebens.net"
echo ">> Checking if PR branch exists ..."
if [[ $(git ls-remote --heads origin "${BRANCH_NAME}" | wc -l) -gt 0 ]]; then
echo ">> Branch '${BRANCH_NAME}' exists, pulling changes ..."
git fetch origin "${BRANCH_NAME}"
git checkout "${BRANCH_NAME}"
git pull --rebase
else
echo ">> Branch '${BRANCH_NAME}' does not exist, creating ..."
git checkout -b $BRANCH_NAME
fi
echo "----"
- name: Check which Directories have Changes
id: check-dir-changes
run: |
cd ${MAIN_DIR}
RENDER_DIR=()
echo ">> Checking for changes from HEAD^..HEAD ..."
GIT_DIFF=$(git diff --name-only HEAD^..HEAD | xargs -I {} dirname {} | sort -u | grep -E "clusters/[^/]+/helm/[^/]+")
if [ -n "${GIT_DIFF}" ]; then
echo ">> Changes detected:"
echo "$GIT_DIFF"
for path in $GIT_DIFF; do
RENDER_DIR+=$(echo "$path" | awk -F '/' '{print $4}')
RENDER_DIR+=$(echo " ")
done
else
echo ">> No changes detected"
fi
if [ -n "${RENDER_DIR}" ]; then
echo ">> Directories to Render:"
echo "$(echo "${RENDER_DIR}" | sort -u)"
echo "----"
echo "changes-detected=true" >> $GITEA_OUTPUT
echo "render-dir<<EOF" >> $GITEA_OUTPUT
echo "$(echo "${RENDER_DIR}" | sort -u)" >> $GITEA_OUTPUT
echo "EOF" >> $GITEA_OUTPUT
else
echo "changes-detected=false" >> $GITEA_OUTPUT
fi
- name: Add Repositories
if: steps.check-dir-changes.outputs.changes-detected == 'true'
env:
RENDER_DIR: ${{ steps.check-dir-changes.outputs.render-dir }}
run: |
cd ${MAIN_DIR}
echo ">> Adding repositories for chart dependencies ..."
for dir in ${RENDER_DIR}; do
helm dependency list --max-col-width 120 ${MAIN_DIR}/clusters/${CLUSTER}/helm/$dir 2> /dev/null \
| tail +2 | head -n -1 \
| awk '{ print "helm repo add " $1 " " $3 }' \
| while read cmd; do echo "$cmd" | sh; done || true
done
if helm repo list | tail +2 | read -r; then
echo ">> Update repository cache ..."
helm repo update
fi
echo "----"
- name: Remove Changed Manifest Files
if: steps.check-dir-changes.outputs.changes-detected == 'true'
env:
RENDER_DIR: ${{ steps.check-dir-changes.outputs.render-dir }}
run: |
cd ${MANIFEST_DIR}
echo ">> Remove manfiest files and rebuild from source ..."
for dir in ${RENDER_DIR}; do
chart_path=${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$dir
echo "$chart_path"
rm -rf $chart_path/*
done
echo "----"
- name: Render Helm Manifests
id: render-manifests
if: steps.check-dir-changes.outputs.changes-detected == 'true'
env:
RENDER_DIR: ${{ steps.check-dir-changes.outputs.render-dir }}
run: |
cd ${MAIN_DIR}
echo ">> Rendering Manifests ..."
for dir in ${RENDER_DIR}; do
chart_path=${MAIN_DIR}/clusters/${CLUSTER}/helm/$dir
chart_name=$(basename "$chart_path")
echo ""
echo ""
echo ">> Rendering chart: $chart_name"
echo ">> Chart path $chart_path"
if [ -f "$chart_path/Chart.yaml" ]; then
OUTPUT_FOLDER="${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$chart_name/"
TEMPLATE=""
mkdir -p ${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$chart_name
cd $chart_path
echo ""
echo ">> Building helm dependency ..."
helm dependency build --skip-refresh
echo ""
echo ">> Linting helm ..."
helm lint --namespace "$chart_name"
echo ""
echo ">> Rendering templates ..."
case "$chart_name" in
"stack")
echo ""
echo ">> Special Rendering for stack into argocd namespace ..."
TEMPLATE=$(helm template $chart_name ./ --namespace argocd --include-crds --dry-run)
;;
"cilium" | "coredns" | "metrics-server" |"prometheus-operator-crds")
echo ""
echo ">> Special Rendering for $chart_name into kube-system namespace ..."
TEMPLATE=$(helm template $chart_name ./ --namespace kube-system --include-crds --dry-run)
;;
*)
echo ""
echo ">> Standard Rendering for $chart_name ..."
TEMPLATE=$(helm template "$chart_name" ./ --namespace "$chart_name" --include-crds --dry-run)
;;
esac
echo ""
echo ">> Formating rendered template ..."
echo "$TEMPLATE" | yq 'select(. != null)' | yq -s '"'"$OUTPUT_FOLDER"'" + .kind + "-" + .metadata.name + ".yaml"'
echo ""
echo ">> Manifests for $chart_name rendered to $OUTPUT_FOLDER"
ls $OUTPUT_FOLDER
echo ""
else
echo ""
echo ">> Directory $chart_path does not contain a Chart.yaml. Skipping ..."
echo ""
fi
done
echo "----"
- name: Check for Changes
id: check-changes
if: steps.check-dir-changes.outputs.changes-detected == 'true'
run: |
cd ${MANIFEST_DIR}
GIT_CHANGES=$(git status --porcelain)
if [ -n "$GIT_CHANGES" ]; then
echo ">> Changes detected"
git status --porcelain
echo "changes-detected=true" >> $GITEA_OUTPUT
else
echo ">> No changes detected, skipping PR creation"
fi
echo "----"
- name: Commit and Push Changes
id: commit-push
if: steps.check-changes.outputs.changes-detected == 'true'
run: |
cd ${MANIFEST_DIR}
echo ">> Commiting changes to ${BRANCH_NAME} ..."
git add .
git commit -m "chore: Update manifests after change"
REPO_URL="${{ secrets.REPO_URL }}/${{ gitea.repository }}"
echo ">> Pushing changes to $REPO_URL ..."
git push -u "https://oauth2:${{ secrets.BOT_TOKEN }}@$(echo $REPO_URL | sed -e 's|https://||')" ${BRANCH_NAME}
echo "----"
echo "HEAD_BRANCH=${BRANCH_NAME}" >> $GITEA_OUTPUT
echo "push=true" >> $GITEA_OUTPUT
- name: Check for Pull Request
id: check-for-pull-requst
if: steps.commit-push.outputs.push == 'true'
env:
GITEA_TOKEN: ${{ secrets.BOT_TOKEN }}
GITEA_URL: ${{ secrets.REPO_URL }}
HEAD_BRANCH: ${{ steps.commit-push.outputs.HEAD_BRANCH }}
run: |
cd ${MANIFEST_DIR}
API_ENDPOINT="${GITEA_URL}/api/v1/repos/${{ gitea.repository }}/pulls?base_branch=${BASE_BRANCH}&state=open&page=1"
echo ">> Checking if PR from branch ${HEAD_BRANCH} into ${BASE_BRANCH}"
echo ">> With Endpoint of:"
echo "$API_ENDPOINT"
HTTP_STATUS=$(
curl -X GET \
--silent \
--write-out '%{http_code}' \
--output response_body.json \
--dump-header response_headers.txt \
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/json" \
"$API_ENDPOINT" 2> response_errors.txt
)
echo ">> HTTP Status Code: $HTTP_STATUS"
echo ">> Response Output ..."
echo "----"
cat response_body.json
echo "----"
cat response_headers.txt
echo "----"
cat response_errors.txt
echo "----"
if [ "$HTTP_STATUS" == "200" ] && [ "$(cat response_body.json | jq -r .[0].state)" == "open" ]; then
echo ">> Pull Request has been found open, will update"
PR_INDEX=$(cat response_body.json | jq -r .[0].number)
echo "pull-request-exists=${PR_INDEX}" >> $GITEA_OUTPUT
echo "pull-request-index=true" >> $GITEA_OUTPUT
elif [ "$HTTP_STATUS" == "200" ] && [ "$(cat response_body.json | jq -r .[0].state)" == "closed" ]; then
echo ">> Pull Request found, but was closed"
echo "pull-request-exists=false" >> $GITEA_OUTPUT
else
echo ">> Pull Request not found"
echo "pull-request-exists=false" >> $GITEA_OUTPUT
fi
echo "----"
- name: Create Pull Request
id: create-pull-request
if: steps.commit-push.outputs.push == 'true' && steps.check-for-pull-requst.outputs.pull-request-exists == 'false'
env:
GITEA_TOKEN: ${{ secrets.BOT_TOKEN }}
GITEA_URL: ${{ secrets.REPO_URL }}
HEAD_BRANCH: ${{ steps.commit-push.outputs.HEAD_BRANCH }}
run: |
cd ${MANIFEST_DIR}
API_ENDPOINT="${GITEA_URL}/api/v1/repos/${{ gitea.repository }}/pulls"
PAYLOAD=$( jq -n \
--arg head "${HEAD_BRANCH}" \
--arg base "${BASE_BRANCH}" \
--arg assignee "${ASSIGNEE}" \
--arg title "Automated Manifest Update" \
--arg body "This PR contains newly rendered Kubernetes manifests automatically generated by the CI workflow." \
'{head: $head, base: $base, assignee: $assignee, title: $title, body: $body}' )
echo ">> Creating PR from branch ${HEAD_BRANCH} into ${BASE_BRANCH}"
echo ">> With Endpoint of:"
echo "$API_ENDPOINT"
echo ">> With Payload of:"
echo "$PAYLOAD"
HTTP_STATUS=$(
curl -X POST \
--silent \
--write-out '%{http_code}' \
--output response_body.json \
--dump-header response_headers.txt \
--data "$PAYLOAD" \
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/json" \
"$API_ENDPOINT" 2> response_errors.txt
)
echo ">> HTTP Status Code: $HTTP_STATUS"
echo ">> Response Output ..."
echo "----"
cat response_body.json
echo "----"
cat response_headers.txt
echo "----"
cat response_errors.txt
echo "----"
if [ "$HTTP_STATUS" == "201" ]; then
echo ">> Pull Request created successfully!"
PR_URL=$(cat response_body.json | jq -r .html_url)
echo "pull-request-url=${PR_URL}" >> $GITEA_OUTPUT
PR_ID=$(cat response_body.json | jq -r .id)
echo "pull-request-id=${PR_ID}" >> $GITEA_OUTPUT
echo "pull-request-operation=created" >> $GITEA_OUTPUT
elif [ "$HTTP_STATUS" == "422" ]; then
echo ">> Failed to create PR (HTTP 422: Unprocessable Entity), PR may already exist"
elif [ "$HTTP_STATUS" == "409" ]; then
echo ">> Failed to create PR (HTTP 409: Conflict), PR already exists"
else
echo ">> Failed to create PR, HTTP status code: $HTTP_STATUS"
exit 1
fi
echo "----"
- name: ntfy Created
uses: niniyas/ntfy-action@master
if: steps.create-pull-request.outputs.pull-request-operation == 'created'
with:
url: "${{ secrets.NTFY_URL }}"
topic: "${{ secrets.NTFY_TOPIC }}"
title: "Manifest Render PR Created - Infrastructure"
priority: 3
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,successfully,completed
details: "Manifest rendering for Infrastructure has created a new Pull Request with ID: ${{ steps.create-pull-request.outputs.pull-request-id }}!"
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png"
actions: '[{"action": "view", "label": "Open Gitea", "url": "${{ steps.create-pull-request.outputs.pull-request-url }}", "clear": true}]'
- name: ntfy Failed
uses: niniyas/ntfy-action@master
if: failure()
with:
url: "${{ secrets.NTFY_URL }}"
topic: "${{ secrets.NTFY_TOPIC }}"
title: "Manifest Render Failure - Infrastructure"
priority: 4
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,failed
details: "Manifest rendering for Infrastructure has failed!"
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png"
actions: '[{"action": "view", "label": "Open Gitea", "url": "https://gitea.alexlebens.dev/alexlebens/infrastructure/actions?workflow=render-manifests.yaml", "clear": true}]'
image: true

View File

@@ -1,4 +1,4 @@
name: render-manifests name: render-manifests-push
on: on:
push: push:
@@ -7,8 +7,6 @@ on:
paths: paths:
- 'clusters/cl01tl/helm/**' - 'clusters/cl01tl/helm/**'
workflow_dispatch:
env: env:
CLUSTER: cl01tl CLUSTER: cl01tl
BASE_BRANCH: manifests BASE_BRANCH: manifests
@@ -18,8 +16,9 @@ env:
MANIFEST_DIR: /workspace/alexlebens/infrastructure/infrastructure-manifests MANIFEST_DIR: /workspace/alexlebens/infrastructure/infrastructure-manifests
jobs: jobs:
render-manifests: render-manifests-push:
runs-on: ubuntu-js runs-on: ubuntu-js
if: gitea.event.commits[0].author.username != 'renovate-bot'
steps: steps:
- name: Checkout Main - name: Checkout Main
uses: actions/checkout@v6 uses: actions/checkout@v6
@@ -68,36 +67,31 @@ jobs:
RENDER_DIR=() RENDER_DIR=()
if [ "$GITHUB_EVENT_NAME" == "workflow_dispatch" ]; then
echo ">> Triggered on dispatch, will check all paths ..."
RENDER_DIR+=$(ls clusters/cl01tl/helm/)
else
echo ">> Checking for changes ..." echo ">> Checking for changes ..."
GIT_DIFF=$(git diff --name-only ${{ gitea.event.before }}..HEAD | xargs -I {} dirname {} | sort -u | grep "clusters/cl01tl/helm/") GIT_DIFF=$(git diff --name-only ${{ gitea.event.before }}..HEAD | xargs -I {} dirname {} | sort -u | grep -E "clusters/[^/]+/helm/[^/]+")
if [ -n "${GIT_DIFF}" ]; then if [ -n "${GIT_DIFF}" ]; then
echo ">> Changes detected:" echo ">> Changes detected:"
echo "$GIT_DIFF" echo "$GIT_DIFF"
for path in $GIT_DIFF; do for path in $GIT_DIFF; do
RENDER_DIR+=$(echo "$path" | awk -F '/' '{print $4}') RENDER_DIR+=$(echo "$path" | awk -F '/' '{print $4}')
RENDER_DIR+=$(echo " ")
done done
else else
echo ">> No changes detected" echo ">> No changes detected"
fi fi
fi
if [ -n "${RENDER_DIR}" ]; then if [ -n "${RENDER_DIR}" ]; then
echo ">> Directories to Render:" echo ">> Directories to Render:"
echo "$(printf "%s\n" "${RENDER_DIR[@]}" | sort -u)" echo "$(echo "${RENDER_DIR}" | sort -u)"
echo "----" echo "----"
echo "changes-detected=true" >> $GITEA_OUTPUT echo "changes-detected=true" >> $GITEA_OUTPUT
echo "render-dir<<EOF" >> $GITEA_OUTPUT echo "render-dir<<EOF" >> $GITEA_OUTPUT
echo "$(printf "%s\n" "${RENDER_DIR[@]}" | sort -u)" >> $GITEA_OUTPUT echo "$(echo "${RENDER_DIR}" | sort -u)" >> $GITEA_OUTPUT
echo "EOF" >> $GITEA_OUTPUT echo "EOF" >> $GITEA_OUTPUT
else else
echo "changes-detected=false" >> $GITEA_OUTPUT echo "changes-detected=false" >> $GITEA_OUTPUT
@@ -157,12 +151,16 @@ jobs:
chart_path=${MAIN_DIR}/clusters/${CLUSTER}/helm/$dir chart_path=${MAIN_DIR}/clusters/${CLUSTER}/helm/$dir
chart_name=$(basename "$chart_path") chart_name=$(basename "$chart_path")
echo ""
echo ""
echo ">> Rendering chart: $chart_name" echo ">> Rendering chart: $chart_name"
echo ">> Chart path $chart_path" echo ">> Chart path $chart_path"
if [ -f "$chart_path/Chart.yaml" ]; then if [ -f "$chart_path/Chart.yaml" ]; then
OUTPUT_FOLDER="${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$chart_name/"
TEMPLATE=""
mkdir -p ${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$chart_name mkdir -p ${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$chart_name
OUTPUT_FILE="${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$chart_name/$chart_name.yaml"
cd $chart_path cd $chart_path
@@ -176,36 +174,31 @@ jobs:
echo "" echo ""
echo ">> Rendering templates ..." echo ">> Rendering templates ..."
case "$chart_name" in case "$chart_name" in
"stack") "stack")
echo ">> Special Rendering for stack ..." echo ""
helm template stack ./ --namespace argocd --include-crds > "$OUTPUT_FILE" echo ">> Special Rendering for stack into argocd namespace ..."
TEMPLATE=$(helm template $chart_name ./ --namespace argocd --include-crds --dry-run)
;; ;;
"cilium") "cilium" | "coredns" | "metrics-server" |"prometheus-operator-crds")
echo ">> Special Rendering for cilium ..." echo ""
helm template cilium ./ --namespace kube-system --include-crds > "$OUTPUT_FILE" echo ">> Special Rendering for $chart_name into kube-system namespace ..."
;; TEMPLATE=$(helm template $chart_name ./ --namespace kube-system --include-crds --dry-run)
"coredns")
echo ">> Special Rendering for coredns ..."
helm template coredns ./ --namespace kube-system --include-crds > "$OUTPUT_FILE"
;;
"metrics-server")
echo ">> Special Rendering for metrics-server ..."
helm template metrics-server ./ --namespace kube-system --include-crds > "$OUTPUT_FILE"
;;
"prometheus-operator-crds")
echo ">> Special Rendering for prometheus-operator-crds ..."
helm template prometheus-operator-crds ./ --namespace kube-system --include-crds > "$OUTPUT_FILE"
;; ;;
*) *)
echo ""
echo ">> Standard Rendering for $chart_name ..." echo ">> Standard Rendering for $chart_name ..."
helm template "$chart_name" ./ --namespace "$chart_name" --include-crds > "$OUTPUT_FILE" TEMPLATE=$(helm template "$chart_name" ./ --namespace "$chart_name" --include-crds --dry-run)
;; ;;
esac esac
echo "" echo ""
echo ">> Manifests for $chart_name rendered to $OUTPUT_FILE" echo ">> Formating rendered template ..."
echo "$TEMPLATE" | yq 'select(. != null)' | yq -s '"'"$OUTPUT_FOLDER"'" + .kind + "-" + .metadata.name + ".yaml"'
echo ""
echo ">> Manifests for $chart_name rendered to $OUTPUT_FOLDER"
ls $OUTPUT_FOLDER
echo "" echo ""
else else
echo "" echo ""
@@ -222,13 +215,16 @@ jobs:
run: | run: |
cd ${MANIFEST_DIR} cd ${MANIFEST_DIR}
if git status --porcelain | grep -q .; then GIT_CHANGES=$(git status --porcelain)
if [ -n "$GIT_CHANGES" ]; then
echo ">> Changes detected" echo ">> Changes detected"
git status --porcelain git status --porcelain
echo "changes-detected=true" >> $GITEA_OUTPUT echo "changes-detected=true" >> $GITEA_OUTPUT
else else
echo ">> No changes detected, skipping PR creation" echo ">> No changes detected, skipping PR creation"
exit 0
fi fi
echo "----" echo "----"
@@ -324,7 +320,7 @@ jobs:
--arg assignee "${ASSIGNEE}" \ --arg assignee "${ASSIGNEE}" \
--arg title "Automated Manifest Update" \ --arg title "Automated Manifest Update" \
--arg body "This PR contains newly rendered Kubernetes manifests automatically generated by the CI workflow." \ --arg body "This PR contains newly rendered Kubernetes manifests automatically generated by the CI workflow." \
'{head: $head, base: $base, assignee: $assignee, title: $title, body: $body'} ) '{head: $head, base: $base, assignee: $assignee, title: $title, body: $body}' )
echo ">> Creating PR from branch ${HEAD_BRANCH} into ${BASE_BRANCH}" echo ">> Creating PR from branch ${HEAD_BRANCH} into ${BASE_BRANCH}"
echo ">> With Endpoint of:" echo ">> With Endpoint of:"
@@ -385,10 +381,9 @@ jobs:
priority: 3 priority: 3
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}' headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
tags: action,successfully,completed tags: action,successfully,completed
details: "Manifest rendering for Infrastructure has created a new Pull Request!" details: "Manifest rendering for Infrastructure has created a new Pull Request with ID: ${{ steps.create-pull-request.outputs.pull-request-id }}!"
icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png" icon: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/gitea.png"
actions: '[{"action": "view", "label": "Open Gitea", "url": "${{ steps.create-pull-request.outputs.pull-request-url }}", "clear": true}]' actions: '[{"action": "view", "label": "Open Gitea", "url": "${{ steps.create-pull-request.outputs.pull-request-url }}", "clear": true}]'
image: true
- name: ntfy Failed - name: ntfy Failed
uses: niniyas/ntfy-action@master uses: niniyas/ntfy-action@master

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
digest: sha256:b5d823171e1b4dc1d3856f782f0c67cbb5d49e4fa170df2f21b06303c7aff7f5 digest: sha256:926b8da839684072fd79954aff0c9852c2ff3b618b0fa35177bdec8e2dff4986
generated: "2025-11-30T21:05:19.732832-06:00" generated: "2025-12-05T17:02:01.15162583Z"

View File

@@ -16,6 +16,6 @@ dependencies:
- name: app-template - name: app-template
alias: actual alias: actual
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/actual-budget.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/actual-budget.png
appVersion: 25.11.0 appVersion: 25.11.0

View File

@@ -9,7 +9,7 @@ actual:
main: main:
image: image:
repository: ghcr.io/actualbudget/actual repository: ghcr.io/actualbudget/actual
tag: 25.11.0 tag: 25.12.0
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: TZ - name: TZ

View File

@@ -1,12 +1,12 @@
dependencies: dependencies:
- name: argo-workflows - name: argo-workflows
repository: https://argoproj.github.io/argo-helm repository: https://argoproj.github.io/argo-helm
version: 0.45.28 version: 0.46.1
- name: argo-events - name: argo-events
repository: https://argoproj.github.io/argo-helm repository: https://argoproj.github.io/argo-helm
version: 2.4.17 version: 2.4.18
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0 version: 6.16.1
digest: sha256:b00fd479a9d9e606661b3799182c8e24395b4f531f8d2bda87bdc5db16a8d66c digest: sha256:6cc24f6ce2b7f67c2eeab9bb6f64ebfedc082a2e809fc1f03f691f99a3006143
generated: "2025-12-01T19:55:40.18149-06:00" generated: "2025-12-04T01:01:06.532396136Z"

View File

@@ -18,14 +18,14 @@ maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
- name: argo-workflows - name: argo-workflows
version: 0.45.28 version: 0.46.1
repository: https://argoproj.github.io/argo-helm repository: https://argoproj.github.io/argo-helm
- name: argo-events - name: argo-events
version: 2.4.17 version: 2.4.18
repository: https://argoproj.github.io/argo-helm repository: https://argoproj.github.io/argo-helm
- name: postgres-cluster - name: postgres-cluster
alias: postgres-17-cluster alias: postgres-17-cluster
version: 6.16.0 version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/argo-cd.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/argo-cd.png
appVersion: v3.6.7 appVersion: v3.6.7

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: argo-cd - name: argo-cd
repository: https://argoproj.github.io/argo-helm repository: https://argoproj.github.io/argo-helm
version: 9.1.5 version: 9.1.6
digest: sha256:07f7f6d369af426cdd213ddbc58373a4e5b4f54724efd4612662d7da0315232d digest: sha256:488b8e826e7cc7179f154c1b7555e2cec78b69becb9f8cdbe4937b3546d87e5d
generated: "2025-12-02T21:27:41.876154-06:00" generated: "2025-12-05T04:02:40.060511766Z"

View File

@@ -15,7 +15,7 @@ maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
- name: argo-cd - name: argo-cd
version: 9.1.5 version: 9.1.6
repository: https://argoproj.github.io/argo-helm repository: https://argoproj.github.io/argo-helm
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/argo-cd.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/argo-cd.png
appVersion: 3.0.0 appVersion: 3.0.0

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
digest: sha256:f3a9990542f24965fadad0b5493059b78cdc3fae91c8214577fa6f41ca5f7de3 digest: sha256:977ed15091e9ed30d647a626214701d22f3a8a5232a900e33f753cc7e090042f
generated: "2025-11-30T21:05:21.317114-06:00" generated: "2025-12-05T17:02:13.674405673Z"

View File

@@ -18,6 +18,6 @@ dependencies:
- name: app-template - name: app-template
alias: audiobookshelf alias: audiobookshelf
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/audiobookshelf.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/audiobookshelf.png
appVersion: 2.21.0 appVersion: 2.21.0

View File

@@ -7,6 +7,6 @@ dependencies:
version: 1.23.1 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0 version: 6.16.1
digest: sha256:2c3f84ecf3c8cabb7aa7e7e8a1b38cced65156c1e1db9b984154f514c33c9f69 digest: sha256:c3bafb322ca02710c8f325fefef20678957a8c6fd86894e44e5e318997e5cb80
generated: "2025-12-03T06:02:07.501444093Z" generated: "2025-12-03T23:59:57.54998859Z"

View File

@@ -29,7 +29,7 @@ dependencies:
version: 1.23.1 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
alias: postgres-17-cluster alias: postgres-17-cluster
version: 6.16.0 version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/authentik.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/authentik.png
appVersion: 2025.4.1 appVersion: 2025.4.1

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
digest: sha256:aa797b99d6d8b7aafe142811938408b7f234df6d429a7e076196337cc63876cb digest: sha256:6e6f20320a485b57288a6febae1b7623076059c370f88b7fbe92460fc4047db3
generated: "2025-12-01T20:25:09.888407-06:00" generated: "2025-12-05T17:02:26.599646463Z"

View File

@@ -16,6 +16,6 @@ dependencies:
- name: app-template - name: app-template
alias: backrest alias: backrest
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/backrest.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/backrest.png
appVersion: v1.10.1 appVersion: v1.10.1

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
digest: sha256:c6f6d1f2fb9fedf54094920737a6f0bd1a2ab89f0a4122966ca98f6c9d3f11fa digest: sha256:54c88d51b4067dec5b22623957970b64092bf3f417fabb58277f6bc3e01eca20
generated: "2025-11-30T21:05:22.694344-06:00" generated: "2025-12-05T17:02:40.843820962Z"

View File

@@ -18,6 +18,6 @@ dependencies:
- name: app-template - name: app-template
alias: bazarr alias: bazarr
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/bazarr.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/bazarr.png
appVersion: 1.5.2 appVersion: 1.5.2

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
digest: sha256:0009729bcf7f1941401b767fd4ae952b7a8d44f80053090b4a9224de912a14ef digest: sha256:b8516161886b87344848ad2b3bdafbd66da61ca8ffc5e9a5ebed462f205c9912
generated: "2025-12-01T20:25:13.511406-06:00" generated: "2025-12-05T17:02:59.562863413Z"

View File

@@ -16,6 +16,6 @@ dependencies:
- name: app-template - name: app-template
alias: blocky alias: blocky
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/blocky.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/blocky.png
appVersion: v0.25 appVersion: v0.25

View File

@@ -1,9 +1,9 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: mariadb-cluster - name: mariadb-cluster
repository: https://helm.mariadb.com/mariadb-operator repository: https://helm.mariadb.com/mariadb-operator
version: 25.10.2 version: 25.10.2
digest: sha256:264725306c1d1f38140293c0820abdc7e8aa4f39764b4d91e20200705ce2ec91 digest: sha256:58d978bd46c61285b06acc6d9a40404d8059f2df7b953dea13c528b35350d0a8
generated: "2025-11-30T21:05:24.649316-06:00" generated: "2025-12-05T17:03:15.7199669Z"

View File

@@ -16,7 +16,7 @@ dependencies:
- name: app-template - name: app-template
alias: booklore alias: booklore
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: mariadb-cluster - name: mariadb-cluster
version: 25.10.2 version: 25.10.2
repository: https://helm.mariadb.com/mariadb-operator repository: https://helm.mariadb.com/mariadb-operator

View File

@@ -9,7 +9,7 @@ booklore:
main: main:
image: image:
repository: ghcr.io/booklore-app/booklore repository: ghcr.io/booklore-app/booklore
tag: v1.12.0 tag: v1.13.1
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: TZ - name: TZ

View File

@@ -1,9 +1,9 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1 version: 1.23.1
digest: sha256:dd687a71edc2f7f03cba6d5f3e3221e2bb5172ed4c00659e327c79da5c01e89f digest: sha256:97b29950cc5c263835abebd7ef2ca9c98510eb4122b4a0877af6f305c4615673
generated: "2025-12-03T06:02:20.44367742Z" generated: "2025-12-05T17:03:32.780722525Z"

View File

@@ -19,7 +19,7 @@ dependencies:
- name: app-template - name: app-template
alias: code-server alias: code-server
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: cloudflared - name: cloudflared
alias: cloudflared alias: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts

View File

@@ -1,12 +1,12 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0 version: 6.16.1
digest: sha256:2291640ab25754ded07da90a6cb617df92262a9b33635e8a9c80adda00034937 digest: sha256:0d195cd3f8ac9e0a48b4c793a29b9a35f880aa2a695e605825109d3f461573f6
generated: "2025-12-03T06:02:33.2806347Z" generated: "2025-12-05T17:03:46.167997289Z"

View File

@@ -20,14 +20,14 @@ dependencies:
- name: app-template - name: app-template
alias: directus alias: directus
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: cloudflared - name: cloudflared
alias: cloudflared-directus alias: cloudflared-directus
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
alias: postgres-17-cluster alias: postgres-17-cluster
version: 6.16.0 version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/directus.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/directus.png
appVersion: 11.7.2 appVersion: 11.7.2

View File

@@ -1,9 +1,9 @@
dependencies: dependencies:
- name: element-web - name: element-web
repository: https://ananace.gitlab.io/charts repository: https://ananace.gitlab.io/charts
version: 1.4.25 version: 1.4.26
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1 version: 1.23.1
digest: sha256:06208f8ba47fc2e2c0e56ea2e08b3539cb4c5d3ac5eeaf22936e84925b7add90 digest: sha256:601cbb43296add7470b663f64b7bc18a2220d3cfff7bef397f72174929d9ff76
generated: "2025-12-03T17:03:58.859116734Z" generated: "2025-12-03T23:41:18.74872215Z"

View File

@@ -17,7 +17,7 @@ maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
- name: element-web - name: element-web
version: 1.4.25 version: 1.4.26
repository: https://ananace.gitlab.io/charts repository: https://ananace.gitlab.io/charts
- name: cloudflared - name: cloudflared
alias: cloudflared alias: cloudflared

View File

@@ -2,7 +2,7 @@ element-web:
replicaCount: 1 replicaCount: 1
image: image:
repository: vectorim/element-web repository: vectorim/element-web
tag: v1.12.5 tag: v1.12.6
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
defaultServer: defaultServer:
url: https://matrix.alexlebens.dev url: https://matrix.alexlebens.dev

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
digest: sha256:9900009eb6415344d8c5387371a0052259092d92f34c21774f6a6abe9f11f43e digest: sha256:b08b2d3923734ba8844754727803a4b4e1de2ad418c3f755ccd64927266c1b5c
generated: "2025-11-30T21:05:32.524168-06:00" generated: "2025-12-05T17:04:04.30013278Z"

View File

@@ -18,6 +18,6 @@ dependencies:
- name: app-template - name: app-template
alias: ephemera alias: ephemera
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/ephemera.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/ephemera.png
appVersion: 1.3.1 appVersion: 1.3.1

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: eraser - name: eraser
repository: https://eraser-dev.github.io/eraser/charts repository: https://eraser-dev.github.io/eraser/charts
version: 1.3.1 version: 1.4.1
digest: sha256:17b561a00acc809810dccd226e7b6d757db39b34a6095dee879da761098125f9 digest: sha256:da828de684b0cd82e99994586f3db4f55c43c01607c4d8d0e70e204c7bbbbf5b
generated: "2025-12-01T20:25:36.491841-06:00" generated: "2025-12-03T22:53:20.200917773Z"

View File

@@ -14,7 +14,7 @@ maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
- name: eraser - name: eraser
version: v1.3.1 version: 1.4.1
repository: https://eraser-dev.github.io/eraser/charts repository: https://eraser-dev.github.io/eraser/charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png
appVersion: v1.3.1 appVersion: v1.3.1

View File

@@ -1,12 +1,12 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0 version: 6.16.1
digest: sha256:f6a701b51fe03506e02c754e02549982d5d8d27d558d8ec329c86b4f5ae24142 digest: sha256:9b9282efd9c59c36abcc2cad640a57a402f99474bd4154efcf4e6850a096b5ba
generated: "2025-12-03T06:02:59.168313662Z" generated: "2025-12-05T17:04:16.909780215Z"

View File

@@ -20,14 +20,14 @@ dependencies:
- name: app-template - name: app-template
alias: freshrss alias: freshrss
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: cloudflared - name: cloudflared
alias: cloudflared alias: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
alias: postgres-17-cluster alias: postgres-17-cluster
version: 6.16.0 version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/freshrss.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/freshrss.png
appVersion: 1.26.2 appVersion: 1.26.2

View File

@@ -11,7 +11,7 @@ freshrss:
runAsUser: 0 runAsUser: 0
image: image:
repository: alpine repository: alpine
tag: 3.22.2 tag: 3.23.0
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
command: command:
- /bin/sh - /bin/sh
@@ -35,7 +35,7 @@ freshrss:
runAsUser: 0 runAsUser: 0
image: image:
repository: alpine repository: alpine
tag: 3.22.2 tag: 3.23.0
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
command: command:
- /bin/sh - /bin/sh
@@ -59,7 +59,7 @@ freshrss:
runAsUser: 0 runAsUser: 0
image: image:
repository: alpine repository: alpine
tag: 3.22.2 tag: 3.23.0
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
command: command:
- /bin/sh - /bin/sh

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
digest: sha256:7977708d7681e8d5cbc066bcda4241144b0c8b5b590be89a394740df167c90da digest: sha256:36e920ce6efee3b33b40641652f814c888ae3c50272895ef286fb8236a010924
generated: "2025-12-01T20:25:44.910074-06:00" generated: "2025-12-05T17:04:29.153093714Z"

View File

@@ -17,6 +17,6 @@ dependencies:
- name: app-template - name: app-template
alias: garage alias: garage
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png
appVersion: v2.1.0 appVersion: v2.1.0

View File

@@ -4,6 +4,6 @@ dependencies:
version: 1.4.4 version: 1.4.4
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0 version: 6.16.1
digest: sha256:9424c70bc46b5582f19b695196586546c69862ccca8950b906d5532cf03c7792 digest: sha256:53e3b31b3fa3916ac4478c0ca3733a18f7145a0129b6a9c7aefdaf8169cb525c
generated: "2025-12-01T19:55:44.159963-06:00" generated: "2025-12-04T00:00:45.882393108Z"

View File

@@ -22,7 +22,7 @@ dependencies:
version: 1.4.4 version: 1.4.4
- name: postgres-cluster - name: postgres-cluster
alias: postgres-17-cluster alias: postgres-17-cluster
version: 6.16.0 version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/gatus.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/gatus.png
appVersion: v5.12.0 appVersion: v5.12.0

View File

@@ -7,15 +7,15 @@ dependencies:
version: 0.2.1 version: 0.2.1
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: meilisearch - name: meilisearch
repository: https://meilisearch.github.io/meilisearch-kubernetes repository: https://meilisearch.github.io/meilisearch-kubernetes
version: 0.17.1 version: 0.17.2
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0 version: 6.16.1
digest: sha256:780521d4d2340f3804a54d46b8e05c967868db273d53173ea7c457c299508b62 digest: sha256:8850bad801d100185e4748ee90848d28c31c9e9e9e75da9051ee4da900e7e2af
generated: "2025-12-03T06:03:13.680747765Z" generated: "2025-12-05T17:04:42.441262591Z"

View File

@@ -34,9 +34,9 @@ dependencies:
- name: app-template - name: app-template
alias: backup alias: backup
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: meilisearch - name: meilisearch
version: 0.17.1 version: 0.17.2
repository: https://meilisearch.github.io/meilisearch-kubernetes repository: https://meilisearch.github.io/meilisearch-kubernetes
- name: cloudflared - name: cloudflared
alias: cloudflared alias: cloudflared
@@ -44,7 +44,7 @@ dependencies:
version: 1.23.1 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
alias: postgres-17-cluster alias: postgres-17-cluster
version: 6.16.0 version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/gitea.png icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/gitea.png
appVersion: 1.23.7 appVersion: 1.23.7

View File

@@ -4,6 +4,6 @@ dependencies:
version: v5.20.0 version: v5.20.0
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0 version: 6.16.1
digest: sha256:d70b284b771af610116564e5f47d72415ab0d3520ecb552159ee8dc8acd2ab46 digest: sha256:3bd7096e4401df5818733b3e0b08f281c12af9b54a272fbe3e753b2616d725dd
generated: "2025-12-01T19:55:46.485062-06:00" generated: "2025-12-04T00:01:28.278027037Z"

View File

@@ -21,7 +21,7 @@ dependencies:
repository: https://grafana.github.io/helm-charts repository: https://grafana.github.io/helm-charts
- name: postgres-cluster - name: postgres-cluster
alias: postgres-17-cluster alias: postgres-17-cluster
version: 6.16.0 version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/grafana.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/grafana.png
appVersion: v5.18.0 appVersion: v5.18.0

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
digest: sha256:ae6008e107c25dc25e6f595f783d137273207aeb06a8ece9fbba0d895cc0d729 digest: sha256:a1961e446ba4361fa5d7ae31260c2ce472f27d0d2de2170cc8303586ef5c33ac
generated: "2025-11-30T21:07:04.566378-06:00" generated: "2025-12-05T17:04:59.022729608Z"

View File

@@ -18,6 +18,6 @@ dependencies:
- name: app-template - name: app-template
alias: home-assistant alias: home-assistant
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/home-assistant.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/home-assistant.png
appVersion: 2025.5.2 appVersion: 2025.5.2

View File

@@ -9,7 +9,7 @@ home-assistant:
main: main:
image: image:
repository: ghcr.io/home-assistant/home-assistant repository: ghcr.io/home-assistant/home-assistant
tag: 2025.11.3 tag: 2025.12.0
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: TZ - name: TZ

View File

@@ -1,9 +1,9 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1 version: 1.23.1
digest: sha256:30b7ad7125b89026f6832679e083f746ef69424e6f1d3dce0cb4304f215ea375 digest: sha256:c376b4c3c32f4d2e60a64248073f971e0e78d21b016d75832f5deb504b1cec6b
generated: "2025-12-03T06:03:31.055093376Z" generated: "2025-12-05T17:05:10.9852779Z"

View File

@@ -18,7 +18,7 @@ dependencies:
- name: app-template - name: app-template
alias: homepage alias: homepage
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: cloudflared - name: cloudflared
alias: cloudflared alias: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
digest: sha256:fe69d34709d7f0c3674453013c0e76d6064531134404de8f4e72fb509b98bcb0 digest: sha256:cbaccff17c1d80c4b9637a321d07f41960e66510edb83258254ebbbda08f82df
generated: "2025-11-30T21:07:05.997919-06:00" generated: "2025-12-05T17:05:23.539922773Z"

View File

@@ -16,6 +16,6 @@ dependencies:
- name: app-template - name: app-template
alias: homepage alias: homepage
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/homepage.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/homepage.png
appVersion: v1.2.0 appVersion: v1.2.0

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
digest: sha256:23e60d425ef97edda213f29628f29adca4b82dd68c75f764fd83fd865acd8c70 digest: sha256:44805f836d7cfcd7511616ad0d93da02b3e6cfdb58d823f6dcf17b17bb47d3a1
generated: "2025-11-30T21:07:08.851326-06:00" generated: "2025-12-05T17:05:35.445002111Z"

View File

@@ -16,6 +16,6 @@ dependencies:
- name: app-template - name: app-template
alias: huntarr alias: huntarr
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/huntarr.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/huntarr.png
appVersion: 7.0.0 appVersion: 7.0.0

View File

@@ -1,9 +1,9 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0 version: 6.16.1
digest: sha256:6c1412459bf39357f20db21735f64dc4f5fe2a0a746d19a78ddff43801610991 digest: sha256:fa72554b2aeb7710212e3cbff3f7d080d04ee205c4cee95f27f5e12cdeab78a9
generated: "2025-11-30T21:07:10.484678-06:00" generated: "2025-12-05T17:05:47.565602786Z"

View File

@@ -17,10 +17,10 @@ dependencies:
- name: app-template - name: app-template
alias: immich alias: immich
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: postgres-cluster - name: postgres-cluster
alias: postgres-17-cluster alias: postgres-17-cluster
version: 6.16.0 version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/immich.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/immich.png
appVersion: v2.0.1 appVersion: v2.0.1

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
digest: sha256:5394000890e1bcc83f94b138c148c591f6a091850e734acbd6e1e7d053469f38 digest: sha256:042995f7609eaf4036fa416dcdf60e9c7f3fb90a5614322f4e2f6cce17c236ff
generated: "2025-11-30T21:07:11.924605-06:00" generated: "2025-12-05T17:05:59.576358789Z"

View File

@@ -20,6 +20,6 @@ dependencies:
- name: app-template - name: app-template
alias: jellyfin alias: jellyfin
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/jellyfin.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/jellyfin.png
appVersion: 10.10.7 appVersion: 10.10.7

View File

@@ -1,9 +1,9 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0 version: 6.16.1
digest: sha256:4d14b684813eac9fcae1be18bcc5644c8583e2c014da6941705b58b118bbd6ee digest: sha256:6c8b6a56bcdad0ea3f8e998c28642deaf449a7a37aea8ba9616d88fcc6d2bc14
generated: "2025-11-30T21:07:13.230393-06:00" generated: "2025-12-05T17:06:11.6747146Z"

View File

@@ -18,10 +18,10 @@ dependencies:
- name: app-template - name: app-template
alias: jellystat alias: jellystat
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: postgres-cluster - name: postgres-cluster
alias: postgres-17-cluster alias: postgres-17-cluster
version: 6.16.0 version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/jellystat.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/jellystat.png
appVersion: 1.1.6 appVersion: 1.1.6

View File

@@ -1,12 +1,12 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: meilisearch - name: meilisearch
repository: https://meilisearch.github.io/meilisearch-kubernetes repository: https://meilisearch.github.io/meilisearch-kubernetes
version: 0.17.1 version: 0.17.2
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1 version: 1.23.1
digest: sha256:229ec32055f350932f84be3a5fd211b883504a4e760114f3bdf726a59aef86ec digest: sha256:d322e5d85648cebd8d7bc6228b2d84904bfcea705e01ebecba1d2f2ed869f548
generated: "2025-12-03T06:03:44.411795767Z" generated: "2025-12-05T17:06:25.81244037Z"

View File

@@ -20,9 +20,9 @@ dependencies:
- name: app-template - name: app-template
alias: karakeep alias: karakeep
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: meilisearch - name: meilisearch
version: 0.17.1 version: 0.17.2
repository: https://meilisearch.github.io/meilisearch-kubernetes repository: https://meilisearch.github.io/meilisearch-kubernetes
- name: cloudflared - name: cloudflared
alias: cloudflared alias: cloudflared

View File

@@ -9,7 +9,7 @@ karakeep:
main: main:
image: image:
repository: ghcr.io/karakeep-app/karakeep repository: ghcr.io/karakeep-app/karakeep
tag: 0.28.0 tag: 0.29.1
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: DATA_DIR - name: DATA_DIR

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
digest: sha256:c49d66e1174d093c845498c6b88409b23f3392a93d00f8e029636a10080fc72d digest: sha256:b44499c1cfa91da49eee310dbcedbe116628620c97666b0cde0f976be5638764
generated: "2025-11-30T21:07:17.110714-06:00" generated: "2025-12-05T17:06:40.903530445Z"

View File

@@ -16,6 +16,6 @@ dependencies:
- name: app-template - name: app-template
alias: kiwix alias: kiwix
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kiwix-dark.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kiwix-dark.png
appVersion: 3.7.0 appVersion: 3.7.0

View File

@@ -1,9 +1,9 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0 version: 6.16.1
digest: sha256:2e3d60887a3f063401c22e5403ed9d55eed07ffb7fbe4bac39eaafc951830f18 digest: sha256:39fd05347cf1189a1cafbbbed8531de082dc4fa989ec46f0ecab661c307d89ac
generated: "2025-12-01T19:55:50.498761-06:00" generated: "2025-12-05T17:06:55.655563589Z"

View File

@@ -20,10 +20,10 @@ dependencies:
- name: app-template - name: app-template
alias: komodo alias: komodo
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: postgres-cluster - name: postgres-cluster
alias: postgresql-17-fdb-cluster alias: postgresql-17-fdb-cluster
version: 6.16.0 version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/komodo.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/komodo.png
appVersion: v1.17.5 appVersion: v1.17.5

View File

@@ -1,9 +1,9 @@
dependencies: dependencies:
- name: kube-prometheus-stack - name: kube-prometheus-stack
repository: oci://ghcr.io/prometheus-community/charts repository: oci://ghcr.io/prometheus-community/charts
version: 79.11.0 version: 79.12.0
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
digest: sha256:d2539cec03ef75627d94ff85e55349d3c8c71de0227b4eb1caf3344869b91ae9 digest: sha256:e7edbec86ffbb16885333a6e1eeffec5c336bed8c161c52165949987eca4392d
generated: "2025-12-03T06:21:52.770404462Z" generated: "2025-12-05T21:30:48.985834989Z"

View File

@@ -19,11 +19,11 @@ maintainers:
- name: alexlebens - name: alexlebens
dependencies: dependencies:
- name: kube-prometheus-stack - name: kube-prometheus-stack
version: 79.11.0 version: 79.12.0
repository: oci://ghcr.io/prometheus-community/charts repository: oci://ghcr.io/prometheus-community/charts
- name: app-template - name: app-template
alias: ntfy-alertmanager alias: ntfy-alertmanager
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/prometheus.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/prometheus.png
appVersion: v0.82.0 appVersion: v0.82.0

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
digest: sha256:3a7aa84837ff6fe008d5eb3b39aeafa0abb7be470db2b6aac78e190365a75c0c digest: sha256:e4b65e3b2aa2c8906e1cbcf9ce6ed9d651fe379504e6e1f43e08d3cf401960f8
generated: "2025-12-02T17:18:28.155875-06:00" generated: "2025-12-05T17:07:21.271934421Z"

View File

@@ -17,6 +17,6 @@ dependencies:
- name: app-template - name: app-template
alias: kubelet-serving-cert-approver alias: kubelet-serving-cert-approver
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/kubernetes.png
appVersion: 0.10.0 appVersion: 0.10.0

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
digest: sha256:78bc8a78724746e0fd60ad691ef3813db7987956351513986eddb609a9f55caf digest: sha256:0c451621f21d5e2842f0d4883036c29509158bfe4b89936afc2a48f32e6e1a11
generated: "2025-12-01T20:26:22.770276-06:00" generated: "2025-12-05T17:07:36.357616534Z"

View File

@@ -18,6 +18,6 @@ dependencies:
- name: app-template - name: app-template
alias: kubernetes-cloudflare-ddns alias: kubernetes-cloudflare-ddns
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/cloudflare.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/cloudflare.png
appVersion: v2.0.0 appVersion: v2.0.0

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
digest: sha256:ce61ef8a0f6fe0f17472f5c03d505be7ba7077f2d9211d43e743798622e15bca digest: sha256:8b61638d4899377aae8f43d87bb4421ee5db7c66060ef80ee5e312b67fa9c893
generated: "2025-11-30T21:07:18.443736-06:00" generated: "2025-12-05T17:07:48.196480722Z"

View File

@@ -17,6 +17,6 @@ dependencies:
- name: app-template - name: app-template
alias: libation alias: libation
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/libation.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/libation.png
appVersion: 12.4.3 appVersion: 12.4.3

View File

@@ -16,7 +16,7 @@ libation:
main: main:
image: image:
repository: rmcrackan/libation repository: rmcrackan/libation
tag: 12.7.5 tag: 12.8.0
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: SLEEP_TIME - name: SLEEP_TIME

View File

@@ -1,9 +1,9 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0 version: 6.16.1
digest: sha256:e2c50f16d20f551ea2e05f75239eba37af5b5cf7f64dbc208870b063e7135d03 digest: sha256:e13dd5117332240d6a3127ebd18ebc478014b87291b7807e48471980c439fd16
generated: "2025-11-30T21:07:19.863423-06:00" generated: "2025-12-05T17:07:59.963348904Z"

View File

@@ -21,10 +21,10 @@ dependencies:
- name: app-template - name: app-template
alias: lidarr alias: lidarr
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: postgres-cluster - name: postgres-cluster
alias: postgres-17-cluster alias: postgres-17-cluster
version: 6.16.0 version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/lidarr.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/lidarr.png
appVersion: 2.13.3 appVersion: 2.13.3

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
digest: sha256:ad00ef6a3bd12d2a6a167838ec3922aeb386e2a9efd260f4f8cce8964e5bf7b5 digest: sha256:486139f48e88e912593a7ee18973bc4872a6ddc4881fcfa933558f5a7749503b
generated: "2025-11-30T21:07:21.451781-06:00" generated: "2025-12-05T17:08:12.627557611Z"

View File

@@ -17,6 +17,6 @@ dependencies:
- name: app-template - name: app-template
alias: lidatube alias: lidatube
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/lidatube.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/lidatube.png
appVersion: 0.2.22 appVersion: 0.2.22

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
digest: sha256:8cd26f322d08777301e6c080ca9faa09a2fabda5c3f8bba6536d67496149ae4b digest: sha256:1f215356d77b524ae23c0bb178d48fd2d602d9224dd7459658628903ff5b6e4c
generated: "2025-11-30T21:07:22.794237-06:00" generated: "2025-12-05T17:08:24.614701742Z"

View File

@@ -16,5 +16,5 @@ dependencies:
- name: app-template - name: app-template
alias: listenarr alias: listenarr
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
appVersion: 0.2.35 appVersion: 0.2.35

View File

@@ -4,7 +4,7 @@ dependencies:
version: 3.12.16 version: 3.12.16
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: cloudflared - name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1 version: 1.23.1
@@ -13,6 +13,6 @@ dependencies:
version: 1.23.1 version: 1.23.1
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0 version: 6.16.1
digest: sha256:bad19cd53e51ab6ba04afc9b73e768fcf755562fabf17866a826207816fd53d1 digest: sha256:8a50907ebe63a29d2219d824391e0cd1ed76e80adc234d0bc4dd48414cc24a83
generated: "2025-12-03T06:04:00.067196405Z" generated: "2025-12-05T17:08:37.566169937Z"

View File

@@ -33,7 +33,7 @@ dependencies:
repository: https://ananace.gitlab.io/charts repository: https://ananace.gitlab.io/charts
- name: app-template - name: app-template
alias: matrix-hookshot alias: matrix-hookshot
version: 4.4.0 version: 4.5.0
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
# - name: app-template # - name: app-template
# alias: mautrix-discord # alias: mautrix-discord
@@ -53,7 +53,7 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
- name: postgres-cluster - name: postgres-cluster
alias: postgres-17-cluster alias: postgres-17-cluster
version: 6.16.0 version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/matrix.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/matrix.png
appVersion: 1.129.0 appVersion: 1.129.0

View File

@@ -1,9 +1,9 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0 version: 6.16.1
digest: sha256:eb9251fdb5f24f1680aef05115caddfb5788f95a3655a5360e96da0019cef9a0 digest: sha256:f28f03e897568059ef8ae80658a2c4365bd8a5c8f70d474cbcd83a16b613b0a3
generated: "2025-12-01T20:26:40.022092-06:00" generated: "2025-12-05T17:08:54.133157468Z"

View File

@@ -18,10 +18,10 @@ dependencies:
- name: app-template - name: app-template
alias: n8n alias: n8n
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: postgres-cluster - name: postgres-cluster
alias: postgres-17-cluster alias: postgres-17-cluster
version: 6.16.0 version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/n8n.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/n8n.png
appVersion: 1.93.0 appVersion: 1.93.0

View File

@@ -9,7 +9,7 @@ n8n:
main: main:
image: image:
repository: ghcr.io/n8n-io/n8n repository: ghcr.io/n8n-io/n8n
tag: 1.123.0 tag: 1.123.1
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: GENERIC_TIMEZONE - name: GENERIC_TIMEZONE
@@ -93,7 +93,7 @@ n8n:
main: main:
image: image:
repository: ghcr.io/n8n-io/n8n repository: ghcr.io/n8n-io/n8n
tag: 1.123.0 tag: 1.123.1
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
command: command:
- n8n - n8n
@@ -188,7 +188,7 @@ n8n:
main: main:
image: image:
repository: ghcr.io/n8n-io/n8n repository: ghcr.io/n8n-io/n8n
tag: 1.123.0 tag: 1.123.1
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
command: command:
- n8n - n8n

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
digest: sha256:f33a3c215120b358ff86b84ad1e183e6bf46606715d9c59fbb2661fa68f4f661 digest: sha256:43255b355a463c0742141b11cf7f8f1dec77d383a2c8df0453b4955a4e99a29b
generated: "2025-12-01T20:26:45.731335-06:00" generated: "2025-12-05T17:09:07.310474906Z"

View File

@@ -17,6 +17,6 @@ dependencies:
- name: app-template - name: app-template
alias: ntfy alias: ntfy
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/ntfy.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/ntfy.png
appVersion: 2.11.0 appVersion: 2.11.0

View File

@@ -1,9 +1,9 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: postgres-cluster - name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0 version: 6.16.1
digest: sha256:9e80b01f4667b8f8646f813b0831161ef6c6913132c212b9ffa94efe60364c76 digest: sha256:bc32b8354d476d19aae88c19cccf94ae87cb43dc23cff38c261b1784f3774e75
generated: "2025-12-01T20:26:47.169848-06:00" generated: "2025-12-05T17:09:19.594547529Z"

View File

@@ -20,10 +20,10 @@ dependencies:
- name: app-template - name: app-template
alias: ollama alias: ollama
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
- name: postgres-cluster - name: postgres-cluster
alias: postgres-17-cluster alias: postgres-17-cluster
version: 6.16.0 version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/ollama.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/ollama.png
appVersion: 0.7.0 appVersion: 0.7.0

View File

@@ -1,6 +1,6 @@
dependencies: dependencies:
- name: app-template - name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
digest: sha256:2742827fee3fb1d07cd96db1ae82dbf206d24dd5d326ba2702508de42e3dccb2 digest: sha256:357cecaeffea1ca1fc074e02c37fc9f75401b99004eaefddebf4d3b341ccea41
generated: "2025-11-30T21:07:24.477661-06:00" generated: "2025-12-05T17:09:32.271705845Z"

View File

@@ -15,6 +15,6 @@ dependencies:
- name: app-template - name: app-template
alias: omni-tools alias: omni-tools
repository: https://bjw-s-labs.github.io/helm-charts/ repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0 version: 4.5.0
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/omnitools.png icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/omnitools.png
appVersion: 0.4.0 appVersion: 0.4.0

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