Commit Graph
1125 Commits
Author SHA1 Message Date
Joshua Hoblitt 3a15255583 nfs: add CephNFS.spec.server.{image,imagePullPolicy} fields
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2026-01-29 13:18:05 -07:00
Tobias Florek db814dcd4b security: remove nodes/proxy rbac grants
It has only been used by the flex driver which is long gone.

This removes the nodes/proxy RBAC grant from the helm chart, the example
YAMl and the security design docs.

Signed-off-by: Tobias Florek <me@ibotty.net>
2026-01-28 08:16:19 +01:00
Travis Nielsen 090fc3c369 helm: set default ceph image pull policy
The image pull policy was expected to be set in the cephcluster
CR or else the helm deployment would fail. Now we set the expected
default to pull if not present.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2026-01-23 15:27:50 -07:00
Travis Nielsen 219710f25d Merge pull request #16689 from OdedViner/nmveof_new2
nvmeof: add nvme-of gateway crd support
2026-01-20 08:38:29 -07:00
Oded Viner 88a9bf5c7f nvmeof: add nvme-of gateway crd support
adds CephNVMeOFGateway crd for managing ceph nvme-of gateways.
supports configurable instances, placement, resources,
and networking options.

Signed-off-by: Oded Viner <oviner@redhat.com>
2026-01-20 13:19:18 +02:00
Praveen M 8ebf07bbfe csi: update csi-addons to v0.14.0
Signed-off-by: Praveen M <m.praveen@ibm.com>
2026-01-16 11:50:18 +05:30
Praveen M 31c7592d03 csi: update external sidecar images
Below sidecars are updated with latest available versions

csi-attacher: v4.10.0
csi-snapshotter: v8.4.0
csi-resizer: v2.0.0
csi-provisioner: v6.0.0
csi-node-driver-registrar: v2.15.0

Signed-off-by: Praveen M <m.praveen@ibm.com>
2026-01-14 14:47:11 +05:30
Praveen M e30d1f7649 csi: update ceph-csi image to 3.16.0
Signed-off-by: Praveen M <m.praveen@ibm.com>
2026-01-14 14:39:44 +05:30
Travis Nielsen 52393923d1 helm: setting for reconciling concurrent clusters
The setting for concurrent clusters is now available in the
helm chart, instead of only as an env var on the operator
deployment. reconcileConcurrentClusters will be applied to the
env var ROOK_RECONCILE_CONCURRENT_CLUSTERS.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2026-01-13 11:17:46 -07:00
Parth Arora 06ee0db7a2 Merge pull request #16882 from parth-gr/fix-external-admin
external: if admin creds is provided stop creating csi secret
2026-01-12 19:53:06 +05:30
parth-gr 3b07adcd1f external: if admin creds is provided dont stop creating csi secret
if admin secret is created stop creating csi secret from
the rook operator

the csi creds and secret will still be created by the python and
the import script

