Compare commits

...

57 Commits

Author SHA1 Message Date
590a211da4 use service
All checks were successful
lint-test-helm / lint-helm (push) Successful in 17s
renovate / renovate (push) Successful in 1m11s
render-manifests-push / render-manifests-push (push) Successful in 57s
2025-12-20 17:38:28 -06:00
4119b3f91d add service
All checks were successful
lint-test-helm / lint-helm (push) Successful in 15s
render-manifests-push / render-manifests-push (push) Successful in 38s
renovate / renovate (push) Successful in 1m15s
2025-12-20 17:29:28 -06:00
35733ebd9b remove vue
All checks were successful
lint-test-helm / lint-helm (push) Successful in 11s
lint-test-docker / lint-docker-compose (push) Successful in 18s
render-manifests-push / render-manifests-push (push) Successful in 53s
renovate / renovate (push) Successful in 1m29s
2025-12-20 16:41:41 -06:00
323f57f74d fix
All checks were successful
lint-test-helm / lint-helm (push) Successful in 11s
render-manifests-push / render-manifests-push (push) Successful in 22s
renovate / renovate (push) Successful in 1m22s
2025-12-20 16:34:21 -06:00
c99c7affdd refactor logging
All checks were successful
lint-test-helm / lint-helm (push) Successful in 10s
render-manifests-push / render-manifests-push (push) Successful in 22s
renovate / renovate (push) Successful in 47s
2025-12-20 16:33:52 -06:00
fa4d55168d remove sort
All checks were successful
lint-test-helm / lint-helm (push) Successful in 12s
render-manifests-push / render-manifests-push (push) Successful in 26s
renovate / renovate (push) Successful in 52s
2025-12-20 16:32:15 -06:00
a4fde8db0e reuse files and handle error
All checks were successful
lint-test-helm / lint-helm (push) Successful in 16s
render-manifests-push / render-manifests-push (push) Successful in 24s
renovate / renovate (push) Successful in 1m3s
2025-12-20 16:29:22 -06:00
0465fa2a6d set path style
All checks were successful
lint-test-helm / lint-helm (push) Successful in 14s
render-manifests-push / render-manifests-push (push) Successful in 34s
renovate / renovate (push) Successful in 1m10s
2025-12-20 15:58:27 -06:00
b88806462d adjust formatting
All checks were successful
lint-test-helm / lint-helm (push) Successful in 15s
render-manifests-push / render-manifests-push (push) Successful in 27s
renovate / renovate (push) Successful in 1m10s
2025-12-20 15:52:26 -06:00
610cb0578a specify
All checks were successful
lint-test-helm / lint-helm (push) Successful in 15s
render-manifests-push / render-manifests-push (push) Successful in 25s
renovate / renovate (push) Successful in 1m5s
2025-12-20 15:48:16 -06:00
fa3548740d add debug logging
All checks were successful
lint-test-helm / lint-helm (push) Successful in 10s
render-manifests-push / render-manifests-push (push) Successful in 25s
renovate / renovate (push) Successful in 1m28s
2025-12-20 15:36:22 -06:00
2fc7337e4c split into different controllers
All checks were successful
lint-test-helm / lint-helm (push) Successful in 12s
render-manifests-push / render-manifests-push (push) Successful in 25s
renovate / renovate (push) Successful in 1m2s
2025-12-20 14:50:24 -06:00
5161c69b5d fix mount
All checks were successful
lint-test-helm / lint-helm (push) Successful in 9s
render-manifests-push / render-manifests-push (push) Successful in 18s
renovate / renovate (push) Successful in 1m18s
2025-12-20 14:32:44 -06:00
a877a7f5dd fix mount
All checks were successful
lint-test-helm / lint-helm (push) Successful in 9s
render-manifests-push / render-manifests-push (push) Successful in 46s
renovate / renovate (push) Successful in 53s
2025-12-20 14:25:25 -06:00
ce091a38d4 fix script mount
Some checks failed
lint-test-helm / lint-helm (push) Successful in 17s
render-manifests-push / render-manifests-push (push) Failing after 26s
renovate / renovate (push) Successful in 46s
2025-12-20 14:24:04 -06:00
1552f48dc6 fix path
All checks were successful
lint-test-helm / lint-helm (push) Successful in 14s
renovate / renovate (push) Successful in 57s
render-manifests-push / render-manifests-push (push) Successful in 1m14s
2025-12-20 14:04:07 -06:00
de535d14f0 fix name
Some checks failed
lint-test-helm / lint-helm (push) Successful in 23s
render-manifests-push / render-manifests-push (push) Successful in 23s
renovate / renovate (push) Has been cancelled
2025-12-20 14:01:16 -06:00
af800c427f expand backups to all 3 targets
All checks were successful
lint-test-helm / lint-helm (push) Successful in 14s
render-manifests-push / render-manifests-push (push) Successful in 32s
renovate / renovate (push) Successful in 1m6s
2025-12-20 13:56:13 -06:00
e212e19020 improve spacing
All checks were successful
lint-test-helm / lint-helm (push) Successful in 12s
render-manifests-push / render-manifests-push (push) Successful in 24s
renovate / renovate (push) Successful in 1m3s
2025-12-20 00:38:16 -06:00
12a84f6cfc enable snapshots
Some checks failed
lint-test-helm / lint-helm (push) Successful in 11s
render-manifests-push / render-manifests-push (push) Successful in 50s
renovate / renovate (push) Has been cancelled
2025-12-20 00:33:50 -06:00
0c8d733408 improve logging
All checks were successful
lint-test-helm / lint-helm (push) Successful in 12s
render-manifests-push / render-manifests-push (push) Successful in 37s
renovate / renovate (push) Successful in 48s
2025-12-20 00:30:20 -06:00
87d20e32e2 update script
All checks were successful
lint-test-helm / lint-helm (push) Successful in 15s
render-manifests-push / render-manifests-push (push) Successful in 44s
renovate / renovate (push) Successful in 1m7s
2025-12-20 00:15:02 -06:00
388e864664 run as root
All checks were successful
lint-test-helm / lint-helm (push) Successful in 12s
renovate / renovate (push) Successful in 48s
render-manifests-push / render-manifests-push (push) Successful in 26s
2025-12-20 00:00:58 -06:00
10d659077c debug
All checks were successful
lint-test-helm / lint-helm (push) Successful in 14s
render-manifests-push / render-manifests-push (push) Successful in 49s
renovate / renovate (push) Successful in 53s
2025-12-19 23:55:17 -06:00
5597d42030 debug
All checks were successful
lint-test-helm / lint-helm (push) Successful in 11s
renovate / renovate (push) Successful in 1m9s
render-manifests-push / render-manifests-push (push) Successful in 20s
2025-12-19 23:41:53 -06:00
ea61717174 fix
All checks were successful
lint-test-helm / lint-helm (push) Successful in 8s
render-manifests-push / render-manifests-push (push) Successful in 35s
renovate / renovate (push) Successful in 56s
2025-12-19 23:39:27 -06:00
fdd5ee823f fix script
All checks were successful
lint-test-helm / lint-helm (push) Successful in 12s
render-manifests-push / render-manifests-push (push) Successful in 24s
renovate / renovate (push) Successful in 1m8s
2025-12-19 23:08:20 -06:00
8f8537c31d fix loop
All checks were successful
lint-test-helm / lint-helm (push) Successful in 16s
render-manifests-push / render-manifests-push (push) Successful in 38s
renovate / renovate (push) Successful in 1m16s
2025-12-19 23:02:30 -06:00
766b2a3999 remove nfs drive
All checks were successful
lint-test-helm / lint-helm (push) Successful in 11s
render-manifests-push / render-manifests-push (push) Successful in 21s
renovate / renovate (push) Successful in 1m22s
2025-12-19 22:57:43 -06:00
679344d45e add ntfy to script
All checks were successful
lint-test-helm / lint-helm (push) Successful in 12s
render-manifests-push / render-manifests-push (push) Successful in 26s
renovate / renovate (push) Successful in 57s
2025-12-19 22:55:55 -06:00
88474b9887 scale
All checks were successful
lint-test-helm / lint-helm (push) Successful in 19s
render-manifests-push / render-manifests-push (push) Successful in 40s
renovate / renovate (push) Successful in 1m15s
2025-12-19 22:28:20 -06:00
759d3af09a change to sync
All checks were successful
lint-test-helm / lint-helm (push) Successful in 12s
render-manifests-push / render-manifests-push (push) Successful in 24s
renovate / renovate (push) Successful in 53s
2025-12-19 22:24:24 -06:00
57d0fa2357 add debug to move files
All checks were successful
lint-test-helm / lint-helm (push) Successful in 18s
render-manifests-push / render-manifests-push (push) Successful in 26s
renovate / renovate (push) Successful in 1m8s
2025-12-19 22:16:00 -06:00
6fcca27e0e fix mount
All checks were successful
lint-test-helm / lint-helm (push) Successful in 18s
render-manifests-push / render-manifests-push (push) Successful in 29s
renovate / renovate (push) Successful in 58s
2025-12-19 22:00:32 -06:00
9f239b6df6 change to ceph filesystem, add backups
All checks were successful
lint-test-helm / lint-helm (push) Successful in 14s
render-manifests-push / render-manifests-push (push) Successful in 44s
renovate / renovate (push) Successful in 1m12s
2025-12-19 21:56:52 -06:00
c0f792782f add retry on apk repo 2025-12-19 21:18:09 -06:00
e526072a88 update script to handle error in installation 2025-12-19 21:13:28 -06:00
ccbb6d290e allow encoding
All checks were successful
lint-test-helm / lint-helm (push) Successful in 19s
render-manifests-push / render-manifests-push (push) Successful in 27s
renovate / renovate (push) Successful in 1m5s
2025-12-19 20:58:07 -06:00
004dc62511 Update clidey/whodb Docker tag to v0.86.0 (#2732)
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 1m45s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| clidey/whodb | minor | `0.85.0` -> `0.86.0` |

---

### 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:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zOS4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXV0b21lcmdlIiwiaW1hZ2UiXX0=-->

Reviewed-on: #2732
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-20 01:19:57 +00:00
3e76f9c46a Update Helm release external-secrets to v1.2.0 (#2737)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 11s
renovate / renovate (push) Successful in 45s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [external-secrets](https://github.com/external-secrets/external-secrets) | minor | `1.1.1` -> `1.2.0` |

---

### Release Notes

<details>
<summary>external-secrets/external-secrets (external-secrets)</summary>

### [`v1.2.0`](https://github.com/external-secrets/external-secrets/releases/tag/v1.2.0)

[Compare Source](https://github.com/external-secrets/external-secrets/compare/v1.1.1...v1.2.0)

Image: `ghcr.io/external-secrets/external-secrets:v1.2.0`
Image: `ghcr.io/external-secrets/external-secrets:v1.2.0-ubi`
Image: `ghcr.io/external-secrets/external-secrets:v1.2.0-ubi-boringssl`

<!-- Release notes generated using configuration in .github/release.yml at main -->

#### What's Changed

##### General

- chore: bump 1.1.1 by [@&#8203;gusfcarvalho](https://github.com/gusfcarvalho) in [#&#8203;5687](https://github.com/external-secrets/external-secrets/pull/5687)
- chore: fix the argocd e2e test case by [@&#8203;Skarlso](https://github.com/Skarlso) in [#&#8203;5688](https://github.com/external-secrets/external-secrets/pull/5688)
- feat(provider): add Barbican provider support by [@&#8203;rkferreira](https://github.com/rkferreira) in [#&#8203;5398](https://github.com/external-secrets/external-secrets/pull/5398)
- docs(secretserver): promote secretserver provider to beta by [@&#8203;DelineaSahilWankhede](https://github.com/DelineaSahilWankhede) in [#&#8203;5668](https://github.com/external-secrets/external-secrets/pull/5668)
- feat(controller): add flag to enable/disable secretstore reconcile by [@&#8203;Ilhan-Personal](https://github.com/Ilhan-Personal) in [#&#8203;5653](https://github.com/external-secrets/external-secrets/pull/5653)
- fix(aws-secrets-manager): Apply filtering based on both name and tags if provided by [@&#8203;iypetrov](https://github.com/iypetrov) in [#&#8203;5685](https://github.com/external-secrets/external-secrets/pull/5685)
- fix(gcpsm): SecretExists should check for regional secrets when store location is specified by [@&#8203;tokiwong](https://github.com/tokiwong) in [#&#8203;5708](https://github.com/external-secrets/external-secrets/pull/5708)
- feat: introduce store deprecation by [@&#8203;gusfcarvalho](https://github.com/gusfcarvalho) in [#&#8203;5711](https://github.com/external-secrets/external-secrets/pull/5711)
- feat(charts): add global values for common deployment configurations by [@&#8203;Gabryel8818](https://github.com/Gabryel8818) in [#&#8203;5652](https://github.com/external-secrets/external-secrets/pull/5652)
- feat: add Doppler OIDC-based authentication by [@&#8203;mikesellitto](https://github.com/mikesellitto) in [#&#8203;5475](https://github.com/external-secrets/external-secrets/pull/5475)
- fix: make custom configuration available regardless of environment by [@&#8203;Skarlso](https://github.com/Skarlso) in [#&#8203;5713](https://github.com/external-secrets/external-secrets/pull/5713)
- chore(chart): update bitwarden dependency to v0.5.2 by [@&#8203;Skarlso](https://github.com/Skarlso) in [#&#8203;5719](https://github.com/external-secrets/external-secrets/pull/5719)
- docs(templating): update rbac for generic targets by [@&#8203;lostick](https://github.com/lostick) in [#&#8203;5736](https://github.com/external-secrets/external-secrets/pull/5736)
- fix(testing): Breaking changes should not break ci by [@&#8203;evrardjp](https://github.com/evrardjp) in [#&#8203;5739](https://github.com/external-secrets/external-secrets/pull/5739)
- fix(security): Get rid of getSecretKey by [@&#8203;evrardjp](https://github.com/evrardjp) in [#&#8203;5738](https://github.com/external-secrets/external-secrets/pull/5738)
- fix(aws): parse resource policies into canonical JSON (sorted) before comparing by [@&#8203;cmoscofian](https://github.com/cmoscofian) in [#&#8203;5622](https://github.com/external-secrets/external-secrets/pull/5622)
- docs: Fix example in GCP documentation by [@&#8203;headcr4sh](https://github.com/headcr4sh) in [#&#8203;5745](https://github.com/external-secrets/external-secrets/pull/5745)
- chore(secretserver): update dependencies to accept new DelineaXPM/tss-sdk-go by [@&#8203;DelineaSahilWankhede](https://github.com/DelineaSahilWankhede) in [#&#8203;5742](https://github.com/external-secrets/external-secrets/pull/5742)
- fix(gcpsm): Improve SecretExists method in GCP secret manager provider by [@&#8203;tosih](https://github.com/tosih) in [#&#8203;5610](https://github.com/external-secrets/external-secrets/pull/5610)
- chore(docs): add clarification to helm values being disabled by [@&#8203;Skarlso](https://github.com/Skarlso) in [#&#8203;5746](https://github.com/external-secrets/external-secrets/pull/5746)
- fix(release): apply [`64dc681`](64dc681c97) to release by [@&#8203;jakobmoellerdev](https://github.com/jakobmoellerdev) in [#&#8203;5749](https://github.com/external-secrets/external-secrets/pull/5749)
- docs(release): 1.2 stability-support.md by [@&#8203;jakobmoellerdev](https://github.com/jakobmoellerdev) in [#&#8203;5750](https://github.com/external-secrets/external-secrets/pull/5750)

##### Dependencies

- chore(deps): bump golang from 1.25.4 to 1.25.5 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5693](https://github.com/external-secrets/external-secrets/pull/5693)
- chore(deps): bump golang from 1.25.4-bookworm to 1.25.5-bookworm in /e2e by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5702](https://github.com/external-secrets/external-secrets/pull/5702)
- chore(deps): bump ubi9/ubi from `dcd8128` to `75937d9` by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5655](https://github.com/external-secrets/external-secrets/pull/5655)
- chore(deps): bump peter-evans/slash-command-dispatch from 5.0.0 to 5.0.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5695](https://github.com/external-secrets/external-secrets/pull/5695)
- chore(deps): bump github/codeql-action from 4.31.5 to 4.31.7 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5696](https://github.com/external-secrets/external-secrets/pull/5696)
- chore(deps): bump actions/stale from 10.1.0 to 10.1.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5697](https://github.com/external-secrets/external-secrets/pull/5697)
- chore(deps): bump actions/create-github-app-token from 2.2.0 to 2.2.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5700](https://github.com/external-secrets/external-secrets/pull/5700)
- chore(deps): bump step-security/harden-runner from 2.13.2 to 2.13.3 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5698](https://github.com/external-secrets/external-secrets/pull/5698)
- chore(deps): bump actions/checkout from 6.0.0 to 6.0.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5699](https://github.com/external-secrets/external-secrets/pull/5699)
- chore(deps): bump platformdirs from 4.5.0 to 4.5.1 in /hack/api-docs by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5705](https://github.com/external-secrets/external-secrets/pull/5705)
- chore(deps): bump distroless/static from `87bce11` to `4b2a093` by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5692](https://github.com/external-secrets/external-secrets/pull/5692)
- chore(deps): bump alpine from 3.22 to 3.23 in /hack/api-docs by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5703](https://github.com/external-secrets/external-secrets/pull/5703)
- chore(deps): bump urllib3 from 2.5.0 to 2.6.0 in /hack/api-docs by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5704](https://github.com/external-secrets/external-secrets/pull/5704)
- chore(deps): bump pymdown-extensions from 10.17.2 to 10.18 in /hack/api-docs by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5706](https://github.com/external-secrets/external-secrets/pull/5706)
- chore(deps): bump alpine from 3.22.2 to 3.23.0 in /e2e by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5701](https://github.com/external-secrets/external-secrets/pull/5701)
- chore(deps): bump golang from `2611181` to `2611181` by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5721](https://github.com/external-secrets/external-secrets/pull/5721)
- chore(deps): bump codecov/codecov-action from 5.5.1 to 5.5.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5725](https://github.com/external-secrets/external-secrets/pull/5725)
- chore(deps): bump urllib3 from 2.6.0 to 2.6.2 in /hack/api-docs by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5730](https://github.com/external-secrets/external-secrets/pull/5730)
- chore(deps): bump github/codeql-action from 4.31.7 to 4.31.8 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5726](https://github.com/external-secrets/external-secrets/pull/5726)
- chore(deps): bump anchore/sbom-action from 0.20.10 to 0.20.11 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5724](https://github.com/external-secrets/external-secrets/pull/5724)
- chore(deps): bump tornado from 6.5.2 to 6.5.3 in /hack/api-docs by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5732](https://github.com/external-secrets/external-secrets/pull/5732)
- chore(deps): bump ubi9/ubi from `75937d9` to `d4feb57` by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5722](https://github.com/external-secrets/external-secrets/pull/5722)
- chore(deps): bump golang from `5117d68` to `09f53de` in /e2e by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5729](https://github.com/external-secrets/external-secrets/pull/5729)
- chore(deps): bump alpine from `4b7ce07` to `51183f2` by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5694](https://github.com/external-secrets/external-secrets/pull/5694)
- chore(deps): bump hashicorp/setup-terraform from [`712b439`](712b43959e) to [`071811a`](071811a162) by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5727](https://github.com/external-secrets/external-secrets/pull/5727)
- chore(deps): bump pymdown-extensions from 10.18 to 10.19.1 in /hack/api-docs by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5731](https://github.com/external-secrets/external-secrets/pull/5731)
- chore(deps): bump step-security/harden-runner from 2.13.3 to 2.14.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5728](https://github.com/external-secrets/external-secrets/pull/5728)
- chore(deps): bump actions/cache from 4.3.0 to 5.0.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;5723](https://github.com/external-secrets/external-secrets/pull/5723)

#### New Contributors

- [@&#8203;iypetrov](https://github.com/iypetrov) made their first contribution in [#&#8203;5685](https://github.com/external-secrets/external-secrets/pull/5685)
- [@&#8203;tokiwong](https://github.com/tokiwong) made their first contribution in [#&#8203;5708](https://github.com/external-secrets/external-secrets/pull/5708)
- [@&#8203;Gabryel8818](https://github.com/Gabryel8818) made their first contribution in [#&#8203;5652](https://github.com/external-secrets/external-secrets/pull/5652)
- [@&#8203;mikesellitto](https://github.com/mikesellitto) made their first contribution in [#&#8203;5475](https://github.com/external-secrets/external-secrets/pull/5475)
- [@&#8203;lostick](https://github.com/lostick) made their first contribution in [#&#8203;5736](https://github.com/external-secrets/external-secrets/pull/5736)
- [@&#8203;cmoscofian](https://github.com/cmoscofian) made their first contribution in [#&#8203;5622](https://github.com/external-secrets/external-secrets/pull/5622)
- [@&#8203;headcr4sh](https://github.com/headcr4sh) made their first contribution in [#&#8203;5745](https://github.com/external-secrets/external-secrets/pull/5745)
- [@&#8203;tosih](https://github.com/tosih) made their first contribution in [#&#8203;5610](https://github.com/external-secrets/external-secrets/pull/5610)

**Full Changelog**: <https://github.com/external-secrets/external-secrets/compare/v1.1.1...v1.2.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:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zOS4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhcnQiXX0=-->

Reviewed-on: #2737
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-20 01:18:14 +00:00
348266d19e Update ghcr.io/immich-app/immich-server Docker tag to v2.4.1 (#2736)
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 1m38s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/immich-app/immich-server](https://github.com/immich-app/immich) | minor | `v2.3.1` -> `v2.4.1` |

---

### Release Notes

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

### [`v2.4.1`](https://github.com/immich-app/immich/releases/tag/v2.4.1)

[Compare Source](https://github.com/immich-app/immich/compare/v2.4.0...v2.4.1)

### 2.4.1

#### What's Changed

##### 🐛 Bug fixes

- fix(web): shared link expiry does not save by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24569](https://github.com/immich-app/immich/pull/24569)
- fix(mobile): infinite loading screen when hiding UI in map viewer on iOS by [@&#8203;timonrieger](https://github.com/timonrieger) in [#&#8203;24563](https://github.com/immich-app/immich/pull/24563)
- fix(web): auto-start slideshow when confirming settings modal by [@&#8203;timonrieger](https://github.com/timonrieger) in [#&#8203;24629](https://github.com/immich-app/immich/pull/24629)
- fix(mobile): merged video in On This Device played with incorrect ratio by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24656](https://github.com/immich-app/immich/pull/24656)
- fix: dateTimeOriginal timezone updates by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;24712](https://github.com/immich-app/immich/pull/24712)
- fix(web): timezone dropdown showing "No results" when seconds are set to 00 by [@&#8203;timonrieger](https://github.com/timonrieger) in [#&#8203;24662](https://github.com/immich-app/immich/pull/24662)
- fix(web): search-bar usability improvements  by [@&#8203;LeLunZ](https://github.com/LeLunZ) in [#&#8203;24705](https://github.com/immich-app/immich/pull/24705)

##### 📚 Documentation

- fix(docs): add & fix missing alt text to store badge images by [@&#8203;divulgacheur](https://github.com/divulgacheur) in [#&#8203;24637](https://github.com/immich-app/immich/pull/24637)

#### New Contributors

- [@&#8203;timonrieger](https://github.com/timonrieger) made their first contribution in [#&#8203;24563](https://github.com/immich-app/immich/pull/24563)
- [@&#8203;LeLunZ](https://github.com/LeLunZ) made their first contribution in [#&#8203;24705](https://github.com/immich-app/immich/pull/24705)
- [@&#8203;divulgacheur](https://github.com/divulgacheur) made their first contribution in [#&#8203;24637](https://github.com/immich-app/immich/pull/24637)

**Full Changelog**: <https://github.com/immich-app/immich/compare/v2.4.0...v2.4.1>

### [`v2.4.0`](https://github.com/immich-app/immich/releases/tag/v2.4.0)

[Compare Source](https://github.com/immich-app/immich/compare/v2.3.1...v2.4.0)

### v2.4.0

#### Highlights

Welcome to the release `v2.4.0` of Immich. This release focuses on bug fixes, QoL improvements, and polished UI components and animation across mobile and the web. Let’s dive right in.

- Show the owner's name in the shared album
- Command palette
- Change search type directly in the search bar
- Better action button placement in the mobile asset viewer
- Notable fix: fix an issue where metadata extraction could fail on high concurrency

##### Show the owner's name in the shared album.

On the web, in shared albums, you can now toggle an option to display the asset’s owner name at the bottom right corner of the thumbnail.

<img width="800" alt="asset owner name in album" src="https://github.com/user-attachments/assets/90f425b3-91d4-4ef3-9455-234b2c28b0f0" />

##### Command palette

The web app now has an integrated command palette, which can be opened  `ctrl + k` on Windows/Linux or `cmd + k` on macOS. This first iteration of this lets you quickly navigate between administration pages by typing the name of the page you want to go to. It also already supports some common actions when on the respective admin pages, many of which also support shortcuts. Have a look around and check them out!

<img width="800"  alt="command pallet" src="https://github.com/user-attachments/assets/e9fb1638-a926-4df2-92ce-3ddfd0b04e02" />

##### Change search type directly in the search bar

You can now click on the pill from the search bar to select a different search type without opening the search filter panel.

<img width="800" alt="search type" src="https://github.com/user-attachments/assets/493d0b74-8b6f-4581-b2ba-9f00da9bcc30" />

##### Better placement of action buttons in the mobile asset viewer

Previously, to perform a specific action on the asset, you needed first to swipe up to open the detail panel, then swipe all the way to the right and tap the action. It limits the discoverability of some actions. To help resolve that issue, all the action buttons in the detail panel are now moved to the drop-down menu when tapping on the vertical dot icon (or kebab menu), along with some buttons that used to be on the top bar, clearing up space to display more helpful information when viewing the asset.

 <img width="350" alt="kebab menu" src="https://github.com/user-attachments/assets/7b4610c4-d04b-4f5e-8b7b-02504a9ee531" />

#### Support Immich

<p align="center">

<img src="https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExbjY2eWc5Y2F0ZW56MmR4aWE0dDhzZXlidXRmYWZyajl1bWZidXZpcyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/87CKDqErVfMqY/giphy.gif" width="450" title="SUPPORT THE PROJECT!">

</p>

If you find the project helpful, you can support Immich by purchasing a product key at <https://buy.immich.app> or our merchandise at <https://immich.store>

#### What's Changed

##### 🫥 Deprecated Changes

- feat: queues by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24142](https://github.com/immich-app/immich/pull/24142)

##### 🚀 Features

- feat: improve performance: don't sort timeline buckets from server by [@&#8203;midzelis](https://github.com/midzelis) in [#&#8203;24032](https://github.com/immich-app/immich/pull/24032)
- feat: command palette by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;23693](https://github.com/immich-app/immich/pull/23693)
- feat(web): Shared album owner labels by [@&#8203;xCJPECKOVERx](https://github.com/xCJPECKOVERx) in [#&#8203;21171](https://github.com/immich-app/immich/pull/21171)
- feat(mobile): persist album sorting & layout in settings by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;22133](https://github.com/immich-app/immich/pull/22133)
- feat: queue detail page by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24352](https://github.com/immich-app/immich/pull/24352)
- chore(mobile): add kebabu menu in asset viewer by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24387](https://github.com/immich-app/immich/pull/24387)
- feat(mobile): create new album from add to modal by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24431](https://github.com/immich-app/immich/pull/24431)
- feat(mobile): move buttons in the bottom sheet to the kebabu menu by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24175](https://github.com/immich-app/immich/pull/24175)

##### 🌟 Enhancements

- feat(web): allow navigating the map with arrow keys by [@&#8203;lukashass](https://github.com/lukashass) in [#&#8203;24080](https://github.com/immich-app/immich/pull/24080)
- feat: separate camera and lens info in detail panel by [@&#8203;fabianbees](https://github.com/fabianbees) in [#&#8203;23670](https://github.com/immich-app/immich/pull/23670)
- feat(web): shared link card tweaks by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24192](https://github.com/immich-app/immich/pull/24192)
- feat(server): exclude syncthing folders from external libraries by [@&#8203;SaphuA](https://github.com/SaphuA) in [#&#8203;24240](https://github.com/immich-app/immich/pull/24240)
- feat(web): search type selection dropdown by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24091](https://github.com/immich-app/immich/pull/24091)
- feat: header context menu by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24374](https://github.com/immich-app/immich/pull/24374)
- feat(mobile): move top bar buttons into kebabu menu in AssetViewer by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24461](https://github.com/immich-app/immich/pull/24461)
- feat(web): asset selection bar in tags view by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24522](https://github.com/immich-app/immich/pull/24522)
- feat(web): slideshow feature on shared albums by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24598](https://github.com/immich-app/immich/pull/24598)
- feat: replace heart icons to thumbs-up across activity by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24590](https://github.com/immich-app/immich/pull/24590)

##### 🐛 Bug fixes

- fix: effect loop by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24014](https://github.com/immich-app/immich/pull/24014)
- fix: do not clear hash on updated\_at change by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;24039](https://github.com/immich-app/immich/pull/24039)
- fix: disable animation "add to" action menu by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;24040](https://github.com/immich-app/immich/pull/24040)
- fix: Use correct app store link by [@&#8203;Mraedis](https://github.com/Mraedis) in [#&#8203;24062](https://github.com/immich-app/immich/pull/24062)
- fix: show archived assets in favorite page by [@&#8203;bwees](https://github.com/bwees) in [#&#8203;24052](https://github.com/immich-app/immich/pull/24052)
- fix(mobile): first video memory on page doesn't play by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;23906](https://github.com/immich-app/immich/pull/23906)
- feat(web): show detected faces in spherical photos by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;23974](https://github.com/immich-app/immich/pull/23974)
- fix: add users to album by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;24133](https://github.com/immich-app/immich/pull/24133)
- fix(server): sanitize DB\_URL for pg\_dumpall to remove unknown query params by [@&#8203;lutostag](https://github.com/lutostag) in [#&#8203;23333](https://github.com/immich-app/immich/pull/23333)
- fix: use proper updatedAt value in local assets by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;24137](https://github.com/immich-app/immich/pull/24137)
- fix: albums page reactivity loops by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;24046](https://github.com/immich-app/immich/pull/24046)
- fix: getAspectRatio fallback to db width and height by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;24131](https://github.com/immich-app/immich/pull/24131)
- fix(web): fix support & feedback modal wrapping by [@&#8203;Snowknight26](https://github.com/Snowknight26) in [#&#8203;24018](https://github.com/immich-app/immich/pull/24018)
- fix: don't get OCR data in shared link by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24152](https://github.com/immich-app/immich/pull/24152)
- fix: duration extraction by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24178](https://github.com/immich-app/immich/pull/24178)
- fix(ml): Upgrade ONNX Runtime to v1.22.1 to fix ROCm build failures by [@&#8203;LukaPrebil](https://github.com/LukaPrebil) in [#&#8203;24045](https://github.com/immich-app/immich/pull/24045)
- fix: update timeline-manager after archive actions by [@&#8203;midzelis](https://github.com/midzelis) in [#&#8203;24010](https://github.com/immich-app/immich/pull/24010)
- fix: theme switcher by [@&#8203;jrasm91](https://github.com/jrasm91) in [#&#8203;24209](https://github.com/immich-app/immich/pull/24209)
- fix: label 'for' attributes in user-api-key-grid by [@&#8203;kimsey0](https://github.com/kimsey0) in [#&#8203;24232](https://github.com/immich-app/immich/pull/24232)
- fix(mobile): enable backup text overflows by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24227](https://github.com/immich-app/immich/pull/24227)
- fix(web): integrate zoom toggle button into panorama photo viewer by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;24189](https://github.com/immich-app/immich/pull/24189)
- fix(web): use full tag path when creating nested subtags by [@&#8203;NiklasvonM](https://github.com/NiklasvonM) in [#&#8203;24249](https://github.com/immich-app/immich/pull/24249)
- fix: only generate memory based on users assets by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24151](https://github.com/immich-app/immich/pull/24151)
- fix(mobile): docs link by [@&#8203;mmomjian](https://github.com/mmomjian) in [#&#8203;24277](https://github.com/immich-app/immich/pull/24277)
- fix(server): use bigrams for cjk by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;24285](https://github.com/immich-app/immich/pull/24285)
- fix(ml): do not upscale preview by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;24322](https://github.com/immich-app/immich/pull/24322)
- fix(web): open onboarding documentation link in new tab by [@&#8203;carbonemys](https://github.com/carbonemys) in [#&#8203;24289](https://github.com/immich-app/immich/pull/24289)
- fix(mobile): use correct timezone displayed in the info sheet by [@&#8203;kao-byte](https://github.com/kao-byte) in [#&#8203;24310](https://github.com/immich-app/immich/pull/24310)
- fix(web): folder view sort oder by [@&#8203;etnoy](https://github.com/etnoy) in [#&#8203;24337](https://github.com/immich-app/immich/pull/24337)
- fix(server): do not delete offline assets by [@&#8203;mertalev](https://github.com/mertalev) in [#&#8203;24355](https://github.com/immich-app/immich/pull/24355)
- fix: exposure info and better readability by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24344](https://github.com/immich-app/immich/pull/24344)
- fix: Adjust the zoom level by [@&#8203;jforseth210](https://github.com/jforseth210) in [#&#8203;24353](https://github.com/immich-app/immich/pull/24353)
- fix: local full sync on Android on resume by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24348](https://github.com/immich-app/immich/pull/24348)
- fix(web): Add minimum content size to logo for consistent visual on small screens by [@&#8203;kiloomar](https://github.com/kiloomar) in [#&#8203;24372](https://github.com/immich-app/immich/pull/24372)
- fix: use adjustment time in iOS for hash reset by [@&#8203;shenlong-tanwen](https://github.com/shenlong-tanwen) in [#&#8203;24047](https://github.com/immich-app/immich/pull/24047)
- fix(server): update exiftool-vendored to v34 for more robust metadata extraction by [@&#8203;skatsubo](https://github.com/skatsubo) in [#&#8203;24424](https://github.com/immich-app/immich/pull/24424)
- fix(mobile): cannot create album while name field is focused by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24449](https://github.com/immich-app/immich/pull/24449)
- fix(web): \[album table view] long album title overflows table row by [@&#8203;simonkub](https://github.com/simonkub) in [#&#8203;24450](https://github.com/immich-app/immich/pull/24450)
- fix(mobile): fix overflow text in backup card by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24448](https://github.com/immich-app/immich/pull/24448)
- fix(mobile): timeline bottom padding on selection by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24480](https://github.com/immich-app/immich/pull/24480)
- feat(mobile): Localized backup upload details page by [@&#8203;ArnyminerZ](https://github.com/ArnyminerZ) in [#&#8203;21136](https://github.com/immich-app/immich/pull/21136)
- fix(mobile): iOS local permission dialog extra whitespace by [@&#8203;kurtmckee](https://github.com/kurtmckee) in [#&#8203;24491](https://github.com/immich-app/immich/pull/24491)
- fix(mobile): versionStatus.message text overflow by [@&#8203;idubnori](https://github.com/idubnori) in [#&#8203;24504](https://github.com/immich-app/immich/pull/24504)
- fix(server): prevent metadata extraction failures on large video files by [@&#8203;hubert-taieb](https://github.com/hubert-taieb) in [#&#8203;24094](https://github.com/immich-app/immich/pull/24094)
- fix(web): show inferred timezone in date editor by [@&#8203;skatsubo](https://github.com/skatsubo) in [#&#8203;24513](https://github.com/immich-app/immich/pull/24513)
- fix(mobile): local videos with '#' don't play on android by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24373](https://github.com/immich-app/immich/pull/24373)
- fix: refresh appear in list after asset is added to a current or new album by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24523](https://github.com/immich-app/immich/pull/24523)
- fix(mobile): birthday off by one day on remote by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24527](https://github.com/immich-app/immich/pull/24527)
- fix(web): download panel being hidden by admin sidebar by [@&#8203;diogotcorreia](https://github.com/diogotcorreia) in [#&#8203;24583](https://github.com/immich-app/immich/pull/24583)
- fix(web): recent search doesn't use search type by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24578](https://github.com/immich-app/immich/pull/24578)
- fix(server): only extract image's duration if format supports animation by [@&#8203;meesfrensel](https://github.com/meesfrensel) in [#&#8203;24587](https://github.com/immich-app/immich/pull/24587)
- fix(mobile): local delete missing from sheet on some routes  by [@&#8203;YarosMallorca](https://github.com/YarosMallorca) in [#&#8203;24505](https://github.com/immich-app/immich/pull/24505)
- fix(mobile): better UI for metadata panel by [@&#8203;kao-byte](https://github.com/kao-byte) in [#&#8203;24428](https://github.com/immich-app/immich/pull/24428)
- fix: shared link expiration and small styling by [@&#8203;alextran1502](https://github.com/alextran1502) in [#&#8203;24566](https://github.com/immich-app/immich/pull/24566)
- fix: asset update race condition by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;24384](https://github.com/immich-app/immich/pull/24384)

##### 📚 Documentation

- docs: DB\_STORAGE\_TYPE is only used by the database container by [@&#8203;dionysius](https://github.com/dionysius) in [#&#8203;24215](https://github.com/immich-app/immich/pull/24215)
- fix(docs): build `cli` for e2e tests by [@&#8203;roschaefer](https://github.com/roschaefer) in [#&#8203;24184](https://github.com/immich-app/immich/pull/24184)
- docs(faq): add more info on archiving by [@&#8203;etnoy](https://github.com/etnoy) in [#&#8203;24326](https://github.com/immich-app/immich/pull/24326)
- fix(docs): server and machine-learning use IMMICH\_HOST and IMMICH\_PORT by [@&#8203;dionysius](https://github.com/dionysius) in [#&#8203;24335](https://github.com/immich-app/immich/pull/24335)
- fix: prevent OOM on nginx reverse proxy servers by [@&#8203;NicholasFlamy](https://github.com/NicholasFlamy) in [#&#8203;24351](https://github.com/immich-app/immich/pull/24351)
- fix(docs): obsolete docs about rootless docker by [@&#8203;roschaefer](https://github.com/roschaefer) in [#&#8203;24376](https://github.com/immich-app/immich/pull/24376)
- fix(docs): websockets in nginx example by [@&#8203;fourthwall](https://github.com/fourthwall) in [#&#8203;24411](https://github.com/immich-app/immich/pull/24411)
- fix(docs): slow upload speed with example nginx reverse proxy config by [@&#8203;goalie2002](https://github.com/goalie2002) in [#&#8203;24490](https://github.com/immich-app/immich/pull/24490)
- fix(docs): typo in maintenance mode command by [@&#8203;bartvanvelden](https://github.com/bartvanvelden) in [#&#8203;24518](https://github.com/immich-app/immich/pull/24518)

##### 🌐 Translations

- chore: add new language requests by [@&#8203;danieldietzler](https://github.com/danieldietzler) in [#&#8203;23991](https://github.com/immich-app/immich/pull/23991)
- chore(web): update translations by [@&#8203;weblate](https://github.com/weblate) in [#&#8203;24004](https://github.com/immich-app/immich/pull/24004)

#### New Contributors

- [@&#8203;ujjwal123123](https://github.com/ujjwal123123) made their first contribution in [#&#8203;24101](https://github.com/immich-app/immich/pull/24101)
- [@&#8203;lutostag](https://github.com/lutostag) made their first contribution in [#&#8203;23333](https://github.com/immich-app/immich/pull/23333)
- [@&#8203;LukaPrebil](https://github.com/LukaPrebil) made their first contribution in [#&#8203;24045](https://github.com/immich-app/immich/pull/24045)
- [@&#8203;kimsey0](https://github.com/kimsey0) made their first contribution in [#&#8203;24232](https://github.com/immich-app/immich/pull/24232)
- [@&#8203;SaphuA](https://github.com/SaphuA) made their first contribution in [#&#8203;24240](https://github.com/immich-app/immich/pull/24240)
- [@&#8203;dionysius](https://github.com/dionysius) made their first contribution in [#&#8203;24215](https://github.com/immich-app/immich/pull/24215)
- [@&#8203;NiklasvonM](https://github.com/NiklasvonM) made their first contribution in [#&#8203;24249](https://github.com/immich-app/immich/pull/24249)
- [@&#8203;kao-byte](https://github.com/kao-byte) made their first contribution in [#&#8203;24098](https://github.com/immich-app/immich/pull/24098)
- [@&#8203;carbonemys](https://github.com/carbonemys) made their first contribution in [#&#8203;24289](https://github.com/immich-app/immich/pull/24289)
- [@&#8203;kiloomar](https://github.com/kiloomar) made their first contribution in [#&#8203;24372](https://github.com/immich-app/immich/pull/24372)
- [@&#8203;fourthwall](https://github.com/fourthwall) made their first contribution in [#&#8203;24411](https://github.com/immich-app/immich/pull/24411)
- [@&#8203;simonkub](https://github.com/simonkub) made their first contribution in [#&#8203;24450](https://github.com/immich-app/immich/pull/24450)
- [@&#8203;ArnyminerZ](https://github.com/ArnyminerZ) made their first contribution in [#&#8203;21136](https://github.com/immich-app/immich/pull/21136)
- [@&#8203;kurtmckee](https://github.com/kurtmckee) made their first contribution in [#&#8203;24491](https://github.com/immich-app/immich/pull/24491)
- [@&#8203;hubert-taieb](https://github.com/hubert-taieb) made their first contribution in [#&#8203;24094](https://github.com/immich-app/immich/pull/24094)
- [@&#8203;bartvanvelden](https://github.com/bartvanvelden) made their first contribution in [#&#8203;24518](https://github.com/immich-app/immich/pull/24518)

**Full Changelog**: <https://github.com/immich-app/immich/compare/v2.3.1...v2.4.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:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zOS4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: #2736
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-20 01:16:34 +00:00
8ca684f42c Update ghcr.io/booklore-app/booklore Docker tag to v1.15.0 (#2735)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 13s
renovate / renovate (push) Successful in 59s
This PR contains the following updates:

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

---

### Release Notes

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

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

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

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

#### 🚀 New Features

- feat: add additional cover art actions and settings ([#&#8203;1938](https://github.com/booklore-app/booklore/issues/1938)) by [@&#8203;CounterClops](https://github.com/CounterClops)
- feat(hardcover): sync Kobo reading progress to Hardcover ([#&#8203;1926](https://github.com/booklore-app/booklore/issues/1926)) by [@&#8203;boludo00](https://github.com/boludo00)
- Add sequential next/previous book navigation from library, filtered, and search views ([#&#8203;1931](https://github.com/booklore-app/booklore/issues/1931)) by [@&#8203;acx10](https://github.com/acx10)
- feat(api, ui): add bookdrop bulk edit and metadata pattern extraction ([#&#8203;1846](https://github.com/booklore-app/booklore/issues/1846)) by [@&#8203;CounterClops](https://github.com/CounterClops)
- Add support for fb2 books ([#&#8203;1757](https://github.com/booklore-app/booklore/issues/1757)) by [@&#8203;slonoed](https://github.com/slonoed)

####  Enhancements

- feat: add library sync URL generation in KoboUrlBuilder ([#&#8203;1937](https://github.com/booklore-app/booklore/issues/1937)) by [@&#8203;ripdog](https://github.com/ripdog)
- feat(opds): allow user to set sorting for opds feed in settings ([#&#8203;1824](https://github.com/booklore-app/booklore/issues/1824)) by [@&#8203;WorldTeacher](https://github.com/WorldTeacher)
- Feat/conversion CBX to EPUB compression configuration ([#&#8203;1844](https://github.com/booklore-app/booklore/issues/1844)) by [@&#8203;thvardhan](https://github.com/thvardhan)
- feat(opds): add series hierarchy ([#&#8203;1837](https://github.com/booklore-app/booklore/issues/1837)) by [@&#8203;WorldTeacher](https://github.com/WorldTeacher)

#### 🎨 UI Tweaks

- fix: Bookdrop UI mobile support ([#&#8203;1911](https://github.com/booklore-app/booklore/issues/1911)) by [@&#8203;Muppetteer](https://github.com/Muppetteer)
- fix: Consistent dialogs ([#&#8203;1842](https://github.com/booklore-app/booklore/issues/1842)) by [@&#8203;Muppetteer](https://github.com/Muppetteer)

#### 🐛 Bug Fixes

- fix: Library icon name bug ([#&#8203;1934](https://github.com/booklore-app/booklore/issues/1934)) by [@&#8203;Muppetteer](https://github.com/Muppetteer)
- fix: bookdrop bulk actions not applying to uncached pages ([#&#8203;1928](https://github.com/booklore-app/booklore/issues/1928)) by [@&#8203;CounterClops](https://github.com/CounterClops)
- fix: file renaming with wrong extension ([#&#8203;1929](https://github.com/booklore-app/booklore/issues/1929)) by [@&#8203;CounterClops](https://github.com/CounterClops)
- fix(FileService): update User-Agent header for ComicVine to let the Parser through ([#&#8203;1880](https://github.com/booklore-app/booklore/issues/1880)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)
- fix(ui): Force page reload on logout ([#&#8203;1870](https://github.com/booklore-app/booklore/issues/1870)) by [@&#8203;Muppetteer](https://github.com/Muppetteer)

#### 🛠️ Refactoring & Maintenance

- refactor(fb2, misc): Improve code quality, update to modern Java patterns, add reasonable initial values for StringBuilders ([#&#8203;1932](https://github.com/booklore-app/booklore/issues/1932)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)

#### 📦 Dependencies

- Upgrade Angular from v20 to v21 and update other dependencies ([#&#8203;1916](https://github.com/booklore-app/booklore/issues/1916)) by [@&#8203;acx10](https://github.com/acx10)
- chore(deps): bump docker/login-action from 2 to 3 ([#&#8203;1908](https://github.com/booklore-app/booklore/issues/1908)) by @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot)
- chore(deps): update actions/setup-java action to v5 ([#&#8203;1871](https://github.com/booklore-app/booklore/issues/1871)) by @&#8203;[renovate\[bot\]](https://github.com/apps/renovate)
- chore(deps): update actions/upload-artifact action to v6 ([#&#8203;1872](https://github.com/booklore-app/booklore/issues/1872)) by @&#8203;[renovate\[bot\]](https://github.com/apps/renovate)
- chore(deps): update actions/checkout action to v6 ([#&#8203;1869](https://github.com/booklore-app/booklore/issues/1869)) by @&#8203;[renovate\[bot\]](https://github.com/apps/renovate)
- chore(deps): update dependency org.flywaydb:flyway-mysql to v11.19.0 ([#&#8203;1868](https://github.com/booklore-app/booklore/issues/1868)) by @&#8203;[renovate\[bot\]](https://github.com/apps/renovate)
- chore(deps): update dependency org.apache.commons:commons-text to v1.15.0 ([#&#8203;1865](https://github.com/booklore-app/booklore/issues/1865)) by @&#8203;[renovate\[bot\]](https://github.com/apps/renovate)
- chore(deps): update lscr.io/linuxserver/mariadb docker tag to v11.4.8 ([#&#8203;1862](https://github.com/booklore-app/booklore/issues/1862)) by @&#8203;[renovate\[bot\]](https://github.com/apps/renovate)
- chore(deps): update dependency org.freemarker:freemarker to v2.3.34 ([#&#8203;1861](https://github.com/booklore-app/booklore/issues/1861)) by @&#8203;[renovate\[bot\]](https://github.com/apps/renovate)
- chore(deps): update dependency org.assertj:assertj-core to v3.27.6 ([#&#8203;1859](https://github.com/booklore-app/booklore/issues/1859)) by @&#8203;[renovate\[bot\]](https://github.com/apps/renovate)
- chore(deps): update dependency gradle to v8.14.3 ([#&#8203;1858](https://github.com/booklore-app/booklore/issues/1858)) by @&#8203;[renovate\[bot\]](https://github.com/apps/renovate)

#### ⚙️ CI/CD

- Add Flyway migration conflict detection in CI ([#&#8203;1888](https://github.com/booklore-app/booklore/issues/1888)) by [@&#8203;acx10](https://github.com/acx10)
- Speed up CI builds by introducing dependency caching ([#&#8203;1874](https://github.com/booklore-app/booklore/issues/1874)) by [@&#8203;acx10](https://github.com/acx10)
- Add Flyway migration version conflict check in GitHub Actions ([#&#8203;1863](https://github.com/booklore-app/booklore/issues/1863)) by [@&#8203;acx10](https://github.com/acx10)

##### 🐳 Docker Images

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

**Full Changelog**: <https://github.com/booklore-app/booklore/compare/v1.14.1...v1.15.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:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zOS4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/2735
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-20 01:14:41 +00:00
efa1ca2256 Update ghcr.io/autobrr/qui Docker tag to v1.11.0 (#2734)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 9s
renovate / renovate (push) Successful in 1m2s
This PR contains the following updates:

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

---

### Release Notes

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

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

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

#### Changelog

##### New Features

- [`6e65de4`](6e65de4d28): feat(torrents): add "não registrado" to unregistered status ([#&#8203;794](https://github.com/autobrr/qui/issues/794)) ([@&#8203;fabricionaweb](https://github.com/fabricionaweb))
- [`ac5f8f3`](ac5f8f3fc3): feat(torrents): add web seeds table ([#&#8203;808](https://github.com/autobrr/qui/issues/808)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`24559c9`](24559c9654): feat(web): add Size default sort option to Tracker Breakdown table settings ([#&#8203;786](https://github.com/autobrr/qui/issues/786)) ([@&#8203;thesecretlifeofabunny](https://github.com/thesecretlifeofabunny))

##### Bug Fixes

- [`69ed1a3`](69ed1a3a71): fix(api): respect baseURL for path autocompletion cap ([#&#8203;798](https://github.com/autobrr/qui/issues/798)) ([@&#8203;Ryu481](https://github.com/Ryu481))
- [`0a721d0`](0a721d04da): fix(crossseed): add verification and retry for async file renames ([#&#8203;789](https://github.com/autobrr/qui/issues/789)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`e9fcbda`](e9fcbda129): fix(crossseed): pass source filters through to FindCandidates ([#&#8203;802](https://github.com/autobrr/qui/issues/802)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`b4f1ffa`](b4f1ffa524): fix(crossseed): require strict HDR and Collection matching ([#&#8203;799](https://github.com/autobrr/qui/issues/799)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`4f3365b`](4f3365b908): fix(sync): edited trackers no longer appear under old domain in sidebar ([#&#8203;792](https://github.com/autobrr/qui/issues/792)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`fcb081e`](fcb081ef8b): fix(web): move global stats to bottom of torrents page ([#&#8203;800](https://github.com/autobrr/qui/issues/800)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`13b40b5`](13b40b5d3c): fix(web): prevent Edit Tracker Name dialog overflow ([#&#8203;797](https://github.com/autobrr/qui/issues/797)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`8e3b352`](8e3b35275c): fix(web): replace completion filter inputs with MultiSelect dropdowns ([#&#8203;791](https://github.com/autobrr/qui/issues/791)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`adfd5bb`](adfd5bb349): fix(web): restore piece size display in torrent details panel ([#&#8203;790](https://github.com/autobrr/qui/issues/790)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`5d97b49`](5d97b49fa8): fix(web): sort trackers by display name in filter sidebar ([#&#8203;810](https://github.com/autobrr/qui/issues/810)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`2fad4e8`](2fad4e880d): fix(web): use total counts for Seeds/Peers column filtering ([#&#8203;796](https://github.com/autobrr/qui/issues/796)) ([@&#8203;s0up4200](https://github.com/s0up4200))

##### Other Changes

- [`1bf1b6e`](1bf1b6e7c0): chore(crossseed): add debug logging for RSS and webhook source filters ([#&#8203;795](https://github.com/autobrr/qui/issues/795)) ([@&#8203;s0up4200](https://github.com/s0up4200))
- [`95e4bc0`](95e4bc0581): chore(deps): bump github.com/expr-lang/expr from 1.17.6 to 1.17.7 ([#&#8203;809](https://github.com/autobrr/qui/issues/809)) ([@&#8203;dependabot](https://github.com/dependabot)\[bot])

**Full Changelog**: <https://github.com/autobrr/qui/compare/v1.10.0...v1.11.0>

#### Docker images

- `docker pull ghcr.io/autobrr/qui:v1.11.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:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zOS4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/2734
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-20 01:11:12 +00:00
cecdf08723 Update kube-prometheus-stack Docker tag to v80.6.0 (#2738)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 13s
renovate / renovate (push) Successful in 1m2s
2025-12-20 01:05:11 +00:00
fa5df93973 Update ghcr.io/tailscale/tailscale Docker tag to v1.92.4 (#2731)
Some checks failed
lint-test-docker / lint-docker-compose (push) Successful in 38s
renovate / renovate (push) Has been cancelled
2025-12-20 01:03:45 +00:00
b382ff4f60 Update ghcr.io/home-assistant/home-assistant Docker tag to v2025.12.4 (#2730)
Some checks failed
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 15s
renovate / renovate (push) Has been cancelled
2025-12-20 01:03:27 +00:00
82819be442 Update registry.k8s.io/coredns/coredns Docker tag to v1.13.2 (#2658)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 11s
renovate / renovate (push) Successful in 1m7s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| registry.k8s.io/coredns/coredns | patch | `v1.13.1` -> `v1.13.2` |

---

### 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:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zOS4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXV0b21lcmdlIiwiaW1hZ2UiXX0=-->

Reviewed-on: #2658
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-20 00:56:47 +00:00
9db38607b2 upgrade chart
All checks were successful
lint-test-helm / lint-helm (push) Successful in 11s
render-manifests-push / render-manifests-push (push) Successful in 27s
renovate / renovate (push) Successful in 1m7s
2025-12-19 18:46:28 -06:00
a4ffe84457 change crds
All checks were successful
lint-test-helm / lint-helm (push) Successful in 12s
render-manifests-push / render-manifests-push (push) Successful in 28s
renovate / renovate (push) Successful in 1m2s
2025-12-19 18:43:33 -06:00
228ee2affd downgrade
All checks were successful
lint-test-helm / lint-helm (push) Successful in 10s
render-manifests-push / render-manifests-push (push) Successful in 24s
renovate / renovate (push) Successful in 1m1s
2025-12-19 18:36:28 -06:00
9b2800ccad change crd chart
All checks were successful
lint-test-helm / lint-helm (push) Successful in 15s
render-manifests-push / render-manifests-push (push) Successful in 23s
renovate / renovate (push) Successful in 56s
2025-12-19 18:34:08 -06:00
7d5958d5ea Update php Docker tag to v8.5.1 (#2725)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 9s
renovate / renovate (push) Successful in 1m14s
2025-12-20 00:32:10 +00:00
c98d0bdba0 Update Helm release traefik to v38 (#2711)
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 1m26s
This PR contains the following updates:

| Package | Update | Change | Pending |
|---|---|---|---|
| [traefik](https://traefik.io/) ([source](https://github.com/traefik/traefik-helm-chart)) | major | `37.4.0` -> `38.0.0` | `38.0.1` |

---

### Release Notes

<details>
<summary>traefik/traefik-helm-chart (traefik)</summary>

### [`v38.0.0`](https://github.com/traefik/traefik-helm-chart/releases/tag/v38.0.0)

[Compare Source](https://github.com/traefik/traefik-helm-chart/compare/v37.4.0...v38.0.0)

**Upgrades Notes**

> \[!IMPORTANT]
> CRDs has to be upgraded before the Chart. See [UPGRADING](https://github.com/traefik/traefik-helm-chart?tab=readme-ov-file#upgrading) instructions.

There are two breaking changes in this release:

1. Traefik Proxy v3.6.4+ contains a security fix that is also a breaking change. See [upstream documentation](https://doc.traefik.io/traefik/v3.6/migrate/v3/#v364) for more details.
2. PR [#&#8203;1596](https://github.com/traefik/traefik-helm-chart/pull/1596) align *kubernetesIngressNginx* provider setting with upstream. There is a *before* / *after* example in the PR description and PR [#&#8203;1587](https://github.com/traefik/traefik-helm-chart/pull/1587) align *labelSelector* syntax between providers

> \[!NOTE]
> If you need to restore Traefik behavior of v3.6.3 or inferior, it can be set with values.
>
> Here is an example on *websecure* entrypoint:
>
> ```yaml
> ports:
>   websecure:
>     http:
>       encodedCharacters:
>         allowEncodedSlash: true
>         allowEncodedBackSlash: true
>         allowEncodedNullCharacter: true
>         allowEncodedSemicolon: true
>         allowEncodedPercent: true
>         allowEncodedQuestionMark: true
>         allowEncodedHash: true
>       sanitizePath: false
> ```
>
> This is **not** recommended, it may expose you to [GHSA-gm3x-23wp-hc2c](https://github.com/traefik/traefik/security/advisories/GHSA-gm3x-23wp-hc2c).

#### 💥 BREAKING CHANGES

- fix(providers)!: align labelSelector for kubernetesGateway and knative [#&#8203;1587](https://github.com/traefik/traefik-helm-chart/issues/1587) by [@&#8203;shubhamch71](https://github.com/shubhamch71)
- fix(nginx)!: 🐛 align provider settings and provide required rbac [#&#8203;1596](https://github.com/traefik/traefik-helm-chart/issues/1596) by [@&#8203;mloiseleur](https://github.com/mloiseleur)

#### 🚀 Features

- feat(CRDs): update Traefik Hub to v1.24.1, with required RBACs [#&#8203;1571](https://github.com/traefik/traefik-helm-chart/issues/1571) by [@&#8203;jspdown](https://github.com/jspdown)
- feat(ports): enforce schema [#&#8203;1586](https://github.com/traefik/traefik-helm-chart/issues/1586) by [@&#8203;remyj38](https://github.com/remyj38)
- feat(CRDs): update Traefik Hub to v1.24.2 [#&#8203;1585](https://github.com/traefik/traefik-helm-chart/issues/1585) by [@&#8203;traefiker](https://github.com/traefiker)
- feat(providers):  enforce schema [#&#8203;1595](https://github.com/traefik/traefik-helm-chart/issues/1595) by [@&#8203;mloiseleur](https://github.com/mloiseleur)
- feat(security):  🔒️ add support for request path options of traefik 3.6.4+ [#&#8203;1594](https://github.com/traefik/traefik-helm-chart/issues/1594) by [@&#8203;mloiseleur](https://github.com/mloiseleur)
- feat(deps): update traefik docker tag to v3.6.4 [#&#8203;1590](https://github.com/traefik/traefik-helm-chart/issues/1590) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- feat(deps): update traefik docker tag to v3.6.5 [#&#8203;1599](https://github.com/traefik/traefik-helm-chart/issues/1599) by [@&#8203;renovate](https://github.com/renovate)\[bot]

#### 🐛 Bug fixes

- fix: update error message for maxUnavailable validation [#&#8203;1591](https://github.com/traefik/traefik-helm-chart/issues/1591) by [@&#8203;lucasra1](https://github.com/lucasra1)
- fix(notes): minor typo [#&#8203;1593](https://github.com/traefik/traefik-helm-chart/issues/1593) by [@&#8203;rndmh3ro](https://github.com/rndmh3ro)
- fix(pvc): allow empty storageClassName [#&#8203;1579](https://github.com/traefik/traefik-helm-chart/issues/1579) by [@&#8203;fopina](https://github.com/fopina)
- fix(providers):  enforce schema for all providers [#&#8203;1601](https://github.com/traefik/traefik-helm-chart/issues/1601) by [@&#8203;mloiseleur](https://github.com/mloiseleur)

#### 📦 Others

- chore(deps): update actions/checkout action to v6 [#&#8203;1573](https://github.com/traefik/traefik-helm-chart/issues/1573) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- docs: Update EXAMPLES.md with REGIONAL load balancer note for Digital Ocean [#&#8203;1574](https://github.com/traefik/traefik-helm-chart/issues/1574) by [@&#8203;kamikazechaser](https://github.com/kamikazechaser)
- chore(release): 🚀 publish traefik 38.0.0 and crds 1.13.0 [#&#8203;1600](https://github.com/traefik/traefik-helm-chart/issues/1600) by [@&#8203;mloiseleur](https://github.com/mloiseleur)

#### New Contributors

- [@&#8203;shubhamch71](https://github.com/shubhamch71) made their first contribution in [#&#8203;1587](https://github.com/traefik/traefik-helm-chart/pull/1587)
- [@&#8203;kamikazechaser](https://github.com/kamikazechaser) made their first contribution in [#&#8203;1574](https://github.com/traefik/traefik-helm-chart/pull/1574)
- [@&#8203;lucasra1](https://github.com/lucasra1) made their first contribution in [#&#8203;1591](https://github.com/traefik/traefik-helm-chart/pull/1591)
- [@&#8203;remyj38](https://github.com/remyj38) made their first contribution in [#&#8203;1586](https://github.com/traefik/traefik-helm-chart/pull/1586)
- [@&#8203;rndmh3ro](https://github.com/rndmh3ro) made their first contribution in [#&#8203;1593](https://github.com/traefik/traefik-helm-chart/pull/1593)
- [@&#8203;fopina](https://github.com/fopina) made their first contribution in [#&#8203;1579](https://github.com/traefik/traefik-helm-chart/pull/1579)

**Full Changelog**: <https://github.com/traefik/traefik-helm-chart/compare/v37.4.0...v38.0.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:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zOS4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhcnQiXX0=-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/2711
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-20 00:30:37 +00:00
ff834b3198 Update Helm release tailscale-operator to v1.92.4 (#2703)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 11s
renovate / renovate (push) Successful in 1m53s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [tailscale-operator](https://github.com/tailscale/tailscale) | minor | `1.90.9` -> `1.92.4` |

---

### Release Notes

<details>
<summary>tailscale/tailscale (tailscale-operator)</summary>

### [`v1.92.4`](https://github.com/tailscale/tailscale/compare/v1.92.3...v1.92.4)

[Compare Source](https://github.com/tailscale/tailscale/compare/v1.92.3...v1.92.4)

### [`v1.92.3`](https://github.com/tailscale/tailscale/releases/tag/v1.92.3)

[Compare Source](https://github.com/tailscale/tailscale/compare/v1.90.9...v1.92.3)

Please refer to the changelog available at <https://tailscale.com/changelog>

</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:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zOS4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhcnQiXX0=-->

Reviewed-on: #2703
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-20 00:13:15 +00:00
10560876cc Update Helm release traefik-crds to v1.13.0 (#2710)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 9s
renovate / renovate (push) Successful in 1m46s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [traefik-crds](https://traefik.io/) ([source](https://github.com/traefik/traefik-helm-chart)) | minor | `1.12.0` -> `1.13.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:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zOS4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhcnQiXX0=-->

Reviewed-on: #2710
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-20 00:10:44 +00:00
c1c32a34ab Update Helm release headlamp to v0.39.0 (#2714)
Some checks failed
renovate / renovate (push) Has been cancelled
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 16s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [headlamp](https://headlamp.dev/) ([source](https://github.com/kubernetes-sigs/headlamp)) | minor | `0.38.0` -> `0.39.0` |

---

### Release Notes

<details>
<summary>kubernetes-sigs/headlamp (headlamp)</summary>

### [`v0.39.0`](https://github.com/kubernetes-sigs/headlamp/releases/tag/v0.39.0): 0.39.0

[Compare Source](https://github.com/kubernetes-sigs/headlamp/compare/v0.38.0...v0.39.0)

####  Enhancements:

- Add cluster column to CRD list. Thanks to [@&#8203;kahirokunn](https://github.com/kahirokunn)
- Add attach-based node debugger workflow that mirrors `kubectl debug-node`. Thanks to [@&#8203;dorser](https://github.com/dorser)
- Add count column to events list view
- Display Node and Loadbalancer ports in Service list view. Thanks to [@&#8203;jaehanbyun](https://github.com/jaehanbyun)
- Add missing details to Pod, ReplicaSet, NetworkPolicy, Namespace, Services and DaemonSets
- Open headlamp address in default browser when running in Headless mode
- Add support for adding custom header actions to project detail view

##### The CRD list view with cluster column

<img width="3644" height="2238" alt="Screenshot showing Custom Resource Instances table with highlighted Cluster column in Headlamp dashboard" src="https://github.com/user-attachments/assets/7c8a58f6-b2dc-4920-9a81-387cbe42c557" />

##### Attach-based node debugger in Node detail view

<img width="2924" height="642" alt="Screenshot showing Headlamp node details page with Debug Node button highlighted" src="https://github.com/user-attachments/assets/dc0cfcce-c103-45e8-9575-f422bf5e893f" />

##### The events list view with the event count column

<img width="3644" height="2238" alt="Screenshot showing Headlamp Events table with highlighted Count column displaying event occurrence numbers" src="https://github.com/user-attachments/assets/3a100d11-a205-4900-9500-7c142e74598e" />

#### 🐞 Bug fixes
- Deduplicate CRDs in sidebar items. Thanks to @&#8203;kahirokunn
- Deduplicate namespaces from multi-cluster list in autocomplete. Thanks to @&#8203;kahirokunn
- Allow templating in Helm chart pod labels. Thanks to @&#8203;rickliujh
- Fix tooltip jittering issue. Thanks to @&#8203;jaehanbyun
- Fix image digests in Dockerfiles
- Replace custom contains with slices.Contains in Backend. Thanks to @&#8203;jongwooo
- Fix wrong apiVersion used when CRUDing a CustomResource. Thanks to @&#8203;damsien
- Fix Custom CA not being used when refreshing token. Thanks to @&#8203;mlbiam
- Fix useKubeObject to use standard websocket connection instead of multiplexed
- Fix the runCommand to properly take into account user and static plugins
- Fix errors caused due to null resource in Header actions. Thanks to @&#8203;kahirokunn
- Fix ReplicaSetGlance props to include Statefulset
- Fix ID and kind clashes in Map component
- Fix plugin watch doing a loop on mac
- Fix uninstalling plugins to use user's plugin directory instead of default plugins directory

#### 🌍 Internationalization
- Update chinese translations. Thanks to @&#8203;lou-lan and @&#8203;hsiangjenli
- Add i18n helper tools for extracting and copying translations

#### 🧩 Shipped Plugins
- Update shipped plugin Prometheus
   - Update headlamp-plugin to 0.13.0
- Update shipped plugin Plugin Catalog (Desktop only)
   - Update headlamp-plugin to 0.13.0
- Update shipped plugin App catalog (Desktop only)
   - Fix artifacthub charts searching in App catalog plugin. Thanks to @&#8203;xqm32
   - Update headlamp-plugin to 0.13.0

#### 💻 Development
- Update dependencies on plugins examples, app, pluginctl and frontend
- Add verify-image-digests make recipe for verifying image digests
- Update releaser cli to handle triggering app builds
- Add e2e test for in-cluster deployment
- Remove unused deps from headlamp-plugin
- Add Activity to pluginLib

#### 📖 Documentation
- Fix typo and missing links in docs. Thanks to @&#8203;BublikTV, @&#8203;SinghaAnirban005, and @&#8203;SQLJames
- Add User Guides, Development Guides, Learn and Develop sections to docs
- Add documentation and example for Activitiy feature that allows devs to create resizeable popup windows
- Add example showcasing how to register header functions to projects

#### 🛡️ Security

- [CVE-2025-14269](https://github.com/kubernetes-sigs/headlamp/issues/4282): Credential caching in Headlamp with non-default enableHelm option is true in in-cluster version of Headlamp and not Headlamp Desktop. Thanks brndstrp and [@&#8203;cji](https://github.com/cji)

**Full Changelog**: <https://github.com/kubernetes-sigs/headlamp/compare/v0.38.0...v0.39.0>

<!-- end-release-notes -->

**Container image:** 🐳  [ghcr.io/headlamp-k8s/headlamp:v0.39.0](https://github.com/orgs/headlamp-k8s/packages/container/package/headlamp)
**Desktop Apps:**

🐧  [Flatpak / Linux (AMD64)](https://flathub.org/apps/details/io.kinvolk.Headlamp)
🐧  Linux AppImage [AMD64](https://github.com/kubernetes-sigs/headlamp/releases/download/v0.39.0/Headlamp-0.39.0-linux-x64.AppImage), [ARM64](https://github.com/kubernetes-sigs/headlamp/releases/download/v0.39.0/Headlamp-0.39.0-linux-arm64.AppImage),  [ARMv7l](https://github.com/kubernetes-sigs/headlamp/releases/download/v0.39.0/Headlamp-0.39.0-linux-armv7l.AppImage)
🐧 Linux Tarball [AMD64](https://github.com/kubernetes-sigs/headlamp/releases/download/v0.39.0/Headlamp-0.39.0-linux-x64.tar.gz), [ARM64](https://github.com/kubernetes-sigs/headlamp/releases/download/v0.39.0/Headlamp-0.39.0-linux-arm64.tar.gz), [ARMv7l](https://github.com/kubernetes-sigs/headlamp/releases/download/v0.39.0/Headlamp-0.39.0-linux-armv7l.tar.gz)
🐧 Debian / Linux [AMD64](https://github.com/kubernetes-sigs/headlamp/releases/download/v0.39.0/headlamp_0.39.0-1_amd64.deb)
:green\_apple:  [Mac (AMD64)](https://github.com/kubernetes-sigs/headlamp/releases/download/v0.39.0/Headlamp-0.39.0-mac-x64.dmg)
:green\_apple: [Mac (ARM/M1)](https://github.com/kubernetes-sigs/headlamp/releases/download/v0.39.0/Headlamp-0.39.0-mac-arm64.dmg)
:blue\_square:  [Windows (AMD64)](https://github.com/kubernetes-sigs/headlamp/releases/download/v0.39.0/Headlamp-0.39.0-win-x64.exe)

</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:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zOS4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhcnQiXX0=-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/2714
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2025-12-20 00:09:34 +00:00
4b0bab7a06 Update ghcr.io/linuxserver/sonarr:4.0.16 Docker digest to 8b9f213 (#2721)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 25s
renovate / renovate (push) Successful in 2m24s
2025-12-20 00:02:15 +00:00
47 changed files with 1028 additions and 242 deletions

View File

@@ -129,7 +129,6 @@ blocky:
huntarr IN CNAME traefik-cl01tl
immich IN CNAME traefik-cl01tl
jellyfin IN CNAME traefik-cl01tl
jellyfin-vue IN CNAME traefik-cl01tl
jellystat IN CNAME traefik-cl01tl
kiwix IN CNAME traefik-cl01tl
komodo IN CNAME traefik-cl01tl

View File

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

View File

@@ -1,7 +1,7 @@
coredns:
image:
repository: registry.k8s.io/coredns/coredns
tag: v1.13.1
tag: v1.13.2
replicaCount: 3
resources:
requests:

View File

@@ -1,6 +1,6 @@
dependencies:
- name: external-secrets
repository: https://charts.external-secrets.io
version: 1.1.1
digest: sha256:d346563864c95c4ca3fe5f04f6b292e417069d171f5866b5af0fe84277481493
generated: "2025-12-06T18:01:23.564488208Z"
version: 1.2.0
digest: sha256:6e713c4b50c14d9daf1758d9f169d10a8c7274d2c42490846817b6fb1a3ce558
generated: "2025-12-20T01:04:35.136580598Z"

View File

@@ -12,7 +12,7 @@ sources:
- https://github.com/external-secrets/external-secrets/tree/main/deploy/charts/external-secrets
dependencies:
- name: external-secrets
version: 1.1.1
version: 1.2.0
repository: https://charts.external-secrets.io
icon: https://avatars.githubusercontent.com/u/68335991?s=48&v=4
appVersion: v1.1.1

View File

@@ -122,9 +122,6 @@ gatus:
- name: jellyfin
url: https://jellyfin.alexlebens.net
<<: *defaults
- name: jellyfin-vue
url: https://jellyfin-vue.alexlebens.net
<<: *defaults
- name: overseerr
url: https://overseerr.alexlebens.net
<<: *defaults

View File

@@ -1,6 +1,6 @@
dependencies:
- name: headlamp
repository: https://kubernetes-sigs.github.io/headlamp/
version: 0.38.0
digest: sha256:3f4c6bb308a1e5e757368ea9eee902d5ade7d33881c0f6c8402d6ed41641e260
generated: "2025-12-01T19:55:48.64361-06:00"
version: 0.39.0
digest: sha256:870e456773199684c150585c12c2e18b3f0895ee8cc73481a53b23c8e94560b1
generated: "2025-12-20T00:03:40.10414707Z"

View File

@@ -14,7 +14,7 @@ maintainers:
- name: alexlebens
dependencies:
- name: headlamp
version: 0.38.0
version: 0.39.0
repository: https://kubernetes-sigs.github.io/headlamp/
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/headlamp.png
appVersion: 0.38.0

View File

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

View File

@@ -141,12 +141,6 @@ homepage:
href: https://jellyfin.alexlebens.net
siteMonitor: http://jellyfin.jellyfin:80
statusStyle: dot
- Jellyfin (Alt):
icon: sh-jellyfin.webp
description: Media server (Alternate UI)
href: https://jellyfin-vue.alexlebens.net
siteMonitor: http://jellyfin-vue.jellyfin:80
statusStyle: dot
- Media Requests:
icon: sh-overseerr.webp
description: Overseerr

View File

@@ -9,7 +9,7 @@ immich:
main:
image:
repository: ghcr.io/immich-app/immich-server
tag: v2.3.1
tag: v2.4.1
pullPolicy: IfNotPresent
env:
- name: TZ

View File

@@ -26,33 +26,3 @@ spec:
name: jellyfin
port: 80
weight: 100
---
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: http-route-jellyfin-vue
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: http-route-jellyfin-vue
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: traefik-gateway
namespace: traefik
hostnames:
- jellyfin-vue.alexlebens.net
rules:
- matches:
- path:
type: PathPrefix
value: /
backendRefs:
- group: ''
kind: Service
name: jellyfin-vue
port: 80
weight: 100

View File

@@ -25,22 +25,6 @@ jellyfin:
gpu.intel.com/i915: 1
cpu: 1
memory: 2Gi
vue:
type: deployment
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
containers:
main:
image:
repository: ghcr.io/jellyfin/jellyfin-vue
tag: unstable@sha256:e73edd4dfc2e4028e83a0638cf6cf207a8edbdb4ec8d1231f7efef08658a6fd7
pullPolicy: IfNotPresent
env:
- name: DEFAULT_SERVERS
value: https://jellyfin.alexlebens.net
- name: DISABLE_SERVER_SELECTION
value: true
service:
main:
forceRename: jellyfin
@@ -50,13 +34,6 @@ jellyfin:
port: 80
targetPort: 8096
protocol: HTTP
vue:
controller: vue
ports:
http:
port: 80
targetPort: 80
protocol: HTTP
persistence:
config:
forceRename: jellyfin-config

View File

@@ -1,12 +1,12 @@
dependencies:
- name: kube-prometheus-stack
repository: oci://ghcr.io/prometheus-community/charts
version: 80.4.2
version: 80.6.0
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.5.0
- name: redis-replication
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.5.0
digest: sha256:e167d9dd4f23c5c590d3e44c89e8f76860a1cc5c8acd4b7939fcd3a8cd7d24b4
generated: "2025-12-17T16:26:22.948236914Z"
digest: sha256:6f046a936f1d732a44113eb0b7e54330a4261042179f37f4c94fccc9f20ee511
generated: "2025-12-20T01:04:57.413744271Z"

View File

@@ -20,7 +20,7 @@ maintainers:
- name: alexlebens
dependencies:
- name: kube-prometheus-stack
version: 80.4.2
version: 80.6.0
repository: oci://ghcr.io/prometheus-community/charts
- name: app-template
alias: ntfy-alertmanager

View File

@@ -9,19 +9,57 @@ metadata:
app.kubernetes.io/part-of: {{ .Release.Name }}
data:
update.sh: |
if ! command -v curl 2>&1 >/dev/null
then
echo "curl could not be found, installing";
apk add curl;
fi;
if ! command -v jq 2>&1 >/dev/null
then
echo "jq could not be found, installing";
apk add jq;
fi;
API_ENDPOINT="http://localhost:8080/api/v2";
MAX_RETRIES=5
SUCCESS=false
echo " "
echo ">> Running Update Port Script ..."
echo " "
echo ">> Verifying required commands ..."
echo " "
for i in $(seq 1 "$MAX_RETRIES"); do
if apk update 2>&1 >/dev/null; then
echo ">> Attempt $i: Repositories are reachable"
SUCCESS=true
break
else
echo ">> Attempt $i: Connection failed, retrying in 5 seconds ..."
sleep 5
fi
done
if [ "$SUCCESS" = false ]; then
echo ">> ERROR: Could not connect to apk repositories after $MAX_RETRIES attempts, exiting ..."
exit 1
fi
if ! command -v curl 2>&1 >/dev/null; then
echo ">> Command curl could not be found, installing";
apk add --no-cache -q curl;
if [ $? -eq 0 ]; then
echo ">> Installation successful"
else
echo ">> Installation failed with exit code $?"
exit 1
fi
fi;
if ! command -v jq 2>&1 >/dev/null; then
echo " "
echo ">> Command jq could not be found, installing";
apk add --no-cache -q jq;
if [ $? -eq 0 ]; then
echo " "
echo ">> Installation successful"
else
echo " "
echo ">> Installation failed with exit code $?"
exit 1
fi
fi;
# echo " ";
# echo ">> Authentication ...";

View File

@@ -198,7 +198,7 @@ qbittorrent:
qui:
image:
repository: ghcr.io/autobrr/qui
tag: v1.10.0
tag: v1.11.0
pullPolicy: IfNotPresent
env:
- name: QUI__METRICS_ENABLED

View File

@@ -36,7 +36,7 @@ shelly-plug:
main:
image:
repository: php
tag: 8.5.0-apache-bookworm
tag: 8.5.1-apache-bookworm
pullPolicy: IfNotPresent
env:
- name: SHELLY_HOSTNAME

View File

@@ -13,7 +13,7 @@ sonarr-4k:
main:
image:
repository: ghcr.io/linuxserver/sonarr
tag: 4.0.16@sha256:60e5edcac39172294ad22d55d1b08c2c0a9fe658cad2f2c4d742ae017d7874de
tag: 4.0.16@sha256:8b9f2138ec50fc9e521960868f79d2ad0d529bc610aef19031ea8ff80b54c5e0
pullPolicy: IfNotPresent
env:
- name: TZ

View File

@@ -13,7 +13,7 @@ sonarr-anime:
main:
image:
repository: ghcr.io/linuxserver/sonarr
tag: 4.0.16@sha256:60e5edcac39172294ad22d55d1b08c2c0a9fe658cad2f2c4d742ae017d7874de
tag: 4.0.16@sha256:8b9f2138ec50fc9e521960868f79d2ad0d529bc610aef19031ea8ff80b54c5e0
pullPolicy: IfNotPresent
env:
- name: TZ

View File

@@ -13,7 +13,7 @@ sonarr:
main:
image:
repository: ghcr.io/linuxserver/sonarr
tag: 4.0.16@sha256:60e5edcac39172294ad22d55d1b08c2c0a9fe658cad2f2c4d742ae017d7874de
tag: 4.0.16@sha256:8b9f2138ec50fc9e521960868f79d2ad0d529bc610aef19031ea8ff80b54c5e0
pullPolicy: IfNotPresent
env:
- name: TZ

View File

@@ -1,6 +1,6 @@
dependencies:
- name: tailscale-operator
repository: https://pkgs.tailscale.com/helmcharts
version: 1.92.3
digest: sha256:ba5cfb295ce1eb41bf01090747bdc43c9f6ca7126f06f8800f9b22a467276113
generated: "2025-12-17T16:30:37.349972443Z"
version: 1.92.4
digest: sha256:e883577bd0b7f676ce3ec97468321c5956b476e4c9f81c4e99b261a3a0b90641
generated: "2025-12-20T00:12:07.547753923Z"

View File

@@ -17,7 +17,7 @@ maintainers:
- name: alexlebens
dependencies:
- name: tailscale-operator
version: 1.90.9
version: 1.92.4
repository: https://pkgs.tailscale.com/helmcharts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/tailscale-light.png
appVersion: v1.90.9

View File

@@ -0,0 +1,98 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: talos-prune-script
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: talos-prune-script
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
data:
prune.sh: |
DATE_RANGE=$(date -d @$(( $(date +%s) - $DATE_RANGE_SECONDS )) +%Y-%m-%dT%H:%M:%SZ);
FILE_MATCH="${BUCKET}/cl01tl/etcd/cl01tl-${DATE_RANGE}.snap.age";
ERROR=false;
echo " ";
echo ">> Running S3 prune for Talos backup repository ${TARGET} ...";
echo " ";
echo ">> Configured Date Range is $(date -u -d @${DATE_RANGE_SECONDS} +"%j days, %H hours, %M minutes")";
echo ">> Backups prior to '$DATE_RANGE' will be removed";
FILES=$(s3cmd ls --no-check-certificate ${BUCKET}/cl01tl/etcd/ |
awk -v file_match="$FILE_MATCH" '$4 < file_match {print $4}');
if [ -n "${FILES}" ]; then
echo " ";
echo ">> Backups to be removed:";
echo "$FILES"
echo " ";
echo ">> Deleting ...";
$FILES | while read file; do
s3cmd del --no-check-certificate -v "$file";
if [ $? -ne 0 ]; then
ERROR=true;
echo ">> Detected error, will send message to ntfy";
fi;
done;
else
echo " ";
echo ">> No backups to remove";
fi;
if [ "$ERROR" = "true" ]; then
MAX_RETRIES=5;
SUCCESS=false;
echo " ";
echo ">> Sending message to ntfy using curl ...";
echo " ";
echo ">> Verifying required commands ...";
for i in $(seq 1 "$MAX_RETRIES"); do
if apk update 2>&1 >/dev/null; then
echo ">> Attempt $i: Repositories are reachable";
SUCCESS=true;
break;
else
echo ">> Attempt $i: Connection failed, retrying in 5 seconds ...";
sleep 5;
fi;
done;
if [ "$SUCCESS" = false ]; then
echo ">> ERROR: Could not connect to apk repositories after $MAX_RETRIES attempts, exiting ...";
exit 1;
fi
if ! command -v curl 2>&1 >/dev/null; then
echo ">> Command curl could not be found, installing";
apk add --no-cache -q curl;
if [ $? -eq 0 ]; then
echo ">> Installation successful";
else
echo ">> Installation failed with exit code $?";
exit 1;
fi;
fi;
echo " ";
echo ">> Sending to NTFY ...";
HTTP_STATUS=$(curl \
--silent \
--write-out '%{http_code}' \
-H "Authorization: Bearer ${NTFY_TOKEN}" \
-H "X-Priority: 5" \
-H "X-Tags: warning" \
-H "X-Title: Talos Backup Failed for ${TARGET}" \
-d "$MESSAGE" \
${NTFY_ENDPOINT}/${NTFY_TOPIC}
);
echo ">> HTTP Status Code: $HTTP_STATUS";
fi;
echo " ";
echo ">> Completed S3 prune for Talos backup repository ${TARGET}";

View File

@@ -1,14 +1,114 @@
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: talos-etcd-backup-secret
name: talos-etcd-backup-local-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: talos-etcd-backup-secret
app.kubernetes.io/name: talos-etcd-backup-local-secret
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: AWS_ACCESS_KEY_ID
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/talos-backups
metadataPolicy: None
property: ACCESS_KEY_ID
- secretKey: AWS_SECRET_ACCESS_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/talos-backups
metadataPolicy: None
property: ACCESS_SECRET_KEY
- secretKey: .s3cfg
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/talos-backups
metadataPolicy: None
property: s3cfg-local
- secretKey: BUCKET
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/talos-backups
metadataPolicy: None
property: BUCKET
- secretKey: AGE_X25519_PUBLIC_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/talos/etcd-backup
metadataPolicy: None
property: AGE_X25519_PUBLIC_KEY
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: talos-etcd-backup-remote-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: talos-etcd-backup-remote-secret
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: AWS_ACCESS_KEY_ID
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/talos-backups
metadataPolicy: None
property: ACCESS_KEY_ID
- secretKey: AWS_SECRET_ACCESS_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/talos-backups
metadataPolicy: None
property: ACCESS_SECRET_KEY
- secretKey: .s3cfg
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/talos-backups
metadataPolicy: None
property: s3cfg-remote
- secretKey: BUCKET
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/talos-backups
metadataPolicy: None
property: BUCKET
- secretKey: AGE_X25519_PUBLIC_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/talos/etcd-backup
metadataPolicy: None
property: AGE_X25519_PUBLIC_KEY
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: talos-etcd-backup-external-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: talos-etcd-backup-external-secret
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
annotations:
kubernetes.io/service-account.name: talos-backup-secrets
spec:
secretStoreRef:
kind: ClusterSecretStore
@@ -50,6 +150,43 @@ spec:
metadataPolicy: None
property: AGE_X25519_PUBLIC_KEY
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: talos-backup-ntfy-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: talos-backup-ntfy-secret
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: NTFY_TOKEN
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /ntfy/user/cl01tl
metadataPolicy: None
property: token
- secretKey: NTFY_ENDPOINT
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /ntfy/user/cl01tl
metadataPolicy: None
property: endpoint
- secretKey: NTFY_TOPIC
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/talos/etcd-backup
metadataPolicy: None
property: NTFY_TOPIC
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret

View File

@@ -0,0 +1,14 @@
apiVersion: v1
kind: Service
metadata:
name: garage-ps10rp
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: garage-ps10rp
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
annotations:
tailscale.com/tailnet-fqdn: garage-ps10rp.boreal-beaufort.ts.net
spec:
externalName: placeholder
type: ExternalName

View File

@@ -1,6 +1,6 @@
etcd-backup:
controllers:
main:
local:
type: cronjob
pod:
nodeSelector:
@@ -20,7 +20,7 @@ etcd-backup:
backoffLimit: 3
parallelism: 1
containers:
main:
backup:
image:
repository: ghcr.io/siderolabs/talos-backup
tag: v0.1.0-beta.3@sha256:05c86663b251a407551dc948097e32e163a345818117eb52c573b0447bd0c7a7
@@ -42,12 +42,184 @@ etcd-backup:
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: talos-etcd-backup-secret
name: talos-etcd-backup-local-secret
key: AWS_ACCESS_KEY_ID
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: talos-etcd-backup-secret
name: talos-etcd-backup-local-secret
key: AWS_SECRET_ACCESS_KEY
- name: AWS_REGION
value: us-east-1
- name: CUSTOM_S3_ENDPOINT
value: http://garage-main.garage:3900
- name: BUCKET
value: talos-backups
- name: S3_PREFIX
value: "cl01tl/etcd"
- name: CLUSTER_NAME
value: "cl01tl"
- name: AGE_X25519_PUBLIC_KEY
valueFrom:
secretKeyRef:
name: talos-etcd-backup-local-secret
key: AGE_X25519_PUBLIC_KEY
- name: USE_PATH_STYLE
value: "false"
s3-prune:
image:
repository: d3fk/s3cmd
tag: latest@sha256:ed348a0fae5723d2e62636c175baf4dfaf732a790179ca675d1f24f863d0d68f
pullPolicy: IfNotPresent
command:
- /bin/sh
args:
- -ec
- /scripts/prune.sh
envFrom:
- secretRef:
name: talos-etcd-backup-local-secret
- secretRef:
name: talos-backup-ntfy-secret
env:
- name: TARGET
value: Local
- name: DATE_RANGE_SECONDS
value: "2419200"
remote:
type: cronjob
pod:
nodeSelector:
node-role.kubernetes.io/control-plane: ""
tolerations:
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: NoSchedule
cronjob:
suspend: false
concurrencyPolicy: Forbid
timeZone: US/Central
schedule: "0 3 * * *"
startingDeadlineSeconds: 90
successfulJobsHistory: 1
failedJobsHistory: 1
backoffLimit: 3
parallelism: 1
containers:
backup:
image:
repository: ghcr.io/siderolabs/talos-backup
tag: v0.1.0-beta.3@sha256:05c86663b251a407551dc948097e32e163a345818117eb52c573b0447bd0c7a7
pullPolicy: IfNotPresent
command:
- /talos-backup
workingDir: /tmp
securityContext:
runAsUser: 1000
runAsGroup: 1000
allowPrivilegeEscalation: false
runAsNonRoot: true
capabilities:
drop:
- ALL
seccompProfile:
type: RuntimeDefault
env:
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: talos-etcd-backup-remote-secret
key: AWS_ACCESS_KEY_ID
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: talos-etcd-backup-remote-secret
key: AWS_SECRET_ACCESS_KEY
- name: AWS_REGION
value: us-east-1
- name: CUSTOM_S3_ENDPOINT
value: http://garage-ps10rp.talos:3900
- name: BUCKET
value: talos-backups
- name: S3_PREFIX
value: "cl01tl/etcd"
- name: CLUSTER_NAME
value: "cl01tl"
- name: AGE_X25519_PUBLIC_KEY
valueFrom:
secretKeyRef:
name: talos-etcd-backup-remote-secret
key: AGE_X25519_PUBLIC_KEY
- name: USE_PATH_STYLE
value: "false"
s3-prune:
image:
repository: d3fk/s3cmd
tag: latest@sha256:ed348a0fae5723d2e62636c175baf4dfaf732a790179ca675d1f24f863d0d68f
pullPolicy: IfNotPresent
command:
- /bin/sh
args:
- -ec
- /scripts/prune.sh
envFrom:
- secretRef:
name: talos-etcd-backup-remote-secret
- secretRef:
name: talos-backup-ntfy-secret
env:
- name: TARGET
value: Remote
- name: DATE_RANGE_SECONDS
value: "2419200"
external:
type: cronjob
pod:
nodeSelector:
node-role.kubernetes.io/control-plane: ""
tolerations:
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: NoSchedule
cronjob:
suspend: false
concurrencyPolicy: Forbid
timeZone: US/Central
schedule: "0 4 * * *"
startingDeadlineSeconds: 90
successfulJobsHistory: 1
failedJobsHistory: 1
backoffLimit: 3
parallelism: 1
containers:
backup:
image:
repository: ghcr.io/siderolabs/talos-backup
tag: v0.1.0-beta.3-5-g07d09ec@sha256:96054af026b6255ec14d198f2f10ad6c813b335a2e21a76804365c053dd4ba7b
pullPolicy: IfNotPresent
command:
- /talos-backup
workingDir: /tmp
securityContext:
runAsUser: 1000
runAsGroup: 1000
allowPrivilegeEscalation: false
runAsNonRoot: true
capabilities:
drop:
- ALL
seccompProfile:
type: RuntimeDefault
env:
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: talos-etcd-backup-external-secret
key: AWS_ACCESS_KEY_ID
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: talos-etcd-backup-external-secret
key: AWS_SECRET_ACCESS_KEY
- name: AWS_REGION
value: nyc3
@@ -62,14 +234,10 @@ etcd-backup:
- name: AGE_X25519_PUBLIC_KEY
valueFrom:
secretKeyRef:
name: talos-etcd-backup-secret
name: talos-etcd-backup-external-secret
key: AGE_X25519_PUBLIC_KEY
- name: USE_PATH_STYLE
value: "false"
resources:
requests:
cpu: 100m
memory: 128Mi
s3-prune:
image:
repository: d3fk/s3cmd
@@ -79,69 +247,137 @@ etcd-backup:
- /bin/sh
args:
- -ec
- |
export DATE_RANGE=$(date -d @$(( $(date +%s) - 1209600 )) +%Y-%m-%dT%H:%M:%SZ);
export FILE_MATCH="$BUCKET/cl01tl/etcd/cl01tl-$DATE_RANGE.snap.age"
echo ">> Running S3 prune for Talos backup repository"
echo ">> Backups prior to '$DATE_RANGE' will be removed"
echo ">> Backups to be removed:"
s3cmd ls ${BUCKET}/cl01tl/etcd/ |
awk -v file_match="$FILE_MATCH" '$4 < file_match {print $4}'
echo ">> Deleting ..."
s3cmd ls ${BUCKET}/cl01tl/etcd/ |
awk -v file_match="$FILE_MATCH" '$4 < file_match {print $4}' |
while read file; do
s3cmd del "$file";
done;
echo ">> Completed S3 prune for Talos backup repository"
- /scripts/prune.sh
envFrom:
- secretRef:
name: talos-etcd-backup-external-secret
- secretRef:
name: talos-backup-ntfy-secret
env:
- name: BUCKET
valueFrom:
secretKeyRef:
name: talos-etcd-backup-secret
key: BUCKET
resources:
requests:
cpu: 100m
memory: 128Mi
- name: TARGET
value: External
- name: DATE_RANGE_SECONDS
value: "1209600"
persistence:
tmp:
type: emptyDir
medium: Memory
advancedMounts:
main:
main:
- path: /tmp
readOnly: false
talos:
type: emptyDir
medium: Memory
advancedMounts:
main:
main:
- path: /.talos
readOnly: false
secret:
enabled: true
type: secret
name: talos-backup-secrets
advancedMounts:
main:
main:
local:
backup:
- path: /var/run/secrets/talos.dev
readOnly: true
mountPropagation: None
s3cmd-config:
remote:
backup:
- path: /var/run/secrets/talos.dev
readOnly: true
mountPropagation: None
external:
backup:
- path: /var/run/secrets/talos.dev
readOnly: true
mountPropagation: None
prune-script:
enabled: true
type: configMap
name: talos-prune-script
defaultMode: 0755
advancedMounts:
local:
s3-prune:
- path: /scripts/prune.sh
subPath: prune.sh
remote:
s3-prune:
- path: /scripts/prune.sh
subPath: prune.sh
external:
s3-prune:
- path: /scripts/prune.sh
subPath: prune.sh
s3cmd-config-local:
enabled: true
type: secret
name: talos-etcd-backup-secret
name: talos-etcd-backup-local-secret
advancedMounts:
main:
local:
s3-prune:
- path: /root/.s3cfg
readOnly: true
mountPropagation: None
subPath: .s3cfg
s3cmd-config-remote:
enabled: true
type: secret
name: talos-etcd-backup-remote-secret
advancedMounts:
remote:
s3-prune:
- path: /root/.s3cfg
readOnly: true
mountPropagation: None
subPath: .s3cfg
s3cmd-config-external:
enabled: true
type: secret
name: talos-etcd-backup-external-secret
advancedMounts:
external:
s3-prune:
- path: /root/.s3cfg
readOnly: true
mountPropagation: None
subPath: .s3cfg
tmp-local:
type: emptyDir
medium: Memory
advancedMounts:
local:
backup:
- path: /tmp
readOnly: false
tmp-remote:
type: emptyDir
medium: Memory
advancedMounts:
remote:
backup:
- path: /tmp
readOnly: false
tmp-external:
type: emptyDir
medium: Memory
advancedMounts:
external:
backup:
- path: /tmp
readOnly: false
talos-local:
type: emptyDir
medium: Memory
advancedMounts:
local:
backup:
- path: /.talos
readOnly: false
talos-remote:
type: emptyDir
medium: Memory
advancedMounts:
remote:
backup:
- path: /.talos
readOnly: false
talos-external:
type: emptyDir
medium: Memory
advancedMounts:
external:
backup:
- path: /.talos
readOnly: false
etcd-defrag:
global:
fullnameOverride: etcd-defrag
@@ -179,10 +415,6 @@ etcd-defrag:
env:
- name: TALOSCONFIG
value: /tmp/.talos/config
resources:
requests:
cpu: 100m
memory: 128Mi
defrag-2:
type: cronjob
pod:
@@ -216,10 +448,6 @@ etcd-defrag:
env:
- name: TALOSCONFIG
value: /tmp/.talos/config
resources:
requests:
cpu: 100m
memory: 128Mi
defrag-3:
type: cronjob
pod:
@@ -253,10 +481,6 @@ etcd-defrag:
env:
- name: TALOSCONFIG
value: /tmp/.talos/config
resources:
requests:
cpu: 100m
memory: 128Mi
persistence:
talos-config-1:
enabled: true

View File

@@ -1,9 +1,9 @@
dependencies:
- name: traefik
repository: https://traefik.github.io/charts
version: 37.4.0
version: 38.0.1
- name: traefik-crds
repository: https://traefik.github.io/charts
version: 1.12.0
digest: sha256:68267043bdc2c60346e196e1c1d0cef62884bb3dc2ff26ff4a273ccf27edf738
generated: "2025-12-14T21:03:44.140099-06:00"
version: 1.13.0
digest: sha256:0caf1c25f7bca77f070a3ba490f0d0370f7583370dfeeb2a726023ff567c208e
generated: "2025-12-19T18:45:42.696331-06:00"

View File

@@ -15,10 +15,10 @@ maintainers:
- name: alexlebens
dependencies:
- name: traefik
version: 37.4.0
version: 38.0.1
repository: https://traefik.github.io/charts
- name: traefik-crds
version: 1.12.0
version: 1.13.0
repository: https://traefik.github.io/charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/webp/traefik.webp
appVersion: v3.6.4

View File

@@ -1,13 +1,8 @@
traefik:
crds:
enabled: true
deleteOnUninstall: false
deployment:
kind: DaemonSet
ingressClass:
enabled: false
kubernetesGateway:
enabled: true
gateway:
enabled: true
annotations:
@@ -95,6 +90,18 @@ traefik:
expose:
default: true
exposedPort: 443
http:
# -- See
# -- [upstream documentation](https://doc.traefik.io/traefik/security/request-path/#encoded-character-filtering)
# -- [relevant issue] https://github.com/traefik/traefik/issues/12399
encodedCharacters:
allowEncodedSlash: true
allowEncodedBackSlash: true
allowEncodedNullCharacter: true
allowEncodedSemicolon: true
allowEncodedPercent: true
allowEncodedQuestionMark: true
allowEncodedHash: true
forwardedHeaders:
trustedIPs:
- 10.0.0.0/8
@@ -143,6 +150,7 @@ traefik:
traefik-crds:
enabled: true
traefik: true
gatewayAPI: true
gatewayAPI: false
gatewayAPIExperimental: true
hub: false
deleteOnUninstall: false

View File

@@ -9,4 +9,4 @@ dependencies:
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.5.0
digest: sha256:01077322d1f106f1bb2834f2bc74f548084910af901a71e2892e05d3fb0d8c68
generated: "2025-12-05T17:15:08.381024587Z"
generated: "2025-12-19T22:52:58.599824-06:00"

View File

@@ -0,0 +1,153 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: vault-snapshot-script
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: vault-snapshot-script
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
data:
snapshot.sh: |
DATE=$(date +"%Y%m%d-%H-%M")
MAX_RETRIES=5
SUCCESS=false
echo " "
echo ">> Running Vault Snapshot Script ..."
echo " "
echo ">> Verifying required commands ..."
echo " "
for i in $(seq 1 "$MAX_RETRIES"); do
if apk update 2>&1 >/dev/null; then
echo ">> Attempt $i: Repositories are reachable";
SUCCESS=true;
break;
else
echo ">> Attempt $i: Connection failed, retrying in 5 seconds ...";
sleep 5;
fi;
done;
if [ "$SUCCESS" = false ]; then
echo ">> ERROR: Could not connect to apk repositories after $MAX_RETRIES attempts, exiting ...";
exit 1;
fi
echo " "
if ! command -v jq 2>&1 >/dev/null; then
echo ">> Command jq could not be found, installing";
apk add --no-cache -q jq;
if [ $? -eq 0 ]; then
echo ">> Installation successful";
else
echo ">> Installation failed with exit code $?";
exit 1;
fi;
fi;
echo " ";
echo ">> Fetching Vault token ...";
export VAULT_TOKEN=$(vault write auth/approle/login role_id=$VAULT_APPROLE_ROLE_ID secret_id=$VAULT_APPROLE_SECRET_ID -format=json | jq -r .auth.client_token);
echo " ";
echo ">> Taking Vault snapsot ...";
vault operator raft snapshot save /opt/backup/vault-snapshot-$DATE.snap
echo " ";
echo ">> Setting ownership of Vault snapsot ...";
chown 100:1000 /opt/backup/vault-snapshot-$DATE.snap
echo " ";
echo ">> Completed Vault snapshot";
---
apiVersion: v1
kind: ConfigMap
metadata:
name: vault-backup-script
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: vault-backup-script
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
data:
backup.sh: |
echo " ";
echo ">> Running S3 backup for Vault snapshot";
OUTPUT=$(s3cmd sync --no-check-certificate -v /opt/backup/* "${BUCKET}/cl01tl/cl01tl-vault-snapshots/" 2>&1)
STATUS=$?
if [ $STATUS -ne 0 ]; then
if echo "$OUTPUT" | grep -q "403 Forbidden"; then
MESSAGE="403 Authentication Error: Your keys are wrong or you don't have permission"
elif echo "$OUTPUT" | grep -q "404 Not Found"; then
MESSAGE="404 Error: The bucket or folder does not exist"
elif echo "$OUTPUT" | grep -q "Connection refused"; then
MESSAGE="Network Error: Cannot reach the S3 endpoint"
else
MESSAGE="Unknown Error"
echo " ";
echo ">> Unknown Error, output:"
echo " "
echo "$OUTPUT"
fi
MAX_RETRIES=5
SUCCESS=false
echo " "
echo ">> Sending message to ntfy using curl ..."
echo " "
echo ">> Verifying required commands ..."
for i in $(seq 1 "$MAX_RETRIES"); do
if apk update 2>&1 >/dev/null; then
echo ">> Attempt $i: Repositories are reachable";
SUCCESS=true;
break;
else
echo ">> Attempt $i: Connection failed, retrying in 5 seconds ...";
sleep 5;
fi;
done;
if [ "$SUCCESS" = false ]; then
echo ">> ERROR: Could not connect to apk repositories after $MAX_RETRIES attempts, exiting ...";
exit 1;
fi
if ! command -v curl 2>&1 >/dev/null; then
echo ">> Command curl could not be found, installing";
apk add --no-cache -q curl;
if [ $? -eq 0 ]; then
echo ">> Installation successful";
else
echo ">> Installation failed with exit code $?";
exit 1;
fi;
fi;
echo " "
echo ">> Sending to NTFY ..."
echo ">> Message: $MESSAGE"
HTTP_STATUS=$(curl \
--silent \
--write-out '%{http_code}' \
-H "Authorization: Bearer ${NTFY_TOKEN}" \
-H "X-Priority: 5" \
-H "X-Tags: warning" \
-H "X-Title: Vault Backup Failed for ${TARGET}" \
-d "$MESSAGE" \
${NTFY_ENDPOINT}/${NTFY_TOPIC}
)
echo ">> HTTP Status Code: $HTTP_STATUS"
else
echo " ";
echo ">> S3 Sync succeeded"
fi

View File

@@ -31,10 +31,70 @@ spec:
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: vault-s3cmd-config
name: vault-s3cmd-local-config
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: vault-s3cmd-config
app.kubernetes.io/name: vault-s3cmd-local-config
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: .s3cfg
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/vault-backups
metadataPolicy: None
property: s3cfg-local
- secretKey: BUCKET
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/vault-backups
metadataPolicy: None
property: BUCKET
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: vault-s3cmd-remote-config
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: vault-s3cmd-remote-config
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: .s3cfg
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/vault-backups
metadataPolicy: None
property: s3cfg-remote
- secretKey: BUCKET
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/vault-backups
metadataPolicy: None
property: BUCKET
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: vault-s3cmd-external-config
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: vault-s3cmd-external-config
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
@@ -57,6 +117,43 @@ spec:
metadataPolicy: None
property: BUCKET
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: vault-backup-ntfy-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: vault-backup-ntfy-secret
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: NTFY_TOKEN
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /ntfy/user/cl01tl
metadataPolicy: None
property: token
- secretKey: NTFY_ENDPOINT
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /ntfy/user/cl01tl
metadataPolicy: None
property: endpoint
- secretKey: NTFY_TOPIC
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/vault/snapshot
metadataPolicy: None
property: NTFY_TOPIC
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret

View File

@@ -1,17 +1,17 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: vault-nfs-storage-backup
name: vault-storage-backup
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: vault-nfs-storage-backup
app.kubernetes.io/name: vault-storage-backup
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
volumeMode: Filesystem
storageClassName: nfs-client
storageClassName: ceph-filesystem
accessModes:
- ReadWriteOnce
- ReadWriteMany
resources:
requests:
storage: 1Gi

View File

@@ -32,12 +32,12 @@ vault:
livenessProbe:
enabled: false
volumes:
- name: vault-nfs-storage-backup
- name: vault-storage-backup
persistentVolumeClaim:
claimName: vault-nfs-storage-backup
claimName: vault-storage-backup
volumeMounts:
- mountPath: /opt/backups/
name: vault-nfs-storage-backup
name: vault-storage-backup
readOnly: false
affinity: |
podAntiAffinity:
@@ -176,26 +176,15 @@ snapshot:
- /bin/ash
args:
- -ec
- |
apk add --no-cache jq;
echo ">> Running Vault snapshot"
export VAULT_TOKEN=$(vault write auth/approle/login role_id=$VAULT_APPROLE_ROLE_ID secret_id=$VAULT_APPROLE_SECRET_ID -format=json | jq -r .auth.client_token);
vault operator raft snapshot save /opt/backup/vault-snapshot-latest.snap;
cp /opt/backup/vault-snapshot-latest.snap /opt/backup/vault-snapshot-$(date +"%Y%m%d-%H-%M").snap;
cp /opt/backup/vault-snapshot-latest.snap /opt/backup/vault-snapshot-s3.snap;
echo ">> Completed Vault snapshot"
- /scripts/snapshot.sh
envFrom:
- secretRef:
name: vault-snapshot-agent-token
env:
- name: VAULT_ADDR
value: http://vault-active.vault.svc.cluster.local:8200
resources:
requests:
cpu: 10m
memory: 64Mi
containers:
s3-backup:
s3-backup-local:
image:
repository: d3fk/s3cmd
tag: latest@sha256:ed348a0fae5723d2e62636c175baf4dfaf732a790179ca675d1f24f863d0d68f
@@ -204,43 +193,136 @@ snapshot:
- /bin/sh
args:
- -ec
- |
echo ">> Running S3 backup for Vault snapshot"
s3cmd put --no-check-md5 --no-check-certificate -v /opt/backup/vault-snapshot-s3.snap ${BUCKET}/cl01tl/cl01tl-vault-snapshots/vault-snapshot-$(date +"%Y%m%d-%H-%M").snap;
rm -f /opt/backup/vault-snapshot-s3.snap;
echo ">> Completed S3 backup for Vault snapshot"
- /scripts/backup.sh
envFrom:
- secretRef:
name: vault-backup-ntfy-secret
env:
- name: BUCKET
valueFrom:
secretKeyRef:
name: vault-s3cmd-config
name: vault-s3cmd-local-config
key: BUCKET
resources:
requests:
cpu: 100m
memory: 128Mi
- name: TARGET
value: Local
s3-backup-remote:
image:
repository: d3fk/s3cmd
tag: latest@sha256:ed348a0fae5723d2e62636c175baf4dfaf732a790179ca675d1f24f863d0d68f
pullPolicy: IfNotPresent
command:
- /bin/sh
args:
- -ec
- /scripts/backup.sh
envFrom:
- secretRef:
name: vault-backup-ntfy-secret
env:
- name: BUCKET
valueFrom:
secretKeyRef:
name: vault-s3cmd-remote-config
key: BUCKET
- name: TARGET
value: Remote
s3-backup-external:
image:
repository: d3fk/s3cmd
tag: latest@sha256:ed348a0fae5723d2e62636c175baf4dfaf732a790179ca675d1f24f863d0d68f
pullPolicy: IfNotPresent
command:
- /bin/sh
args:
- -ec
- /scripts/backup.sh
envFrom:
- secretRef:
name: vault-backup-ntfy-secret
env:
- name: BUCKET
valueFrom:
secretKeyRef:
name: vault-s3cmd-external-config
key: BUCKET
- name: TARGET
value: External
persistence:
config:
existingClaim: vault-nfs-storage-backup
snapshot-script:
enabled: true
type: configMap
name: vault-snapshot-script
defaultMode: 0755
advancedMounts:
snapshot:
snapshot:
- path: /scripts/snapshot.sh
subPath: snapshot.sh
backup-script:
enabled: true
type: configMap
name: vault-backup-script
defaultMode: 0755
advancedMounts:
snapshot:
s3-backup-local:
- path: /scripts/backup.sh
subPath: backup.sh
s3-backup-remote:
- path: /scripts/backup.sh
subPath: backup.sh
s3-backup-external:
- path: /scripts/backup.sh
subPath: backup.sh
s3cmd-local-config:
enabled: true
type: secret
name: vault-s3cmd-local-config
advancedMounts:
snapshot:
s3-backup-local:
- path: /root/.s3cfg
readOnly: true
mountPropagation: None
subPath: .s3cfg
s3cmd-remote-config:
enabled: true
type: secret
name: vault-s3cmd-remote-config
advancedMounts:
snapshot:
s3-backup-remote:
- path: /root/.s3cfg
readOnly: true
mountPropagation: None
subPath: .s3cfg
s3cmd-external-config:
enabled: true
type: secret
name: vault-s3cmd-external-config
advancedMounts:
snapshot:
s3-backup-external:
- path: /root/.s3cfg
readOnly: true
mountPropagation: None
subPath: .s3cfg
backup:
existingClaim: vault-storage-backup
advancedMounts:
snapshot:
snapshot:
- path: /opt/backup
readOnly: false
s3-backup:
s3-backup-local:
- path: /opt/backup
readOnly: false
s3-backup-remote:
- path: /opt/backup
readOnly: false
s3-backup-external:
- path: /opt/backup
readOnly: false
s3cmd-config:
enabled: true
type: secret
name: vault-s3cmd-config
advancedMounts:
snapshot:
s3-backup:
- path: /root/.s3cfg
readOnly: true
mountPropagation: None
subPath: .s3cfg
unseal:
global:
fullnameOverride: vault-unseal

View File

@@ -8,7 +8,7 @@ whodb:
main:
image:
repository: clidey/whodb
tag: 0.85.0
tag: 0.86.0
pullPolicy: IfNotPresent
env:
- name: WHODB_OLLAMA_HOST

View File

@@ -1,7 +1,7 @@
---
services:
tailscale-blocky:
image: ghcr.io/tailscale/tailscale:v1.92.3
image: ghcr.io/tailscale/tailscale:v1.92.4
container_name: tailscale-blocky
cap_add:
- net_admin

View File

@@ -105,7 +105,6 @@ customDNS:
huntarr IN CNAME traefik-cl01tl
immich IN CNAME traefik-cl01tl
jellyfin IN CNAME traefik-cl01tl
jellyfin-vue IN CNAME traefik-cl01tl
jellystat IN CNAME traefik-cl01tl
kiwix IN CNAME traefik-cl01tl
komodo IN CNAME traefik-cl01tl

View File

@@ -1,7 +1,7 @@
---
services:
tailscale-blocky:
image: ghcr.io/tailscale/tailscale:v1.92.3
image: ghcr.io/tailscale/tailscale:v1.92.4
container_name: tailscale-blocky
cap_add:
- net_admin

View File

@@ -105,7 +105,6 @@ customDNS:
huntarr IN CNAME traefik-cl01tl
immich IN CNAME traefik-cl01tl
jellyfin IN CNAME traefik-cl01tl
jellyfin-vue IN CNAME traefik-cl01tl
jellystat IN CNAME traefik-cl01tl
kiwix IN CNAME traefik-cl01tl
komodo IN CNAME traefik-cl01tl

View File

@@ -1,7 +1,7 @@
---
services:
tailscale-blocky:
image: ghcr.io/tailscale/tailscale:v1.92.3
image: ghcr.io/tailscale/tailscale:v1.92.4
container_name: tailscale-blocky
cap_add:
- net_admin

View File

@@ -1,6 +1,6 @@
services:
tailscale-garage:
image: ghcr.io/tailscale/tailscale:v1.92.3
image: ghcr.io/tailscale/tailscale:v1.92.4
container_name: tailscale-garage
cap_add:
- net_admin
@@ -20,7 +20,7 @@ services:
- /dev/net/tun:/dev/net/tun
tailscale-garage-ui:
image: ghcr.io/tailscale/tailscale:v1.92.3
image: ghcr.io/tailscale/tailscale:v1.92.4
container_name: tailscale-garage-ui
cap_add:
- net_admin

View File

@@ -1,6 +1,6 @@
services:
tailscale-gitea:
image: ghcr.io/tailscale/tailscale:v1.92.3
image: ghcr.io/tailscale/tailscale:v1.92.4
container_name: tailscale-gitea
cap_add:
- net_admin

View File

@@ -1,7 +1,7 @@
---
services:
tailscale-homepage:
image: ghcr.io/tailscale/tailscale:v1.92.3
image: ghcr.io/tailscale/tailscale:v1.92.4
container_name: tailscale-homepage
cap_add:
- net_admin

View File

@@ -1,7 +1,7 @@
---
services:
tailscale-node-exporter:
image: ghcr.io/tailscale/tailscale:v1.92.3
image: ghcr.io/tailscale/tailscale:v1.92.4
container_name: tailscale-node-exporter
cap_add:
- net_admin

View File

@@ -1,7 +1,7 @@
---
services:
tailscale:
image: ghcr.io/tailscale/tailscale:v1.92.3
image: ghcr.io/tailscale/tailscale:v1.92.4
container_name: tailscale-subnet
cap_add:
- net_admin

View File

@@ -1,7 +1,7 @@
---
services:
tailscale-traefik:
image: ghcr.io/tailscale/tailscale:v1.92.3
image: ghcr.io/tailscale/tailscale:v1.92.4
container_name: tailscale-traefik
cap_add:
- net_admin