63 Commits

Author SHA1 Message Date
3012504e96 change debug
All checks were successful
renovate / renovate (push) Successful in 1m9s
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
85 changed files with 1398 additions and 654 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/*/helm/**'
push:
branches:
- main
paths:
- 'clusters/*/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

@@ -65,7 +65,7 @@ jobs:
RENDER_DIR=()
echo ">> Checking for changes from HEAD^..HEAD ..."
GIT_DIFF=$(git diff --name-only HEAD^..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
echo ">> Changes detected:"
@@ -81,13 +81,13 @@ jobs:
if [ -n "${RENDER_DIR}" ]; then
echo ">> Directories to Render:"
echo "$(printf "%s\n" "${RENDER_DIR[@]}" | sort -u)"
echo "$(echo "${RENDER_DIR[@]}" | sort -u)"
echo "----"
echo "changes-detected=true" >> $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
else
echo "changes-detected=false" >> $GITEA_OUTPUT
@@ -147,12 +147,16 @@ jobs:
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
OUTPUT_FILE="${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$chart_name/$chart_name.yaml"
cd $chart_path
@@ -166,36 +170,31 @@ jobs:
echo ""
echo ">> Rendering templates ..."
case "$chart_name" in
"stack")
echo ">> Special Rendering for stack ..."
helm template stack ./ --namespace argocd --include-crds > "$OUTPUT_FILE"
echo ""
echo ">> Special Rendering for stack into argocd namespace ..."
TEMPLATE=$(helm template $chart_name ./ --namespace argocd --include-crds --dry-run)
;;
"cilium")
echo ">> Special Rendering for cilium ..."
helm template cilium ./ --namespace kube-system --include-crds > "$OUTPUT_FILE"
;;
"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"
"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 ..."
helm template "$chart_name" ./ --namespace "$chart_name" --include-crds > "$OUTPUT_FILE"
TEMPLATE=$(helm template "$chart_name" ./ --namespace "$chart_name" --include-crds --dry-run)
;;
esac
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 ""
else
echo ""
@@ -258,9 +257,9 @@ jobs:
PAYLOAD=$( jq -n \
--arg head "${BRANCH_NAME}" \
--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." \
'{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 ">> With Endpoint of:"
@@ -318,7 +317,7 @@ jobs:
GITEA_TOKEN: ${{ secrets.BOT_TOKEN }}
GITEA_URL: ${{ secrets.REPO_URL }}
BRANCH_NAME: ${{ steps.prepare-manifest-branch.outputs.BRANCH_NAME }}
PR_ID: ${{ steps.prepare-manifest-branch.outputs.pull-request-id }}
PR_ID: ${{ steps.create-pull-request.outputs.pull-request-id }}
run: |
cd ${MANIFEST_DIR}
@@ -327,7 +326,7 @@ jobs:
PAYLOAD=$( jq -n \
--arg Do "merge" \
--arg delete_branch_after_merge "true" \
'{Do: $Do, delete_branch_after_merge: $delete_branch_after_merge'} )
'{Do: $Do, delete_branch_after_merge: $delete_branch_after_merge}' )
echo ">> Merging PR with ID: ${PR_ID}"
echo ">> With Endpoint of:"
@@ -394,7 +393,6 @@ jobs:
details: "Automerge Manifest rendering for Infrastructure!"
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}]'
image: true
- name: ntfy Failed
uses: niniyas/ntfy-action@master

View File

