47 Commits

Author SHA1 Message Date
c56126ad3c chore(deps): update cilium to v1.19.2
All checks were successful
lint-test-helm / lint-helm (pull_request) Successful in 40s
lint-test-helm / validate-kubeconform (pull_request) Successful in 19s
2026-04-02 01:44:52 +00:00
07c885ec24 chore(deps): update harbor.alexlebens.net/images/site-documentation docker tag to v0.15.0 (#5405)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 19s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 2m6s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [harbor.alexlebens.net/images/site-documentation](https://gitea.alexlebens.dev/alexlebens/site-documentation) | minor | `0.14.0` → `0.15.0` |

---

### Release Notes

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

### [`v0.15.0`](https://gitea.alexlebens.dev/alexlebens/site-documentation/releases/tag/0.15.0)

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

### [0.15.0](http://gitea-http.gitea:3000/alexlebens/site-documentation/compare/0.14.0...0.15.0) (2026-04-02)

##### Features

- add more apps ([3ce50ce](3ce50ceccd))

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

Reviewed-on: #5405
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-04-02 01:43:00 +00:00
42c9fc26a9 chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.102.10 (#5404)
Some checks failed
renovate / renovate (push) Has been cancelled
2026-04-02 01:33:34 +00:00
d41261d1cb feat: add affinity to keep apps separate (#5402)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 28s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
Reviewed-on: #5402
2026-04-02 01:31:02 +00:00
3ba7e2cb16 chore(deps): update komodo to v2.1.0 (#5398)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 14s
lint-test-docker / lint-docker-compose (push) Successful in 26s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 9m44s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/moghtech/komodo-core](https://github.com/moghtech/komodo) | minor | `2.0.0` → `2.1.0` |
| [ghcr.io/moghtech/komodo-periphery](https://github.com/moghtech/komodo) | minor | `2.0.0` → `2.1.0` |
| [moghtech/komodo](https://github.com/moghtech/komodo) | minor | `v2.0.0` → `v2.1.0` |

---

### Release Notes

<details>
<summary>moghtech/komodo (ghcr.io/moghtech/komodo-core)</summary>

### [`v2.1.0`](https://github.com/moghtech/komodo/releases/tag/v2.1.0): Komodo v2.1.0

[Compare Source](https://github.com/moghtech/komodo/compare/v2.0.0...v2.1.0)

##### Changelog

- **Swarm**: Add "Update Node" support: update your swarm node `role` (manager, worker) and availability, and add / remove node labels
- **Swarm** / **Stack**: Add Swarm Stack environment file support.
  - Docker swarm doesn't support files natively, this first **sources** the .env files on the shell, then runs `docker stack deploy`
- **Swarm**: Stacks and deployments attached to swarms can now poll for updates / auto update
- **Swarm**: Fix stack / service deploys hanging indefinitely if the services never converge
- **Swarm**: Fix resource sync support
- **UI**: Fix `deepCompare` method crash when encountering a `null` value, affecting some resource configuration pages.
- **UI**: Fix container ports not displaying when Server `External Address` not configured
  - For users who used **privileged onboarding key** already, you can configure Server `External Address` to restore container port linking behavior.
  - Future use of privileged onboarding key will move the existing Server `Address` to `External Address` field, if it's not already set.
- **UI**: Fix Build image registry Custom organization configuration.
- **UI**: Fix stack service / container selectors from crashing due to missing null check. This affected New Terminal creation menu.
- **UI**: Fix Info files "Hide / Show" buttons not working (clicking the header could still toggle show)
- **Logging**: Support disabling application-level logging timestamps

</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 these updates 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:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuOSIsInVwZGF0ZWRJblZlciI6IjQzLjEwMi45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkb2NrZXIiXX0=-->

Reviewed-on: #5398
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-04-02 01:09:41 +00:00
318340e353 feat: change tag (#5400)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 21s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
Reviewed-on: #5400
2026-04-02 01:07:44 +00:00
201eac78a4 feat: refactor apps (#5399)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 1m14s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 13m26s
Reviewed-on: #5399
2026-04-02 00:52:20 +00:00
d8ca9614cb chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.102.9 (#5397)
All checks were successful
renovate / renovate (push) Successful in 17m14s
2026-04-01 23:58:11 +00:00
91c2800de2 feat: refactor apps (#5395)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 27s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
Reviewed-on: #5395
2026-04-01 23:54:15 +00:00
19a2a7bc98 chore(deps): update harbor.alexlebens.net/images/site-profile docker tag to v3.16.1 (#5393)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 1m2s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 9m24s
2026-04-01 23:04:43 +00:00
f44d843730 chore(deps): update harbor.alexlebens.net/images/site-documentation docker tag to v0.14.0 (#5391)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 50s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 9m19s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [harbor.alexlebens.net/images/site-documentation](https://gitea.alexlebens.dev/alexlebens/site-documentation) | minor | `0.13.0` → `0.14.0` |

---

### Release Notes

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

### [`v0.14.0`](https://gitea.alexlebens.dev/alexlebens/site-documentation/blob/HEAD/CHANGELOG.md#0140-2026-04-01)

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

##### Bug Fixes

- **deps:** pin dependencies ([75a9af6](75a9af6d0b))

##### Features

- add homepage ([d894615](d8946158b0))
- change code theme ([dbe3d5c](dbe3d5cdd2))

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

Reviewed-on: #5391
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-04-01 22:49:12 +00:00
a02ae25c6f chore(deps): update dependency av1155/houndarr to v1.6.5 (#5383)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 32s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 3m3s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [av1155/houndarr](https://github.com/av1155/houndarr) | patch | `v1.6.4` → `v1.6.5` |

---

### Release Notes

<details>
<summary>av1155/houndarr (av1155/houndarr)</summary>

### [`v1.6.5`](https://github.com/av1155/houndarr/releases/tag/v1.6.5)

[Compare Source](https://github.com/av1155/houndarr/compare/v1.6.4...v1.6.5)

##### Fixed

- Accessing Houndarr via links from dashboard apps (Homepage, Homarr, Organizr) no longer redirects to `/login`; session cookies now default to `SameSite=Lax` instead of `Strict` ([#&#8203;318](https://github.com/av1155/houndarr/issues/318)).

##### Added

- `HOUNDARR_COOKIE_SAMESITE` environment variable to configure the `SameSite` cookie policy; accepts `lax` (default) or `strict` ([#&#8203;318](https://github.com/av1155/houndarr/issues/318)).

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

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

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

---

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

---

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

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/5383
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-04-01 22:01:43 +00:00
7b908b89db chore(deps): update g33kphr33k/musicgrabber docker tag to v2.5.4 (#5328)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 46s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| g33kphr33k/musicgrabber | patch | `2.5.3` → `2.5.4` |

---

### 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 these updates 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:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMCIsInVwZGF0ZWRJblZlciI6IjQzLjEwMi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJhdXRvbWVyZ2UiLCJkb2NrZXIiLCJkb2NrZXIiXX0=-->

Reviewed-on: #5328
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-04-01 22:00:27 +00:00
1aeef31e84 chore(deps): update ubuntu docker tag to resolute-20260401 (#5387)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 28s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
2026-04-01 21:58:10 +00:00
f9d006b148 chore(deps): update helm release actions to v0.0.4 (#5386)
Some checks failed
lint-test-helm / lint-helm (push) Has been cancelled
lint-test-helm / validate-kubeconform (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-04-01 21:57:53 +00:00
f38b684342 chore(deps): update dependency sahara101/movie-roulette to v5.4.1 (#5384)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 23s
lint-test-helm / validate-kubeconform (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-04-01 21:57:06 +00:00
398ecefb78 chore(deps): update clickhouse/clickhouse-server docker tag to v26.3.3 (#5382)
Some checks failed
lint-test-helm / validate-kubeconform (push) Has been cancelled
lint-test-helm / lint-helm (push) Has been cancelled
renovate / renovate (push) Has been cancelled
2026-04-01 21:56:42 +00:00
c27339eece chore(deps): update helm release eck-operator to v3.3.2 (#5380)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 14s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 9m40s
2026-04-01 21:30:38 +00:00
4223ad4000 chore(deps): update dependency gethomepage/homepage to v1.12.3 (#5379)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 33s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
2026-04-01 21:27:43 +00:00
1a732ddfcc chore(deps): update cloudnative-pg (#5367)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 25s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [cloudnative-pg](https://cloudnative-pg.io) ([source](https://github.com/cloudnative-pg/charts)) | minor | `0.27.1` → `0.28.0` |
| [cloudnative-pg/cloudnative-pg](https://github.com/cloudnative-pg/cloudnative-pg) | minor | `1.28.1` → `1.29.0` |

---

### Release Notes

<details>
<summary>cloudnative-pg/charts (cloudnative-pg)</summary>

### [`v0.28.0`](https://github.com/cloudnative-pg/charts/releases/tag/cloudnative-pg-v0.28.0)

[Compare Source](https://github.com/cloudnative-pg/charts/compare/cloudnative-pg-v0.27.1...cloudnative-pg-v0.28.0)

CloudNativePG Operator Helm Chart

#### What's Changed

- fix(security): harden GitHub Actions workflows against expression injection by [@&#8203;mnencia](https://github.com/mnencia) in [#&#8203;823](https://github.com/cloudnative-pg/charts/pull/823)
- feat(monitoring): add support for custom PodMonitor by [@&#8203;Dashing-Nelson](https://github.com/Dashing-Nelson) in [#&#8203;724](https://github.com/cloudnative-pg/charts/pull/724)
- Release cloudnative-pg-v0.28.0 by [@&#8203;cnpg-bot](https://github.com/cnpg-bot) in [#&#8203;845](https://github.com/cloudnative-pg/charts/pull/845)

#### New Contributors

- [@&#8203;Dashing-Nelson](https://github.com/Dashing-Nelson) made their first contribution in [#&#8203;724](https://github.com/cloudnative-pg/charts/pull/724)

**Full Changelog**: <https://github.com/cloudnative-pg/charts/compare/cluster-v0.6.0...cloudnative-pg-v0.28.0>

</details>

<details>
<summary>cloudnative-pg/cloudnative-pg (cloudnative-pg/cloudnative-pg)</summary>

### [`v1.29.0`](https://github.com/cloudnative-pg/cloudnative-pg/releases/tag/v1.29.0)

[Compare Source](https://github.com/cloudnative-pg/cloudnative-pg/compare/v1.28.2...v1.29.0-rc1)

**Release date:** Mar 31, 2026

##### Important changes

- Updated the deprecation notice for native (in-tree) Barman Cloud support to reflect that it will now be removed in CloudNativePG 1.30.0, rather than 1.29.0. Users are still encouraged to migrate to the Barman Cloud Plugin. ([#&#8203;10167](https://github.com/cloudnative-pg/cloudnative-pg/pull/10167)) <!-- 1.28 1.27 -->

##### Features

- **PostgreSQL extensions in image catalogs**: extended the `ImageCatalog` functionality to support PostgreSQL extensions. This allows users to define and manage extension-specific images within a catalog, simplifying the deployment of customized PostgreSQL builds. ([#&#8203;9781](https://github.com/cloudnative-pg/cloudnative-pg/pull/9781))

- **Dynamic network access control via pod selectors**: introduced the declarative definition of `podSelectorRefs` to manage `pg_hba.conf` rules dynamically. By using label selectors to identify client pods, the operator automatically resolves their ephemeral IP addresses and updates the PostgreSQL host-based authentication rules accordingly. This ensures that only authorized workloads in the same namespace can connect to the database, eliminating the need for manual IP management or static CIDR ranges. ([#&#8203;10148](https://github.com/cloudnative-pg/cloudnative-pg/pull/10148))

- **Shared `ServiceAccount` support**: added an optional `serviceAccountName` field to both `Cluster` and `Pooler` specifications. This allows multiple resources to share a pre-existing ServiceAccount, facilitating one-time IAM configurations (such as AWS IRSA, GCP Workload Identity, or Azure Workload Identity) across all clusters and poolers. Contributed by [@&#8203;bozkayasalihx](https://github.com/bozkayasalihx). ([#&#8203;9287](https://github.com/cloudnative-pg/cloudnative-pg/pull/9287))

##### Enhancements

- Improved the `Pooler` CRD with support for granular configuration of TLS cipher suites and minimum/maximum TLS versions. This enables administrators to meet strict security compliance requirements for pooler-to-client and pooler-to-server connections. Contributed by [@&#8203;alex1989hu](https://github.com/alex1989hu). ([#&#8203;9571](https://github.com/cloudnative-pg/cloudnative-pg/pull/9571)) <!-- 1.28 1.27 1.25 -->

- Improved the reliability of major upgrades by setting `BackoffLimit=0` on the upgrade job, preventing unnecessary retries of a failed `pg_upgrade`. The operator now automatically deletes the failed job when a user reverts the container image, allowing the cluster to restart gracefully on the original version. ([#&#8203;10104](https://github.com/cloudnative-pg/cloudnative-pg/pull/10104), [#&#8203;10298](https://github.com/cloudnative-pg/cloudnative-pg/pull/10298)) <!-- 1.28 1.27 -->

- Improved the operator's observability by emitting native Kubernetes events during key phases of the reconciliation loop, providing visibility into the operator's decision-making process and the lifecycle of managed resources directly through `kubectl get events`. ([#&#8203;10040](https://github.com/cloudnative-pg/cloudnative-pg/pull/10040))

- Extended support for the `cnpg.io/reconciliationDisabled` annotation on Backup resources. This allows administrators to temporarily freeze the operator's reconciliation logic for specific backup objects. Contributed by [@&#8203;GabriFedi97](https://github.com/GabriFedi97). ([#&#8203;10020](https://github.com/cloudnative-pg/cloudnative-pg/pull/10020))

- Added a `bin_path` field to the `postgresql.extensions` stanza, as well as in `ImageCatalog` and `ClusterImageCatalog` resources. This allows extensions to specify directory paths for external binaries, which are automatically appended to the `PATH` environment variable of the Postgres process. ([#&#8203;10250](https://github.com/cloudnative-pg/cloudnative-pg/pull/10250))

- Added an `env` field to the `postgresql.extensions` stanza, as well as in `ImageCatalog` and `ClusterImageCatalog` resources. This allows cluster administrators to define custom environment variables for the Postgres process. This field supports the `${image_root}` placeholder to dynamically resolve to the extension's absolute mount path. ([#&#8203;10375](https://github.com/cloudnative-pg/cloudnative-pg/pull/10375))

- Implemented a finalizer for plugins to ensure that resources managed by a plugin are gracefully cleaned up when the corresponding service is deleted. ([#&#8203;9560](https://github.com/cloudnative-pg/cloudnative-pg/pull/9560))

- Improved role management by verifying the instance is the primary before each reconciliation cycle, avoiding unnecessary reconciliation attempts and spurious error messages on read-only replicas. ([#&#8203;9971](https://github.com/cloudnative-pg/cloudnative-pg/pull/9971)) <!-- 1.28 1.27 1.25 -->

- The operator now honors the `primaryUpdateMethod` when adding new PVCs to a cluster, ensuring that the rollout strategy (e.g., switchover vs. restart) is respected during storage expansion or additions. ([#&#8203;9720](https://github.com/cloudnative-pg/cloudnative-pg/pull/9720)) <!-- 1.28 1.27 -->

- Refined the `alpha.cnpg.io/unrecoverable` annotation logic to allow it to function even on pods that have not yet reached the `Ready` state, facilitating the recovery of stuck instances. ([#&#8203;9968](https://github.com/cloudnative-pg/cloudnative-pg/pull/9968)) <!-- 1.28 -->

- Introduced a "Terminal Error" phase for backups that encounter unrecoverable issues (such as invalid credentials or non-existent cloud buckets). This ensures the operator stops retrying doomed operations, preventing resource exhaustion and providing immediate, clear feedback in the status. ([#&#8203;9353](https://github.com/cloudnative-pg/cloudnative-pg/pull/9353))

- Improved monitoring of long-running backups by introducing `reconciliationStartedAt` and `reconciliationTerminatedAt` fields to the `Backup` status. This change separates the operator's internal lifecycle from the actual backup tool's execution timing (`startedAt`/`stoppedAt`), allowing users to track when the operator begins processing a request. ([#&#8203;9351](https://github.com/cloudnative-pg/cloudnative-pg/pull/9351))

- Added a `Pending` phase to the `Backup` status to explicitly indicate when a backup is queued and waiting for an available worker or instance availability. ([#&#8203;9364](https://github.com/cloudnative-pg/cloudnative-pg/pull/9364))

##### Security and Supply Chain

- **Security best practices integration**: integrated the OpenSSF baseline scanner and added a `SECURITY-INSIGHTS.yaml` file to the repository to align with industry-standard security reporting. ([#&#8203;10054](https://github.com/cloudnative-pg/cloudnative-pg/pull/10054), <!-- 1.28 1.27 1.25 --> [#&#8203;10062](https://github.com/cloudnative-pg/cloudnative-pg/pull/10062)) <!-- 1.28 1.27 1.25 -->

- **SLSA provenance and SBOMs**: added SLSA (Supply-chain Levels for Software Artifacts) provenance to release binaries and container images. Additionally, enabled Software Bill of Materials (SBOM) generation within the GoReleaser pipeline for improved dependency transparency. ([#&#8203;10048](https://github.com/cloudnative-pg/cloudnative-pg/pull/10048), <!-- 1.28 1.27 1.25 --> [#&#8203;10074](https://github.com/cloudnative-pg/cloudnative-pg/pull/10074)) <!-- 1.28 1.27 1.25 -->

- **Password leak prevention**: fixed a potential security risk where PostgreSQL could leak role passwords in the logs during specific reconciliation phases. ([#&#8203;9950](https://github.com/cloudnative-pg/cloudnative-pg/pull/9950)) <!-- 1.28 1.27 1.25 -->

##### Changes

- Updated the default PostgreSQL version to 18.3 (image `18.3-system-trixie`). ([#&#8203;10090](https://github.com/cloudnative-pg/cloudnative-pg/pull/10090)) <!-- 1.28 1.27 1.25 -->

##### Fixes

- Fixed a deadlock during operator upgrades affecting clusters using synchronous replication, where pods running the old and new operator versions computed different PostgreSQL configuration hashes, causing the uniformity check to block indefinitely and preventing both rolling updates and in-place upgrades from proceeding. ([#&#8203;10342](https://github.com/cloudnative-pg/cloudnative-pg/pull/10342)) <!-- 1.28 -->

- Fixed an issue where fencing annotations could not be processed when the WAL disk was full, because the disk space check blocked the instance manager from starting. The check is now performed later in the lifecycle loop, after fencing is evaluated. ([#&#8203;10302](https://github.com/cloudnative-pg/cloudnative-pg/pull/10302)) <!-- 1.28 1.27 -->

- Fixed an issue where replicas would get stuck in a `Pending` state if the `VolumeSnapshot` used for the initial bootstrap had been deleted. The operator now validates snapshot existence before use; if a snapshot is missing, it attempts to use the next available candidate or falls back to `pg_basebackup`. ([#&#8203;10192](https://github.com/cloudnative-pg/cloudnative-pg/pull/10192)) <!-- 1.28 1.27 1.25 -->

- Prevented the "supervised primary" rollout strategy from consuming all available rollout slots, which previously caused delays in scheduled updates. Contributed by [@&#8203;ermakov-oleg](https://github.com/ermakov-oleg). ([#&#8203;9977](https://github.com/cloudnative-pg/cloudnative-pg/pull/9977)) <!-- 1.28 1.27 1.25 -->

- Fixed an issue where certain hot-standby parameter changes were not being correctly applied to replica clusters. ([#&#8203;9952](https://github.com/cloudnative-pg/cloudnative-pg/pull/9952)) <!-- 1.28 1.27 1.25 -->

- Fixed a bug in the CNPG-I reconciler hook that could lead to skipping subsequent plugins when a "continue" result was returned. Contributed by [@&#8203;sharifmshaker](https://github.com/sharifmshaker). ([#&#8203;9978](https://github.com/cloudnative-pg/cloudnative-pg/pull/9978)) <!-- 1.28 1.27 -->

- Fixed a deadlock scenario that occurred when attempting to resize a filesystem on a PVC that was not currently attached to a Pod. Contributed by [@&#8203;jmealo](https://github.com/jmealo). ([#&#8203;9981](https://github.com/cloudnative-pg/cloudnative-pg/pull/9981)) <!-- 1.28 1.27 -->

- Fixed webhook validation of bootstrap recovery sources to accept external clusters configured with `ConnectionParameters` (for `pg_basebackup`-based recovery). Previously, these were incorrectly rejected unless a Barman object store or CNPG-i plugin was also configured. ([#&#8203;10268](https://github.com/cloudnative-pg/cloudnative-pg/pull/10268)) <!-- 1.28 1.27 1.25 -->

- Volume names for extensions and tablespaces are now prefixed to avoid naming collisions with standard cluster volumes. ([#&#8203;9973](https://github.com/cloudnative-pg/cloudnative-pg/pull/9973)) <!-- 1.28 1.27 -->

- When hibernating a non-healthy cluster, the operator now reports a `WaitingForHealthy` condition, making the deferred hibernation state visible through `cnpg status`. ([#&#8203;10193](https://github.com/cloudnative-pg/cloudnative-pg/pull/10193)) <!-- 1.28 1.27 1.25 -->

- Fixed fencing to work correctly even when the target pod does not exist. Fencing operates on a cluster-level annotation and should not depend on pod existence; instance name validation is now performed only in the `cnpg fencing on` command. ([#&#8203;10035](https://github.com/cloudnative-pg/cloudnative-pg/pull/10035)) <!-- 1.28 1.27 1.25 -->

- Fixed the cluster and pooler service reconcilers to correctly handle changes to all spec fields when using the patch update strategy. The reconciler now uses RFC 7386 JSON Merge Patching, preventing cloud-provider-set fields (such as `loadBalancerClass`) from being inadvertently removed. ([#&#8203;10190](https://github.com/cloudnative-pg/cloudnative-pg/pull/10190), [#&#8203;10311](https://github.com/cloudnative-pg/cloudnative-pg/pull/10311)) <!-- 1.28 1.27 1.25 -->

- Fixed a race condition in the deprecated in-tree Barman Cloud backup implementation affecting parallel WAL restore, where prefetched files could be read while still being downloaded, causing PostgreSQL recovery to fail with "invalid checkpoint record" errors. ([#&#8203;10285](https://github.com/cloudnative-pg/cloudnative-pg/pull/10285)) <!-- 1.28 1.27 1.25 -->

- Fixed the timeline history file validation to also apply to plugin-based WAL restore. Previously, the protection introduced in [#&#8203;9650](https://github.com/cloudnative-pg/cloudnative-pg/pull/9650) only covered in-tree restores, allowing plugins to bypass the check and download future timeline history files, causing timeline mismatch errors on replicas. ([#&#8203;9849](https://github.com/cloudnative-pg/cloudnative-pg/pull/9849)) <!-- 1.28 1.27 1.25 -->

- `cnpg` plugin:

  - The cnpg plugin now correctly propagates ImagePullSecrets to the `pgbench` Job pod template. ([#&#8203;10174](https://github.com/cloudnative-pg/cloudnative-pg/pull/10174)) <!-- 1.28 1.27 1.25 -->

##### Supported versions

- Kubernetes 1.35, 1.34, and 1.33
- PostgreSQL 18, 17, 16, 15, and 14
  - PostgreSQL 18.3 is the default image
  - [PostgreSQL 14 support ends on November 12, 2026](https://www.postgresql.org/support/versioning/)

### [`v1.28.2`](https://github.com/cloudnative-pg/cloudnative-pg/releases/tag/v1.28.2)

[Compare Source](https://github.com/cloudnative-pg/cloudnative-pg/compare/v1.28.1...v1.28.2)

**Release date:** Mar 31, 2026

##### Important changes

- Updated the deprecation notice for native (in-tree) Barman Cloud support to reflect that it will now be removed in CloudNativePG 1.30.0, rather than 1.29.0. Users are still encouraged to migrate to the Barman Cloud Plugin. ([#&#8203;10167](https://github.com/cloudnative-pg/cloudnative-pg/pull/10167)) <!-- 1.28 1.27 -->

##### Enhancements

- Improved the `Pooler` CRD with support for granular configuration of TLS cipher suites and minimum/maximum TLS versions. This enables administrators to meet strict security compliance requirements for pooler-to-client and pooler-to-server connections. Contributed by [@&#8203;alex1989hu](https://github.com/alex1989hu). ([#&#8203;9571](https://github.com/cloudnative-pg/cloudnative-pg/pull/9571)) <!-- 1.28 1.27 1.25 -->

- Improved the reliability of major upgrades by setting `BackoffLimit=0` on the upgrade job, preventing unnecessary retries of a failed `pg_upgrade`. The operator now automatically deletes the failed job when a user reverts the container image, allowing the cluster to restart gracefully on the original version. ([#&#8203;10104](https://github.com/cloudnative-pg/cloudnative-pg/pull/10104), [#&#8203;10298](https://github.com/cloudnative-pg/cloudnative-pg/pull/10298)) <!-- 1.28 1.27 -->

- Improved role management by verifying the instance is the primary before each reconciliation cycle, avoiding unnecessary reconciliation attempts and spurious error messages on read-only replicas. ([#&#8203;9971](https://github.com/cloudnative-pg/cloudnative-pg/pull/9971)) <!-- 1.28 1.27 1.25 -->

- Extended the CRD schemas for `Cluster`, `ImageCatalog`, and `ClusterImageCatalog` to accept the `extensions`, `bin_path`, and `env` fields introduced in 1.29. The operator ignores these fields on older versions, but accepting them in the schema allows users to share a single manifest across clusters running different CNPG versions. ([#&#8203;10131](https://github.com/cloudnative-pg/cloudnative-pg/pull/10131), [#&#8203;10387](https://github.com/cloudnative-pg/cloudnative-pg/pull/10387)) <!-- 1.28 1.27 -->

- The operator now honors the `primaryUpdateMethod` when adding new PVCs to a cluster, ensuring that the rollout strategy (e.g., switchover vs. restart) is respected during storage expansion or additions. ([#&#8203;9720](https://github.com/cloudnative-pg/cloudnative-pg/pull/9720)) <!-- 1.28 1.27 -->

- Refined the `alpha.cnpg.io/unrecoverable` annotation logic to allow it to function even on pods that have not yet reached the `Ready` state, facilitating the recovery of stuck instances. ([#&#8203;9968](https://github.com/cloudnative-pg/cloudnative-pg/pull/9968)) <!-- 1.28 -->

##### Security and Supply Chain

- **Security best practices integration**: integrated the OpenSSF baseline scanner and added a `SECURITY-INSIGHTS.yaml` file to the repository to align with industry-standard security reporting. ([#&#8203;10054](https://github.com/cloudnative-pg/cloudnative-pg/pull/10054), <!-- 1.28 1.27 1.25 --> [#&#8203;10062](https://github.com/cloudnative-pg/cloudnative-pg/pull/10062)) <!-- 1.28 1.27 1.25 -->

- **SLSA provenance and SBOMs**: added SLSA (Supply-chain Levels for Software Artifacts) provenance to release binaries and container images. Additionally, enabled Software Bill of Materials (SBOM) generation within the GoReleaser pipeline for improved dependency transparency. ([#&#8203;10048](https://github.com/cloudnative-pg/cloudnative-pg/pull/10048), <!-- 1.28 1.27 1.25 --> [#&#8203;10074](https://github.com/cloudnative-pg/cloudnative-pg/pull/10074)) <!-- 1.28 1.27 1.25 -->

- **Password leak prevention**: fixed a potential security risk where PostgreSQL could leak role passwords in the logs during specific reconciliation phases. ([#&#8203;9950](https://github.com/cloudnative-pg/cloudnative-pg/pull/9950)) <!-- 1.28 1.27 1.25 -->

##### Changes

- Updated the default PostgreSQL version to 18.3 (image `18.3-system-trixie`). ([#&#8203;10090](https://github.com/cloudnative-pg/cloudnative-pg/pull/10090)) <!-- 1.28 1.27 1.25 -->

##### Fixes

- Fixed a deadlock during operator upgrades affecting clusters using synchronous replication, where pods running the old and new operator versions computed different PostgreSQL configuration hashes, causing the uniformity check to block indefinitely and preventing both rolling updates and in-place upgrades from proceeding. ([#&#8203;10342](https://github.com/cloudnative-pg/cloudnative-pg/pull/10342)) <!-- 1.28 -->

- Fixed an issue where fencing annotations could not be processed when the WAL disk was full, because the disk space check blocked the instance manager from starting. The check is now performed later in the lifecycle loop, after fencing is evaluated. ([#&#8203;10302](https://github.com/cloudnative-pg/cloudnative-pg/pull/10302)) <!-- 1.28 1.27 -->

- Fixed an issue where replicas would get stuck in a `Pending` state if the `VolumeSnapshot` used for the initial bootstrap had been deleted. The operator now validates snapshot existence before use; if a snapshot is missing, it attempts to use the next available candidate or falls back to `pg_basebackup`. ([#&#8203;10192](https://github.com/cloudnative-pg/cloudnative-pg/pull/10192)) <!-- 1.28 1.27 1.25 -->

- Prevented the "supervised primary" rollout strategy from consuming all available rollout slots, which previously caused delays in scheduled updates. Contributed by [@&#8203;ermakov-oleg](https://github.com/ermakov-oleg). ([#&#8203;9977](https://github.com/cloudnative-pg/cloudnative-pg/pull/9977)) <!-- 1.28 1.27 1.25 -->

- Fixed an issue where certain hot-standby parameter changes were not being correctly applied to replica clusters. ([#&#8203;9952](https://github.com/cloudnative-pg/cloudnative-pg/pull/9952)) <!-- 1.28 1.27 1.25 -->

- Fixed a bug in the CNPG-I reconciler hook that could lead to skipping subsequent plugins when a "continue" result was returned. Contributed by [@&#8203;sharifmshaker](https://github.com/sharifmshaker). ([#&#8203;9978](https://github.com/cloudnative-pg/cloudnative-pg/pull/9978)) <!-- 1.28 1.27 -->

- Fixed a deadlock scenario that occurred when attempting to resize a filesystem on a PVC that was not currently attached to a Pod. Contributed by [@&#8203;jmealo](https://github.com/jmealo). ([#&#8203;9981](https://github.com/cloudnative-pg/cloudnative-pg/pull/9981)) <!-- 1.28 1.27 -->

- Fixed webhook validation of bootstrap recovery sources to accept external clusters configured with `ConnectionParameters` (for `pg_basebackup`-based recovery). Previously, these were incorrectly rejected unless a Barman object store or CNPG-i plugin was also configured. ([#&#8203;10268](https://github.com/cloudnative-pg/cloudnative-pg/pull/10268)) <!-- 1.28 1.27 1.25 -->

- Volume names for extensions and tablespaces are now prefixed to avoid naming collisions with standard cluster volumes. ([#&#8203;9973](https://github.com/cloudnative-pg/cloudnative-pg/pull/9973)) <!-- 1.28 1.27 -->

- When hibernating a non-healthy cluster, the operator now reports a `WaitingForHealthy` condition, making the deferred hibernation state visible through `cnpg status`. ([#&#8203;10193](https://github.com/cloudnative-pg/cloudnative-pg/pull/10193)) <!-- 1.28 1.27 1.25 -->

- Fixed fencing to work correctly even when the target pod does not exist. Fencing operates on a cluster-level annotation and should not depend on pod existence; instance name validation is now performed only in the `cnpg fencing on` command. ([#&#8203;10035](https://github.com/cloudnative-pg/cloudnative-pg/pull/10035)) <!-- 1.28 1.27 1.25 -->

- Fixed the cluster and pooler service reconcilers to correctly handle changes to all spec fields when using the patch update strategy. The reconciler now uses RFC 7386 JSON Merge Patching, preventing cloud-provider-set fields (such as `loadBalancerClass`) from being inadvertently removed. ([#&#8203;10190](https://github.com/cloudnative-pg/cloudnative-pg/pull/10190), [#&#8203;10311](https://github.com/cloudnative-pg/cloudnative-pg/pull/10311)) <!-- 1.28 1.27 1.25 -->

- Fixed a race condition in the deprecated in-tree Barman Cloud backup implementation affecting parallel WAL restore, where prefetched files could be read while still being downloaded, causing PostgreSQL recovery to fail with "invalid checkpoint record" errors. ([#&#8203;10285](https://github.com/cloudnative-pg/cloudnative-pg/pull/10285)) <!-- 1.28 1.27 1.25 -->

- Fixed the timeline history file validation to also apply to plugin-based WAL restore. Previously, the protection introduced in [#&#8203;9650](https://github.com/cloudnative-pg/cloudnative-pg/pull/9650) only covered in-tree restores, allowing plugins to bypass the check and download future timeline history files, causing timeline mismatch errors on replicas. ([#&#8203;9849](https://github.com/cloudnative-pg/cloudnative-pg/pull/9849)) <!-- 1.28 1.27 1.25 -->

- `cnpg` plugin:

  - The cnpg plugin now correctly propagates ImagePullSecrets to the `pgbench` Job pod template. ([#&#8203;10174](https://github.com/cloudnative-pg/cloudnative-pg/pull/10174)) <!-- 1.28 1.27 1.25 -->

</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.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuNCIsInVwZGF0ZWRJblZlciI6IjQzLjEwMi42IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJoZWxtIl19-->

Reviewed-on: #5367
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-04-01 21:25:24 +00:00
273d571fde chore(deps): update home-assistant to v2026.4.0 (#5369)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 18s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

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

---

### Release Notes

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

### [`v2026.4.0`](https://github.com/home-assistant/core/releases/tag/2026.4.0)

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

<https://www.home-assistant.io/blog/2026/04/01/release-20264/>

</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 these updates 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:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuNiIsInVwZGF0ZWRJblZlciI6IjQzLjEwMi42IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkb2NrZXIiXX0=-->

Reviewed-on: #5369
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-04-01 21:23:39 +00:00
2c571e4e5b chore(deps): update searxng/searxng:latest docker digest to dac0c44 (#5376)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 21s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 2m23s
2026-04-01 20:03:18 +00:00
b0629865cd chore(deps): update ghcr.io/av1155/houndarr docker tag to v1.6.5 (#5374)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 17s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 3m7s
2026-04-01 18:03:35 +00:00
96bdb4d093 chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.102.8 (#5373)
All checks were successful
renovate / renovate (push) Successful in 3m20s
2026-04-01 17:04:01 +00:00
a4a773463a chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.102.7 (#5371)
All checks were successful
renovate / renovate (push) Successful in 3m32s
2026-04-01 16:04:41 +00:00
57c9f95995 chore(deps): update ghcr.io/gethomepage/homepage docker tag to v1.12.3 (#5370)
Some checks failed
renovate / renovate (push) Has been cancelled
lint-test-docker / lint-docker-compose (push) Successful in 40s
lint-test-helm / lint-helm (push) Successful in 41s
lint-test-helm / validate-kubeconform (push) Has been skipped
2026-04-01 16:04:12 +00:00
7ebc3579ab chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.102.6 (#5368)
All checks were successful
render-manifests / render-manifests (push) Successful in 7m1s
renovate / renovate (push) Successful in 4m38s
2026-04-01 12:05:08 +00:00
8fc986465f chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.102.5 (#5366)
All checks were successful
renovate / renovate (push) Successful in 4m49s
2026-04-01 11:03:29 +00:00
afa7b4b9b0 chore(deps): update ghcr.io/sahara101/movie-roulette docker tag to v5.4.1 (#5364)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 19s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 3m29s
2026-04-01 10:04:21 +00:00
467c2a0996 chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.102.4 (#5363)
All checks were successful
renovate / renovate (push) Successful in 15m47s
2026-04-01 09:04:25 +00:00
07f8771424 chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.102.4 (#5363)
Some checks failed
renovate / renovate (push) Has been cancelled
2026-04-01 09:04:22 +00:00
30b992d143 chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.102.3 (#5362)
All checks were successful
renovate / renovate (push) Successful in 4m17s
2026-04-01 07:03:49 +00:00
55c3a045f8 chore(deps): update dependency jellyfin/jellyfin to v10.11.7 (#5361)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 22s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 3m35s
2026-04-01 03:15:32 +00:00
515bf8b391 feat: remove protocol (#5360)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 31s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 1m36s
Reviewed-on: #5360
2026-04-01 02:34:33 +00:00
1815058f2d fix: change group name
Some checks failed
lint-test-helm / lint-helm (push) Successful in 16s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
2026-03-31 21:25:51 -05:00
86b632cf05 feat: refactor apps (#5357)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 35s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
Reviewed-on: #5357
2026-04-01 02:19:20 +00:00
a85b502231 chore(deps): update xenrox/ntfy-alertmanager docker tag to v1 (#5312)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 49s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 2m39s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| xenrox/ntfy-alertmanager | major | `0.5.0` → `1.0.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:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDEuMiIsInVwZGF0ZWRJblZlciI6IjQzLjEwMS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkb2NrZXIiXX0=-->

Reviewed-on: #5312
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-04-01 01:31:36 +00:00
274dd67f2c chore(deps): update tdarr to v2.67.01 (#5271)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 15s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/haveagitgat/tdarr](https://github.com/HaveAGitGat/tdarr_express_be) | minor | `2.66.01` → `2.67.01` |
| [ghcr.io/haveagitgat/tdarr_node](https://github.com/HaveAGitGat/tdarr_express_be) | minor | `2.66.01` → `2.67.01` |

---

### 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 these updates 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:eyJjcmVhdGVkSW5WZXIiOiI0My45OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuOTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZG9ja2VyIl19-->

Reviewed-on: #5271
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-04-01 01:29:52 +00:00
558c6bd00e feat: use regular image for health probes (#5355)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 19s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
Reviewed-on: #5355
2026-04-01 01:28:46 +00:00
6892b65541 chore(deps): update favonia/cloudflare-ddns docker tag to v1.16.1 (#5354)
Some checks failed
lint-test-docker / lint-docker-compose (push) Successful in 21s
renovate / renovate (push) Has been cancelled
2026-04-01 01:22:25 +00:00
9facaa0464 feat: change image tags (#5352)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 42s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
Reviewed-on: #5352
2026-04-01 01:18:43 +00:00
aa1099bd90 chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.102.2 (#5350)
All checks were successful
renovate / renovate (push) Successful in 8m29s
2026-04-01 01:05:07 +00:00
0b1b2d4b8d chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.102.2 (#5350)
Some checks failed
renovate / renovate (push) Has been cancelled
2026-04-01 01:04:58 +00:00
b4b211f002 chore(deps): update ghcr.io/jellyfin/jellyfin docker tag to v10.11.7 (#5349)
Some checks failed
renovate / renovate (push) Has been cancelled
lint-test-helm / lint-helm (push) Successful in 1m5s
lint-test-helm / validate-kubeconform (push) Has been skipped
2026-04-01 01:04:34 +00:00
50cfb00eb6 feat: change to alpine (#5347)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 28s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 16m15s
Reviewed-on: #5347
2026-04-01 00:28:07 +00:00
ec887da62d chore(deps): update deluan/navidrome docker tag to v0.61.0 (#5344)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 16s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [deluan/navidrome](https://github.com/navidrome/navidrome) | minor | `0.60.3` → `0.61.0` |

---

### Release Notes

<details>
<summary>navidrome/navidrome (deluan/navidrome)</summary>

### [`v0.61.0`](https://github.com/navidrome/navidrome/releases/tag/v0.61.0)

[Compare Source](https://github.com/navidrome/navidrome/compare/v0.60.3...v0.61.0)

This version brings a comprehensive **Artwork overhaul**, with per-disc cover art, artist image uploads, animated image preservation, and a faster image pipeline powered by WebP encoding. You can now upload custom artwork for playlists, artists, and internet radios directly from the UI, and multi-disc albums will automatically pick up disc-specific cover images.

**Search** has been completely rebuilt on top of SQLite FTS5 with two-phase BM25 ranking, delivering faster and more accurate results across your entire library.

**Transcoding** is now fully server-managed: Navidrome detects client codecs, applies format-aware bitrate defaults, and implements the [OpenSubsonic Transcoding extension](https://opensubsonic.netlify.app/docs/extensions/transcoding/), so clients no longer need to guess what format to request.

The **Plugin System** continues to mature with new host services for HTTP requests, persistent task queues, lyrics providers, and key-value storage with TTL support, giving plugin developers more tools to build powerful integrations.

#### Security

- Bump `golang.org/x/image` to v0.38.0 to address CVE-2026-33809. ([#&#8203;5268](https://github.com/navidrome/navidrome/pull/5268))
- Add ownership checks to share Delete and Update operations, preventing unauthorized access to other users' shares. ([#&#8203;5189](https://github.com/navidrome/navidrome/pull/5189) by [@&#8203;deluan](https://github.com/deluan))
- Clear server-managed fields in savePlaylist to prevent field injection via REST API. ([f102036dc](https://github.com/navidrome/navidrome/commit/f102036dc) by [@&#8203;deluan](https://github.com/deluan))

#### ⚠️ Breaking Changes

- Remove built-in Spotify integration. The `Spotify.ID` and `Spotify.Secret` configuration options are no longer supported. Use the Last.fm or Deezer agents, or a plugin for similar functionality, like the new [Apple Music Plugin](https://github.com/navidrome/apple-music-plugin). ([#&#8203;5197](https://github.com/navidrome/navidrome/pull/5197) by [@&#8203;deluan](https://github.com/deluan))

#### Configuration Changes

| Status  | Option                                 | Description                                                                                                                                                                       | Default                                                              |
| ------- | -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- |
| New     | `EnableArtworkUpload`                  | Enable uploading custom artwork for playlists and artists. ([#&#8203;5110](https://github.com/navidrome/navidrome/pull/5110), [#&#8203;5198](https://github.com/navidrome/navidrome/pull/5198)) | `true`                                                               |
| New     | `EnableM3UExternalAlbumArt`            | Enable fetching album art URLs from `#EXTALBUMARTURL` directives in M3U playlists. ([#&#8203;5131](https://github.com/navidrome/navidrome/pull/5131))                                    | `false`                                                              |
| New     | `DiscArtPriority`                      | Priority list for disc-level cover art sources. ([#&#8203;5182](https://github.com/navidrome/navidrome/pull/5182))                                                                       | `disc*.*, cd*.*, cover.*, folder.*, front.*, discsubtitle, embedded` |
| New     | `ArtistImageFolder`                    | Folder name to search for artist images within the library. ([#&#8203;5198](https://github.com/navidrome/navidrome/pull/5198))                                                           | —                                                                    |
| New     | `Search.Backend`                       | Search backend to use (`fts` for FTS5 full-text search). ([#&#8203;5079](https://github.com/navidrome/navidrome/pull/5079))                                                              | `fts`                                                                |
| New     | `ExtAuth.LogoutURL`                    | URL to redirect to when logging out with external authentication. ([#&#8203;5074](https://github.com/navidrome/navidrome/pull/5074))                                                     | `""`                                                                 |
| New     | `Subsonic.AppendAlbumVersion`          | Append album version/edition to album names in Subsonic API responses. ([#&#8203;5111](https://github.com/navidrome/navidrome/pull/5111))                                                | `true`                                                               |
| New     | `UISearchDebounceMs`                   | Debounce delay for the UI search field. ([#&#8203;5079](https://github.com/navidrome/navidrome/pull/5079))                                                                               | —                                                                    |
| Changed | `CoverJpegQuality` → `CoverArtQuality` | Renamed for clarity. Old name still works. ([#&#8203;5181](https://github.com/navidrome/navidrome/pull/5181))                                                                            | `75`                                                                 |
| CHanged | `SearchFullString`                     | Use `Search.FullString` instead. ([#&#8203;5079](https://github.com/navidrome/navidrome/pull/5079))                                                                                      | —                                                                    |
| Removed | `Spotify.ID`, `Spotify.Secret`         | Spotify integration has been removed. ([#&#8203;5197](https://github.com/navidrome/navidrome/pull/5197))                                                                                 | —                                                                    |

For a complete list of all configuration options, see the [Configuration Options](https://www.navidrome.org/docs/usage/configuration-options/) documentation.

#### Artwork

- Add per-disc cover art support, with configurable `DiscArtPriority`. ([#&#8203;5182](https://github.com/navidrome/navidrome/pull/5182) by [@&#8203;deluan](https://github.com/deluan))
- Add artist image uploads and image-folder artwork source. ([#&#8203;5198](https://github.com/navidrome/navidrome/pull/5198) by [@&#8203;deluan](https://github.com/deluan))
- Preserve animated image artwork (GIF, APNG, animated WebP) during resize. ([#&#8203;5184](https://github.com/navidrome/navidrome/pull/5184) by [@&#8203;deluan](https://github.com/deluan))
- Improve image serving performance with WebP encoding and optimized pipeline. ([#&#8203;5181](https://github.com/navidrome/navidrome/pull/5181) by [@&#8203;deluan](https://github.com/deluan))
- Increase cover art size to 600px and use CatmullRom scaling for sharper images. ([cb396f3db](https://github.com/navidrome/navidrome/commit/cb396f3db) by [@&#8203;deluan](https://github.com/deluan))
- Fallback mediafile cover art to disc artwork before album. ([#&#8203;5216](https://github.com/navidrome/navidrome/pull/5216) by [@&#8203;deluan](https://github.com/deluan))
- Refresh stale artist image URLs on expiry. ([#&#8203;5267](https://github.com/navidrome/navidrome/pull/5267) by [@&#8203;deluan](https://github.com/deluan))
- Validate ffmpeg pipe before returning in cover art fallback. ([420d2c8e5](https://github.com/navidrome/navidrome/commit/420d2c8e5) by [@&#8203;deluan](https://github.com/deluan))
- Search parent folders for album cover art in multi-disc layouts. ([#&#8203;5157](https://github.com/navidrome/navidrome/pull/5157) by [@&#8203;deluan](https://github.com/deluan))

#### UI

- Add custom playlist cover art upload. ([#&#8203;5110](https://github.com/navidrome/navidrome/pull/5110) by [@&#8203;adrbn](https://github.com/adrbn))
- Add cover art support for internet radio stations. ([#&#8203;5229](https://github.com/navidrome/navidrome/pull/5229) by [@&#8203;deluan](https://github.com/deluan))
- Add Dracula theme. ([#&#8203;5023](https://github.com/navidrome/navidrome/pull/5023) by [@&#8203;Saulimedes](https://github.com/Saulimedes))
- Add Nutball theme. ([#&#8203;4544](https://github.com/navidrome/navidrome/pull/4544) by [@&#8203;cafecitopuro](https://github.com/cafecitopuro))
- Add tooltips for long playlist and album names. ([#&#8203;5070](https://github.com/navidrome/navidrome/pull/5070) by [@&#8203;sfredo](https://github.com/sfredo))
- Add download link for config TOML and disable clipboard copy when unavailable. ([#&#8203;5035](https://github.com/navidrome/navidrome/pull/5035) by [@&#8203;kgarner7](https://github.com/kgarner7))
- Add `path` field as optional column in library list for desktop view. ([4e34d3ac1](https://github.com/navidrome/navidrome/commit/4e34d3ac1) by [@&#8203;deluan](https://github.com/deluan))
- Integrate server-managed transcoding decisions into web player. ([#&#8203;5155](https://github.com/navidrome/navidrome/pull/5155) by [@&#8203;deluan](https://github.com/deluan))
- Improve browser codec detection. ([#&#8203;5171](https://github.com/navidrome/navidrome/pull/5171) by [@&#8203;deluan](https://github.com/deluan))
- Allow `DefaultTheme="Auto"` from config. ([#&#8203;5190](https://github.com/navidrome/navidrome/pull/5190) by [@&#8203;trek-e](https://github.com/trek-e))
- Fix search focus after clearing search field. ([#&#8203;4932](https://github.com/navidrome/navidrome/pull/4932) by [@&#8203;borisrorsvort](https://github.com/borisrorsvort))
- Fix "Play Next" from restarting playback at top of queue. ([#&#8203;5049](https://github.com/navidrome/navidrome/pull/5049) by [@&#8203;alannnna](https://github.com/alannnna))
- Fix toggle switches not visible in Gruvbox Dark theme. ([#&#8203;5064](https://github.com/navidrome/navidrome/pull/5064) by [@&#8203;deluan](https://github.com/deluan))
- Fix delete button contrast in AMusic theme. ([51c48bcac](https://github.com/navidrome/navidrome/commit/51c48bcac) by [@&#8203;deluan](https://github.com/deluan))
- Cancel in-flight image requests on pagination, cache across remounts. ([#&#8203;5249](https://github.com/navidrome/navidrome/pull/5249) by [@&#8203;deluan](https://github.com/deluan))
- Prevent mobile touch events from triggering playback after lightbox close. ([197d357f0](https://github.com/navidrome/navidrome/commit/197d357f0) by [@&#8203;deluan](https://github.com/deluan))
- Prevent duplicate getCoverArt requests on artist page. ([549b81263](https://github.com/navidrome/navidrome/commit/549b81263) by [@&#8203;deluan](https://github.com/deluan))

#### Search

- Implement FTS5-based full-text search for faster and more accurate results. ([#&#8203;5079](https://github.com/navidrome/navidrome/pull/5079) by [@&#8203;deluan](https://github.com/deluan))
- Improve FTS queries with two-phase BM25 ranking for Subsonic's `search3` endpoint. ([#&#8203;5086](https://github.com/navidrome/navidrome/pull/5086) by [@&#8203;deluan](https://github.com/deluan))

#### Transcoding

- Implement server-managed transcoding. ([#&#8203;4990](https://github.com/navidrome/navidrome/pull/4990) by [@&#8203;deluan](https://github.com/deluan))
- Add player MaxBitRate cap, format-aware defaults, and browser profile filtering. ([#&#8203;5165](https://github.com/navidrome/navidrome/pull/5165) by [@&#8203;deluan](https://github.com/deluan))
- Improve transcoding failure diagnostics and error responses. ([#&#8203;5227](https://github.com/navidrome/navidrome/pull/5227) by [@&#8203;deluan](https://github.com/deluan))
- Use ADTS for AAC transcoding. ([#&#8203;5167](https://github.com/navidrome/navidrome/pull/5167) by [@&#8203;deluan](https://github.com/deluan))
- Implement fallback to DefaultDownsamplingFormat for unknown formats. ([5ecbe31a0](https://github.com/navidrome/navidrome/commit/5ecbe31a0) by [@&#8203;deluan](https://github.com/deluan))
- Prevent raw file being returned when explicit transcode format is requested. ([053a0fd6c](https://github.com/navidrome/navidrome/commit/053a0fd6c) by [@&#8203;deluan](https://github.com/deluan))

#### Subsonic API

- Implement OpenSubsonic `transcoding` extension. ([#&#8203;4990](https://github.com/navidrome/navidrome/pull/4990) by [@&#8203;deluan](https://github.com/deluan))
- Append album version to names in Subsonic API responses. ([#&#8203;5111](https://github.com/navidrome/navidrome/pull/5111) by [@&#8203;deluan](https://github.com/deluan))
- Add coverArt to internetRadioStation response. ([03608d3ee](https://github.com/navidrome/navidrome/commit/03608d3ee) by [@&#8203;deluan](https://github.com/deluan))
- Add per-disc cover art support. ([#&#8203;5182](https://github.com/navidrome/navidrome/pull/5182) by [@&#8203;deluan](https://github.com/deluan))
- Never omit duration for AlbumID3. ([#&#8203;5217](https://github.com/navidrome/navidrome/pull/5217) by [@&#8203;kgarner7](https://github.com/kgarner7))
- Always return required playqueue fields. ([#&#8203;5172](https://github.com/navidrome/navidrome/pull/5172) by [@&#8203;kgarner7](https://github.com/kgarner7))
- Always include mandatory title field in Child responses. ([a887521d7](https://github.com/navidrome/navidrome/commit/a887521d7) by [@&#8203;deluan](https://github.com/deluan))
- Restore `public` attribute for playlists in XML responses. ([0c3cc8653](https://github.com/navidrome/navidrome/commit/0c3cc8653) by [@&#8203;deluan](https://github.com/deluan))

#### Scanner

- Add MKA/Matroska audio file support via TagLib 2.2. ([#&#8203;5071](https://github.com/navidrome/navidrome/pull/5071) by [@&#8203;deluan](https://github.com/deluan))
- Exclude Vorbis VERSION from albumversion tag mapping. ([#&#8203;5194](https://github.com/navidrome/navidrome/pull/5194) by [@&#8203;trek-e](https://github.com/trek-e))
- Widen WASM panic recovery to cover tag/property reading. ([#&#8203;5223](https://github.com/navidrome/navidrome/pull/5223) by [@&#8203;deluan](https://github.com/deluan))
- Prevent duplicate tracks when multiple missing files match same target. ([#&#8203;5183](https://github.com/navidrome/navidrome/pull/5183) by [@&#8203;deluan](https://github.com/deluan))
- Prevent ScanOnStartup when scanner is disabled. ([1cf3fd916](https://github.com/navidrome/navidrome/commit/1cf3fd916) by [@&#8203;deluan](https://github.com/deluan))
- Increase watcher channel buffers to prevent dropped filesystem events. ([0790f6662](https://github.com/navidrome/navidrome/commit/0790f6662) by [@&#8203;deluan](https://github.com/deluan))

#### Playlists / Smart Playlists

- Support `#EXTALBUMARTURL` directive and sidecar images for playlist cover art. ([#&#8203;5131](https://github.com/navidrome/navidrome/pull/5131) by [@&#8203;deluan](https://github.com/deluan))
- Add percentage-based limits to smart playlists. ([#&#8203;5144](https://github.com/navidrome/navidrome/pull/5144) by [@&#8203;deluan](https://github.com/deluan))
- Make album and artist fields available to smart playlist queries. ([#&#8203;4927](https://github.com/navidrome/navidrome/pull/4927) by [@&#8203;ulfurinn](https://github.com/ulfurinn))
- Add `averageRating` as a smart playlist field. ([#&#8203;5092](https://github.com/navidrome/navidrome/pull/5092) by [@&#8203;Lokke](https://github.com/Lokke))

#### Server

- Add ExtAuth logout URL configuration. ([#&#8203;5074](https://github.com/navidrome/navidrome/pull/5074) by [@&#8203;deluan](https://github.com/deluan))
- Accept `ND_`-prefixed environment variable names in config files. ([#&#8203;5258](https://github.com/navidrome/navidrome/pull/5258) by [@&#8203;deluan](https://github.com/deluan))
- Add syslog priority prefixes for systemd-journald. ([#&#8203;5192](https://github.com/navidrome/navidrome/pull/5192) by [@&#8203;trek-e](https://github.com/trek-e))
- Require additional variable to enable systemd logging. ([#&#8203;5222](https://github.com/navidrome/navidrome/pull/5222) by [@&#8203;kgarner7](https://github.com/kgarner7))
- Add crontab(5) random `~` syntax support for schedule expressions. ([#&#8203;5233](https://github.com/navidrome/navidrome/pull/5233) by [@&#8203;deluan](https://github.com/deluan))
- Preserve `created_at` when moving songs between libraries. ([#&#8203;5055](https://github.com/navidrome/navidrome/pull/5055) by [@&#8203;deluan](https://github.com/deluan))
- Increase SSE writeTimeout to exceed keepAlive period. ([#&#8203;5054](https://github.com/navidrome/navidrome/pull/5054) by [@&#8203;rcatolino](https://github.com/rcatolino))
- Use `http.TimeFormat` for Last-Modified header. ([#&#8203;5219](https://github.com/navidrome/navidrome/pull/5219) by [@&#8203;SimonTeixidor](https://github.com/SimonTeixidor))
- Return correct scanType in startScan response. ([#&#8203;5159](https://github.com/navidrome/navidrome/pull/5159) by [@&#8203;deluan](https://github.com/deluan))
- Return 404 instead of 500 for non-existent playlists. ([b64d8ad33](https://github.com/navidrome/navidrome/commit/b64d8ad33) by [@&#8203;deluan](https://github.com/deluan))
- Normalize timestamps and fix recently added album sorting. ([#&#8203;5176](https://github.com/navidrome/navidrome/pull/5176) by [@&#8203;deluan](https://github.com/deluan))

#### Plugins

- Add HTTP host service for plugin HTTP requests. ([#&#8203;5095](https://github.com/navidrome/navidrome/pull/5095) by [@&#8203;deluan](https://github.com/deluan))
- Add TaskQueue host service for persistent background task queues. ([#&#8203;5116](https://github.com/navidrome/navidrome/pull/5116) by [@&#8203;deluan](https://github.com/deluan))
- Add lyrics provider plugin capability. ([#&#8203;5126](https://github.com/navidrome/navidrome/pull/5126) by [@&#8203;deluan](https://github.com/deluan))
- Add TTL support, batch operations, and hardening to kvstore. ([#&#8203;5127](https://github.com/navidrome/navidrome/pull/5127) by [@&#8203;deluan](https://github.com/deluan))
- Allow mounting library directories as read-write. ([#&#8203;5122](https://github.com/navidrome/navidrome/pull/5122) by [@&#8203;deluan](https://github.com/deluan))
- Change websockets Data field type to `[]byte` for binary support. ([6fd044fb0](https://github.com/navidrome/navidrome/commit/6fd044fb0) by [@&#8203;deluan](https://github.com/deluan))
- Clear plugin errors on startup to allow retrying. ([27a83547f](https://github.com/navidrome/navidrome/commit/27a83547f) by [@&#8203;deluan](https://github.com/deluan))

#### Translations

- Add Slovak language translation. ([#&#8203;5231](https://github.com/navidrome/navidrome/pull/5231) by [@&#8203;JRoshthen1](https://github.com/JRoshthen1))
- Update Chinese Simplified translation. ([#&#8203;5025](https://github.com/navidrome/navidrome/pull/5025) by [@&#8203;fxj368](https://github.com/fxj368))
- Update Basque translation. ([#&#8203;5038](https://github.com/navidrome/navidrome/pull/5038) by [@&#8203;xabirequejo](https://github.com/xabirequejo))
- Update Hungarian translation. ([#&#8203;5041](https://github.com/navidrome/navidrome/pull/5041), [#&#8203;5263](https://github.com/navidrome/navidrome/pull/5263) by [@&#8203;ChekeredList71](https://github.com/ChekeredList71))
- Update Bulgarian, Catalan, Danish, German, Greek, Spanish, Finnish, French, Galician, Portuguese (BR), Russian, Slovenian, Swedish, Thai, Ukrainian, Chinese (Traditional) translations. ([#&#8203;5044](https://github.com/navidrome/navidrome/pull/5044), [#&#8203;5039](https://github.com/navidrome/navidrome/pull/5039), [#&#8203;5218](https://github.com/navidrome/navidrome/pull/5218), [#&#8203;5260](https://github.com/navidrome/navidrome/pull/5260))

#### New Contributors

- [@&#8203;cafecitopuro](https://github.com/cafecitopuro) made their first contribution in [#&#8203;4544](https://github.com/navidrome/navidrome/pull/4544)
- [@&#8203;Saulimedes](https://github.com/Saulimedes) made their first contribution in [#&#8203;5023](https://github.com/navidrome/navidrome/pull/5023)
- [@&#8203;fxj368](https://github.com/fxj368) made their first contribution in [#&#8203;5025](https://github.com/navidrome/navidrome/pull/5025)
- [@&#8203;rcatolino](https://github.com/rcatolino) made their first contribution in [#&#8203;5054](https://github.com/navidrome/navidrome/pull/5054)
- [@&#8203;sfredo](https://github.com/sfredo) made their first contribution in [#&#8203;5070](https://github.com/navidrome/navidrome/pull/5070)
- [@&#8203;adrbn](https://github.com/adrbn) made their first contribution in [#&#8203;5110](https://github.com/navidrome/navidrome/pull/5110)
- [@&#8203;trek-e](https://github.com/trek-e) made their first contribution in [#&#8203;5190](https://github.com/navidrome/navidrome/pull/5190)
- [@&#8203;SimonTeixidor](https://github.com/SimonTeixidor) made their first contribution in [#&#8203;5219](https://github.com/navidrome/navidrome/pull/5219)
- [@&#8203;JRoshthen1](https://github.com/JRoshthen1) made their first contribution in [#&#8203;5231](https://github.com/navidrome/navidrome/pull/5231)

**Full Changelog**: <https://github.com/navidrome/navidrome/compare/v0.60.3...v0.61.0>

#### Helping out

This release is only possible thanks to the support of some **awesome people**!

Want to be one of them?
You can [sponsor](https://github.com/sponsors/deluan), pay me a [Ko-fi](https://ko-fi.com/deluan), or [contribute with code](https://www.navidrome.org/docs/developers/).

#### Where to go next?

- Read installation instructions on our [website](https://www.navidrome.org/docs/installation/).
- Host Navidrome on [PikaPods](https://www.pikapods.com/pods/navidrome) for a simple cloud solution.
- Reach out on [Discord](https://discord.gg/xh7j7yF), [Reddit](https://www.reddit.com/r/navidrome/) and [Twitter](https://twitter.com/navidrome)!

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

Reviewed-on: #5344
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-04-01 00:27:12 +00:00
0708cc3809 tmp/refactor-14 (#5345)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 1m36s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
Reviewed-on: #5345
2026-04-01 00:17:29 +00:00
67 changed files with 330 additions and 342 deletions

View File

@@ -13,7 +13,7 @@ on:
jobs:
renovate:
runs-on: ubuntu-latest
container: ghcr.io/renovatebot/renovate:43.102.1@sha256:929ac56e34491346a313a2a16e71fdcc11ee41c6401f4179dcf13774d7f83931
container: ghcr.io/renovatebot/renovate:43.102.10@sha256:609138c49dc12303e2bff021c75f2fccb6ceeac1e6d0cd7c4e9d04392eb66419
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6

View File

@@ -39,7 +39,6 @@ actual:
http:
port: 80
targetPort: 5006
protocol: HTTP
route:
main:
kind: HTTPRoute

View File

@@ -49,11 +49,9 @@ audiobookshelf:
http:
port: 80
targetPort: 80
protocol: HTTP
apprise:
port: 8000
targetPort: 8000
protocol: HTTP
serviceMonitor:
main:
selector:

View File

@@ -31,7 +31,6 @@ backrest:
http:
port: 80
targetPort: 9898
protocol: TCP
serviceMonitor:
main:
selector:

View File

@@ -35,7 +35,6 @@ bazarr:
http:
port: 80
targetPort: 6767
protocol: HTTP
route:
main:
kind: HTTPRoute

View File

@@ -1,6 +1,6 @@
dependencies:
- name: cilium
repository: https://helm.cilium.io/
version: 1.18.6
digest: sha256:8ea328ac238524b5b423e6289f5e25d05ef64e6aa19cfd5de238f1d5dd533e9b
generated: "2026-02-05T12:00:20.15778-06:00"
version: 1.19.2
digest: sha256:11f8eef4733b70c2b9a91ce39fe3c1ea1ad3fa3c46750efb015e03ff6ea3655b
generated: "2026-04-02T01:44:47.425451218Z"

View File

@@ -14,8 +14,8 @@ maintainers:
- name: alexlebens
dependencies:
- name: cilium
version: 1.18.6
version: 1.19.2
repository: https://helm.cilium.io/
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/cilium.png
# renovate: datasource=github-releases depName=cilium/cilium
appVersion: 1.18.6
appVersion: 1.19.2

View File

@@ -1,9 +1,9 @@
dependencies:
- name: cloudnative-pg
repository: https://cloudnative-pg.io/charts/
version: 0.27.1
version: 0.28.0
- name: plugin-barman-cloud
repository: https://cloudnative-pg.io/charts/
version: 0.5.0
digest: sha256:e7089ffd089cae87529e28f0e71302b9fc4a869b389cbb6628f1c559644a3a10
generated: "2026-02-05T19:36:19.473447121Z"
digest: sha256:3e9b26d00fdb61af60f003bcb327e05d02799eb6088e30aaabd01c49c6021aac
generated: "2026-04-01T20:05:40.198140255Z"

View File

@@ -17,11 +17,11 @@ maintainers:
- name: alexlebens
dependencies:
- name: cloudnative-pg
version: 0.27.1
version: 0.28.0
repository: https://cloudnative-pg.io/charts/
- name: plugin-barman-cloud
version: 0.5.0
repository: https://cloudnative-pg.io/charts/
icon: https://raw.githubusercontent.com/cloudnative-pg/cloudnative-pg.github.io/refs/heads/main/assets/images/hero_image.png
# renovate: datasource=github-releases depName=cloudnative-pg/cloudnative-pg
appVersion: 1.28.1
appVersion: 1.29.0

View File

@@ -12,7 +12,7 @@ code-server:
main:
image:
repository: ghcr.io/linuxserver/code-server
tag: 4.112.0@sha256:4bb5b8ad22268001687c047f0f04933799fb03df1eb0e1e266ba15ed2d9f4e8b
tag: 4.112.0-ls325@sha256:a17ee95f4e1b43284fe5dfea99e82c8a26f096534215ff36817fa80161eec220
env:
- name: TZ
value: America/Chicago
@@ -36,7 +36,6 @@ code-server:
http:
port: 8443
targetPort: 8443
protocol: HTTP
route:
main:
kind: HTTPRoute

View File

@@ -211,11 +211,9 @@ dawarich:
http:
port: 80
targetPort: 3000
protocol: TCP
metrics:
port: 9394
targetPort: 9394
protocol: TCP
serviceMonitor:
main:
selector:

View File

@@ -1,5 +1,8 @@
democratic-csi:
driver:
image:
registry: ghcr.io/democratic-csi/democratic-csi
tag: v1.9.5@@sha256:fc3b7d7ed3a616714139525075312758e23a5d425ffb539ad12c9bd20fb6001f
existingConfigSecret: synology-iscsi-config-secret
config:
driver: synology-iscsi
@@ -10,7 +13,23 @@ democratic-csi:
csiDriver:
name: "org.democratic-csi.iscsi-synology"
controller:
replicaCount: 2
replicaCount: 3
externalAttacher:
image:
registry: registry.k8s.io/sig-storage/csi-attacher
tag: v4.11.0@sha256:b74b05b39501565022883fc128002b4cb857a7bb6c858606bcb3fdedba0b0b80
externalProvisioner:
image:
registry: registry.k8s.io/sig-storage/csi-provisioner
tag: v3.6.4@sha256:e7ad666f1d9b0caa077c7f0c157c9f87d1e73858390732496f66dcc716ff10c5
externalResizer:
image:
registry: registry.k8s.io/sig-storage/csi-resizer
tag: v1.9.4@sha256:522911ef68bd2c5c17d90fb2a6d2b2fb72ae790f2c1463a466b4262a07fdbf5a
externalSnapshotter:
image:
registry: registry.k8s.io/sig-storage/csi-snapshotter
tag: v8.5.0@sha256:da081c27e8a6d91f36042c1942362d0515ced8d06e18c11b8f893e58c4d6d797
storageClasses:
- name: synology-iscsi-delete
defaultClass: false
@@ -36,3 +55,7 @@ democratic-csi:
value: /usr/local/sbin/iscsiadm
iscsiDirHostPath: /var/iscsi
iscsiDirHostPathType: ""
driverRegistrar:
image:
registry: registry.k8s.io/sig-storage/csi-node-driver-registrar
tag: v2.16.0@sha256:ab482308a4921e28a6df09a16ab99a457e9af9641ff44fb1be1a690d07ce8b70

View File

@@ -151,7 +151,6 @@ directus:
http:
port: 80
targetPort: 8055
protocol: TCP
serviceMonitor:
main:
selector:

View File

@@ -1,6 +1,6 @@
dependencies:
- name: eck-operator
repository: https://helm.elastic.co
version: 3.3.1
digest: sha256:8585f3ea3e4cafc4ff2969ea7e797017b7cfe4becb3385f0b080725908c02f09
generated: "2026-02-25T18:48:55.77034549Z"
version: 3.3.2
digest: sha256:ac7a849a6d8244ef56c11f18438c4c76133f92d245228c5a1c8369d42562c177
generated: "2026-04-01T21:30:02.975920565Z"

View File

@@ -14,7 +14,7 @@ maintainers:
- name: alexlebens
dependencies:
- name: eck-operator
version: 3.3.1
version: 3.3.2
repository: https://helm.elastic.co
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/elastic.png
# renovate: datasource=github-releases depName=elastic/cloud-on-k8s

View File

@@ -25,7 +25,6 @@ excalidraw:
http:
port: 80
targetPort: 80
protocol: HTTP
route:
main:
kind: HTTPRoute

View File

@@ -36,7 +36,6 @@ foldergram:
http:
port: 80
targetPort: 4141
protocol: HTTP
route:
main:
kind: HTTPRoute

View File

@@ -87,7 +87,6 @@ freshrss:
http:
port: 80
targetPort: 80
protocol: HTTP
persistence:
data:
forceRename: freshrss-data

View File

@@ -212,19 +212,15 @@ garage:
s3:
port: 3900
targetPort: 3900
protocol: HTTP
rpc:
port: 3901
targetPort: 3901
protocol: HTTP
web:
port: 3902
targetPort: 3902
protocol: HTTP
admin:
port: 3903
targetPort: 3903
protocol: HTTP
server-2:
forceRename: garage-2
controller: server-2
@@ -232,19 +228,15 @@ garage:
s3:
port: 3900
targetPort: 3900
protocol: HTTP
rpc:
port: 3901
targetPort: 3901
protocol: HTTP
web:
port: 3902
targetPort: 3902
protocol: HTTP
admin:
port: 3903
targetPort: 3903
protocol: HTTP
server-3:
forceRename: garage-3
controller: server-3
@@ -252,26 +244,21 @@ garage:
s3:
port: 3900
targetPort: 3900
protocol: HTTP
rpc:
port: 3901
targetPort: 3901
protocol: HTTP
web:
port: 3902
targetPort: 3902
protocol: HTTP
admin:
port: 3903
targetPort: 3903
protocol: HTTP
webui:
controller: webui
ports:
webui:
port: 3909
targetPort: 3909
protocol: HTTP
serviceMonitor:
main:
selector:

View File

@@ -4,7 +4,7 @@ dependencies:
version: 12.5.0
- name: actions
repository: https://dl.gitea.com/charts/
version: 0.0.3
version: 0.0.4
- name: meilisearch
repository: https://meilisearch.github.io/meilisearch-kubernetes
version: 0.30.0
@@ -23,5 +23,5 @@ dependencies:
- name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:bbc7c8c9da52c79c8b8cfe93ec75a1df75fd2985e82417e61eae6ba11da52a89
generated: "2026-03-31T18:38:06.461077-05:00"
digest: sha256:a31820970bf7a7e5fa51ff09668238ab5e3b9d4433a71e35d07b779ff632b94c
generated: "2026-04-01T21:57:18.743604859Z"

View File

@@ -30,7 +30,7 @@ dependencies:
- name: actions
alias: gitea-actions
repository: https://dl.gitea.com/charts/
version: 0.0.3
version: 0.0.4
- name: meilisearch
version: 0.30.0
repository: https://meilisearch.github.io/meilisearch-kubernetes

View File

@@ -191,8 +191,8 @@ meilisearch:
size: 5Gi
resources:
requests:
cpu: 1m
memory: 160Mi
cpu: 10m
memory: 150Mi
serviceMonitor:
enabled: true
postgres-18-cluster:

View File

@@ -1,4 +1,9 @@
grafana-operator:
image:
registry: ghcr.io
repository: grafana/grafana-operator
# renovate: datasource=docker depName=ghcr.io/grafana/grafana-operator
tag: v5.22.2@sha256:d45fc24e8f43d83286d81625ee8d919d0fc88255a6500b63f68d7966a4f9e9af
replicas: 2
resources:
requests:

View File

@@ -44,7 +44,6 @@ grimmory:
http:
port: 80
targetPort: 6060
protocol: HTTP
route:
main:
kind: HTTPRoute

View File

@@ -24,4 +24,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/home-assistant.png
# renovate: datasource=github-releases depName=home-assistant/core
appVersion: 2026.3.4
appVersion: 2026.4.0

View File

@@ -12,7 +12,7 @@ home-assistant:
main:
image:
repository: ghcr.io/home-assistant/home-assistant
tag: 2026.3.4@sha256:916682086154a7390114a9788782b8efb199852d4f7d47066722c2bc5d1829e6
tag: 2026.4.0@sha256:7fbf6a5e006e889d7799476ad7646bd18e9dc73e8a4ccd9326b41798de6bb3bf
env:
- name: TZ
value: America/Chicago
@@ -23,7 +23,7 @@ home-assistant:
code-server:
image:
repository: ghcr.io/linuxserver/code-server
tag: 4.112.0@sha256:4bb5b8ad22268001687c047f0f04933799fb03df1eb0e1e266ba15ed2d9f4e8b
tag: 4.112.0-ls325@sha256:a17ee95f4e1b43284fe5dfea99e82c8a26f096534215ff36817fa80161eec220
env:
- name: TZ
value: America/Chicago
@@ -43,14 +43,12 @@ home-assistant:
http:
port: 80
targetPort: 8123
protocol: TCP
code-server:
controller: main
ports:
http:
port: 8443
targetPort: 8443
protocol: HTTP
serviceMonitor:
main:
selector:

View File

@@ -5,7 +5,7 @@ description: Homepage
keywords:
- homepage
- dashboard
home: https://wiki.alexlebens.dev/s/a5fabd91-3d89-4e2b-9417-06111aedaeaa
home: https://docs.alexlebens.dev/applications/homepage/
sources:
- https://github.com/gethomepage/homepage
- https://github.com/gethomepage/homepage/pkgs/container/homepage
@@ -19,4 +19,4 @@ dependencies:
version: 4.6.2
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/homepage.png
# renovate: datasource=github-releases depName=gethomepage/homepage
appVersion: v1.12.2
appVersion: v1.12.3

View File

@@ -14,120 +14,69 @@ spec:
data:
- secretKey: HOMEPAGE_VAR_GITEA_API_TOKEN
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/gitea/auth/homepage
metadataPolicy: None
property: token
- secretKey: HOMEPAGE_VAR_ARGOCD_API_TOKEN
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/argocd/credentials/homepage
metadataPolicy: None
property: token
- secretKey: HOMEPAGE_VAR_KOMODO_API_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/komodo/homepage
metadataPolicy: None
property: key
- secretKey: HOMEPAGE_VAR_KOMODO_API_SECRET
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/komodo/homepage
metadataPolicy: None
property: secret
- secretKey: HOMEPAGE_VAR_JELLYSTAT_API_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/jellystat/homepage
metadataPolicy: None
property: key
- secretKey: HOMEPAGE_VAR_SYNOLOGY_USER
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /synology/auth/cl01tl
metadataPolicy: None
property: user
- secretKey: HOMEPAGE_VAR_SYNOLOGY_PASSWORD
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /synology/auth/cl01tl
metadataPolicy: None
property: password
- secretKey: HOMEPAGE_VAR_UNIFI_API_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /unifi/auth/cl01tl
metadataPolicy: None
property: api-key
- secretKey: HOMEPAGE_VAR_SONARR_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/sonarr4/key
metadataPolicy: None
property: key
- secretKey: HOMEPAGE_VAR_SONARR4K_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/sonarr4-4k/key
metadataPolicy: None
property: key
- secretKey: HOMEPAGE_VAR_SONARRANIME_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/sonarr4-anime/key
metadataPolicy: None
property: key
- secretKey: HOMEPAGE_VAR_RADARR_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/radarr5/key
metadataPolicy: None
property: key
- secretKey: HOMEPAGE_VAR_RADARR4K_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/radarr5-4k/key
metadataPolicy: None
property: key
- secretKey: HOMEPAGE_VAR_RADARRANIME_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/radarr5-anime/key
metadataPolicy: None
property: key
- secretKey: HOMEPAGE_VAR_RADARRSTANDUP_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/radarr5-standup/key
metadataPolicy: None
property: key
- secretKey: HOMEPAGE_VAR_LIDARR_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/lidarr2/key
metadataPolicy: None
property: key
- secretKey: HOMEPAGE_VAR_PROWLARR_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/prowlarr/key
metadataPolicy: None
property: key

View File

@@ -5,7 +5,7 @@ homepage:
main:
type: deployment
replicas: 1
strategy: RollingUpdate
strategy: Recreate
annotations:
reloader.stakater.com/auto: "true"
serviceAccount:
@@ -16,8 +16,7 @@ homepage:
main:
image:
repository: ghcr.io/gethomepage/homepage
tag: v1.12.2
pullPolicy: IfNotPresent
tag: v1.12.3@sha256:cc84f2f5eb3c7734353701ccbaa24ed02dacb0d119114e50e4251e2005f3990a
env:
- name: HOMEPAGE_ALLOWED_HOSTS
value: home.alexlebens.net
@@ -26,8 +25,8 @@ homepage:
name: homepage-keys-secret
resources:
requests:
cpu: 10m
memory: 256Mi
cpu: 1m
memory: 128Mi
serviceAccount:
homepage:
enabled: true
@@ -57,7 +56,7 @@ homepage:
- Media:
tab: Applications
icon: mdi-multimedia-#ffffff
- Public:
- External:
tab: Applications
icon: mdi-earth-#ffffff
- Internal:
@@ -189,7 +188,7 @@ homepage:
siteMonitor: http://photoview.photoview:80
statusStyle: dot
- Pictures:
icon: https://raw.githubusercontent.com/foldergram/foldergram/refs/heads/main/client/public/icon-512.png
icon: sh-foldergram.webp
description: Foldergram
href: https://foldergram.alexlebens.net
siteMonitor: http://foldergram.foldergram:80
@@ -200,7 +199,7 @@ homepage:
href: https://grimmory.alexlebens.net
siteMonitor: http://grimmory.grimmory:80
statusStyle: dot
- Public:
- External:
- Site:
icon: https://web-assets-3bfcb5585cbd63dc365d32a3.nyc3.cdn.digitaloceanspaces.com/alexlebens-net/logo-new-round.png
description: Profile Website
@@ -323,7 +322,7 @@ homepage:
siteMonitor: http://excalidraw.excalidraw:80
statusStyle: dot
- Code:
- Code (Public):
- Code (External):
icon: sh-gitea.webp
description: Gitea
href: https://gitea.alexlebens.dev
@@ -345,13 +344,13 @@ homepage:
href: https://gitea.alexlebens.net
siteMonitor: https://gitea.alexlebens.net
statusStyle: dot
- Code (ps10rp):
- Code (Remote):
icon: sh-gitea.webp
description: Gitea
href: https://gitea-ps10rp.boreal-beaufort.ts.net
siteMonitor: https://gitea-ps10rp.boreal-beaufort.ts.net
statusStyle: dot
- IDE (Public):
- IDE (External):
icon: sh-visual-studio-code.webp
description: VS Code
href: https://codeserver.alexlebens.dev
@@ -469,25 +468,31 @@ homepage:
query: prometheus_tsdb_storage_blocks_bytes
format:
type: bytes
- Jellystat:
- Jellyfin Monitor:
icon: sh-jellystat.webp
description: Jellyfin Monitoring
description: Jellystat
href: https://jellystat.alexlebens.net
siteMonitor: http://jellystat.jellystat:80
statusStyle: dot
- MediaLyze:
- Media Library Statistics:
icon: https://raw.githubusercontent.com/frederikemmer/MediaLyze/d8f69c0628bac7c047b90f91a66341648029c273/frontend/public/favicon.svg
description: Jellyfin Media Monitoring
description: MediaLyze
href: https://medialyze.alexlebens.net
siteMonitor: http://medialyze.medialyze:80
statusStyle: dot
- Services:
- Auth (Public):
- Auth (External):
icon: sh-authentik.webp
description: Authentik
href: https://auth.alexlebens.dev
siteMonitor: https://auth.alexlebens.dev
statusStyle: dot
namespace: authentik
app: authentik
podSelector: >-
app.kubernetes.io/instance in (
authentik
)
- Auth (Local):
icon: sh-authentik.webp
description: Authentik
@@ -500,18 +505,36 @@ homepage:
href: https://stalwart.alexlebens.net
siteMonitor: http://stalwart.stalwart:80
statusStyle: dot
namespace: stalwart
app: stalwart
podSelector: >-
app.kubernetes.io/instance in (
stalwart
)
- Notifications:
icon: sh-ntfy.webp
description: ntfy
href: https://ntfy.alexlebens.net
siteMonitor: http://ntfy.ntfy:80
statusStyle: dot
namespace: ntfy
app: ntfy
podSelector: >-
app.kubernetes.io/instance in (
ntfy
)
- Reverse Proxy:
icon: sh-traefik.webp
description: Traefik
href: https://traefik-cl01tl.alexlebens.net/dashboard/#/
siteMonitor: https://traefik-cl01tl.alexlebens.net/dashboard/#/
statusStyle: dot
namespace: traefik
app: traefik
podSelector: >-
app.kubernetes.io/name in (
traefik
)
widget:
type: traefik
url: https://traefik-cl01tl.alexlebens.net
@@ -521,8 +544,14 @@ homepage:
href: https://harbor.alexlebens.net
siteMonitor: http://harbor-portal.harbor:80
statusStyle: dot
namespace: harbor
app: harbor
podSelector: >-
app.kubernetes.io/instance in (
harbor
)
- Hardware:
- Network Management (alexlebens.net):
- Network Management (Local):
icon: sh-ubiquiti-unifi.webp
description: Unifi
href: https://unifi.alexlebens.net
@@ -575,13 +604,22 @@ homepage:
href: https://ceph.alexlebens.net
siteMonitor: http://rook-ceph-mgr-dashboard.rook-ceph:7000
statusStyle: dot
- Object Storage (NAS):
namespace: rook-ceph
app: rook-ceph
podSelector: ""
- Object Storage (Local):
icon: sh-garage.webp
description: Garage
href: https://garage-webui.alexlebens.net
siteMonitor: http://garage-webui.garage:3909
statusStyle: dot
- Object Storage (ps10rp):
namespace: garage
app: garage
podSelector: >-
app.kubernetes.io/instance in (
garage
)
- Object Storage (Remote):
icon: sh-garage.webp
description: Garage
href: https://garage-ui-ps10rp.boreal-beaufort.ts.net
@@ -599,12 +637,24 @@ homepage:
href: https://vault.alexlebens.net
siteMonitor: http://vault.vault:8200
statusStyle: dot
namespace: vault
app: vault
podSelector: >-
app.kubernetes.io/instance in (
vault
)
- Backups:
icon: sh-backrest-light.webp
description: Backrest
href: https://backrest.alexlebens.net
siteMonitor: http://backrest.backrest:80
statusStyle: dot
namespace: backrest
app: backrest
podSelector: >-
app.kubernetes.io/instance in (
backrest
)
widget:
type: backrest
url: http://backrest.backrest:80
@@ -615,6 +665,12 @@ homepage:
href: https://qui.alexlebens.net
siteMonitor: http://qbittorrent-qui.qbittorrent:80
statusStyle: dot
namespace: qbittorrent
app: qbittorrent
podSelector: >-
app.kubernetes.io/instance in (
qbittorrent
)
widget:
type: qbittorrent
url: http://qbittorrent.qbittorrent:8080
@@ -643,6 +699,12 @@ homepage:
href: https://tdarr.alexlebens.net
siteMonitor: http://tdarr-web.tdarr:8265
statusStyle: dot
namespace: tdarr
app: tdarr
podSelector: >-
app.kubernetes.io/instance in (
tdarr
)
widget:
type: tdarr
url: http://tdarr-web.tdarr:8265
@@ -653,6 +715,12 @@ homepage:
href: https://sonarr.alexlebens.net
siteMonitor: http://sonarr.sonarr:80
statusStyle: dot
namespace: sonarr
app: sonarr
podSelector: >-
app.kubernetes.io/instance in (
sonarr
)
widget:
type: sonarr
url: http://sonarr.sonarr:80
@@ -665,6 +733,12 @@ homepage:
href: https://sonarr-4k.alexlebens.net
siteMonitor: http://sonarr-4k.sonarr-4k:80
statusStyle: dot
namespace: sonarr-4k
app: sonarr-4k
podSelector: >-
app.kubernetes.io/instance in (
sonarr-4k
)
widget:
type: sonarr
url: http://sonarr-4k.sonarr-4k:80
@@ -677,6 +751,12 @@ homepage:
href: https://sonarr-anime.alexlebens.net
siteMonitor: http://sonarr-anime.sonarr-anime:80
statusStyle: dot
namespace: sonarr-anime
app: sonarr-anime
podSelector: >-
app.kubernetes.io/instance in (
sonarr-anime
)
widget:
type: sonarr
url: http://sonarr-anime.sonarr-anime:80
@@ -690,6 +770,12 @@ homepage:
href: https://radarr.alexlebens.net
siteMonitor: http://radarr.radarr:80
statusStyle: dot
namespace: radarr
app: radarr
podSelector: >-
app.kubernetes.io/instance in (
radarr
)
widget:
type: radarr
url: http://radarr.radarr:80
@@ -702,6 +788,12 @@ homepage:
href: https://radarr-4k.alexlebens.net
siteMonitor: http://radarr-4k.radarr-4k:80
statusStyle: dot
namespace: radarr-4k
app: radarr-4k
podSelector: >-
app.kubernetes.io/instance in (
radarr-4k
)
widget:
type: radarr
url: http://radarr-4k.radarr-4k:80
@@ -714,6 +806,12 @@ homepage:
href: https://radarr-anime.alexlebens.net
siteMonitor: http://radarr-anime.radarr-anime:80
statusStyle: dot
namespace: radarr-anime
app: radarr-anime
podSelector: >-
app.kubernetes.io/instance in (
radarr-anime
)
widget:
type: radarr
url: http://radarr-anime.radarr-anime:80
@@ -726,6 +824,12 @@ homepage:
href: https://radarr-standup.alexlebens.net
siteMonitor: http://radarr-standup.radarr-standup:80
statusStyle: dot
namespace: radarr-standup
app: radarr-standup
podSelector: >-
app.kubernetes.io/instance in (
radarr-standup
)
widget:
type: radarr
url: http://radarr-standup.radarr-standup:80
@@ -739,6 +843,12 @@ homepage:
href: https://lidarr.alexlebens.net
siteMonitor: http://lidarr.lidarr:80
statusStyle: dot
namespace: lidarr
app: lidarr
podSelector: >-
app.kubernetes.io/instance in (
lidarr
)
widget:
type: lidarr
url: http://lidarr.lidarr:80
@@ -762,6 +872,12 @@ homepage:
href: https://slskd.alexlebens.net
siteMonitor: http://slskd.slskd:5030
statusStyle: dot
namespace: slskd
app: slskd
podSelector: >-
app.kubernetes.io/instance in (
slskd
)
- Books:
- Shelfmark:
icon: sh-shelfmark.webp
@@ -828,7 +944,6 @@ homepage:
http:
port: 80
targetPort: 3000
protocol: HTTP
route:
main:
kind: HTTPRoute
@@ -841,11 +956,8 @@ homepage:
- home.alexlebens.net
rules:
- backendRefs:
- group: ''
kind: Service
name: homepage
- name: homepage
port: 80
weight: 100
matches:
- path:
type: PathPrefix

View File

@@ -5,10 +5,12 @@ description: Houndarr
keywords:
- houndarr
- servarr
home: https://wiki.alexlebens.dev/s/
home: https://docs.alexlebens.dev/applications/houndarr/
sources:
- https://github.com/av1155/houndarr
- https://github.com/av1155/houndarr/pkgs/container/houndarr
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target
maintainers:
- name: alexlebens
dependencies:
@@ -20,6 +22,6 @@ dependencies:
alias: volsync-target-data
version: 0.8.0
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://raw.githubusercontent.com/av1155/houndarr/main/src/houndarr/static/img/houndarr-logo-dark.png
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/houndarr.png
# renovate: datasource=github-releases depName=av1155/houndarr
appVersion: v1.6.4
appVersion: v1.6.5

View File

@@ -4,13 +4,11 @@ houndarr:
type: deployment
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
containers:
main:
image:
repository: ghcr.io/av1155/houndarr
tag: v1.6.4
pullPolicy: IfNotPresent
tag: v1.6.5@sha256:f3adbd745094919166bafcd9b428738d1087f651b1562adeaba44ff975827d87
env:
- name: TZ
value: America/Chicago
@@ -24,8 +22,8 @@ houndarr:
value: 10.96.0.0/12
resources:
requests:
cpu: 10m
memory: 128Mi
cpu: 1m
memory: 60Mi
service:
main:
controller: main
@@ -33,7 +31,6 @@ houndarr:
http:
port: 80
targetPort: 8877
protocol: HTTP
route:
main:
kind: HTTPRoute
@@ -46,11 +43,8 @@ houndarr:
- houndarr.alexlebens.net
rules:
- backendRefs:
- group: ''
kind: Service
name: houndarr
- name: houndarr
port: 80
weight: 100
matches:
- path:
type: PathPrefix

View File

@@ -4,12 +4,12 @@ dependencies:
version: 4.6.2
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 7.10.0
version: 7.11.1
- name: valkey
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.4.0
version: 0.5.0
- name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:b79ea8c506f0172deed820247a33c79329f34426435c8b5eb27b206ac8831b13
generated: "2026-03-15T20:06:27.091094433Z"
digest: sha256:b52be61811b2c4b8f1ac733be19de51e33540589b71337af99fc97727a1894e8
generated: "2026-04-01T19:49:30.408077-05:00"

View File

@@ -5,12 +5,13 @@ description: Immich
keywords:
- immich
- photos
home: https://wiki.alexlebens.dev/s/9377ae08-2041-4b6d-bc2b-61a4f5e8faae
home: https://docs.alexlebens.dev/applications/immich/
sources:
- https://github.com/immich-app/immich
- https://github.com/cloudnative-pg/cloudnative-pg
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/valkey
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target
maintainers:
- name: alexlebens
dependencies:
@@ -20,11 +21,11 @@ dependencies:
version: 4.6.2
- name: postgres-cluster
alias: postgres-18-cluster
version: 7.10.0
version: 7.11.1
repository: oci://harbor.alexlebens.net/helm-charts
- name: valkey
alias: valkey
version: 0.4.0
version: 0.5.0
repository: oci://harbor.alexlebens.net/helm-charts
- name: volsync-target
alias: volsync-target-data

View File

@@ -14,8 +14,5 @@ spec:
data:
- secretKey: immich.json
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/immich/config
metadataPolicy: None
property: immich.json

View File

@@ -4,16 +4,14 @@ immich:
type: deployment
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
containers:
main:
image:
repository: ghcr.io/immich-app/immich-server
tag: v2.6.3
pullPolicy: IfNotPresent
tag: v2.6.3@sha256:0cc1f82953d9598eb9e9dd11cbde1f50fe54f9c46c4506b089e8ad7bfc9d1f0c
env:
- name: TZ
value: US/Central
value: America/Chicago
- name: IMMICH_TELEMETRY_INCLUDE
value: all
- name: IMMICH_CONFIG_FILE
@@ -87,7 +85,7 @@ immich:
requests:
gpu.intel.com/i915: 1
cpu: 10m
memory: 512Mi
memory: 500Mi
service:
main:
controller: main
@@ -95,15 +93,12 @@ immich:
http:
port: 2283
targetPort: 2283
protocol: TCP
metrics-api:
port: 8081
targetPort: 8081
protocol: TCP
metrics-ms:
port: 8082
targetPort: 8082
protocol: TCP
serviceMonitor:
main:
selector:
@@ -132,11 +127,8 @@ immich:
- immich.alexlebens.net
rules:
- backendRefs:
- group: ''
kind: Service
name: immich
- name: immich
port: 2283
weight: 100
matches:
- path:
type: PathPrefix
@@ -192,35 +184,12 @@ postgres-18-cluster:
destinationBucket: postgres-backups
externalSecretCredentialPath: /garage/home-infra/postgres-backups
isWALArchiver: true
# - name: garage-remote
# index: 1
# destinationBucket: postgres-backups
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
# retentionPolicy: "90d"
# data:
# compression: bzip2
# - name: external
# index: 1
# endpointURL: https://nyc3.digitaloceanspaces.com
# destinationBucket: postgres-backups-ce540ddf106d186bbddca68a
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
# isWALArchiver: false
scheduledBackups:
- name: live-backup
suspend: false
immediate: true
schedule: "0 40 14 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true
# immediate: true
# schedule: "0 0 4 * * SAT"
# backupName: garage-remote
# - name: daily-backup
# suspend: true
# immediate: true
# schedule: "0 0 0 * * *"
# backupName: external
volsync-target-data:
pvcTarget: immich
local:

View File

@@ -4,10 +4,9 @@ version: 1.0.0
description: Intel Device Plugin
keywords:
- intel-device-plugin
- operator
- gpu
- kubernetes
home: https://wiki.alexlebens.dev/s/340746b2-b0ab-4b6b-95eb-323038ecdd35
- operator
home: https://docs.alexlebens.dev/applications/intel-device-plugin/
sources:
- https://github.com/intel/intel-device-plugins-for-kubernetes
- https://github.com/intel/helm-charts/tree/main/charts/device-plugin-operator

View File

@@ -1,6 +1,20 @@
intel-device-plugins-operator:
manager:
image:
hub: intel
# renovate: datasource=docker depName=intel/intel-deviceplugin-operator
tag: 0.35.0@sha256:d7eeac081bd17e58d8d4d542f3cb33d67cc1bdab314b09ad591e8eacb51dd5ec
resources:
limits:
cpu: null
memory: null
requests:
cpu: 10m
memory: 50Mi
intel-device-plugins-gpu:
name: gpudeviceplugin
image:
hub: intel
# renovate: datasource=docker depName=intel/intel-gpu-plugin
tag: 0.35.0
sharedDevNum: 5
nodeSelector:
intel.feature.node.kubernetes.io/gpu: 'true'
nodeFeatureRule: false

View File

@@ -5,18 +5,15 @@ description: Jellyfin
keywords:
- jellyfin
- media
- movies
- tv shows
- books
- music
home: https://wiki.alexlebens.dev/s/a58be5b0-7935-458a-b990-b45223e39d68
home: https://docs.alexlebens.dev/applications/jellyfin/
sources:
- https://github.com/jellyfin/jellyfin
- https://github.com/rebelcore/jellyfin_exporter
- https://github.com/meilisearch/meilisearch
- https://hub.docker.com/r/jellyfin/jellyfin
- https://hub.docker.com/r/rebelcore/jellyfin-exporter
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
- https://github.com/meilisearch/meilisearch-kubernetes/tree/main/charts/meilisearch
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target
maintainers:
- name: alexlebens
dependencies:
@@ -33,4 +30,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/jellyfin.png
# renovate: datasource=github-releases depName=jellyfin/jellyfin
appVersion: 10.11.6
appVersion: 10.11.7

View File

@@ -14,10 +14,7 @@ spec:
data:
- secretKey: token
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/jellyfin/exporter
metadataPolicy: None
property: token
---
@@ -37,8 +34,5 @@ spec:
data:
- secretKey: MEILI_MASTER_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/jellyfin/meilisearch
metadataPolicy: None
property: MEILI_MASTER_KEY

View File

@@ -4,16 +4,25 @@ jellyfin:
type: deployment
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
pod:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- plex
topologyKey: kubernetes.io/hostname
containers:
main:
image:
repository: ghcr.io/jellyfin/jellyfin
tag: 10.11.6
pullPolicy: IfNotPresent
tag: 10.11.7@sha256:2b93aa3830dcd0aab7185c635e20edef1f8dc5d2e999768baf1724e88c078004
env:
- name: TZ
value: US/Central
value: America/Chicago
- name: JELLYFIN_hostwebclient
value: true
- name: JELLYFIN_PublishedServerUrl
@@ -24,12 +33,11 @@ jellyfin:
requests:
gpu.intel.com/i915: 1
cpu: 1
memory: 2Gi
memory: 1Gi
exporter:
image:
repository: rebelcore/jellyfin-exporter
tag: v1.4.0
pullPolicy: IfNotPresent
tag: v1.4.0@sha256:dd35d901df663141025670b4b44a62a178b331e9fa084b17016f6fba46343ce9
args:
- '--jellyfin.address=http://127.0.0.1:8096'
- '--jellyfin.token=$(TOKEN)'
@@ -47,11 +55,9 @@ jellyfin:
http:
port: 80
targetPort: 8096
protocol: HTTP
metrics:
port: 9594
targetPort: 9594
protocol: HTTP
serviceMonitor:
main:
selector:
@@ -77,11 +83,8 @@ jellyfin:
- jellyfin.alexlebens.net
rules:
- backendRefs:
- group: ''
kind: Service
name: jellyfin
- name: jellyfin
port: 80
weight: 100
matches:
- path:
type: PathPrefix
@@ -92,14 +95,16 @@ jellyfin:
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 100Gi
retain: true
advancedMounts:
main:
main:
- path: /config
readOnly: false
cache:
type: emptyDir
forceRename: jellyfin-cache
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 20Gi
advancedMounts:
main:
main:
@@ -126,17 +131,14 @@ meilisearch:
MEILI_EXPERIMENTAL_DUMPLESS_UPGRADE: true
auth:
existingMasterKeySecret: jellyfin-meilisearch-master-key-secret
service:
type: ClusterIP
port: 7700
persistence:
enabled: true
storageClass: local-path
storageClass: ceph-block
size: 5Gi
resources:
requests:
cpu: 10m
memory: 128Mi
memory: 1Gi
serviceMonitor:
enabled: true
volsync-target-config:

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.6.2
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 7.10.0
version: 7.11.1
- name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:f779185ce82045b47fc75bf95c4a8215acbd387f44a4bdb764486406d9b03748
generated: "2026-03-15T20:06:38.720993367Z"
digest: sha256:a5b2ddd5097971d246b0d1f519ffafb662594d9f84ddc854b8eedf8702d2035f
generated: "2026-04-01T19:49:45.674314-05:00"

View File

@@ -5,13 +5,13 @@ description: Jellystat
keywords:
- jellystat
- jellyfin
home: https://wiki.alexlebens.dev/s/d3fd2bf1-d2ab-4e94-a127-ee35f2d90142
home: https://docs.alexlebens.dev/applications/jellystat/
sources:
- https://github.com/CyferShepard/Jellystat
- https://github.com/cloudnative-pg/cloudnative-pg
- https://hub.docker.com/r/cyfershepard/jellystat
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target
maintainers:
- name: alexlebens
dependencies:
@@ -21,7 +21,7 @@ dependencies:
version: 4.6.2
- name: postgres-cluster
alias: postgres-18-cluster
version: 7.10.0
version: 7.11.1
repository: oci://harbor.alexlebens.net/helm-charts
- name: volsync-target
alias: volsync-target-data

View File

@@ -14,22 +14,13 @@ spec:
data:
- secretKey: secret-key
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/jellystat/auth
metadataPolicy: None
property: secret-key
- secretKey: user
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/jellystat/auth
metadataPolicy: None
property: user
- secretKey: password
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/jellystat/auth
metadataPolicy: None
property: password

View File

@@ -4,16 +4,14 @@ jellystat:
type: deployment
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
containers:
main:
image:
repository: cyfershepard/jellystat
tag: 1.1.8
pullPolicy: IfNotPresent
repository: ghcr.io/cyfershepard/jellystat
tag: 1.1.8@sha256:c8c451704ba7985340142cd047e2364cabaf41b613669b6c5340688ed217f82a
env:
- name: TZ
value: US/Central
value: America/Chicago
- name: JWT_SECRET
valueFrom:
secretKeyRef:
@@ -57,7 +55,7 @@ jellystat:
resources:
requests:
cpu: 10m
memory: 256Mi
memory: 400Mi
service:
main:
controller: main
@@ -65,7 +63,6 @@ jellystat:
http:
port: 80
targetPort: 3000
protocol: HTTP
route:
main:
kind: HTTPRoute
@@ -78,11 +75,8 @@ jellystat:
- jellystat.alexlebens.net
rules:
- backendRefs:
- group: ''
kind: Service
name: jellystat
- name: jellystat
port: 80
weight: 100
matches:
- path:
type: PathPrefix
@@ -93,7 +87,6 @@ jellystat:
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 5Gi
retain: true
advancedMounts:
main:
main:
@@ -112,35 +105,12 @@ postgres-18-cluster:
destinationBucket: postgres-backups
externalSecretCredentialPath: /garage/home-infra/postgres-backups
isWALArchiver: true
# - name: garage-remote
# index: 1
# destinationBucket: postgres-backups
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
# retentionPolicy: "90d"
# data:
# compression: bzip2
# - name: external
# index: 1
# endpointURL: https://nyc3.digitaloceanspaces.com
# destinationBucket: postgres-backups-ce540ddf106d186bbddca68a
# externalSecretCredentialPath: /garage/home-infra/postgres-backups
# isWALArchiver: false
scheduledBackups:
- name: live-backup
suspend: false
immediate: true
schedule: "0 45 14 * * *"
backupName: garage-local
# - name: weekly-backup
# suspend: true
# immediate: true
# schedule: "0 0 4 * * SAT"
# backupName: garage-remote
# - name: daily-backup
# suspend: true
# immediate: true
# schedule: "0 0 0 * * *"
# backupName: external
volsync-target-data:
pvcTarget: jellystat-data
local:

View File

@@ -5,15 +5,16 @@ description: Karakeep
keywords:
- karakeep
- bookmarks
home: https://wiki.alexlebens.dev/s/f8177591-8253-4e21-82d5-a556f0aeafad
home: https://docs.alexlebens.dev/applications/karakeep/
sources:
- https://github.com/karakeep-app/karakeep
- https://github.com/cloudflare/cloudflared
- https://github.com/meilisearch/meilisearch
- https://github.com/jlandure/alpine-chrome
- https://github.com/karakeep-app/karakeep/pkgs/container/karakeep
- https://console.cloud.google.com/artifacts/docker/zenika-hub/us/gcr.io/alpine-chrome
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
- https://github.com/meilisearch/meilisearch-kubernetes/tree/main/charts/meilisearch
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/cloudflared
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target
maintainers:
- name: alexlebens
dependencies:

View File

@@ -14,17 +14,11 @@ spec:
data:
- secretKey: key
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/karakeep/key
metadataPolicy: None
property: key
- secretKey: prometheus-token
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/karakeep/key
metadataPolicy: None
property: prometheus-token
---
@@ -44,17 +38,11 @@ spec:
data:
- secretKey: AUTHENTIK_CLIENT_ID
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /authentik/oidc/karakeep
metadataPolicy: None
property: client
- secretKey: AUTHENTIK_CLIENT_SECRET
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /authentik/oidc/karakeep
metadataPolicy: None
property: secret
---
@@ -74,24 +62,15 @@ spec:
data:
- secretKey: ACCESS_KEY_ID
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/karakeep-assets
metadataPolicy: None
property: ACCESS_KEY_ID
- secretKey: ACCESS_SECRET_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/karakeep-assets
metadataPolicy: None
property: ACCESS_SECRET_KEY
- secretKey: ACCESS_REGION
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /garage/home-infra/karakeep-assets
metadataPolicy: None
property: ACCESS_REGION
---
@@ -111,8 +90,5 @@ spec:
data:
- secretKey: MEILI_MASTER_KEY
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/karakeep/meilisearch
metadataPolicy: None
property: MEILI_MASTER_KEY

View File

@@ -4,13 +4,11 @@ karakeep:
type: deployment
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
containers:
main:
image:
repository: ghcr.io/karakeep-app/karakeep
tag: 0.31.0
pullPolicy: IfNotPresent
tag: 0.31.0@sha256:20754dbdafb11dfe288bbb1c2342a7855081b08ea069e86fcf2d4a2d945d3653
env:
- name: DATA_DIR
value: /data
@@ -91,12 +89,11 @@ karakeep:
resources:
requests:
cpu: 10m
memory: 256Mi
memory: 500Mi
chrome:
image:
repository: gcr.io/zenika-hub/alpine-chrome
tag: 124
pullPolicy: IfNotPresent
tag: 124@sha256:1a0046448e0bb6c275c88f86e01faf0de62b02ec8572901256ada0a8c08be23f
args:
- --no-sandbox
- --disable-gpu
@@ -104,10 +101,6 @@ karakeep:
- --remote-debugging-address=0.0.0.0
- --remote-debugging-port=9222
- --hide-scrollbars
resources:
requests:
cpu: 10m
memory: 128Mi
service:
main:
controller: main
@@ -115,11 +108,9 @@ karakeep:
http:
port: 3000
targetPort: 3000
protocol: HTTP
chrome:
port: 9222
targetPort: 9222
protocol: HTTP
serviceMonitor:
main:
selector:
@@ -142,7 +133,6 @@ karakeep:
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 10Gi
retain: true
advancedMounts:
main:
main:
@@ -155,9 +145,6 @@ meilisearch:
MEILI_EXPERIMENTAL_DUMPLESS_UPGRADE: true
auth:
existingMasterKeySecret: karakeep-meilisearch-master-key-secret
service:
type: ClusterIP
port: 7700
persistence:
enabled: true
storageClass: ceph-block
@@ -165,7 +152,7 @@ meilisearch:
resources:
requests:
cpu: 10m
memory: 128Mi
memory: 50Mi
serviceMonitor:
enabled: true
volsync-target-data:

View File

@@ -31,4 +31,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/komodo.png
# renovate: datasource=github-releases depName=moghtech/komodo
appVersion: v2.0.0
appVersion: v2.1.0

View File

@@ -9,7 +9,7 @@ komodo:
main:
image:
repository: ghcr.io/moghtech/komodo-core
tag: 2.0.0@sha256:3cc134272b39313ae1fb34ea8a3c8a0c2f629a3c2eeaf71258702159f154f9e9
tag: 2.1.0@sha256:4915d91b5c6e9de4e8fd59391eed5cad090ec84dcf6a1a9233d97edfdbbb88e7
pullPolicy: IfNotPresent
env:
- name: COMPOSE_LOGGING_DRIVER

View File

@@ -148,7 +148,7 @@ ntfy-alertmanager:
main:
image:
repository: xenrox/ntfy-alertmanager
tag: 0.5.0
tag: 1.0.0
pullPolicy: IfNotPresent
service:
main:

View File

@@ -35,7 +35,7 @@ libation:
main:
image:
repository: ubuntu
tag: resolute-20260312
tag: resolute-20260401
pullPolicy: IfNotPresent
command:
- "sleep"

View File

@@ -19,4 +19,4 @@ dependencies:
version: 4.6.2
icon: https://raw.githubusercontent.com/sahara101/Movie-Roulette/refs/heads/main/static/icons/icon.png
# renovate: datasource=github-releases depName=sahara101/Movie-Roulette
appVersion: v5.4.0
appVersion: v5.4.1

View File

@@ -9,7 +9,7 @@ movie-roulette:
main:
image:
repository: ghcr.io/sahara101/movie-roulette
tag: v5.4.0
tag: v5.4.1
pullPolicy: IfNotPresent
env:
- name: FLASK_SECRET_KEY

View File

@@ -18,4 +18,4 @@ dependencies:
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2
# renovate: datasource=docker depName=g33kphr33k/musicgrabber
appVersion: 2.5.3
appVersion: 2.5.4

View File

@@ -9,7 +9,7 @@ music-grabber:
main:
image:
repository: g33kphr33k/musicgrabber
tag: 2.5.3
tag: 2.5.4
pullPolicy: IfNotPresent
env:
- name: MUSIC_DIR

View File

@@ -9,7 +9,7 @@ navidrome:
main:
image:
repository: deluan/navidrome
tag: 0.60.3@sha256:a5dce8f33304714dd138e870cca0dcab3d937ca236be1a9f2b97da009d1a0048
tag: 0.61.0@sha256:b14a6acb5cd5ee73f3a13d63d8d68ede82dedb796aa522fbada94769d990cf0b
pullPolicy: IfNotPresent
env:
- name: ND_MUSICFOLDER

View File

@@ -5,6 +5,17 @@ plex:
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
pod:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- jellyfin
topologyKey: kubernetes.io/hostname
containers:
main:
image:

View File

@@ -5,6 +5,17 @@ qbittorrent:
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
pod:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- slskd
topologyKey: kubernetes.io/hostname
initContainers:
init-sysctl:
image:

View File

@@ -122,7 +122,7 @@ rybbit:
main:
image:
repository: clickhouse/clickhouse-server
tag: 26.3.2
tag: 26.3.3
pullPolicy: IfNotPresent
env:
- name: CLICKHOUSE_DB

View File

@@ -9,7 +9,7 @@ searxng:
main:
image:
repository: searxng/searxng
tag: latest@sha256:4d7ed8b7035ecf827bd901ba6d32f5c32d8119bc09bb3cdafeb0ce58f1b951c1
tag: latest@sha256:dac0c447bdd3f20a43687c6bed8140547f493252fd7bad3ad8bef1faffe1002d
pullPolicy: IfNotPresent
env:
- name: SEARXNG_BASE_URL
@@ -39,7 +39,7 @@ searxng:
main:
image:
repository: searxng/searxng
tag: latest@sha256:4d7ed8b7035ecf827bd901ba6d32f5c32d8119bc09bb3cdafeb0ce58f1b951c1
tag: latest@sha256:dac0c447bdd3f20a43687c6bed8140547f493252fd7bad3ad8bef1faffe1002d
pullPolicy: IfNotPresent
env:
- name: SEARXNG_BASE_URL

View File

@@ -11,7 +11,7 @@ site-documentation:
main:
image:
repository: harbor.alexlebens.net/images/site-documentation
tag: 0.13.0
tag: 0.15.0
pullPolicy: IfNotPresent
resources:
requests:

View File

@@ -11,7 +11,7 @@ site-profile:
main:
image:
repository: harbor.alexlebens.net/images/site-profile
tag: 3.16.0
tag: 3.16.1
pullPolicy: IfNotPresent
resources:
requests:

View File

@@ -5,6 +5,17 @@ slskd:
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
pod:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- qbittorrent
topologyKey: kubernetes.io/hostname
initContainers:
init-sysctl:
image:

View File

@@ -9,7 +9,7 @@ tdarr:
main:
image:
repository: ghcr.io/haveagitgat/tdarr
tag: 2.66.01
tag: 2.67.01
pullPolicy: IfNotPresent
env:
- name: TZ
@@ -67,7 +67,7 @@ tdarr:
main:
image:
repository: ghcr.io/haveagitgat/tdarr_node
tag: 2.66.01
tag: 2.67.01
pullPolicy: IfNotPresent
env:
- name: TZ

View File

@@ -1,7 +1,7 @@
---
services:
cloudflare-ddns:
image: favonia/cloudflare-ddns:1.16.0@sha256:8e0f869aed97beeed4e172a01e97090673cb9b04e7e1d62fcb6cfc656f9761ad
image: favonia/cloudflare-ddns:1.16.1@sha256:d9eb06b9ddb1ef121334095645e2b55ac208ea1ef1f363a201a255aa8a9798cc
container_name: cloudflare-ddns
cap_drop:
- all

View File

@@ -32,7 +32,7 @@ services:
- /var/run/docker.sock:/var/run/docker.sock:ro
homepage:
image: ghcr.io/gethomepage/homepage:v1.12.2@sha256:ea801368eac6b1f0d08ad35dabcbbd0a91147a49ba9761df84b2e047532d74e5
image: ghcr.io/gethomepage/homepage:v1.12.3@sha256:cc84f2f5eb3c7734353701ccbaa24ed02dacb0d119114e50e4251e2005f3990a
container_name: homepage
labels:
traefik.enable: true

View File

@@ -20,7 +20,7 @@ services:
- /dev/net/tun:/dev/net/tun
komodo-periphery:
image: ghcr.io/moghtech/komodo-periphery:2.0.0@sha256:cc9aff8b621d49bbcca394e1538d9d9ea28c48bcfd2d6c8a6f9d5d3eef7f8341
image: ghcr.io/moghtech/komodo-periphery:2.1.0@sha256:f5b272e3d9acd60d4eac69ea4fa0292dcaddfdecfc2be64ba5575e5ae18e72ae
container_name: komodo-periphery
init: true
env_file: