LINSTOR Operator 2.12.1

We've just released 2.12.1 of our Kubernetes Operator. This is a small
bugfix release with a few improvements:

* You can now set the number of LINSTOR Controller replicas. [1]
* Pods of the same Deployment prefer to run on different nodes, so a
single node failure is less likely to take out all replicas.
* drbd-reactor restarts on its own if its metrics stop responding.

As usual, it also ships updated LINSTOR, LINSTOR CSI and CSI sidecar
images, containing their own fixes. Noteworthy are improved RWX
provisioning and shared storage capacity calculation.

To upgrade, either point your kustomization.yaml at the new manifest:

  https://charts.linstor.io/static/v2.12.1.yaml

Or, if using helm, upgrade the linstor-operator chart:

  helm repo update
  helm upgrade linstor-operator linstor/linstor-operator --wait --version 2.12.1

To get specific instructions to apply the update, check our users guide[2].

Source code is, as always, available upstream[3].

Best regards,
Moritz

[1]: LinstorCluster - Piraeus Datastore
[2]: https://linbit.com/drbd-user-guide/linstor-guide-1_0-en/#s-kubernetes-upgrade
[3]: GitHub - piraeusdatastore/piraeus-operator: The Piraeus Operator manages LINSTOR clusters in Kubernetes. · GitHub

---

### Added

- Add option to set the replica count for the LINSTOR Controller Deployment.

### Changed

- Document the kernel modules required on the host when the DRBD
Module Loader is disabled.
- Prefer spreading Pods of the same Deployment across different nodes.
- Restart the `drbd-reactor` container if its metrics endpoint stops responding.
- Updated images:
    * LINSTOR 1.35.3
    * LINSTOR CSI 1.13.2
    * kTLS-utils 1.4.0
    * Latest CSI sidecars

### Fixed

- Grant the CSI Controller `watch` and `update` on `VolumeSnapshots`,
required by the snapshot finalizer controller of csi-provisioner
v6.3.0.
- Grant the CSI Controller `patch` instead of `update` on the NFS
reactor ConfigMap, required by LINSTOR CSI 1.13.2.