@@ -0,0 +1,386 @@
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 status --porcelain --untracked-files=all | grep '^.'
git status --porcelain --untracked-files=all | grep -q '^.'
echo $?
if git status --porcelain --untracked-files=all | grep -q '^.' ; then
echo ">> Changes detected"
# git status --porcelain --untracked-files=all
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,399 @@
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}')
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}
if git status --porcelain | grep -q .; then
echo ">> Changes detected"
git status --porcelain
echo "changes-detected=true" >> $GITEA_OUTPUT
else
echo ">> No changes detected, skipping PR creation"
exit 0
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:
push:
@@ -7,8 +7,6 @@ on:
paths:
- 'clusters/cl01tl/helm/**'
workflow_dispatch:
env:
CLUSTER: cl01tl
BASE_BRANCH: manifests
@@ -18,8 +16,9 @@ env:
MANIFEST_DIR: /workspace/alexlebens/infrastructure/infrastructure-manifests
jobs:
render-manifests:
render-manifests-push:
runs-on: ubuntu-js
if: gitea.event.commits[0].author.username != 'renovate-bot'
steps:
- name: Checkout Main
uses: actions/checkout@v6
@@ -68,36 +67,30 @@ jobs:
RENDER_DIR=()
if [ "$GITHUB_EVENT_NAME" == "workflow_dispatch" ]; then
echo ">> Triggered on dispatch, will check all paths ..."
RENDER_DIR+=$(ls clusters/cl01tl/helm/)
echo ">> Checking for changes ..."
GIT_DIFF=$(git diff --name-only ${{ gitea.event.before }}..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}')
done
else
echo ">> Checking for changes ..."
GIT_DIFF=$(git diff --name-only ${{ gitea.event.before }}..HEAD | xargs -I {} dirname {} | sort -u | grep "clusters/cl01tl/helm/")
echo ">> No changes detected"
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}')
done
else
echo ">> No changes detected"
fi
fi
if [ -n "${RENDER_DIR}" ]; then
echo ">> Directories to Render:"
echo "$(printf "%s\n" "${RENDER_DIR[@]}" | sort -u)"
echo "$(echo "${RENDER_DIR[@]}" | sort -u)"
echo "----"
echo "changes-detected=true" >> $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
else
echo "changes-detected=false" >> $GITEA_OUTPUT
@@ -157,12 +150,16 @@ jobs:
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
OUTPUT_FILE="${MANIFEST_DIR}/clusters/${CLUSTER}/manifests/$chart_name/$chart_name.yaml"
cd $chart_path
@@ -176,36 +173,31 @@ jobs:
echo ""
echo ">> Rendering templates ..."
case "$chart_name" in
"stack")
echo ">> Special Rendering for stack ..."
helm template stack ./ --namespace argocd --include-crds > "$OUTPUT_FILE"
echo ""
echo ">> Special Rendering for stack into argocd namespace ..."
TEMPLATE=$(helm template $chart_name ./ --namespace argocd --include-crds --dry-run)
;;
"cilium")
echo ">> Special Rendering for cilium ..."
helm template cilium ./ --namespace kube-system --include-crds > "$OUTPUT_FILE"
;;
"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"
"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 ..."
helm template "$chart_name" ./ --namespace "$chart_name" --include-crds > "$OUTPUT_FILE"
TEMPLATE=$(helm template "$chart_name" ./ --namespace "$chart_name" --include-crds --dry-run)
;;
esac
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 ""
else
echo ""
@@ -324,7 +316,7 @@ jobs:
--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'} )
'{head: $head, base: $base, assignee: $assignee, title: $title, body: $body}' )
echo ">> Creating PR from branch ${HEAD_BRANCH} into ${BASE_BRANCH}"
echo ">> With Endpoint of:"
@@ -385,10 +377,9 @@ jobs:
priority: 3
headers: '{"Authorization": "Bearer ${{ secrets.NTFY_CRED }}"}'
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"
actions: '[{"action": "view", "label": "Open Gitea", "url": "${{ steps.create-pull-request.outputs.pull-request-url }}", "clear": true}]'
image: true
- name: ntfy Failed
uses: niniyas/ntfy-action@master

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -7,6 +7,6 @@ dependencies:
version: 1.23.1
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:2291640ab25754ded07da90a6cb617df92262a9b33635e8a9c80adda00034937
generated: "2025-12-03T06:02:33.2806347Z"
version: 6.16.1
digest: sha256:0bb36c0da68b901a005703e354f3f00f65c60ec3d1eddc2d08fa190062076944
generated: "2025-12-04T00:00:11.07185823Z"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -7,6 +7,6 @@ dependencies:
version: 1.23.1
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:f6a701b51fe03506e02c754e02549982d5d8d27d558d8ec329c86b4f5ae24142
generated: "2025-12-03T06:02:59.168313662Z"
version: 6.16.1
digest: sha256:e4d7c431d7c88cf31d53d611b4fe901fb68c11a2666e48d38ac40feb45b904b5
generated: "2025-12-04T00:00:29.398819751Z"

View File

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

View File

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

View File

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

View File

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

View File

