30 Commits

Author SHA1 Message Date
201eac78a4 feat: refactor apps (#5399)
Some checks are pending
renovate / renovate (push) Waiting to run
lint-test-helm / lint-helm (push) Successful in 1m14s
lint-test-helm / validate-kubeconform (push) Has been skipped
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
53 changed files with 242 additions and 326 deletions

View File

@@ -13,7 +13,7 @@ on:
jobs:
renovate:
runs-on: ubuntu-latest
container: ghcr.io/renovatebot/renovate:43.102.2@sha256:22e7d1b757eb3f56f442344c8cc950f1e5ed2a17387230462304a6843864adc2
container: ghcr.io/renovatebot/renovate:43.102.9@sha256:a076d9f083b3cbfa3eda075c5a776da959aacfc702f47a2d1539dd26ecf3b0d9
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,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

@@ -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

@@ -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

@@ -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
@@ -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-deviceplugin-operator
tag: 0.35.0@sha256:34697f9c286857da986381595ac2a693524a83c831955247dae47dfda4d2f526
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,14 @@ jellyfin:
type: deployment
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
containers:
main:
image:
repository: ghcr.io/jellyfin/jellyfin
tag: 10.11.7
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 +22,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 +44,9 @@ jellyfin:
http:
port: 80
targetPort: 8096
protocol: HTTP
metrics:
port: 9594
targetPort: 9594
protocol: HTTP
serviceMonitor:
main:
selector:
@@ -77,11 +72,8 @@ jellyfin:
- jellyfin.alexlebens.net
rules:
- backendRefs:
- group: ''
kind: Service
name: jellyfin
- name: jellyfin
port: 80
weight: 100
matches:
- path:
type: PathPrefix
@@ -92,14 +84,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 +120,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

@@ -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

@@ -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.14.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

@@ -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