Signed-off-by: parth-gr <partharora1010@gmail.com>
2026-01-12 19:43:26 +05:30
dependabot[bot] 3c51e808f2 build(deps): bump the k8s-dependencies group with 6 updates
Bumps the k8s-dependencies group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [k8s.io/api](https://github.com/kubernetes/api) | `0.34.2` | `0.34.3` |
| [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) | `0.34.2` | `0.34.3` |
| [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.34.2` | `0.34.3` |
| [k8s.io/cli-runtime](https://github.com/kubernetes/cli-runtime) | `0.34.2` | `0.34.3` |
| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.34.2` | `0.34.3` |
| [k8s.io/cloud-provider](https://github.com/kubernetes/cloud-provider) | `0.34.2` | `0.34.3` |

Updates `k8s.io/api` from 0.34.2 to 0.34.3
- [Commits](https://github.com/kubernetes/api/compare/v0.34.2...v0.34.3)

Updates `k8s.io/apiextensions-apiserver` from 0.34.2 to 0.34.3
- [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases)
- [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.34.2...v0.34.3)

Updates `k8s.io/apimachinery` from 0.34.2 to 0.34.3
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.34.2...v0.34.3)

Updates `k8s.io/cli-runtime` from 0.34.2 to 0.34.3
- [Commits](https://github.com/kubernetes/cli-runtime/compare/v0.34.2...v0.34.3)

Updates `k8s.io/client-go` from 0.34.2 to 0.34.3
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.34.2...v0.34.3)

Updates `k8s.io/cloud-provider` from 0.34.2 to 0.34.3
- [Commits](https://github.com/kubernetes/cloud-provider/compare/v0.34.2...v0.34.3)

---
updated-dependencies:
- dependency-name: k8s.io/api
  dependency-version: 0.34.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/apiextensions-apiserver
  dependency-version: 0.34.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/apimachinery
  dependency-version: 0.34.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/cli-runtime
  dependency-version: 0.34.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/client-go
  dependency-version: 0.34.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
- dependency-name: k8s.io/cloud-provider
  dependency-version: 0.34.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: k8s-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-07 07:59:21 -07:00
Matthew N. Heler 690589c080 helm: merge rook-config-override ConfigMap into toolbox ceph.conf
This change mounts the rook-config-override ConfigMap in the helm chart
toolbox and merges its contents into the generated ceph.conf, matching
the behavior from commit 9570d141.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
2025-12-18 06:54:34 -06:00
Manuel Grandeit 4f7ead07ca helm: add cephclusters/finalizers permission for mgr sidecar
The watch-active sidecar reconciles Services and wants to set
blockOwnerDeletion=true in the ownerReference. On clusters with
OwnerReferencesPermissionEnforcement admission controller this
requires the cephclusters/finalizers permission.

Signed-off-by: Manuel Grandeit <m.grandeit@gmail.com>
2025-12-16 21:21:29 +01:00
subhamkrai 4bbdb7cfc1 build: remove obsolete operator-sdk form makefile
Since we removed the csv from rook,we don't need this tool anymore.
Let's just remove all traces of the operator SDK from Rook

Signed-off-by: subhamkrai <srai@redhat.com>
2025-12-15 14:25:36 +05:30
Artem Torubarov 7ee062bc06 rgw: support all S3 notification events in CRD validation
Signed-off-by: Artem Torubarov <artem.torubarov@sap.com>
2025-12-08 11:08:24 +01:00
Travis Nielsen c05768feb3 docs: add pool parameter for erasure code optimizations
Ceph Tentacle v20 comes with erasure coding optimizations
that must be enabled explicitly with a setting on the pool.
Add this setting to the docs and examples.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-12-04 11:42:07 -07:00
Travis Nielsen eaf5e4a21f Merge pull request #16783 from subhamkrai/remove-ceph-reef
core: remove support for reef v18 in Rook v1.19
2025-12-04 09:52:08 -07:00
subhamkrai 304cdc8c83 core: remove support for reef v18 in Rook v1.19
For Rook v1.19,removing support for Ceph Reef. It is at end of life.
Users on Reef can continue to use Rook v1.18.x or older.
The latest two Ceph versions Squid and Tentacle are supported.

Signed-off-by: subhamkrai <srai@redhat.com>
2025-12-04 13:11:35 +05:30
Santosh a87a3fb766 rgw: update scaledObject resource
Update ScaledObject Resource to use correct metric.
ceph_rgw_put is not availabe. Using ceph_rgw_op_put_obj_ops instead.

Signed-off-by: Santosh <sapillai@redhat.com>
2025-12-02 21:03:36 +05:30
subhamkrai 88fb58bf2b core: make Ceph Tentacle default version
This commit make ceph tentacle as a default version in
cluster-test.yaml so that local and ci testing can be done
and also updating cluster.yaml to mention v20(tentacle).

Signed-off-by: subhamkrai <srai@redhat.com>
2025-12-01 13:43:20 +05:30
Travis Nielsen a086077d05 Merge pull request #16745 from michaeltchapman/cluster-chart-exporter
helm: Include exporter options in CephCluster
2025-11-20 10:36:20 -07:00
Michael Chapman 2e5dc5a16c helm: include exporter options in cephcluster
The operator supports setting options on the node exporter, such
as hostNetwork, which were previously omitted from the templated
CephCluster resource in the rook-ceph-cluster chart.

fixes: #16742
Signed-off-by: Michael Chapman <michael@aptira.com>
2025-11-20 14:03:00 +11:00
Travis Nielsen 8782e9183d Merge pull request #16719 from travisn/concurrent-reconcile
cluster: Support concurrent reconcile when there are multiple cephcluster CRs
2025-11-19 11:34:00 -07:00
Travis Nielsen 50dd51f6d4 Merge pull request #16731 from mheler/pass_config_to_toolbox
toolbox: merge rook-config-override ConfigMap into ceph.conf
2025-11-19 11:32:18 -07:00
Travis Nielsen a1c87c6188 mds: remove mds standby if disabled
The activeStandby property was being ignored when deciding
how many mds daemons to start. 2x the active count of mds
daemons were always being created. If the standby is not
desired, the standby can be removed, and it was unexpected
that it was not removed.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-11-19 10:55:12 -07:00
Matthew N. Heler 9570d141de manifest: merge rook-config-override ConfigMap into ceph.conf
The toolbox was not respecting the rook-config-override ConfigMap,
resulting in a minimal ceph.conf with only mon_host and keyring settings.
This made it difficult to run diagnostic commands that require custom
configuration parameters.

This change mounts the rook-config-override ConfigMap in all toolbox
variants and merges its contents into the generated ceph.conf. The
merge happens after writing the base config with mon endpoints, and
is re-applied whenever mon endpoints change.

The toolbox now has consistent behavior with other Rook-managed Ceph
daemons (mon, mgr, osd, mds, rgw) which already respect config overrides.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
2025-11-18 13:43:14 -06:00
Travis Nielsen b1ce9f226e operator: allow setting concurrent cluster reconciles
The cephcluster controller allows setting concurrent reconciles
with a setting in the operator configmap.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-11-17 11:46:33 -07:00
fancl20 adad69fb28 helm(rook-ceph-cluster): fix default pathType for HTTPRoute
Signed-off-by: fancl20 <fancl20@gmail.com>
2025-11-15 12:26:45 +00:00
GanghyeonSeo 8801b25b2c external: unify variable quoting style in importClusterID
Standardized the quoting for variables inside the importClusterID function of import-external-cluster.sh to improve consistency

Signed-off-by: GanghyeonSeo <sgh000109@gmail.com>
2025-11-13 15:15:10 +09:00
GanghyeonSeo f9acdab146 external: fix quote parsing and message in import-external-cluster.sh
Fixed a syntax error caused by incorrect quotation parsing in the importClusterID function of import-external-cluster.sh, and updated the output message shown while waiting for the SubVolumeGroup CR to be created.

Signed-off-by: GanghyeonSeo <sgh000109@gmail.com>
2025-11-12 03:00:22 +09:00
Travis Nielsen a5180adb92 Merge pull request #16617 from Nordix/Sunnatillo/add-networkHost-field-cephMgr
mgr: add hostNetwork field to Manager spec
2025-11-06 09:28:19 -07:00
Sunnatillo b9a4685f65 mgr: add hostNetwork field to Manager spec
Add optinal hostnetwork field for Ceph Mgr to control whether the
mgr pods to run in host network. If unset, this defaults to
cluster level Network.HostNetwork value. This particulary useful
when user wants to restrict ceph mgr pod from exposing metrics
port in all host interfaces.

Signed-off-by: Sunnatillo <sunnat.samadov@est.tech>
2025-11-05 21:52:49 +02:00
Joshua Hoblitt 43f26534ed osd: add CephCluster.spec.storage.OSDMaxUpdatesInParallel
Configures the maximum number of OSDs to update in parallel.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-11-03 12:10:28 -07:00
Blaine Gardner c08a7742b0 Merge pull request #14821 from sp98/rgw-hpa
rgw: add scale subresource to CephObjectStore CR
2025-10-27 09:54:11 -06:00
Daniel Höxtermann b1c58eb175 helm: remove duplicate YAML map entries
The removed map entries are already provided by the include.

Signed-off-by: Daniel Höxtermann <daniel@hxtm.dev>
2025-10-23 21:46:30 +02:00
Travis Nielsen 4aa9bfee40 Merge pull request #16507 from fullstackjam/fix-rbac-labels-null
fix: add missing labels to RBAC resources to prevent ArgoCD drift
2025-10-09 11:28:29 -06:00
Tim Buchwaldt 8db5274703 operator: allow overriding MDS cache memory limit
This change introduces support for setting the ceph cache memory limit
ratios that were previously hardcoded.
Codegen was drivey-by updated as the current version errored.

Resolves #16551

Signed-off-by: Tim Buchwaldt <tim.buchwaldt@deepl.com>
2025-10-07 09:15:56 +02:00
Daniel Höxtermann a664e3dc91 helm: fix toolbox image fallback
This fixes a regression from 51cb22c791
resulting in upgrade failure by adapting the toolbox deployment.

Signed-off-by: Daniel Höxtermann <daniel@hxtm.dev>
2025-10-02 20:21:55 +02:00
Travis Nielsen 535f9f0868 build: add csi operator image to images.txt
With the addition of the csi operator, the csi operator
image is added to the list of images that are required
for deploying rook.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-10-02 08:04:24 -06:00
Madhu Rajanna 5ea7410d58 csi: update operator to 0.4.1
Updating the operator dependency to
0.4.1

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2025-10-02 15:27:01 +02:00
fullstackjam 8656bd493c helm: add missing labels to ConfigMap, SCC, and ServiceAccount resources
Add consistent metadata labels to resources that were missing them:
- configmap.yaml: Add labels to rook-ceph-operator-config ConfigMap
- securityContextConstraints.yaml: Add labels to both rook-ceph and rook-ceph-csi SCCs
- serviceaccount.yaml: Add labels to 6 CSI ServiceAccounts that were missing them

All new labels use the unified library.rook-ceph.labels template for consistency.
Regenerated deploy/examples/common.yaml and deploy/examples/csi/nfs/rbac.yaml
to reflect the updated label definitions.

This addresses reviewer feedback about missing labels in non-RBAC resources
and ensures consistent labeling across all Rook Ceph Helm chart resources.

Signed-off-by: fullstackjam <fullstackjam@outlook.com>
2025-10-01 14:43:29 +08:00
fullstackjam f635d96ae9 helm: add missing labels to RBAC resources to prevent ArgoCD drift
This PR addresses ArgoCD drift detection issues by adding consistent
metadata labels to RBAC resources in Rook Ceph Helm charts. The problem
occurs because many RBAC resources lack metadata labels, causing ArgoCD
to interpret them as 'labels: null' and report continuous drift.

Changes made:
- Added consistent labels to all RBAC templates in rook-ceph and library charts
- Created _recommended-labels.tpl template for standardized labeling
- Removed app.kubernetes.io/component label per consideRatio feedback to avoid scope creep
- Suppressed Helm-specific labels (version, instance, managed-by, created-by, chart) from static RBAC files
- Regenerated deploy/examples/common.yaml and deploy/examples/csi/nfs/rbac.yaml

Labels added to RBAC resources:
- operator: rook
- storage-backend: ceph
- app.kubernetes.io/name: rook-ceph
- app.kubernetes.io/part-of: rook-ceph-operator

Impact:
- Resolves ArgoCD 'OutOfSync' issues for Rook RBAC resources
- Improves resource identification and management
- Provides consistent labeling across all Rook Helm charts
- No functional changes to RBAC permissions
- Focuses on essential labels to avoid over-engineering

This addresses review feedback from travisn and consideRatio to maintain
scope and ensure static RBAC files only contain meaningful labels.

Signed-off-by: fullstackjam <fullstackjam@outlook.com>
2025-10-01 14:43:25 +08:00
Erik Sundell e7a704ccf1 helm: remove legacy PodSecurityPolicy resource
The helm charts allowed rendering a PodSecurityPolicy resource via the
configuration `pspEnable`. This option is removed and all references to
psp, PodSecurityPolicy, and Pod Security Policy have been cleaned up.

The PSP resource was only rendered if k8s version was lower than 1.25
when it was still supported. It has been deprecated since k8s 1.21.

Signed-off-by: Erik Sundell <erik@sundellopensource.se>
2025-09-30 18:25:35 +02:00
Blaine Gardner 85dc50f66a Merge pull request #16542 from jhoblitt/feature/cephor-printcolumn-phase
core: add PHASE column to cephor
2025-09-26 12:21:25 -06:00
Blaine Gardner 2397e2b90d Merge pull request #16543 from jhoblitt/feature/cephnfs-printcolumn-phase
core: add PHASE column to cephnfs
2025-09-26 12:20:46 -06:00
Joshua Hoblitt 5ee982f1e1 core: add PHASE column to cephnfs
The current behavior does not print the PHASE column, as most other
CRDs do. E.g.:

```
 ~ $ k get cephnfs nfs1
NAME   AGE
nfs1   45d
```

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-09-26 09:39:32 -07:00
Joshua Hoblitt 8866d47d92 core: add PHASE column to cephbn
The current behavior does not print the PHASE column, as most other
CRDs do. E.g.:

```
~ $ k get cephbn chorus
NAME     AGE
chorus   10d
```

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-09-26 09:28:49 -07:00
Joshua Hoblitt 6d9c884259 core: add PHASE column to cephor
The current behavior does not print the PHASE column, as most other
CRDs do. E.g.:

```
 ~ $ k get cephor lfa
NAME   AGE
lfa    45d
```

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-09-26 09:27:15 -07:00
Travis Nielsen 51cb22c791 helm: allow specifying the image tag and repository separately
The image repo and tag conveniently can be specified separately
so the release tag can be picked from the official chart, and
the repo can be customized in the values.yaml

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-09-23 17:01:51 -05:00