@@ -10,12 +10,12 @@ dependencies:
version: 4.4.0
- name: meilisearch
repository: https://meilisearch.github.io/meilisearch-kubernetes
version: 0.17.1
version: 0.17.2
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:780521d4d2340f3804a54d46b8e05c967868db273d53173ea7c457c299508b62
generated: "2025-12-03T06:03:13.680747765Z"
version: 6.16.1
digest: sha256:b753b6ab3bced4892f4a4662b4c353f1f59345e42f155aef06124e72b3e72468
generated: "2025-12-04T00:01:03.661689761Z"

View File

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

View File

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

View File

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

View File

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

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:6c1412459bf39357f20db21735f64dc4f5fe2a0a746d19a78ddff43801610991
generated: "2025-11-30T21:07:10.484678-06:00"
version: 6.16.1
digest: sha256:65d33f10a17d25234358734184d3bc637209a12dc5f2122a594efdb02df15b41
generated: "2025-12-04T00:01:45.803341058Z"

View File

@@ -20,7 +20,7 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
alias: postgres-17-cluster
version: 6.16.0
version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/immich.png
appVersion: v2.0.1

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:4d14b684813eac9fcae1be18bcc5644c8583e2c014da6941705b58b118bbd6ee
generated: "2025-11-30T21:07:13.230393-06:00"
version: 6.16.1
digest: sha256:d22093f32435743617e91c5e1453d6c9ce6846362925c96d5edd0500a2e9f53d
generated: "2025-12-04T00:01:59.998640158Z"

View File

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

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.4.0
- name: meilisearch
repository: https://meilisearch.github.io/meilisearch-kubernetes
version: 0.17.1
version: 0.17.2
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 1.23.1
digest: sha256:229ec32055f350932f84be3a5fd211b883504a4e760114f3bdf726a59aef86ec
generated: "2025-12-03T06:03:44.411795767Z"
digest: sha256:c11fe08d5b2f088016d3752960cc7e8cb8cae040f77cf74975e24afcf349805c
generated: "2025-12-03T23:42:04.01972761Z"

View File

@@ -22,7 +22,7 @@ dependencies:
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.4.0
- name: meilisearch
version: 0.17.1
version: 0.17.2
repository: https://meilisearch.github.io/meilisearch-kubernetes
- name: cloudflared
alias: cloudflared

View File

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

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:2e3d60887a3f063401c22e5403ed9d55eed07ffb7fbe4bac39eaafc951830f18
generated: "2025-12-01T19:55:50.498761-06:00"
version: 6.16.1
digest: sha256:21c6f653942386f953fb2165351464a4cc08a64ba4c441896c23295635b1e93b
generated: "2025-12-04T00:02:13.463643682Z"

View File

@@ -23,7 +23,7 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
alias: postgresql-17-fdb-cluster
version: 6.16.0
version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/komodo.png
appVersion: v1.17.5

View File

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

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:e2c50f16d20f551ea2e05f75239eba37af5b5cf7f64dbc208870b063e7135d03
generated: "2025-11-30T21:07:19.863423-06:00"
version: 6.16.1
digest: sha256:d5f01022bab45b50149c74d1aedcc636cad649d92bfeb1e5b4c32d0b20428d4a
generated: "2025-12-04T00:02:27.103752082Z"

View File

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

View File

@@ -13,6 +13,6 @@ dependencies:
version: 1.23.1
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:bad19cd53e51ab6ba04afc9b73e768fcf755562fabf17866a826207816fd53d1
generated: "2025-12-03T06:04:00.067196405Z"
version: 6.16.1
digest: sha256:1bf6e5f4693930d4f0ee8753eae5afee055894f01ddbefbae969bf834c8cad99
generated: "2025-12-04T00:02:43.058364936Z"

View File

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

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:eb9251fdb5f24f1680aef05115caddfb5788f95a3655a5360e96da0019cef9a0
generated: "2025-12-01T20:26:40.022092-06:00"
version: 6.16.1
digest: sha256:e1dfc9657a3d926d9ba82f3bab3a56c9b737e9d43470c84167914b658c659ea3
generated: "2025-12-04T00:03:06.662631361Z"

View File

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

View File

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

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:9e80b01f4667b8f8646f813b0831161ef6c6913132c212b9ffa94efe60364c76
generated: "2025-12-01T20:26:47.169848-06:00"
version: 6.16.1
digest: sha256:acb3614df881e62f4e0c9ae21a09353cfd731beae376bba0461f834abb84b070
generated: "2025-12-04T00:03:18.892421017Z"

View File

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

View File

