Commit Graph

10271 Commits

Author SHA1 Message Date
e1bf47f045 feat: improve linking 2026-03-15 00:33:28 -05:00
0315445a50 feat: add kubeconform job
All checks were successful
renovate / renovate (push) Successful in 1m40s
2026-03-15 00:25:35 -05:00
6450588d17 feat: refactor and improve steps
All checks were successful
renovate / renovate (push) Successful in 1m40s
2026-03-15 00:10:28 -05:00
4dd98f9581 feat: refactor and improve steps
All checks were successful
renovate / renovate (push) Successful in 3m34s
2026-03-15 00:05:19 -05:00
702ffc65da feat: use hyphen for consistency
All checks were successful
renovate / renovate (push) Successful in 1m27s
2026-03-14 23:38:35 -05:00
2372ab4b69 feat: add dir output to render
All checks were successful
renovate / renovate (push) Successful in 1m43s
2026-03-14 23:33:15 -05:00
ed57ae842b feat: ignore oci repo
All checks were successful
renovate / renovate (push) Successful in 1m33s
2026-03-14 23:26:46 -05:00
9099d66bd8 feat: group output
All checks were successful
renovate / renovate (push) Successful in 1m35s
2026-03-14 23:22:46 -05:00
b8447dd0ed feat: add update pr step 2026-03-14 23:22:03 -05:00
c373ee4844 feat: improve formatting, revert yq strip command
All checks were successful
renovate / renovate (push) Successful in 1m26s
2026-03-14 23:19:31 -05:00
da8ba776e8 feat: consolidate render workflows to 1
All checks were successful
renovate / renovate (push) Successful in 1m55s
2026-03-14 23:07:57 -05:00
b4afd2ab46 feat: upgrade chart to v1
All checks were successful
lint-test-helm / lint-helm (push) Successful in 11s
render-manifests-push / render-manifests-push (push) Successful in 2m10s
renovate / renovate (push) Successful in 1m18s
2026-03-14 21:08:24 -05:00
d0d9380b93 chore(deps): update booklore-app/booklore to v2.2.1 (#4747)
Some checks failed
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 14s
renovate / renovate (push) Has been cancelled
2026-03-15 02:06:18 +00:00
c435ba993e feat: refactor and improve steps
Some checks failed
renovate / renovate (push) Has been cancelled
2026-03-14 21:04:35 -05:00
85aa62b529 feat: remove link to wiki
All checks were successful
lint-test-helm / lint-helm (push) Successful in 31s
render-manifests-push / render-manifests-push (push) Successful in 31s
renovate / renovate (push) Successful in 2m8s
2026-03-14 21:02:19 -05:00
74af45cb57 fix: missing closing quote
Some checks failed
renovate / renovate (push) Has been cancelled
2026-03-14 21:00:35 -05:00
849fdb432d chore(deps): update registry.k8s.io/coredns/coredns docker tag to v1.14.2 (#4745)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 31s
renovate / renovate (push) Successful in 1m36s
2026-03-15 01:58:17 +00:00
78d15dccad feat: refactor and improve steps
All checks were successful
renovate / renovate (push) Successful in 1m57s
2026-03-14 20:56:01 -05:00
8bfb5aeea3 feat: add api version and dry-run=server options to render
Some checks failed
renovate / renovate (push) Has been cancelled
2026-03-14 20:54:57 -05:00
5baa34db7e feat: change schedule to morning 2026-03-14 20:49:05 -05:00
d05381f6d2 fix: missing slash to place into folder
All checks were successful
renovate / renovate (push) Successful in 3m17s
2026-03-14 20:45:48 -05:00
b2cf5c094c feat: revert clean comments
All checks were successful
renovate / renovate (push) Successful in 2m4s
2026-03-14 20:31:20 -05:00
20d80826cb fix: missing apostrophe
All checks were successful
renovate / renovate (push) Successful in 3m59s
2026-03-14 20:15:06 -05:00
efe27b9307 chore(deps): update actions/cache action to v5 (#4741)
All checks were successful
renovate / renovate (push) Successful in 3m2s
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/cache](https://github.com/actions/cache) | action | major | `v4` → `v5` |

---

### Release Notes

<details>
<summary>actions/cache (actions/cache)</summary>

### [`v5`](https://github.com/actions/cache/compare/v4...v5)

[Compare Source](https://github.com/actions/cache/compare/v4...v5)

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

Reviewed-on: #4741
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-15 01:06:15 +00:00
13f4726021 fix: remove local variable assignment
Some checks failed
renovate / renovate (push) Has been cancelled
2026-03-14 20:05:46 -05:00
2785f337cf feat: refactor and improve steps
All checks were successful
renovate / renovate (push) Successful in 3m1s
2026-03-14 19:59:30 -05:00
67163611af chore(deps): update dependency mariadb-operator/mariadb-operator to v26 (#4704)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 1m0s
renovate / renovate (push) Successful in 2m58s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [mariadb-operator/mariadb-operator](https://github.com/mariadb-operator/mariadb-operator) | major | `25.10.4` → `26.3.0` |

---

### Release Notes

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

### [`v26.3.0`](https://github.com/mariadb-operator/mariadb-operator/releases/tag/26.3.0)

[Compare Source](https://github.com/mariadb-operator/mariadb-operator/compare/25.10.4...26.3.0)

**`mariadb-operator` [26.03](https://github.com/mariadb-operator/mariadb-operator/releases/tag/26.3.0) is here!** 🦭

Welcome to another release of `mariadb-operator`! In this version, we have significantly enhanced our disaster recovery capabilities by adding support for **on-demand physical backups**, **Azure Blob Storage** and... (🥁)... **Point-In-Time-Recovery** .

Additionally, we've received a bunch of contributions by our amazing community during this release, including bug fixes and new features. We feel very grateful for your efforts and support, thank you! 🙇‍♂️ Refer to the PRs in the changelog below for further details.

If you're upgrading from previous versions, **do not miss the [UPGRADE GUIDE](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/releases/UPGRADE_26.3.0.md)** for a smooth transition.

#### Point-In-Time-Recovery

Point-in-time recovery (PITR) is a feature that allows you to restore a `MariaDB` instance to a specific point in time. For achieving this, it combines a full base backup and the binary logs that record all changes made to the database after the backup. This is something fully automated by operator, covering archival and restoration up to a specific time, ensuring business continuity and reduced RTO and RPO.

In order to configure PITR, you need to create a `PhysicalBackup` object to be used as full base backup. For example, you can configure a nightly backup:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
  name: physicalbackup-daily
spec:
  mariaDbRef:
    name: mariadb-repl
  schedule:
    cron: "0 0 * * *"
    suspend: false
    immediate: true
  compression: bzip2
  maxRetention: 720h
  storage:
    s3:
      bucket: physicalbackups
      prefix: mariadb
      endpoint: minio.minio.svc.cluster.local:9000
      region: us-east-1
      accessKeyIdSecretKeyRef:
        name: minio
        key: access-key-id
      secretAccessKeySecretKeyRef:
        name: minio
        key: secret-access-key
      tls:
        enabled: true
        caSecretKeyRef:
          name: minio-ca
          key: ca.crt
```

Next step is configuring common aspects of both binary log archiving and point-in-time restoration by defining a `PointInTimeRecovery` object:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PointInTimeRecovery
metadata:
  name: pitr
spec:
  physicalBackupRef:
    name: physicalbackup-daily
  storage:
    s3:
      bucket: binlogs
      prefix: mariadb
      endpoint: minio.minio.svc.cluster.local:9000
      region: us-east-1
      accessKeyIdSecretKeyRef:
        name: minio
        key: access-key-id
      secretAccessKeySecretKeyRef:
        name: minio
        key: secret-access-key
      tls:
        enabled: true
        caSecretKeyRef:
          name: minio-ca
          key: ca.crt
  compression: gzip
  archiveTimeout: 1h
  strictMode: false
```

The new `PointInTimeRecovery` CR is just a configuration object that contains shared settings for both binary log archiving and point-in-time recovery. It has also a reference to a `PhysicalBackup` CR, used as full base backup.

In order to configure binary log archiving, you need to set a reference to the `PointInTimeRecovery` CR in the `MariaDB` object:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: MariaDB
metadata:
  name: mariadb-repl
spec:
  pointInTimeRecoveryRef:
    name: pitr
```

This will enable the binary log archival in the sidecar agent, which will eventually report the last recoverable time via the `PointInTimeRecovery` status:

```bash
kubectl get pitr
NAME   PHYSICAL BACKUP        LAST RECOVERABLE TIME   STRICT MODE   AGE
pitr   physicalbackup-daily   2026-02-27T20:10:42Z    false         43h
```

In order to perform a point-in-time restoration, you can create a new `MariaDB` instance with a reference to the `PointInTimeRecovery` object in the `bootstrapFrom` field, along with the `targetRecoveryTime`, which should be before or at the last recoverable time:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: MariaDB
metadata:
  name: mariadb-repl
spec:
  bootstrapFrom:
    pointInTimeRecoveryRef:
      name: pitr
    targetRecoveryTime: 2026-02-27T20:10:42Z
```

The restoration process will match the closest physical backup before or at the `targetRecoveryTime`, and then it will replay the archived binary logs from the backup GTID position up until the `targetRecoveryTime`.

Refer to the [PITR docs](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/pitr.md) for additional details.

#### Azure Blob Storage

So far, we have only supported S3-compatible storage as object storage for keeping the backups. We are now introducing native support for Azure Blob Storage in the `PhysicalBackup` and `PointInTimeRecovery` CRs. You can configure it under the `storage` field, similarly to S3:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PointInTimeRecovery
metadata:
  name: pitr
spec:
  storage:
    azureBlob:
      containerName: binlogs
      serviceURL: https://azurite.default.svc.cluster.local:10000/devstoreaccount1
      prefix: mariadb
      storageAccountName: devstoreaccount1
      storageAccountKey:
        name: azurite-key
        key: storageAccountKey
      tls:
        enabled: true
        caSecretKeyRef:
          name: azurite-certs
          key: cert.pem
```

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
  name: physicalbackup-daily
spec:
  storage:
    azureBlob:
      containerName: physicalbackup
      serviceURL: https://azurite.default.svc.cluster.local:10000/devstoreaccount1
      prefix: mariadb
      storageAccountName: devstoreaccount1
      storageAccountKey:
        name: azurite-key
        key: storageAccountKey
      tls:
        enabled: true
        caSecretKeyRef:
          name: azurite-certs
          key: cert.pem
```

Refer to the [physical backup storage](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/physical_backup.md#azure-blob-storage-credentials) docs for additional details.

It is important to note that we couldn't find the bandwidth to support it for `Backup` resource (logical backup) in this release, [contributions are welcomed](https://github.com/mariadb-operator/mariadb-operator/issues/1653)!

Kudos to our co-maintainer [@&#8203;Michaelpalacce](https://github.com/Michaelpalacce) for smoothly driving this feature end-to-end!

#### On-demand `PhysicalBackup`

We have introduced the ability to trigger on-demand physical backup manually. For doing so, you need to provide an identifier in the `schedule.onDemand` field of the `PhysicalBackup` resource:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
  name: physicalbackup
spec:
  schedule:
    onDemand: "1"
```

Once scheduled, the operator tracks the identifier under the status subresource. If the identifier in the status differs from `schedule.onDemand`, the operator will trigger a new physical backup.

Refer to the [physical backup scheduling](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/physical_backup.md#scheduling) docs for additional details.

##### Behaviour change in `targetRecoveryTime`

To satisfy requirements of point-in-time recovery, we have unified the behaviour of the `bootstrapFrom.targetRecoveryTime` field in the `MariaDB` object: Logical and physical backup files whose timestamp is closest to `targetRecoveryTime`, **but not after**, will be matched.

Please take this into account when upgrading to this version.

##### Change in Helm `values.yaml`

`config` has been split into `repository` and `tag` to facilitate overriding the image registry (see [#&#8203;1632](https://github.com/mariadb-operator/mariadb-operator/pull/1632)). Please update your `values.yaml` from:

```yaml
config:
  mariadbImageName: docker-registry1.mariadb.com/library/mariadb
  maxscaleImage: docker-registry2.mariadb.com/mariadb/maxscale:23.08.5
  exporterImage: prom/mysqld-exporter:v0.15.1
  exporterMaxscaleImage: docker-registry2.mariadb.com/mariadb/maxscale-prometheus-exporter-ubi:v0.0.1
```

to the following format:

```yaml
config:
  mariadbImage:
    repository: docker-registry1.mariadb.com/library/mariadb
    tag: 11.8.5
  maxscaleImage:
    repository: docker-registry2.mariadb.com/mariadb/maxscale
    tag: 23.08.5
  exporterImage:
    repository: prom/mysqld-exporter
    tag: v0.15.1
  exporterMaxscaleImage:
    repository: docker-registry2.mariadb.com/mariadb/maxscale-prometheus-exporter-ubi
    tag: v0.0.1
```

##### Updated dependencies

| Platform/Component | Version |
| ------------------ | ------- |
| Kubernetes         | 1.35    |
| Go                 | 1.26.1  |
| controller-runtime | 0.23.3  |

#### Updated roadmap

The next feature to be supported is the new multi-cluster topology. Stay tuned!

- [x] ~~[Point In Time Recovery (PITR)](https://github.com/mariadb-operator/mariadb-operator/issues/507)~~
- [ ] [Multi-cluster topology](https://github.com/mariadb-operator/mariadb-operator/issues/1543)

***

#### Community

Contributions of any kind are always welcome: adding yourself to the [list of adopters](https://github.com/mariadb-operator/mariadb-operator/blob/main/ADOPTERS.md), reporting issues, submitting pull requests, or simply starring the project! 🌟

#### Enterprise

For enterprise users, see the **[MariaDB Enterprise Operator](https://mariadb.com/products/enterprise/kubernetes-operator/)**, a commercially supported Kubernetes operator from MariaDB with additional enterprise-grade features.

#### What's Changed

- feat: Use primary Service by default for HA mariaDB connections by [@&#8203;softho0n](https://github.com/softho0n) in [#&#8203;1575](https://github.com/mariadb-operator/mariadb-operator/pull/1575)
- feat: add loadBalancerClass field to ServiceTemplate by [@&#8203;yangminglintw](https://github.com/yangminglintw) in [#&#8203;1589](https://github.com/mariadb-operator/mariadb-operator/pull/1589)
- fix: use standard compression extensions and add magic bytes validation by [@&#8203;yangminglintw](https://github.com/yangminglintw) in [#&#8203;1588](https://github.com/mariadb-operator/mariadb-operator/pull/1588)
- Make volumes and volumeMounts mutable by [@&#8203;hedgieinsocks](https://github.com/hedgieinsocks) in [#&#8203;1601](https://github.com/mariadb-operator/mariadb-operator/pull/1601)
- chore: Bump to latest go by [@&#8203;Michaelpalacce](https://github.com/Michaelpalacce) in [#&#8203;1630](https://github.com/mariadb-operator/mariadb-operator/pull/1630)
- make imagePullSecrets mutable by [@&#8203;dmaes](https://github.com/dmaes) in [#&#8203;1614](https://github.com/mariadb-operator/mariadb-operator/pull/1614)
- split config images in repository and tag by [@&#8203;dmaes](https://github.com/dmaes) in [#&#8203;1632](https://github.com/mariadb-operator/mariadb-operator/pull/1632)
- Galera recovery: disable bootstrap on other pods before bootstrapping by [@&#8203;infocusmodereal](https://github.com/infocusmodereal) in [#&#8203;1631](https://github.com/mariadb-operator/mariadb-operator/pull/1631)
- Bump github.com/minio/minio-go/v7 from 7.0.97 to 7.0.98 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1585](https://github.com/mariadb-operator/mariadb-operator/pull/1585)
- Bump ghcr.io/devcontainers/features/docker-in-docker from 2.13.0 to 2.16.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1624](https://github.com/mariadb-operator/mariadb-operator/pull/1624)
- Bump ghcr.io/devcontainers/features/kubectl-helm-minikube from 1.2.2 to 1.3.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1623](https://github.com/mariadb-operator/mariadb-operator/pull/1623)
- Bump goreleaser/goreleaser-action from 6 to 7 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1620](https://github.com/mariadb-operator/mariadb-operator/pull/1620)
- Bump github.com/onsi/gomega from 1.38.3 to 1.39.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1581](https://github.com/mariadb-operator/mariadb-operator/pull/1581)
- Bump crate-ci/typos from 1.41.0 to 1.44.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1625](https://github.com/mariadb-operator/mariadb-operator/pull/1625)
- Bump github.com/onsi/ginkgo/v2 from 2.27.3 to 2.27.5 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1586](https://github.com/mariadb-operator/mariadb-operator/pull/1586)
- Bump github.com/cert-manager/cert-manager from 1.18.2 to 1.19.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1580](https://github.com/mariadb-operator/mariadb-operator/pull/1580)
- Bump github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring from 0.87.1 to 0.88.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1579](https://github.com/mariadb-operator/mariadb-operator/pull/1579)
- Disable service links in MariaDB and MaxScale pod specs by [@&#8203;usiegj00](https://github.com/usiegj00) in [#&#8203;1635](https://github.com/mariadb-operator/mariadb-operator/pull/1635)
- Fix finalizer for ExternalMariDB by [@&#8203;snaax](https://github.com/snaax) in [#&#8203;1606](https://github.com/mariadb-operator/mariadb-operator/pull/1606)
- test: Added int tests for sql resources with external mariadb deletion by [@&#8203;Michaelpalacce](https://github.com/Michaelpalacce) in [#&#8203;1649](https://github.com/mariadb-operator/mariadb-operator/pull/1649)
- Bump github.com/minio/minio-go/v7 from 7.0.98 to 7.0.99 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1648](https://github.com/mariadb-operator/mariadb-operator/pull/1648)
- Bump golang.org/x/sync from 0.19.0 to 0.20.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1645](https://github.com/mariadb-operator/mariadb-operator/pull/1645)
- Bump docker/build-push-action from 6 to 7 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1644](https://github.com/mariadb-operator/mariadb-operator/pull/1644)
- Bump docker/setup-qemu-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1642](https://github.com/mariadb-operator/mariadb-operator/pull/1642)
- Bump github.com/go-chi/chi/v5 from 5.2.3 to 5.2.5 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1641](https://github.com/mariadb-operator/mariadb-operator/pull/1641)
- Bump docker/login-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1646](https://github.com/mariadb-operator/mariadb-operator/pull/1646)
- Bump ghcr.io/devcontainers/features/docker-in-docker from 2.16.0 to 2.16.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1640](https://github.com/mariadb-operator/mariadb-operator/pull/1640)
- Bump docker/setup-buildx-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1638](https://github.com/mariadb-operator/mariadb-operator/pull/1638)
- Bump github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring from 0.88.0 to 0.89.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1643](https://github.com/mariadb-operator/mariadb-operator/pull/1643)
- Bump golang from 1.25.7-alpine3.23 to 1.26.1-alpine3.23 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1639](https://github.com/mariadb-operator/mariadb-operator/pull/1639)
- feat: Latest controller-runtime. Webhook changes, New Events API by [@&#8203;Michaelpalacce](https://github.com/Michaelpalacce) in [#&#8203;1651](https://github.com/mariadb-operator/mariadb-operator/pull/1651)
- Support for ephemeral volumes in `MariaDB` by [@&#8203;mmontes11](https://github.com/mmontes11) in [#&#8203;1650](https://github.com/mariadb-operator/mariadb-operator/pull/1650)
- fix: accept compressed backup files in logical restore by [@&#8203;voron](https://github.com/voron) in [#&#8203;1655](https://github.com/mariadb-operator/mariadb-operator/pull/1655)
- Fix typo: syncrhonous -> synchronous by [@&#8203;sjmudd](https://github.com/sjmudd) in [#&#8203;1657](https://github.com/mariadb-operator/mariadb-operator/pull/1657)
- Release 26.03: `PointInTimeRecovery`, Azure Blob Storage & on-demand `PhysicalBackups` by [@&#8203;mmontes11](https://github.com/mmontes11) in [#&#8203;1517](https://github.com/mariadb-operator/mariadb-operator/pull/1517)

#### New Contributors

- [@&#8203;softho0n](https://github.com/softho0n) made their first contribution in [#&#8203;1575](https://github.com/mariadb-operator/mariadb-operator/pull/1575)
- [@&#8203;yangminglintw](https://github.com/yangminglintw) made their first contribution in [#&#8203;1589](https://github.com/mariadb-operator/mariadb-operator/pull/1589)
- [@&#8203;dmaes](https://github.com/dmaes) made their first contribution in [#&#8203;1614](https://github.com/mariadb-operator/mariadb-operator/pull/1614)
- [@&#8203;infocusmodereal](https://github.com/infocusmodereal) made their first contribution in [#&#8203;1631](https://github.com/mariadb-operator/mariadb-operator/pull/1631)
- [@&#8203;usiegj00](https://github.com/usiegj00) made their first contribution in [#&#8203;1635](https://github.com/mariadb-operator/mariadb-operator/pull/1635)
- [@&#8203;voron](https://github.com/voron) made their first contribution in [#&#8203;1655](https://github.com/mariadb-operator/mariadb-operator/pull/1655)
- [@&#8203;sjmudd](https://github.com/sjmudd) made their first contribution in [#&#8203;1657](https://github.com/mariadb-operator/mariadb-operator/pull/1657)

**Full Changelog**: <https://github.com/mariadb-operator/mariadb-operator/compare/25.10.4...26.3.0>

</details>

---

### Configuration

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

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

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

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

---

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

---

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

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4704
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-15 00:04:42 +00:00
15f4df3ec4 chore(deps): update helm release mariadb-cluster to v26 (#4705)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 11s
renovate / renovate (push) Successful in 2m31s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [mariadb-cluster](https://github.com/mariadb-operator/mariadb-operator) | major | `25.10.4` → `26.3.0` |

---

### Release Notes

<details>
<summary>mariadb-operator/mariadb-operator (mariadb-cluster)</summary>

### [`v26.3.0`](https://github.com/mariadb-operator/mariadb-operator/releases/tag/26.3.0)

[Compare Source](https://github.com/mariadb-operator/mariadb-operator/compare/mariadb-cluster-25.10.4...mariadb-cluster-26.3.0)

**`mariadb-operator` [26.03](https://github.com/mariadb-operator/mariadb-operator/releases/tag/26.3.0) is here!** 🦭

Welcome to another release of `mariadb-operator`! In this version, we have significantly enhanced our disaster recovery capabilities by adding support for **on-demand physical backups**, **Azure Blob Storage** and... (🥁)... **Point-In-Time-Recovery** .

Additionally, we've received a bunch of contributions by our amazing community during this release, including bug fixes and new features. We feel very grateful for your efforts and support, thank you! 🙇‍♂️ Refer to the PRs in the changelog below for further details.

If you're upgrading from previous versions, **do not miss the [UPGRADE GUIDE](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/releases/UPGRADE_26.3.0.md)** for a smooth transition.

#### Point-In-Time-Recovery

Point-in-time recovery (PITR) is a feature that allows you to restore a `MariaDB` instance to a specific point in time. For achieving this, it combines a full base backup and the binary logs that record all changes made to the database after the backup. This is something fully automated by operator, covering archival and restoration up to a specific time, ensuring business continuity and reduced RTO and RPO.

In order to configure PITR, you need to create a `PhysicalBackup` object to be used as full base backup. For example, you can configure a nightly backup:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
  name: physicalbackup-daily
spec:
  mariaDbRef:
    name: mariadb-repl
  schedule:
    cron: "0 0 * * *"
    suspend: false
    immediate: true
  compression: bzip2
  maxRetention: 720h
  storage:
    s3:
      bucket: physicalbackups
      prefix: mariadb
      endpoint: minio.minio.svc.cluster.local:9000
      region: us-east-1
      accessKeyIdSecretKeyRef:
        name: minio
        key: access-key-id
      secretAccessKeySecretKeyRef:
        name: minio
        key: secret-access-key
      tls:
        enabled: true
        caSecretKeyRef:
          name: minio-ca
          key: ca.crt
```

Next step is configuring common aspects of both binary log archiving and point-in-time restoration by defining a `PointInTimeRecovery` object:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PointInTimeRecovery
metadata:
  name: pitr
spec:
  physicalBackupRef:
    name: physicalbackup-daily
  storage:
    s3:
      bucket: binlogs
      prefix: mariadb
      endpoint: minio.minio.svc.cluster.local:9000
      region: us-east-1
      accessKeyIdSecretKeyRef:
        name: minio
        key: access-key-id
      secretAccessKeySecretKeyRef:
        name: minio
        key: secret-access-key
      tls:
        enabled: true
        caSecretKeyRef:
          name: minio-ca
          key: ca.crt
  compression: gzip
  archiveTimeout: 1h
  strictMode: false
```

The new `PointInTimeRecovery` CR is just a configuration object that contains shared settings for both binary log archiving and point-in-time recovery. It has also a reference to a `PhysicalBackup` CR, used as full base backup.

In order to configure binary log archiving, you need to set a reference to the `PointInTimeRecovery` CR in the `MariaDB` object:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: MariaDB
metadata:
  name: mariadb-repl
spec:
  pointInTimeRecoveryRef:
    name: pitr
```

This will enable the binary log archival in the sidecar agent, which will eventually report the last recoverable time via the `PointInTimeRecovery` status:

```bash
kubectl get pitr
NAME   PHYSICAL BACKUP        LAST RECOVERABLE TIME   STRICT MODE   AGE
pitr   physicalbackup-daily   2026-02-27T20:10:42Z    false         43h
```

In order to perform a point-in-time restoration, you can create a new `MariaDB` instance with a reference to the `PointInTimeRecovery` object in the `bootstrapFrom` field, along with the `targetRecoveryTime`, which should be before or at the last recoverable time:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: MariaDB
metadata:
  name: mariadb-repl
spec:
  bootstrapFrom:
    pointInTimeRecoveryRef:
      name: pitr
    targetRecoveryTime: 2026-02-27T20:10:42Z
```

The restoration process will match the closest physical backup before or at the `targetRecoveryTime`, and then it will replay the archived binary logs from the backup GTID position up until the `targetRecoveryTime`.

Refer to the [PITR docs](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/pitr.md) for additional details.

#### Azure Blob Storage

So far, we have only supported S3-compatible storage as object storage for keeping the backups. We are now introducing native support for Azure Blob Storage in the `PhysicalBackup` and `PointInTimeRecovery` CRs. You can configure it under the `storage` field, similarly to S3:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PointInTimeRecovery
metadata:
  name: pitr
spec:
  storage:
    azureBlob:
      containerName: binlogs
      serviceURL: https://azurite.default.svc.cluster.local:10000/devstoreaccount1
      prefix: mariadb
      storageAccountName: devstoreaccount1
      storageAccountKey:
        name: azurite-key
        key: storageAccountKey
      tls:
        enabled: true
        caSecretKeyRef:
          name: azurite-certs
          key: cert.pem
```

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
  name: physicalbackup-daily
spec:
  storage:
    azureBlob:
      containerName: physicalbackup
      serviceURL: https://azurite.default.svc.cluster.local:10000/devstoreaccount1
      prefix: mariadb
      storageAccountName: devstoreaccount1
      storageAccountKey:
        name: azurite-key
        key: storageAccountKey
      tls:
        enabled: true
        caSecretKeyRef:
          name: azurite-certs
          key: cert.pem
```

Refer to the [physical backup storage](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/physical_backup.md#azure-blob-storage-credentials) docs for additional details.

It is important to note that we couldn't find the bandwidth to support it for `Backup` resource (logical backup) in this release, [contributions are welcomed](https://github.com/mariadb-operator/mariadb-operator/issues/1653)!

Kudos to our co-maintainer [@&#8203;Michaelpalacce](https://github.com/Michaelpalacce) for smoothly driving this feature end-to-end!

#### On-demand `PhysicalBackup`

We have introduced the ability to trigger on-demand physical backup manually. For doing so, you need to provide an identifier in the `schedule.onDemand` field of the `PhysicalBackup` resource:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
  name: physicalbackup
spec:
  schedule:
    onDemand: "1"
```

Once scheduled, the operator tracks the identifier under the status subresource. If the identifier in the status differs from `schedule.onDemand`, the operator will trigger a new physical backup.

Refer to the [physical backup scheduling](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/physical_backup.md#scheduling) docs for additional details.

##### Behaviour change in `targetRecoveryTime`

To satisfy requirements of point-in-time recovery, we have unified the behaviour of the `bootstrapFrom.targetRecoveryTime` field in the `MariaDB` object: Logical and physical backup files whose timestamp is closest to `targetRecoveryTime`, **but not after**, will be matched.

Please take this into account when upgrading to this version.

##### Change in Helm `values.yaml`

`config` has been split into `repository` and `tag` to facilitate overriding the image registry (see [#&#8203;1632](https://github.com/mariadb-operator/mariadb-operator/pull/1632)). Please update your `values.yaml` from:

```yaml
config:
  mariadbImageName: docker-registry1.mariadb.com/library/mariadb
  maxscaleImage: docker-registry2.mariadb.com/mariadb/maxscale:23.08.5
  exporterImage: prom/mysqld-exporter:v0.15.1
  exporterMaxscaleImage: docker-registry2.mariadb.com/mariadb/maxscale-prometheus-exporter-ubi:v0.0.1
```

to the following format:

```yaml
config:
  mariadbImage:
    repository: docker-registry1.mariadb.com/library/mariadb
    tag: 11.8.5
  maxscaleImage:
    repository: docker-registry2.mariadb.com/mariadb/maxscale
    tag: 23.08.5
  exporterImage:
    repository: prom/mysqld-exporter
    tag: v0.15.1
  exporterMaxscaleImage:
    repository: docker-registry2.mariadb.com/mariadb/maxscale-prometheus-exporter-ubi
    tag: v0.0.1
```

##### Updated dependencies

| Platform/Component | Version |
| ------------------ | ------- |
| Kubernetes         | 1.35    |
| Go                 | 1.26.1  |
| controller-runtime | 0.23.3  |

#### Updated roadmap

The next feature to be supported is the new multi-cluster topology. Stay tuned!

- [x] ~~[Point In Time Recovery (PITR)](https://github.com/mariadb-operator/mariadb-operator/issues/507)~~
- [ ] [Multi-cluster topology](https://github.com/mariadb-operator/mariadb-operator/issues/1543)

***

#### Community

Contributions of any kind are always welcome: adding yourself to the [list of adopters](https://github.com/mariadb-operator/mariadb-operator/blob/main/ADOPTERS.md), reporting issues, submitting pull requests, or simply starring the project! 🌟

#### Enterprise

For enterprise users, see the **[MariaDB Enterprise Operator](https://mariadb.com/products/enterprise/kubernetes-operator/)**, a commercially supported Kubernetes operator from MariaDB with additional enterprise-grade features.

#### What's Changed

- feat: Use primary Service by default for HA mariaDB connections by [@&#8203;softho0n](https://github.com/softho0n) in [#&#8203;1575](https://github.com/mariadb-operator/mariadb-operator/pull/1575)
- feat: add loadBalancerClass field to ServiceTemplate by [@&#8203;yangminglintw](https://github.com/yangminglintw) in [#&#8203;1589](https://github.com/mariadb-operator/mariadb-operator/pull/1589)
- fix: use standard compression extensions and add magic bytes validation by [@&#8203;yangminglintw](https://github.com/yangminglintw) in [#&#8203;1588](https://github.com/mariadb-operator/mariadb-operator/pull/1588)
- Make volumes and volumeMounts mutable by [@&#8203;hedgieinsocks](https://github.com/hedgieinsocks) in [#&#8203;1601](https://github.com/mariadb-operator/mariadb-operator/pull/1601)
- chore: Bump to latest go by [@&#8203;Michaelpalacce](https://github.com/Michaelpalacce) in [#&#8203;1630](https://github.com/mariadb-operator/mariadb-operator/pull/1630)
- make imagePullSecrets mutable by [@&#8203;dmaes](https://github.com/dmaes) in [#&#8203;1614](https://github.com/mariadb-operator/mariadb-operator/pull/1614)
- split config images in repository and tag by [@&#8203;dmaes](https://github.com/dmaes) in [#&#8203;1632](https://github.com/mariadb-operator/mariadb-operator/pull/1632)
- Galera recovery: disable bootstrap on other pods before bootstrapping by [@&#8203;infocusmodereal](https://github.com/infocusmodereal) in [#&#8203;1631](https://github.com/mariadb-operator/mariadb-operator/pull/1631)
- Bump github.com/minio/minio-go/v7 from 7.0.97 to 7.0.98 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1585](https://github.com/mariadb-operator/mariadb-operator/pull/1585)
- Bump ghcr.io/devcontainers/features/docker-in-docker from 2.13.0 to 2.16.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1624](https://github.com/mariadb-operator/mariadb-operator/pull/1624)
- Bump ghcr.io/devcontainers/features/kubectl-helm-minikube from 1.2.2 to 1.3.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1623](https://github.com/mariadb-operator/mariadb-operator/pull/1623)
- Bump goreleaser/goreleaser-action from 6 to 7 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1620](https://github.com/mariadb-operator/mariadb-operator/pull/1620)
- Bump github.com/onsi/gomega from 1.38.3 to 1.39.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1581](https://github.com/mariadb-operator/mariadb-operator/pull/1581)
- Bump crate-ci/typos from 1.41.0 to 1.44.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1625](https://github.com/mariadb-operator/mariadb-operator/pull/1625)
- Bump github.com/onsi/ginkgo/v2 from 2.27.3 to 2.27.5 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1586](https://github.com/mariadb-operator/mariadb-operator/pull/1586)
- Bump github.com/cert-manager/cert-manager from 1.18.2 to 1.19.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1580](https://github.com/mariadb-operator/mariadb-operator/pull/1580)
- Bump github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring from 0.87.1 to 0.88.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1579](https://github.com/mariadb-operator/mariadb-operator/pull/1579)
- Disable service links in MariaDB and MaxScale pod specs by [@&#8203;usiegj00](https://github.com/usiegj00) in [#&#8203;1635](https://github.com/mariadb-operator/mariadb-operator/pull/1635)
- Fix finalizer for ExternalMariDB by [@&#8203;snaax](https://github.com/snaax) in [#&#8203;1606](https://github.com/mariadb-operator/mariadb-operator/pull/1606)
- test: Added int tests for sql resources with external mariadb deletion by [@&#8203;Michaelpalacce](https://github.com/Michaelpalacce) in [#&#8203;1649](https://github.com/mariadb-operator/mariadb-operator/pull/1649)
- Bump github.com/minio/minio-go/v7 from 7.0.98 to 7.0.99 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1648](https://github.com/mariadb-operator/mariadb-operator/pull/1648)
- Bump golang.org/x/sync from 0.19.0 to 0.20.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1645](https://github.com/mariadb-operator/mariadb-operator/pull/1645)
- Bump docker/build-push-action from 6 to 7 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1644](https://github.com/mariadb-operator/mariadb-operator/pull/1644)
- Bump docker/setup-qemu-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1642](https://github.com/mariadb-operator/mariadb-operator/pull/1642)
- Bump github.com/go-chi/chi/v5 from 5.2.3 to 5.2.5 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1641](https://github.com/mariadb-operator/mariadb-operator/pull/1641)
- Bump docker/login-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1646](https://github.com/mariadb-operator/mariadb-operator/pull/1646)
- Bump ghcr.io/devcontainers/features/docker-in-docker from 2.16.0 to 2.16.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1640](https://github.com/mariadb-operator/mariadb-operator/pull/1640)
- Bump docker/setup-buildx-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1638](https://github.com/mariadb-operator/mariadb-operator/pull/1638)
- Bump github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring from 0.88.0 to 0.89.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1643](https://github.com/mariadb-operator/mariadb-operator/pull/1643)
- Bump golang from 1.25.7-alpine3.23 to 1.26.1-alpine3.23 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1639](https://github.com/mariadb-operator/mariadb-operator/pull/1639)
- feat: Latest controller-runtime. Webhook changes, New Events API by [@&#8203;Michaelpalacce](https://github.com/Michaelpalacce) in [#&#8203;1651](https://github.com/mariadb-operator/mariadb-operator/pull/1651)
- Support for ephemeral volumes in `MariaDB` by [@&#8203;mmontes11](https://github.com/mmontes11) in [#&#8203;1650](https://github.com/mariadb-operator/mariadb-operator/pull/1650)
- fix: accept compressed backup files in logical restore by [@&#8203;voron](https://github.com/voron) in [#&#8203;1655](https://github.com/mariadb-operator/mariadb-operator/pull/1655)
- Fix typo: syncrhonous -> synchronous by [@&#8203;sjmudd](https://github.com/sjmudd) in [#&#8203;1657](https://github.com/mariadb-operator/mariadb-operator/pull/1657)
- Release 26.03: `PointInTimeRecovery`, Azure Blob Storage & on-demand `PhysicalBackups` by [@&#8203;mmontes11](https://github.com/mmontes11) in [#&#8203;1517](https://github.com/mariadb-operator/mariadb-operator/pull/1517)

#### New Contributors

- [@&#8203;softho0n](https://github.com/softho0n) made their first contribution in [#&#8203;1575](https://github.com/mariadb-operator/mariadb-operator/pull/1575)
- [@&#8203;yangminglintw](https://github.com/yangminglintw) made their first contribution in [#&#8203;1589](https://github.com/mariadb-operator/mariadb-operator/pull/1589)
- [@&#8203;dmaes](https://github.com/dmaes) made their first contribution in [#&#8203;1614](https://github.com/mariadb-operator/mariadb-operator/pull/1614)
- [@&#8203;infocusmodereal](https://github.com/infocusmodereal) made their first contribution in [#&#8203;1631](https://github.com/mariadb-operator/mariadb-operator/pull/1631)
- [@&#8203;usiegj00](https://github.com/usiegj00) made their first contribution in [#&#8203;1635](https://github.com/mariadb-operator/mariadb-operator/pull/1635)
- [@&#8203;voron](https://github.com/voron) made their first contribution in [#&#8203;1655](https://github.com/mariadb-operator/mariadb-operator/pull/1655)
- [@&#8203;sjmudd](https://github.com/sjmudd) made their first contribution in [#&#8203;1657](https://github.com/mariadb-operator/mariadb-operator/pull/1657)

**Full Changelog**: <https://github.com/mariadb-operator/mariadb-operator/compare/25.10.4...26.3.0>

</details>

---

### Configuration

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

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

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

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

---

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

---

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

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4705
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-14 23:58:42 +00:00
215f7edc86 chore(deps): update helm release mariadb-operator to v26 (#4706)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 12s
renovate / renovate (push) Successful in 3m2s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [mariadb-operator](https://github.com/mariadb-operator/mariadb-operator) | major | `25.10.4` → `26.3.0` |

---

### Release Notes

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

### [`v26.3.0`](https://github.com/mariadb-operator/mariadb-operator/releases/tag/26.3.0)

[Compare Source](https://github.com/mariadb-operator/mariadb-operator/compare/mariadb-operator-25.10.4...mariadb-operator-26.3.0)

**`mariadb-operator` [26.03](https://github.com/mariadb-operator/mariadb-operator/releases/tag/26.3.0) is here!** 🦭

Welcome to another release of `mariadb-operator`! In this version, we have significantly enhanced our disaster recovery capabilities by adding support for **on-demand physical backups**, **Azure Blob Storage** and... (🥁)... **Point-In-Time-Recovery** .

Additionally, we've received a bunch of contributions by our amazing community during this release, including bug fixes and new features. We feel very grateful for your efforts and support, thank you! 🙇‍♂️ Refer to the PRs in the changelog below for further details.

If you're upgrading from previous versions, **do not miss the [UPGRADE GUIDE](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/releases/UPGRADE_26.3.0.md)** for a smooth transition.

#### Point-In-Time-Recovery

Point-in-time recovery (PITR) is a feature that allows you to restore a `MariaDB` instance to a specific point in time. For achieving this, it combines a full base backup and the binary logs that record all changes made to the database after the backup. This is something fully automated by operator, covering archival and restoration up to a specific time, ensuring business continuity and reduced RTO and RPO.

In order to configure PITR, you need to create a `PhysicalBackup` object to be used as full base backup. For example, you can configure a nightly backup:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
  name: physicalbackup-daily
spec:
  mariaDbRef:
    name: mariadb-repl
  schedule:
    cron: "0 0 * * *"
    suspend: false
    immediate: true
  compression: bzip2
  maxRetention: 720h
  storage:
    s3:
      bucket: physicalbackups
      prefix: mariadb
      endpoint: minio.minio.svc.cluster.local:9000
      region: us-east-1
      accessKeyIdSecretKeyRef:
        name: minio
        key: access-key-id
      secretAccessKeySecretKeyRef:
        name: minio
        key: secret-access-key
      tls:
        enabled: true
        caSecretKeyRef:
          name: minio-ca
          key: ca.crt
```

Next step is configuring common aspects of both binary log archiving and point-in-time restoration by defining a `PointInTimeRecovery` object:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PointInTimeRecovery
metadata:
  name: pitr
spec:
  physicalBackupRef:
    name: physicalbackup-daily
  storage:
    s3:
      bucket: binlogs
      prefix: mariadb
      endpoint: minio.minio.svc.cluster.local:9000
      region: us-east-1
      accessKeyIdSecretKeyRef:
        name: minio
        key: access-key-id
      secretAccessKeySecretKeyRef:
        name: minio
        key: secret-access-key
      tls:
        enabled: true
        caSecretKeyRef:
          name: minio-ca
          key: ca.crt
  compression: gzip
  archiveTimeout: 1h
  strictMode: false
```

The new `PointInTimeRecovery` CR is just a configuration object that contains shared settings for both binary log archiving and point-in-time recovery. It has also a reference to a `PhysicalBackup` CR, used as full base backup.

In order to configure binary log archiving, you need to set a reference to the `PointInTimeRecovery` CR in the `MariaDB` object:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: MariaDB
metadata:
  name: mariadb-repl
spec:
  pointInTimeRecoveryRef:
    name: pitr
```

This will enable the binary log archival in the sidecar agent, which will eventually report the last recoverable time via the `PointInTimeRecovery` status:

```bash
kubectl get pitr
NAME   PHYSICAL BACKUP        LAST RECOVERABLE TIME   STRICT MODE   AGE
pitr   physicalbackup-daily   2026-02-27T20:10:42Z    false         43h
```

In order to perform a point-in-time restoration, you can create a new `MariaDB` instance with a reference to the `PointInTimeRecovery` object in the `bootstrapFrom` field, along with the `targetRecoveryTime`, which should be before or at the last recoverable time:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: MariaDB
metadata:
  name: mariadb-repl
spec:
  bootstrapFrom:
    pointInTimeRecoveryRef:
      name: pitr
    targetRecoveryTime: 2026-02-27T20:10:42Z
```

The restoration process will match the closest physical backup before or at the `targetRecoveryTime`, and then it will replay the archived binary logs from the backup GTID position up until the `targetRecoveryTime`.

Refer to the [PITR docs](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/pitr.md) for additional details.

#### Azure Blob Storage

So far, we have only supported S3-compatible storage as object storage for keeping the backups. We are now introducing native support for Azure Blob Storage in the `PhysicalBackup` and `PointInTimeRecovery` CRs. You can configure it under the `storage` field, similarly to S3:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PointInTimeRecovery
metadata:
  name: pitr
spec:
  storage:
    azureBlob:
      containerName: binlogs
      serviceURL: https://azurite.default.svc.cluster.local:10000/devstoreaccount1
      prefix: mariadb
      storageAccountName: devstoreaccount1
      storageAccountKey:
        name: azurite-key
        key: storageAccountKey
      tls:
        enabled: true
        caSecretKeyRef:
          name: azurite-certs
          key: cert.pem
```

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
  name: physicalbackup-daily
spec:
  storage:
    azureBlob:
      containerName: physicalbackup
      serviceURL: https://azurite.default.svc.cluster.local:10000/devstoreaccount1
      prefix: mariadb
      storageAccountName: devstoreaccount1
      storageAccountKey:
        name: azurite-key
        key: storageAccountKey
      tls:
        enabled: true
        caSecretKeyRef:
          name: azurite-certs
          key: cert.pem
```

Refer to the [physical backup storage](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/physical_backup.md#azure-blob-storage-credentials) docs for additional details.

It is important to note that we couldn't find the bandwidth to support it for `Backup` resource (logical backup) in this release, [contributions are welcomed](https://github.com/mariadb-operator/mariadb-operator/issues/1653)!

Kudos to our co-maintainer [@&#8203;Michaelpalacce](https://github.com/Michaelpalacce) for smoothly driving this feature end-to-end!

#### On-demand `PhysicalBackup`

We have introduced the ability to trigger on-demand physical backup manually. For doing so, you need to provide an identifier in the `schedule.onDemand` field of the `PhysicalBackup` resource:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
  name: physicalbackup
spec:
  schedule:
    onDemand: "1"
```

Once scheduled, the operator tracks the identifier under the status subresource. If the identifier in the status differs from `schedule.onDemand`, the operator will trigger a new physical backup.

Refer to the [physical backup scheduling](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/physical_backup.md#scheduling) docs for additional details.

##### Behaviour change in `targetRecoveryTime`

To satisfy requirements of point-in-time recovery, we have unified the behaviour of the `bootstrapFrom.targetRecoveryTime` field in the `MariaDB` object: Logical and physical backup files whose timestamp is closest to `targetRecoveryTime`, **but not after**, will be matched.

Please take this into account when upgrading to this version.

##### Change in Helm `values.yaml`

`config` has been split into `repository` and `tag` to facilitate overriding the image registry (see [#&#8203;1632](https://github.com/mariadb-operator/mariadb-operator/pull/1632)). Please update your `values.yaml` from:

```yaml
config:
  mariadbImageName: docker-registry1.mariadb.com/library/mariadb
  maxscaleImage: docker-registry2.mariadb.com/mariadb/maxscale:23.08.5
  exporterImage: prom/mysqld-exporter:v0.15.1
  exporterMaxscaleImage: docker-registry2.mariadb.com/mariadb/maxscale-prometheus-exporter-ubi:v0.0.1
```

to the following format:

```yaml
config:
  mariadbImage:
    repository: docker-registry1.mariadb.com/library/mariadb
    tag: 11.8.5
  maxscaleImage:
    repository: docker-registry2.mariadb.com/mariadb/maxscale
    tag: 23.08.5
  exporterImage:
    repository: prom/mysqld-exporter
    tag: v0.15.1
  exporterMaxscaleImage:
    repository: docker-registry2.mariadb.com/mariadb/maxscale-prometheus-exporter-ubi
    tag: v0.0.1
```

##### Updated dependencies

| Platform/Component | Version |
| ------------------ | ------- |
| Kubernetes         | 1.35    |
| Go                 | 1.26.1  |
| controller-runtime | 0.23.3  |

#### Updated roadmap

The next feature to be supported is the new multi-cluster topology. Stay tuned!

- [x] ~~[Point In Time Recovery (PITR)](https://github.com/mariadb-operator/mariadb-operator/issues/507)~~
- [ ] [Multi-cluster topology](https://github.com/mariadb-operator/mariadb-operator/issues/1543)

***

#### Community

Contributions of any kind are always welcome: adding yourself to the [list of adopters](https://github.com/mariadb-operator/mariadb-operator/blob/main/ADOPTERS.md), reporting issues, submitting pull requests, or simply starring the project! 🌟

#### Enterprise

For enterprise users, see the **[MariaDB Enterprise Operator](https://mariadb.com/products/enterprise/kubernetes-operator/)**, a commercially supported Kubernetes operator from MariaDB with additional enterprise-grade features.

#### What's Changed

- feat: Use primary Service by default for HA mariaDB connections by [@&#8203;softho0n](https://github.com/softho0n) in [#&#8203;1575](https://github.com/mariadb-operator/mariadb-operator/pull/1575)
- feat: add loadBalancerClass field to ServiceTemplate by [@&#8203;yangminglintw](https://github.com/yangminglintw) in [#&#8203;1589](https://github.com/mariadb-operator/mariadb-operator/pull/1589)
- fix: use standard compression extensions and add magic bytes validation by [@&#8203;yangminglintw](https://github.com/yangminglintw) in [#&#8203;1588](https://github.com/mariadb-operator/mariadb-operator/pull/1588)
- Make volumes and volumeMounts mutable by [@&#8203;hedgieinsocks](https://github.com/hedgieinsocks) in [#&#8203;1601](https://github.com/mariadb-operator/mariadb-operator/pull/1601)
- chore: Bump to latest go by [@&#8203;Michaelpalacce](https://github.com/Michaelpalacce) in [#&#8203;1630](https://github.com/mariadb-operator/mariadb-operator/pull/1630)
- make imagePullSecrets mutable by [@&#8203;dmaes](https://github.com/dmaes) in [#&#8203;1614](https://github.com/mariadb-operator/mariadb-operator/pull/1614)
- split config images in repository and tag by [@&#8203;dmaes](https://github.com/dmaes) in [#&#8203;1632](https://github.com/mariadb-operator/mariadb-operator/pull/1632)
- Galera recovery: disable bootstrap on other pods before bootstrapping by [@&#8203;infocusmodereal](https://github.com/infocusmodereal) in [#&#8203;1631](https://github.com/mariadb-operator/mariadb-operator/pull/1631)
- Bump github.com/minio/minio-go/v7 from 7.0.97 to 7.0.98 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1585](https://github.com/mariadb-operator/mariadb-operator/pull/1585)
- Bump ghcr.io/devcontainers/features/docker-in-docker from 2.13.0 to 2.16.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1624](https://github.com/mariadb-operator/mariadb-operator/pull/1624)
- Bump ghcr.io/devcontainers/features/kubectl-helm-minikube from 1.2.2 to 1.3.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1623](https://github.com/mariadb-operator/mariadb-operator/pull/1623)
- Bump goreleaser/goreleaser-action from 6 to 7 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1620](https://github.com/mariadb-operator/mariadb-operator/pull/1620)
- Bump github.com/onsi/gomega from 1.38.3 to 1.39.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1581](https://github.com/mariadb-operator/mariadb-operator/pull/1581)
- Bump crate-ci/typos from 1.41.0 to 1.44.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1625](https://github.com/mariadb-operator/mariadb-operator/pull/1625)
- Bump github.com/onsi/ginkgo/v2 from 2.27.3 to 2.27.5 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1586](https://github.com/mariadb-operator/mariadb-operator/pull/1586)
- Bump github.com/cert-manager/cert-manager from 1.18.2 to 1.19.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1580](https://github.com/mariadb-operator/mariadb-operator/pull/1580)
- Bump github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring from 0.87.1 to 0.88.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1579](https://github.com/mariadb-operator/mariadb-operator/pull/1579)
- Disable service links in MariaDB and MaxScale pod specs by [@&#8203;usiegj00](https://github.com/usiegj00) in [#&#8203;1635](https://github.com/mariadb-operator/mariadb-operator/pull/1635)
- Fix finalizer for ExternalMariDB by [@&#8203;snaax](https://github.com/snaax) in [#&#8203;1606](https://github.com/mariadb-operator/mariadb-operator/pull/1606)
- test: Added int tests for sql resources with external mariadb deletion by [@&#8203;Michaelpalacce](https://github.com/Michaelpalacce) in [#&#8203;1649](https://github.com/mariadb-operator/mariadb-operator/pull/1649)
- Bump github.com/minio/minio-go/v7 from 7.0.98 to 7.0.99 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1648](https://github.com/mariadb-operator/mariadb-operator/pull/1648)
- Bump golang.org/x/sync from 0.19.0 to 0.20.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1645](https://github.com/mariadb-operator/mariadb-operator/pull/1645)
- Bump docker/build-push-action from 6 to 7 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1644](https://github.com/mariadb-operator/mariadb-operator/pull/1644)
- Bump docker/setup-qemu-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1642](https://github.com/mariadb-operator/mariadb-operator/pull/1642)
- Bump github.com/go-chi/chi/v5 from 5.2.3 to 5.2.5 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1641](https://github.com/mariadb-operator/mariadb-operator/pull/1641)
- Bump docker/login-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1646](https://github.com/mariadb-operator/mariadb-operator/pull/1646)
- Bump ghcr.io/devcontainers/features/docker-in-docker from 2.16.0 to 2.16.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1640](https://github.com/mariadb-operator/mariadb-operator/pull/1640)
- Bump docker/setup-buildx-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1638](https://github.com/mariadb-operator/mariadb-operator/pull/1638)
- Bump github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring from 0.88.0 to 0.89.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1643](https://github.com/mariadb-operator/mariadb-operator/pull/1643)
- Bump golang from 1.25.7-alpine3.23 to 1.26.1-alpine3.23 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1639](https://github.com/mariadb-operator/mariadb-operator/pull/1639)
- feat: Latest controller-runtime. Webhook changes, New Events API by [@&#8203;Michaelpalacce](https://github.com/Michaelpalacce) in [#&#8203;1651](https://github.com/mariadb-operator/mariadb-operator/pull/1651)
- Support for ephemeral volumes in `MariaDB` by [@&#8203;mmontes11](https://github.com/mmontes11) in [#&#8203;1650](https://github.com/mariadb-operator/mariadb-operator/pull/1650)
- fix: accept compressed backup files in logical restore by [@&#8203;voron](https://github.com/voron) in [#&#8203;1655](https://github.com/mariadb-operator/mariadb-operator/pull/1655)
- Fix typo: syncrhonous -> synchronous by [@&#8203;sjmudd](https://github.com/sjmudd) in [#&#8203;1657](https://github.com/mariadb-operator/mariadb-operator/pull/1657)
- Release 26.03: `PointInTimeRecovery`, Azure Blob Storage & on-demand `PhysicalBackups` by [@&#8203;mmontes11](https://github.com/mmontes11) in [#&#8203;1517](https://github.com/mariadb-operator/mariadb-operator/pull/1517)

#### New Contributors

- [@&#8203;softho0n](https://github.com/softho0n) made their first contribution in [#&#8203;1575](https://github.com/mariadb-operator/mariadb-operator/pull/1575)
- [@&#8203;yangminglintw](https://github.com/yangminglintw) made their first contribution in [#&#8203;1589](https://github.com/mariadb-operator/mariadb-operator/pull/1589)
- [@&#8203;dmaes](https://github.com/dmaes) made their first contribution in [#&#8203;1614](https://github.com/mariadb-operator/mariadb-operator/pull/1614)
- [@&#8203;infocusmodereal](https://github.com/infocusmodereal) made their first contribution in [#&#8203;1631](https://github.com/mariadb-operator/mariadb-operator/pull/1631)
- [@&#8203;usiegj00](https://github.com/usiegj00) made their first contribution in [#&#8203;1635](https://github.com/mariadb-operator/mariadb-operator/pull/1635)
- [@&#8203;voron](https://github.com/voron) made their first contribution in [#&#8203;1655](https://github.com/mariadb-operator/mariadb-operator/pull/1655)
- [@&#8203;sjmudd](https://github.com/sjmudd) made their first contribution in [#&#8203;1657](https://github.com/mariadb-operator/mariadb-operator/pull/1657)

**Full Changelog**: <https://github.com/mariadb-operator/mariadb-operator/compare/25.10.4...26.3.0>

</details>

---

### Configuration

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

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

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

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

---

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

---

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

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4706
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-14 23:54:24 +00:00
510f059037 chore(deps): update ghcr.io/haveagitgat/tdarr_node docker tag to v2.63.01 (#4737)
Some checks failed
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 11s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/haveagitgat/tdarr_node](https://github.com/HaveAGitGat/tdarr_express_be) | minor | `2.62.01` → `2.63.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 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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: #4737
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-14 23:51:38 +00:00
9fce102ad0 chore(deps): update ghcr.io/haveagitgat/tdarr docker tag to v2.63.01 (#4736)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 19s
renovate / renovate (push) Successful in 3m29s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/haveagitgat/tdarr](https://github.com/HaveAGitGat/tdarr_express_be) | minor | `2.62.01` → `2.63.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 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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: #4736
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-14 23:19:45 +00:00
56f7191743 chore(deps): update harbor.alexlebens.net/images/site-profile docker tag to v3.12.1 (#4738)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 48s
renovate / renovate (push) Successful in 5m47s
2026-03-14 23:02:43 +00:00
d4b33afb65 chore(deps): update ghcr.io/linuxserver/code-server:4.111.0 docker digest to 12c04b4 (#4734)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 18s
renovate / renovate (push) Successful in 2m20s
2026-03-14 20:52:12 +00:00
d92659d146 chore(deps): update ghcr.io/gethomepage/homepage docker tag to v1.11.0 (#4728)
Some checks failed
lint-test-docker / lint-docker-compose (push) Successful in 52s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/gethomepage/homepage](https://github.com/gethomepage/homepage) | minor | `v1.10.1` → `v1.11.0` |

---

### Release Notes

<details>
<summary>gethomepage/homepage (ghcr.io/gethomepage/homepage)</summary>

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

[Compare Source](https://github.com/gethomepage/homepage/compare/v1.10.1...v1.11.0)

##### What's Changed

- Chore(deps): Bump actions/checkout from 4 to 6 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6284](https://github.com/gethomepage/homepage/pull/6284)
- Chore(deps): Bump actions/setup-node from 4 to 6 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6285](https://github.com/gethomepage/homepage/pull/6285)
- Feature: add Tracearr widget for displaying active Plex streams by [@&#8203;Bothari](https://github.com/Bothari) in [#&#8203;6306](https://github.com/gethomepage/homepage/pull/6306)
- Improvement: better handle highlighting with units by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6318](https://github.com/gethomepage/homepage/pull/6318)
- Chore: rename Jellyseerr widget to Seerr and update references by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6322](https://github.com/gethomepage/homepage/pull/6322)
- Enhancement: jellyseer completed by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6329](https://github.com/gethomepage/homepage/pull/6329)
- Chore: merge Overseerr into Seerr, add aliases by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6330](https://github.com/gethomepage/homepage/pull/6330)
- Enhancement: add "Temperature" label to list of possible CPU sensors by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6331](https://github.com/gethomepage/homepage/pull/6331)
- Enhancement: cover more basic statuses in containers list by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6334](https://github.com/gethomepage/homepage/pull/6334)
- Feature: sparkyfitness service widget by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6346](https://github.com/gethomepage/homepage/pull/6346)
- Enhancement: fallback for missing si network stats by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6367](https://github.com/gethomepage/homepage/pull/6367)
- Fix: Await async proxy handlers by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6371](https://github.com/gethomepage/homepage/pull/6371)
- Fix: small fixes for Omada proxy by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6372](https://github.com/gethomepage/homepage/pull/6372)
- Chore: add security context, liveness probe and config mount to k8s deployment example by [@&#8203;hugosxm](https://github.com/hugosxm) in [#&#8203;6375](https://github.com/gethomepage/homepage/pull/6375)
- Enhancement: use lighter endpoints for qbittorrent by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6388](https://github.com/gethomepage/homepage/pull/6388)
- Chore(deps-dev): Bump prettier from 3.7.3 to 3.8.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6379](https://github.com/gethomepage/homepage/pull/6379)
- Chore(deps-dev): Bump jsdom from 26.1.0 to 28.1.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6378](https://github.com/gethomepage/homepage/pull/6378)
- Chore(deps): Bump ical.js from 2.1.0 to 2.2.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6377](https://github.com/gethomepage/homepage/pull/6377)
- Chore(deps): Bump docker/login-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6385](https://github.com/gethomepage/homepage/pull/6385)
- Chore(deps): Bump next-i18next from 12.1.0 to 15.4.3 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6376](https://github.com/gethomepage/homepage/pull/6376)
- Chore(deps): Bump react and react-dom by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6380](https://github.com/gethomepage/homepage/pull/6380)
- Chore(deps): Bump docker/setup-qemu-action from 3.7.0 to 4.0.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6386](https://github.com/gethomepage/homepage/pull/6386)
- Chore(deps): Bump docker/metadata-action from 5 to 6 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6399](https://github.com/gethomepage/homepage/pull/6399)
- Chore(deps): Bump docker/setup-buildx-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6398](https://github.com/gethomepage/homepage/pull/6398)
- Chore(deps): Bump docker/build-push-action from 6 to 7 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6397](https://github.com/gethomepage/homepage/pull/6397)
- Change: use byterate for beszel network field by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6402](https://github.com/gethomepage/homepage/pull/6402)
- Enhancement: better Crowdsec auth parsing, caching, and retries by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6419](https://github.com/gethomepage/homepage/pull/6419)

##### New Contributors

- [@&#8203;Bothari](https://github.com/Bothari) made their first contribution in [#&#8203;6306](https://github.com/gethomepage/homepage/pull/6306)
- [@&#8203;hugosxm](https://github.com/hugosxm) made their first contribution in [#&#8203;6375](https://github.com/gethomepage/homepage/pull/6375)

**Full Changelog**: <https://github.com/gethomepage/homepage/compare/v1.10.1...v1.11.0>

</details>

---

### Configuration

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

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

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

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

---

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

---

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

Reviewed-on: #4728
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-14 20:49:28 +00:00
cb3c1689a3 chore(deps): update gethomepage/homepage to v1.11.0 (#4727)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 12s
renovate / renovate (push) Successful in 3m19s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [gethomepage/homepage](https://github.com/gethomepage/homepage) | minor | `v1.10.1` → `v1.11.0` |
| [ghcr.io/gethomepage/homepage](https://github.com/gethomepage/homepage) | minor | `v1.10.1` → `v1.11.0` |

---

### Release Notes

<details>
<summary>gethomepage/homepage (gethomepage/homepage)</summary>

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

[Compare Source](https://github.com/gethomepage/homepage/compare/v1.10.1...v1.11.0)

##### What's Changed

- Chore(deps): Bump actions/checkout from 4 to 6 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6284](https://github.com/gethomepage/homepage/pull/6284)
- Chore(deps): Bump actions/setup-node from 4 to 6 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6285](https://github.com/gethomepage/homepage/pull/6285)
- Feature: add Tracearr widget for displaying active Plex streams by [@&#8203;Bothari](https://github.com/Bothari) in [#&#8203;6306](https://github.com/gethomepage/homepage/pull/6306)
- Improvement: better handle highlighting with units by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6318](https://github.com/gethomepage/homepage/pull/6318)
- Chore: rename Jellyseerr widget to Seerr and update references by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6322](https://github.com/gethomepage/homepage/pull/6322)
- Enhancement: jellyseer completed by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6329](https://github.com/gethomepage/homepage/pull/6329)
- Chore: merge Overseerr into Seerr, add aliases by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6330](https://github.com/gethomepage/homepage/pull/6330)
- Enhancement: add "Temperature" label to list of possible CPU sensors by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6331](https://github.com/gethomepage/homepage/pull/6331)
- Enhancement: cover more basic statuses in containers list by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6334](https://github.com/gethomepage/homepage/pull/6334)
- Feature: sparkyfitness service widget by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6346](https://github.com/gethomepage/homepage/pull/6346)
- Enhancement: fallback for missing si network stats by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6367](https://github.com/gethomepage/homepage/pull/6367)
- Fix: Await async proxy handlers by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6371](https://github.com/gethomepage/homepage/pull/6371)
- Fix: small fixes for Omada proxy by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6372](https://github.com/gethomepage/homepage/pull/6372)
- Chore: add security context, liveness probe and config mount to k8s deployment example by [@&#8203;hugosxm](https://github.com/hugosxm) in [#&#8203;6375](https://github.com/gethomepage/homepage/pull/6375)
- Enhancement: use lighter endpoints for qbittorrent by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6388](https://github.com/gethomepage/homepage/pull/6388)
- Chore(deps-dev): Bump prettier from 3.7.3 to 3.8.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6379](https://github.com/gethomepage/homepage/pull/6379)
- Chore(deps-dev): Bump jsdom from 26.1.0 to 28.1.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6378](https://github.com/gethomepage/homepage/pull/6378)
- Chore(deps): Bump ical.js from 2.1.0 to 2.2.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6377](https://github.com/gethomepage/homepage/pull/6377)
- Chore(deps): Bump docker/login-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6385](https://github.com/gethomepage/homepage/pull/6385)
- Chore(deps): Bump next-i18next from 12.1.0 to 15.4.3 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6376](https://github.com/gethomepage/homepage/pull/6376)
- Chore(deps): Bump react and react-dom by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6380](https://github.com/gethomepage/homepage/pull/6380)
- Chore(deps): Bump docker/setup-qemu-action from 3.7.0 to 4.0.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6386](https://github.com/gethomepage/homepage/pull/6386)
- Chore(deps): Bump docker/metadata-action from 5 to 6 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6399](https://github.com/gethomepage/homepage/pull/6399)
- Chore(deps): Bump docker/setup-buildx-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6398](https://github.com/gethomepage/homepage/pull/6398)
- Chore(deps): Bump docker/build-push-action from 6 to 7 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;6397](https://github.com/gethomepage/homepage/pull/6397)
- Change: use byterate for beszel network field by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6402](https://github.com/gethomepage/homepage/pull/6402)
- Enhancement: better Crowdsec auth parsing, caching, and retries by [@&#8203;shamoon](https://github.com/shamoon) in [#&#8203;6419](https://github.com/gethomepage/homepage/pull/6419)

##### New Contributors

- [@&#8203;Bothari](https://github.com/Bothari) made their first contribution in [#&#8203;6306](https://github.com/gethomepage/homepage/pull/6306)
- [@&#8203;hugosxm](https://github.com/hugosxm) made their first contribution in [#&#8203;6375](https://github.com/gethomepage/homepage/pull/6375)

**Full Changelog**: <https://github.com/gethomepage/homepage/compare/v1.10.1...v1.11.0>

</details>

---

### Configuration

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

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

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

🔕 **Ignore**: Close this PR and you won't be reminded about 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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: #4727
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-14 20:11:51 +00:00
fee98e7ed8 chore(deps): update ollama/ollama to v0.18.0 (#4720)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 10s
renovate / renovate (push) Successful in 3m48s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ollama/ollama](https://github.com/ollama/ollama) | minor | `0.17.7` → `0.18.0` |
| ollama/ollama | minor | `0.17.7` → `0.18.0` |

---

### Release Notes

<details>
<summary>ollama/ollama (ollama/ollama)</summary>

### [`v0.18.0`](https://github.com/ollama/ollama/releases/tag/v0.18.0)

[Compare Source](https://github.com/ollama/ollama/compare/v0.17.7...v0.18.0)

#### What's Changed

- Improved ordering models when running `ollama`
- Ollama's cloud models no longer require downloading via `ollama pull`. Setting `:cloud` as a tag will now automatically connect to cloud models.
- `ollama launch claude` now supports setting the compaction window for Claude Code

#### New Contributors

- [@&#8203;flipbit03](https://github.com/flipbit03) made their first contribution in [#&#8203;14821](https://github.com/ollama/ollama/pull/14821)

**Full Changelog**: <https://github.com/ollama/ollama/compare/v0.17.8-rc4...v0.18.0>

</details>

---

### Configuration

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

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

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

🔕 **Ignore**: Close this PR and you won't be reminded about 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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: #4720
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-14 20:04:00 +00:00
460b5c55d8 chore(deps): update helm release mariadb-operator-crds to v26 (#4707)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 14s
renovate / renovate (push) Successful in 5m9s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [mariadb-operator-crds](https://github.com/mariadb-operator/mariadb-operator) | major | `25.10.4` → `26.3.0` |

---

### Release Notes

<details>
<summary>mariadb-operator/mariadb-operator (mariadb-operator-crds)</summary>

### [`v26.3.0`](https://github.com/mariadb-operator/mariadb-operator/releases/tag/26.3.0)

[Compare Source](https://github.com/mariadb-operator/mariadb-operator/compare/mariadb-operator-crds-25.10.4...mariadb-operator-crds-26.3.0)

**`mariadb-operator` [26.03](https://github.com/mariadb-operator/mariadb-operator/releases/tag/26.3.0) is here!** 🦭

Welcome to another release of `mariadb-operator`! In this version, we have significantly enhanced our disaster recovery capabilities by adding support for **on-demand physical backups**, **Azure Blob Storage** and... (🥁)... **Point-In-Time-Recovery** .

Additionally, we've received a bunch of contributions by our amazing community during this release, including bug fixes and new features. We feel very grateful for your efforts and support, thank you! 🙇‍♂️ Refer to the PRs in the changelog below for further details.

If you're upgrading from previous versions, **do not miss the [UPGRADE GUIDE](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/releases/UPGRADE_26.3.0.md)** for a smooth transition.

#### Point-In-Time-Recovery

Point-in-time recovery (PITR) is a feature that allows you to restore a `MariaDB` instance to a specific point in time. For achieving this, it combines a full base backup and the binary logs that record all changes made to the database after the backup. This is something fully automated by operator, covering archival and restoration up to a specific time, ensuring business continuity and reduced RTO and RPO.

In order to configure PITR, you need to create a `PhysicalBackup` object to be used as full base backup. For example, you can configure a nightly backup:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
  name: physicalbackup-daily
spec:
  mariaDbRef:
    name: mariadb-repl
  schedule:
    cron: "0 0 * * *"
    suspend: false
    immediate: true
  compression: bzip2
  maxRetention: 720h
  storage:
    s3:
      bucket: physicalbackups
      prefix: mariadb
      endpoint: minio.minio.svc.cluster.local:9000
      region: us-east-1
      accessKeyIdSecretKeyRef:
        name: minio
        key: access-key-id
      secretAccessKeySecretKeyRef:
        name: minio
        key: secret-access-key
      tls:
        enabled: true
        caSecretKeyRef:
          name: minio-ca
          key: ca.crt
```

Next step is configuring common aspects of both binary log archiving and point-in-time restoration by defining a `PointInTimeRecovery` object:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PointInTimeRecovery
metadata:
  name: pitr
spec:
  physicalBackupRef:
    name: physicalbackup-daily
  storage:
    s3:
      bucket: binlogs
      prefix: mariadb
      endpoint: minio.minio.svc.cluster.local:9000
      region: us-east-1
      accessKeyIdSecretKeyRef:
        name: minio
        key: access-key-id
      secretAccessKeySecretKeyRef:
        name: minio
        key: secret-access-key
      tls:
        enabled: true
        caSecretKeyRef:
          name: minio-ca
          key: ca.crt
  compression: gzip
  archiveTimeout: 1h
  strictMode: false
```

The new `PointInTimeRecovery` CR is just a configuration object that contains shared settings for both binary log archiving and point-in-time recovery. It has also a reference to a `PhysicalBackup` CR, used as full base backup.

In order to configure binary log archiving, you need to set a reference to the `PointInTimeRecovery` CR in the `MariaDB` object:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: MariaDB
metadata:
  name: mariadb-repl
spec:
  pointInTimeRecoveryRef:
    name: pitr
```

This will enable the binary log archival in the sidecar agent, which will eventually report the last recoverable time via the `PointInTimeRecovery` status:

```bash
kubectl get pitr
NAME   PHYSICAL BACKUP        LAST RECOVERABLE TIME   STRICT MODE   AGE
pitr   physicalbackup-daily   2026-02-27T20:10:42Z    false         43h
```

In order to perform a point-in-time restoration, you can create a new `MariaDB` instance with a reference to the `PointInTimeRecovery` object in the `bootstrapFrom` field, along with the `targetRecoveryTime`, which should be before or at the last recoverable time:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: MariaDB
metadata:
  name: mariadb-repl
spec:
  bootstrapFrom:
    pointInTimeRecoveryRef:
      name: pitr
    targetRecoveryTime: 2026-02-27T20:10:42Z
```

The restoration process will match the closest physical backup before or at the `targetRecoveryTime`, and then it will replay the archived binary logs from the backup GTID position up until the `targetRecoveryTime`.

Refer to the [PITR docs](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/pitr.md) for additional details.

#### Azure Blob Storage

So far, we have only supported S3-compatible storage as object storage for keeping the backups. We are now introducing native support for Azure Blob Storage in the `PhysicalBackup` and `PointInTimeRecovery` CRs. You can configure it under the `storage` field, similarly to S3:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PointInTimeRecovery
metadata:
  name: pitr
spec:
  storage:
    azureBlob:
      containerName: binlogs
      serviceURL: https://azurite.default.svc.cluster.local:10000/devstoreaccount1
      prefix: mariadb
      storageAccountName: devstoreaccount1
      storageAccountKey:
        name: azurite-key
        key: storageAccountKey
      tls:
        enabled: true
        caSecretKeyRef:
          name: azurite-certs
          key: cert.pem
```

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
  name: physicalbackup-daily
spec:
  storage:
    azureBlob:
      containerName: physicalbackup
      serviceURL: https://azurite.default.svc.cluster.local:10000/devstoreaccount1
      prefix: mariadb
      storageAccountName: devstoreaccount1
      storageAccountKey:
        name: azurite-key
        key: storageAccountKey
      tls:
        enabled: true
        caSecretKeyRef:
          name: azurite-certs
          key: cert.pem
```

Refer to the [physical backup storage](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/physical_backup.md#azure-blob-storage-credentials) docs for additional details.

It is important to note that we couldn't find the bandwidth to support it for `Backup` resource (logical backup) in this release, [contributions are welcomed](https://github.com/mariadb-operator/mariadb-operator/issues/1653)!

Kudos to our co-maintainer [@&#8203;Michaelpalacce](https://github.com/Michaelpalacce) for smoothly driving this feature end-to-end!

#### On-demand `PhysicalBackup`

We have introduced the ability to trigger on-demand physical backup manually. For doing so, you need to provide an identifier in the `schedule.onDemand` field of the `PhysicalBackup` resource:

```yaml
apiVersion: k8s.mariadb.com/v1alpha1
kind: PhysicalBackup
metadata:
  name: physicalbackup
spec:
  schedule:
    onDemand: "1"
```

Once scheduled, the operator tracks the identifier under the status subresource. If the identifier in the status differs from `schedule.onDemand`, the operator will trigger a new physical backup.

Refer to the [physical backup scheduling](https://github.com/mariadb-operator/mariadb-operator/blob/main/docs/physical_backup.md#scheduling) docs for additional details.

##### Behaviour change in `targetRecoveryTime`

To satisfy requirements of point-in-time recovery, we have unified the behaviour of the `bootstrapFrom.targetRecoveryTime` field in the `MariaDB` object: Logical and physical backup files whose timestamp is closest to `targetRecoveryTime`, **but not after**, will be matched.

Please take this into account when upgrading to this version.

##### Change in Helm `values.yaml`

`config` has been split into `repository` and `tag` to facilitate overriding the image registry (see [#&#8203;1632](https://github.com/mariadb-operator/mariadb-operator/pull/1632)). Please update your `values.yaml` from:

```yaml
config:
  mariadbImageName: docker-registry1.mariadb.com/library/mariadb
  maxscaleImage: docker-registry2.mariadb.com/mariadb/maxscale:23.08.5
  exporterImage: prom/mysqld-exporter:v0.15.1
  exporterMaxscaleImage: docker-registry2.mariadb.com/mariadb/maxscale-prometheus-exporter-ubi:v0.0.1
```

to the following format:

```yaml
config:
  mariadbImage:
    repository: docker-registry1.mariadb.com/library/mariadb
    tag: 11.8.5
  maxscaleImage:
    repository: docker-registry2.mariadb.com/mariadb/maxscale
    tag: 23.08.5
  exporterImage:
    repository: prom/mysqld-exporter
    tag: v0.15.1
  exporterMaxscaleImage:
    repository: docker-registry2.mariadb.com/mariadb/maxscale-prometheus-exporter-ubi
    tag: v0.0.1
```

##### Updated dependencies

| Platform/Component | Version |
| ------------------ | ------- |
| Kubernetes         | 1.35    |
| Go                 | 1.26.1  |
| controller-runtime | 0.23.3  |

#### Updated roadmap

The next feature to be supported is the new multi-cluster topology. Stay tuned!

- [x] ~~[Point In Time Recovery (PITR)](https://github.com/mariadb-operator/mariadb-operator/issues/507)~~
- [ ] [Multi-cluster topology](https://github.com/mariadb-operator/mariadb-operator/issues/1543)

***

#### Community

Contributions of any kind are always welcome: adding yourself to the [list of adopters](https://github.com/mariadb-operator/mariadb-operator/blob/main/ADOPTERS.md), reporting issues, submitting pull requests, or simply starring the project! 🌟

#### Enterprise

For enterprise users, see the **[MariaDB Enterprise Operator](https://mariadb.com/products/enterprise/kubernetes-operator/)**, a commercially supported Kubernetes operator from MariaDB with additional enterprise-grade features.

#### What's Changed

- feat: Use primary Service by default for HA mariaDB connections by [@&#8203;softho0n](https://github.com/softho0n) in [#&#8203;1575](https://github.com/mariadb-operator/mariadb-operator/pull/1575)
- feat: add loadBalancerClass field to ServiceTemplate by [@&#8203;yangminglintw](https://github.com/yangminglintw) in [#&#8203;1589](https://github.com/mariadb-operator/mariadb-operator/pull/1589)
- fix: use standard compression extensions and add magic bytes validation by [@&#8203;yangminglintw](https://github.com/yangminglintw) in [#&#8203;1588](https://github.com/mariadb-operator/mariadb-operator/pull/1588)
- Make volumes and volumeMounts mutable by [@&#8203;hedgieinsocks](https://github.com/hedgieinsocks) in [#&#8203;1601](https://github.com/mariadb-operator/mariadb-operator/pull/1601)
- chore: Bump to latest go by [@&#8203;Michaelpalacce](https://github.com/Michaelpalacce) in [#&#8203;1630](https://github.com/mariadb-operator/mariadb-operator/pull/1630)
- make imagePullSecrets mutable by [@&#8203;dmaes](https://github.com/dmaes) in [#&#8203;1614](https://github.com/mariadb-operator/mariadb-operator/pull/1614)
- split config images in repository and tag by [@&#8203;dmaes](https://github.com/dmaes) in [#&#8203;1632](https://github.com/mariadb-operator/mariadb-operator/pull/1632)
- Galera recovery: disable bootstrap on other pods before bootstrapping by [@&#8203;infocusmodereal](https://github.com/infocusmodereal) in [#&#8203;1631](https://github.com/mariadb-operator/mariadb-operator/pull/1631)
- Bump github.com/minio/minio-go/v7 from 7.0.97 to 7.0.98 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1585](https://github.com/mariadb-operator/mariadb-operator/pull/1585)
- Bump ghcr.io/devcontainers/features/docker-in-docker from 2.13.0 to 2.16.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1624](https://github.com/mariadb-operator/mariadb-operator/pull/1624)
- Bump ghcr.io/devcontainers/features/kubectl-helm-minikube from 1.2.2 to 1.3.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1623](https://github.com/mariadb-operator/mariadb-operator/pull/1623)
- Bump goreleaser/goreleaser-action from 6 to 7 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1620](https://github.com/mariadb-operator/mariadb-operator/pull/1620)
- Bump github.com/onsi/gomega from 1.38.3 to 1.39.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1581](https://github.com/mariadb-operator/mariadb-operator/pull/1581)
- Bump crate-ci/typos from 1.41.0 to 1.44.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1625](https://github.com/mariadb-operator/mariadb-operator/pull/1625)
- Bump github.com/onsi/ginkgo/v2 from 2.27.3 to 2.27.5 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1586](https://github.com/mariadb-operator/mariadb-operator/pull/1586)
- Bump github.com/cert-manager/cert-manager from 1.18.2 to 1.19.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1580](https://github.com/mariadb-operator/mariadb-operator/pull/1580)
- Bump github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring from 0.87.1 to 0.88.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1579](https://github.com/mariadb-operator/mariadb-operator/pull/1579)
- Disable service links in MariaDB and MaxScale pod specs by [@&#8203;usiegj00](https://github.com/usiegj00) in [#&#8203;1635](https://github.com/mariadb-operator/mariadb-operator/pull/1635)
- Fix finalizer for ExternalMariDB by [@&#8203;snaax](https://github.com/snaax) in [#&#8203;1606](https://github.com/mariadb-operator/mariadb-operator/pull/1606)
- test: Added int tests for sql resources with external mariadb deletion by [@&#8203;Michaelpalacce](https://github.com/Michaelpalacce) in [#&#8203;1649](https://github.com/mariadb-operator/mariadb-operator/pull/1649)
- Bump github.com/minio/minio-go/v7 from 7.0.98 to 7.0.99 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1648](https://github.com/mariadb-operator/mariadb-operator/pull/1648)
- Bump golang.org/x/sync from 0.19.0 to 0.20.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1645](https://github.com/mariadb-operator/mariadb-operator/pull/1645)
- Bump docker/build-push-action from 6 to 7 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1644](https://github.com/mariadb-operator/mariadb-operator/pull/1644)
- Bump docker/setup-qemu-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1642](https://github.com/mariadb-operator/mariadb-operator/pull/1642)
- Bump github.com/go-chi/chi/v5 from 5.2.3 to 5.2.5 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1641](https://github.com/mariadb-operator/mariadb-operator/pull/1641)
- Bump docker/login-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1646](https://github.com/mariadb-operator/mariadb-operator/pull/1646)
- Bump ghcr.io/devcontainers/features/docker-in-docker from 2.16.0 to 2.16.1 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1640](https://github.com/mariadb-operator/mariadb-operator/pull/1640)
- Bump docker/setup-buildx-action from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1638](https://github.com/mariadb-operator/mariadb-operator/pull/1638)
- Bump github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring from 0.88.0 to 0.89.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1643](https://github.com/mariadb-operator/mariadb-operator/pull/1643)
- Bump golang from 1.25.7-alpine3.23 to 1.26.1-alpine3.23 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1639](https://github.com/mariadb-operator/mariadb-operator/pull/1639)
- feat: Latest controller-runtime. Webhook changes, New Events API by [@&#8203;Michaelpalacce](https://github.com/Michaelpalacce) in [#&#8203;1651](https://github.com/mariadb-operator/mariadb-operator/pull/1651)
- Support for ephemeral volumes in `MariaDB` by [@&#8203;mmontes11](https://github.com/mmontes11) in [#&#8203;1650](https://github.com/mariadb-operator/mariadb-operator/pull/1650)
- fix: accept compressed backup files in logical restore by [@&#8203;voron](https://github.com/voron) in [#&#8203;1655](https://github.com/mariadb-operator/mariadb-operator/pull/1655)
- Fix typo: syncrhonous -> synchronous by [@&#8203;sjmudd](https://github.com/sjmudd) in [#&#8203;1657](https://github.com/mariadb-operator/mariadb-operator/pull/1657)
- Release 26.03: `PointInTimeRecovery`, Azure Blob Storage & on-demand `PhysicalBackups` by [@&#8203;mmontes11](https://github.com/mmontes11) in [#&#8203;1517](https://github.com/mariadb-operator/mariadb-operator/pull/1517)

#### New Contributors

- [@&#8203;softho0n](https://github.com/softho0n) made their first contribution in [#&#8203;1575](https://github.com/mariadb-operator/mariadb-operator/pull/1575)
- [@&#8203;yangminglintw](https://github.com/yangminglintw) made their first contribution in [#&#8203;1589](https://github.com/mariadb-operator/mariadb-operator/pull/1589)
- [@&#8203;dmaes](https://github.com/dmaes) made their first contribution in [#&#8203;1614](https://github.com/mariadb-operator/mariadb-operator/pull/1614)
- [@&#8203;infocusmodereal](https://github.com/infocusmodereal) made their first contribution in [#&#8203;1631](https://github.com/mariadb-operator/mariadb-operator/pull/1631)
- [@&#8203;usiegj00](https://github.com/usiegj00) made their first contribution in [#&#8203;1635](https://github.com/mariadb-operator/mariadb-operator/pull/1635)
- [@&#8203;voron](https://github.com/voron) made their first contribution in [#&#8203;1655](https://github.com/mariadb-operator/mariadb-operator/pull/1655)
- [@&#8203;sjmudd](https://github.com/sjmudd) made their first contribution in [#&#8203;1657](https://github.com/mariadb-operator/mariadb-operator/pull/1657)

**Full Changelog**: <https://github.com/mariadb-operator/mariadb-operator/compare/25.10.4...26.3.0>

</details>

---

### Configuration

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

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

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

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

---

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

---

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

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4707
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-14 19:56:37 +00:00
35a38636f8 chore(deps): update dependency clidey/whodb to v0.99.0 (#4708)
Some checks failed
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 23s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [clidey/whodb](https://github.com/clidey/whodb) | minor | `0.98.0` → `0.99.0` |

---

### Release Notes

<details>
<summary>clidey/whodb (clidey/whodb)</summary>

### [`v0.99.0`](https://github.com/clidey/whodb/releases/tag/0.99.0)

[Compare Source](https://github.com/clidey/whodb/compare/0.98.0...0.99.0)

- Migrate OpenAI to the Responses API with a probe check to fallback to the Completions if it's not supported. This applies to OpenAI-compatible providers as well.
- Reduce the amount of SQL queries made on initial load.
- Query table information on-demand.
- Ideally fix the Apple DMG build.
- Add a small notification on the bottom left whenever a new update is available - this shows up only in the Docker and executable versions. Store versions automatically get updated.
- Add a small message in the CLI for when there is an update.
- MySQL and Postgres now respect user's permissions/grants and show only the databases they have access to.
- Backend updates and small optimisations.

#### Installation

##### Mac App Store

[Download from the Apple Store](https://apps.apple.com/app/whodb/id6754566536)

##### Microsoft Store

[Download from the Microsoft Store](https://apps.microsoft.com/detail/9pftx5bv4ds6)

##### Snap Store

```bash
sudo snap install whodb
```

[View on Snapcraft](https://snapcraft.io/whodb)

##### Docker

```bash
docker pull clidey/whodb:0.99.0
docker pull clidey/whodb:latest
```

##### Direct Downloads

See assets below for platform-specific packages (DMG, MSIX, etc.).

#### Documentation

- [Documentation](https://docs.whodb.com)
- [Report Issues](https://github.com/clidey/whodb/issues)

#### Upgrade Notes

To upgrade from a previous version:

- **Docker**: Pull the latest image and restart your container
- **Snap**: Run `sudo snap refresh whodb`
- **Desktop Apps**: Download and install the new version

***

**Full Changelog**: <https://github.com/clidey/whodb/compare/0.98.0...0.99.0>

</details>

---

### Configuration

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

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

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

🔕 **Ignore**: Close this PR and you won't be reminded about 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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: #4708
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-14 19:55:12 +00:00
70c6f22182 chore(deps): update advplyr/audiobookshelf to v2.33.0 (#4688)
Some checks failed
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 46s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [advplyr/audiobookshelf](https://github.com/advplyr/audiobookshelf) | minor | `2.32.1` → `2.33.0` |
| [ghcr.io/advplyr/audiobookshelf](https://github.com/advplyr/audiobookshelf) | minor | `2.32.1` → `2.33.0` |

---

### Release Notes

<details>
<summary>advplyr/audiobookshelf (advplyr/audiobookshelf)</summary>

### [`v2.33.0`](https://github.com/advplyr/audiobookshelf/releases/tag/v2.33.0)

[Compare Source](https://github.com/advplyr/audiobookshelf/compare/v2.32.1...v2.33.0)

##### Important: New authentication system was added in [v2.26.0](https://github.com/advplyr/audiobookshelf/releases/tag/v2.26.0). See <https://github.com/advplyr/audiobookshelf/discussions/4460> for details.

##### Added

- Slovak language option by [@&#8203;belpe](https://github.com/belpe) in [#&#8203;5077](https://github.com/advplyr/audiobookshelf/issues/5077)
- Belarusian language option by [@&#8203;pavel-miniutka](https://github.com/pavel-miniutka) in [#&#8203;5071](https://github.com/advplyr/audiobookshelf/issues/5071)
- Database indexes for discover query performance by [@&#8203;kevingatera](https://github.com/kevingatera) in [#&#8203;5073](https://github.com/advplyr/audiobookshelf/issues/5073)

##### Fixed

- IDOR vulnerabilities in listening sessions, media progress, and bookmark endpoints [#&#8203;5062](https://github.com/advplyr/audiobookshelf/issues/5062) by [@&#8203;mandreko](https://github.com/mandreko) in [#&#8203;5063](https://github.com/advplyr/audiobookshelf/issues/5063)
- Server crash filtering by decade with collapsed series
- Server crash on `/me/progress/:libraryItemId/:episodeId?` when episodeId is not passed in for a podcast library item [#&#8203;5058](https://github.com/advplyr/audiobookshelf/issues/5058)
- Updating author name merging with same name authors in a different library [#&#8203;4628](https://github.com/advplyr/audiobookshelf/issues/4628)
- Home page check current user from socket event when updating hide from continue listening
- UI/UX: Match tab "click to use current value" incorrect title attribute
- UI/UX: Aria-label for jump backward button by [@&#8203;KiwiHour](https://github.com/KiwiHour) in [#&#8203;4973](https://github.com/advplyr/audiobookshelf/issues/4973)

##### Changed

- Improved personalized shelves performance by parallelizing shelf queries and reducing search payload size by [@&#8203;kevingatera](https://github.com/kevingatera) in [#&#8203;5073](https://github.com/advplyr/audiobookshelf/issues/5073)
- Improved API cache invalidation for high-churn models (sessions, media progress) by [@&#8203;kevingatera](https://github.com/kevingatera) in [#&#8203;5073](https://github.com/advplyr/audiobookshelf/issues/5073)
- Improved subtitle parsing to account for bare colon in title by [@&#8203;kctdfh](https://github.com/kctdfh) in [#&#8203;5036](https://github.com/advplyr/audiobookshelf/issues/5036)
- Sanitize session DeviceInfo `clientDeviceInfo` fields
- Sanitize server settings `authLoginCustomMessage` on save and load
- Fix OpenAPI spec description by [@&#8203;openam](https://github.com/openam) in [#&#8203;5042](https://github.com/advplyr/audiobookshelf/issues/5042)
- UI/UX: Display localized/styled text for selected filter by [@&#8203;sir-wilhelm](https://github.com/sir-wilhelm) in [#&#8203;4952](https://github.com/advplyr/audiobookshelf/issues/4952)
- More strings translated
  - Belarusian by [@&#8203;pavel-miniutka](https://github.com/pavel-miniutka)
  - Catalan by [@&#8203;enboig](https://github.com/enboig)
  - Chinese (Simplified Han script) by [@&#8203;FiendFEARing](https://github.com/FiendFEARing)
  - Czech by [@&#8203;Plazec](https://github.com/Plazec)
  - Danish by [@&#8203;xxzp3](https://github.com/xxzp3)
  - French by [@&#8203;dapitch666](https://github.com/dapitch666)
  - German by [@&#8203;ShaikaJar](https://github.com/ShaikaJar) [@&#8203;Maxklos](https://github.com/Maxklos) [@&#8203;B0rax](https://github.com/B0rax)
  - Greek by [@&#8203;lambolighting](https://github.com/lambolighting)
  - Hebrew by [@&#8203;enosh](https://github.com/enosh)
  - Hungarian by [@&#8203;Kabika82](https://github.com/Kabika82) [@&#8203;ugyes](https://github.com/ugyes)
  - Japanese by [@&#8203;litoma](https://github.com/litoma)
  - Lithuanian by [@&#8203;mantas3](https://github.com/mantas3)
  - Norwegian Bokmål by [@&#8203;Torstein-Eide](https://github.com/Torstein-Eide) [@&#8203;soteland](https://github.com/soteland)
  - Polish by [@&#8203;Jarsey45](https://github.com/Jarsey45)
  - Portuguese (Brazil) by [@&#8203;lribeiro](https://github.com/lribeiro)
  - Romanian by [@&#8203;hac3ru](https://github.com/hac3ru)
  - Slovak by [@&#8203;goozi12345](https://github.com/goozi12345) [@&#8203;pecer](https://github.com/pecer)
  - Slovenian by [@&#8203;thehijacker](https://github.com/thehijacker)
  - Swedish by [@&#8203;Cotignac](https://github.com/Cotignac) [@&#8203;karlbe](https://github.com/karlbe)

##### New Contributors

- [@&#8203;KiwiHour](https://github.com/KiwiHour) made their first contribution in [#&#8203;4973](https://github.com/advplyr/audiobookshelf/pull/4973)
- [@&#8203;openam](https://github.com/openam) made their first contribution in [#&#8203;5042](https://github.com/advplyr/audiobookshelf/pull/5042)
- [@&#8203;belpe](https://github.com/belpe) made their first contribution in [#&#8203;5077](https://github.com/advplyr/audiobookshelf/pull/5077)
- [@&#8203;pavel-miniutka](https://github.com/pavel-miniutka) made their first contribution in [#&#8203;5071](https://github.com/advplyr/audiobookshelf/pull/5071)
- [@&#8203;kctdfh](https://github.com/kctdfh) made their first contribution in [#&#8203;5036](https://github.com/advplyr/audiobookshelf/pull/5036)
- [@&#8203;mandreko](https://github.com/mandreko) made their first contribution in [#&#8203;5063](https://github.com/advplyr/audiobookshelf/pull/5063)
- [@&#8203;kevingatera](https://github.com/kevingatera) made their first contribution in [#&#8203;5073](https://github.com/advplyr/audiobookshelf/pull/5073)

**Full Changelog**: <https://github.com/advplyr/audiobookshelf/compare/v2.32.1...v2.33.0>

</details>

---

### Configuration

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

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

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

🔕 **Ignore**: Close this PR and you won't be reminded about 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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4688
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-14 19:52:47 +00:00
c2341618be chore(deps): update helm release grafana-operator to v5.22.1 (#4732)
Some checks failed
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 47s
renovate / renovate (push) Has been cancelled
2026-03-14 19:51:17 +00:00
48d8d45d32 chore(deps): update dependency grafana/grafana-operator to v5.22.1 (#4731)
Some checks failed
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 13s
renovate / renovate (push) Has been cancelled
2026-03-14 19:48:18 +00:00
4a1b87c88d chore(deps): update g33kphr33k/musicgrabber docker tag to v2.4.3 (#4683)
Some checks failed
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 13s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| g33kphr33k/musicgrabber | minor | `2.3.5` → `2.4.3` |

---

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

Reviewed-on: #4683
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-14 19:46:02 +00:00
299824856e chore(deps): update rmcrackan/libation to v13.3.0 (#4677)
Some checks failed
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 9s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [rmcrackan/Libation](https://github.com/rmcrackan/Libation) | minor | `13.2.1` → `13.3.0` |
| [rmcrackan/libation](https://github.com/rmcrackan/Libation) | minor | `13.2.1` → `13.3.0` |

---

### Release Notes

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

### [`v13.3.0`](https://github.com/rmcrackan/Libation/releases/tag/v13.3.0): Libation 13.3

[Compare Source](https://github.com/rmcrackan/Libation/compare/v13.2.1...v13.3.0)

<!-- BEGIN NO-APP -->

> <a href="https://getlibation.com"><img src=".github/download-icon.svg" width="20" height="20" alt="" /></a> **[Which version should I download?](https://getlibation.com)** — get a recommended download for your system on our site.

<!-- END NO-APP -->

- Bug fix [#&#8203;1664](https://github.com/rmcrackan/Libation/issues/1664) -- WebView breaks catastrophically under Linux Snap -- segfault with no logged errors
- Bug fix [#&#8203;1625](https://github.com/rmcrackan/Libation/issues/1625) -- fix macOS key bindings
- Bug fix [#&#8203;1673](https://github.com/rmcrackan/Libation/issues/1673) -- Fix naming template links
- Bug fix [#&#8203;1672](https://github.com/rmcrackan/Libation/issues/1672) -- disallow WebView for linux snap
- Bug fix [#&#8203;1668](https://github.com/rmcrackan/Libation/issues/1668) -- accessibility bugs
- Cleaner display of upgrade notes

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

<!-- BEGIN NO-APP -->

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

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

<!-- END NO-APP -->

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

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4677
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-14 19:44:26 +00:00
d13eab410d chore(deps): update ghcr.io/linuxserver/code-server docker tag to v4.111.0 (#4655)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 45s
renovate / renovate (push) Successful in 1m39s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/linuxserver/code-server](https://github.com/linuxserver/docker-code-server/packages) ([source](https://github.com/linuxserver/docker-code-server)) | minor | `4.110.0` → `4.111.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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: #4655
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-14 18:34:40 +00:00
3f22ffaf20 chore(deps): update helm release loki to v6.55.0 (#4622)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 45s
renovate / renovate (push) Successful in 5m46s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [loki](https://grafana.github.io/helm-charts) ([source](https://github.com/grafana/helm-charts)) | minor | `6.53.0` → `6.55.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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2hhcnQiXX0=-->

Reviewed-on: #4622
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-14 18:21:50 +00:00
2c45d442a0 fix: apply workaround for missing flag
All checks were successful
lint-test-helm / lint-helm (push) Successful in 54s
render-manifests-push / render-manifests-push (push) Successful in 49s
renovate / renovate (push) Successful in 7m19s
2026-03-14 13:12:41 -05:00
3f28fc34f1 chore(deps): update helm release headlamp to v0.40.1 (#4725)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 30s
renovate / renovate (push) Successful in 2m9s
2026-03-14 15:03:45 +00:00
b5411738b0 chore(deps): update gitea/gitea docker tag to v1.25.5 (#4723)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 19s
renovate / renovate (push) Successful in 3m43s
2026-03-14 04:02:57 +00:00
b61abdf681 chore(deps): update gitea/gitea docker tag to v1.25.5 (#4722)
Some checks failed
renovate / renovate (push) Has been cancelled
lint-test-docker / lint-docker-compose (push) Successful in 1m7s
2026-03-14 04:02:46 +00:00
2b817f6fcb chore(deps): update dependency go-gitea/gitea to v1.25.5 (#4719)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 15s
renovate / renovate (push) Successful in 2m54s
2026-03-14 03:04:13 +00:00