@@ -7,6 +7,6 @@ dependencies:
version: 1.23.1
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:9a3686aeb22ca819c23999a5e2db0bafcd417c9c6ba476d7fc176796e410f976
generated: "2025-12-03T06:04:14.816169736Z"
version: 6.16.1
digest: sha256:fdf82a6c450624d70404817e92d96626b87ee5c011215ca3c15338c6c3d9b181
generated: "2025-12-04T00:03:31.441035529Z"

View File

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

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:6e32298738e136a5c8cd51f84bc125a7f19443afe71978002fb3d1924e1d37d8
generated: "2025-11-30T21:07:29.196717-06:00"
version: 6.16.1
digest: sha256:4cba2d50c7be189d6e9d70eebb25c86b6231e205cbf3e9af6671ebeb0b660c22
generated: "2025-12-04T00:03:44.041965843Z"

View File

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

View File

@@ -7,6 +7,6 @@ dependencies:
version: 1.23.1
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:69a14e5ba8e0c7f753d9c8752a6bc43dca2e17dfd46a458659ace8f070cdaa88
generated: "2025-12-03T06:04:26.735425875Z"
version: 6.16.1
digest: sha256:427e54610c6c59529dda67a52358660a47b1a44880136ebff4949bdfa4a5c73d
generated: "2025-12-04T00:03:55.095377057Z"

View File

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

View File

@@ -28,7 +28,7 @@ qbittorrent:
qbittorrent:
image:
repository: ghcr.io/linuxserver/qbittorrent
tag: 5.1.4@sha256:a2eedc99b4876916943bd33e7c415efc448f6b514aa39b4f98c1e6472a717301
tag: 5.1.4@sha256:f0465dbb2aa14397fd205a0240ee562eb062354c036ccc444084fe46c6c75091
pullPolicy: IfNotPresent
env:
- name: TZ
@@ -190,7 +190,7 @@ qbittorrent:
qui:
image:
repository: ghcr.io/autobrr/qui
tag: v1.7.0
tag: v1.8.1
pullPolicy: IfNotPresent
env:
- name: QUI__METRICS_ENABLED

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:d42d3c3a011e9e6252da987e7f86712eb1bccde7721ec067881192182c3ac709
generated: "2025-11-30T21:07:36.660188-06:00"
version: 6.16.1
digest: sha256:ff043dfbfcff54587838ae8289377c7412eeb507572d42f1b19fd528758a4eb9
generated: "2025-12-04T00:04:12.153886381Z"

View File

@@ -27,7 +27,7 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
alias: postgres-17-cluster
version: 6.16.0
version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/radarr-4k.png
appVersion: 5.22.4

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:f21d624fcafe0fc8e4f8d1c140f1fbefc40a74bdc29d6267a4d71e95ac81b95a
generated: "2025-11-30T21:07:38.187061-06:00"
version: 6.16.1
digest: sha256:34a598cda9f762b3f4ae7f7138f5183a4942fca9fafe2611162a9e3f2e293635
generated: "2025-12-04T00:04:31.751157172Z"

View File

@@ -27,7 +27,7 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
alias: postgres-17-cluster
version: 6.16.0
version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/radarr-anime.png
appVersion: 5.22.4

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:caaa532c1be0452935259f03f992836b060ee212434abc5b1d81f939c6e33a2b
generated: "2025-11-30T21:07:39.820192-06:00"
version: 6.16.1
digest: sha256:e343a4ab6603b661eee718af7fabe97c5a9315e288b4b9332bb27d58241b5a13
generated: "2025-12-04T00:04:44.730167395Z"

View File

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

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:5bd176d6017208f08b9c8108b0df2330e16ef4dffcd8c1e95cff5d32af79d06c
generated: "2025-11-30T21:07:35.121161-06:00"
version: 6.16.1
digest: sha256:4c327d7eac20b2a96f540aecf9ac2652064bf0cf734ffd288a058e57ab6c0f68
generated: "2025-12-04T00:05:10.246917041Z"

View File

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

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:bf4ddb79b0fa0e266d5c5a18e37508bd1e4eaac98ad8c373c4bb44dba4a17fd0
generated: "2025-11-30T21:07:41.680426-06:00"
version: 6.16.1
digest: sha256:77330bdfa1da43d65b188105cf66cc1cd656a904789ee1761da16e8a4104f166
generated: "2025-12-04T00:05:22.617898927Z"

View File

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

View File

@@ -9,7 +9,7 @@ searxng:
main:
image:
repository: searxng/searxng
tag: latest@sha256:09dfc123bd7c118ed086471b42d17ed57964827beffeb8d7f012dae3d2608545
tag: latest@sha256:5cf43eea89b334f0b34ec03eef03a432e1734dbc13e980878ea1442c50391c7e
pullPolicy: IfNotPresent
env:
- name: SEARXNG_BASE_URL
@@ -43,7 +43,7 @@ searxng:
main:
image:
repository: searxng/searxng
tag: latest@sha256:09dfc123bd7c118ed086471b42d17ed57964827beffeb8d7f012dae3d2608545
tag: latest@sha256:5cf43eea89b334f0b34ec03eef03a432e1734dbc13e980878ea1442c50391c7e
pullPolicy: IfNotPresent
env:
- name: SEARXNG_BASE_URL

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:ac50ec7248debdffce8b12291db854979b7822b1254c1ad6c995436f4ade0427
generated: "2025-11-30T21:07:51.092459-06:00"
version: 6.16.1
digest: sha256:bbecefd5c20585a9fcde532663e06698a4a8057066de9483b0b2de50f210037f
generated: "2025-12-04T00:05:35.118162699Z"

View File

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

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:ab4aba37d148cac38d557c908a4c0939a53511f2c1a38813ff11713594e1309f
generated: "2025-11-30T21:07:52.725934-06:00"
version: 6.16.1
digest: sha256:00f958cebd996abfbb1335aa45dac1e0cb945257e2111c00dbb419d0d21e4369
generated: "2025-12-04T00:05:46.502013847Z"

View File

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

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:a21b89ea41950e5c87de9e6f68b5844ce158398d40a1f811dca9401961f68188
generated: "2025-11-30T21:07:49.423227-06:00"
version: 6.16.1
digest: sha256:b133ec7f906fdab9426e3014801cba376eb61e7b490d42c22bce058e640f779d
generated: "2025-12-04T00:05:58.76880801Z"

View File

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

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:88a8c0f96b046372d76ae0ebdd3f2fd2a5bc049eba3c145832a3c1c8704dc1bb
generated: "2025-12-01T20:27:35.237977-06:00"
version: 6.16.1
digest: sha256:87a9e98c0de182dec42160186a57ced84a62782c9a84fe0dbea56789de9606bf
generated: "2025-12-04T00:06:09.631961901Z"

View File

@@ -23,7 +23,7 @@ dependencies:
repository: https://bjw-s-labs.github.io/helm-charts/
- name: postgres-cluster
alias: postgres-17-cluster
version: 6.16.0
version: 6.16.1
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/stalwart.png
appVersion: v0.11.8

View File

@@ -16,7 +16,7 @@ trivy-operator:
image:
registry: mirror.gcr.io
repository: aquasec/trivy
tag: 0.67.2
tag: 0.68.1
storageClassEnabled: true
storageClassName: ceph-block
storageSize: "5Gi"

View File

@@ -9,7 +9,7 @@ unpoller:
main:
image:
repository: ghcr.io/unpoller/unpoller
tag: v2.15.4
tag: v2.16.0
pullPolicy: IfNotPresent
env:
- name: UP_UNIFI_CONTROLLER_0_SAVE_ALARMS

View File

@@ -7,6 +7,6 @@ dependencies:
version: 1.23.1
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:a909735d7e1d80b316476c4085e435f55555d68a1c2853e37d65f3d3dfafd8d1
generated: "2025-12-03T06:05:30.735156181Z"
version: 6.16.1
digest: sha256:57649b6b5a03dbb091b0b3aca3be7b177503f7a1e5b52adcda8be26346893dfe
generated: "2025-12-04T00:06:19.920166876Z"

View File

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

View File

@@ -4,6 +4,6 @@ dependencies:
version: 4.4.0
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 6.16.0
digest: sha256:953c8d8283467cb8406a68598741bc9cdc6dc56980409ee46588a9669a1b9550
generated: "2025-11-30T21:08:01.158525-06:00"
version: 6.16.1
digest: sha256:974f36a9b9acf1dbe8c6466857d5fc8ca938f35259958e9be5f7248fae5c1517
generated: "2025-12-04T00:06:31.73820002Z"

View File

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

View File

@@ -1,99 +1,114 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended",
"mergeConfidence:all-badges",
":rebaseStalePrs"
],
"timezone": "US/Central",
"labels": [],
"prHourlyLimit": 0,
"prConcurrentLimit": 0,
"packageRules": [
{
"description": "Label charts",
"matchDatasources": [
"helm"
],
"addLabels": [
"chart"
],
"automerge": false,
"minimumReleaseAge": "1 days"
},
{
"description": "Automerge chart patches",
"matchUpdateTypes": [
"patch"
],
"matchDatasources": [
"helm"
],
"addLabels": [
"chart",
"automerge"
],
"automerge": true,
"minimumReleaseAge": "1 days"
},
{
"description": "Label images",
"matchDatasources": [
"docker"
],
"addLabels": [
"image"
],
"automerge": false,
"minimumReleaseAge": "1 days"
},
{
"description": "Automerge image patches",
"matchUpdateTypes": [
"patch",
"digest"
],
"matchDatasources": [
"docker"
],
"addLabels": [
"image",
"automerge"
],
"automerge": true,
"minimumReleaseAge": "1 days"
},
{
"description": "Automerge image updates for certain applications",
"matchUpdateTypes": [
"minor"
],
"matchDatasources": [
"docker"
],
"matchPackageNames": [
"clidey/whodb",
"eigenfocus/eigenfocus",
"ghcr.io/advplyr/audiobookshelf",
"ghcr.io/gethomepage/homepage",
"ghcr.io/gitroomhq/postiz-app",
"ghcr.io/linuxserver/bazarr",
"ghcr.io/linuxserver/code-server",
"ghcr.io/linuxserver/lidarr",
"ghcr.io/linuxserver/plex",
"ghcr.io/linuxserver/prowlarr",
"ghcr.io/linuxserver/radarr",
"ghcr.io/linuxserver/sonarr",
"ghcr.io/n8n-io/n8n",
"ghcr.io/prometheus-community/charts/kube-prometheus-stack",
"vectorim/element-web"
],
"addLabels": [
"image",
"automerge"
],
"automerge": true,
"minimumReleaseAge": "2 days"
}
]
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended",
"mergeConfidence:all-badges",
":rebaseStalePrs"
],
"timezone": "US/Central",
"labels": [],
"prHourlyLimit": 0,
"prConcurrentLimit": 0,
"packageRules": [
{
"description": "Label charts",
"matchDatasources": [
"helm"
],
"addLabels": [
"chart"
],
"automerge": false,
"minimumReleaseAge": "1 days"
},
{
"description": "Automerge chart patches",
"matchUpdateTypes": [
"patch"
],
"matchDatasources": [
"helm"
],
"addLabels": [
"chart",
"automerge"
],
"automerge": true,
"minimumReleaseAge": "1 days"
},
{
"description": "Automerge helm chart lock files",
"matchManagers": [
"helm"
],
"lockFileMaintenance": {
"enabled": true
},
"addLabels": [
"chart",
"automerge"
],
"automerge": true,
"automergeType": "branch"
},
{
"description": "Label images",
"matchDatasources": [
"docker"
],
"addLabels": [
"image"
],
"automerge": false,
"minimumReleaseAge": "1 days"
},
{
"description": "Automerge image patches",
"matchUpdateTypes": [
"patch",
"digest"
],
"matchDatasources": [
"docker"
],
"addLabels": [
"image",
"automerge"
],
"automerge": true,
"minimumReleaseAge": "1 days"
},
{
"description": "Automerge image updates for certain applications",
"matchUpdateTypes": [
"minor"
],
"matchDatasources": [
"docker"
],
"matchPackageNames": [
"clidey/whodb",
"eigenfocus/eigenfocus",
"ghcr.io/advplyr/audiobookshelf",
"ghcr.io/gethomepage/homepage",
"ghcr.io/gitroomhq/postiz-app",
"ghcr.io/linuxserver/bazarr",
"ghcr.io/linuxserver/code-server",
"ghcr.io/linuxserver/lidarr",
"ghcr.io/linuxserver/plex",
"ghcr.io/linuxserver/prowlarr",
"ghcr.io/linuxserver/radarr",
"ghcr.io/linuxserver/sonarr",
"ghcr.io/n8n-io/n8n",
"ghcr.io/prometheus-community/charts/kube-prometheus-stack",
"vectorim/element-web"
],
"addLabels": [
"image",
"automerge"
],
"automerge": true,
"minimumReleaseAge": "2 days"
}
]
}