Commit Graph
2262 Commits
Author SHA1 Message Date
Blaine Gardner 029c345372 Merge pull request #15813 from BlaineEXE/auth-rotate
object: automate RGW cephx key rotation
2025-06-10 12:51:50 -06:00
Blaine Gardner 5f50e85a25 object: implement cephx key rotation for rgw keys
This is the first implementation of CephX key rotation in Rook.
Adds key rotation API from design PR 15915.

Also add helper methods for rotating keys, determining when keys
need to be rotated, and for generating CephX key statuses. These will be
reusable for other Rook reconciles beyond object/RGW.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2025-06-10 09:06:58 -06:00
Travis Nielsen 3ae7892991 Merge pull request #15957 from obnoxxx/helm-improve-helm-sh
Helm: improve implementation and documentation of  helm.sh
2025-06-10 07:54:15 -06:00
Travis Nielsen 884e6c905f Merge pull request #15928 from hedgieinsocks/allow_prom_rule_edit
helm(rook-ceph-cluster): allow prometheusrule edits
2025-06-09 11:57:17 -06:00
Elias Carter 5a292f1b52 doc: fixup bullet points on rgw docs
In #15961 I updated the rgw docs, but I was looking at the published
docs and the bulleting is broken now for Gateway Settings. When I was
working on the PR I was just using the markdown preview in my editor and
wan't using the `docs-preview` target. It turns out that the markdown
editor and mkdocs render things differently.

This PR fixes the bullet formatting and I verified the fix by running
`make docs-preview` on my box and double checking the local website.

Signed-off-by: Elias Carter <elias@dropbox.com>
2025-06-09 16:18:41 +00:00
Santosh Pillai 2c1bb7443a Merge pull request #15796 from sp98/clean-osd-disks-from-old-clusters
osd: clean osd disks before reinstalling cluster
2025-06-09 14:03:49 +05:30
Artyom Babiy 6468255191 helm(rook-ceph-cluster): allow prometheusrule edits
This change allows the chart consumer to optionally
edit PrometheusRule CR by either disabling individual
alerts or tweaking their configuration.

Signed-off-by: Artyom Babiy <artyom.babiy@gmail.com>
2025-06-07 16:04:49 +03:00
Michael AdamandTravis Nielsen 1b43ae996c docs: improve dev guide regarding helm installation
The development guide mentioned that `tests/scripts/helm.sh up` would
install and set up the charts built under  `_output/charts`.

This is not correct as the script only downloads helm to a temporary
directry.

This change improves the dev guide by removing  these  incorrect
statements.

Signed-off-by: Michael Adam <obnox@samba.org>
Co-authored-by: Travis Nielsen <tnielsen@redhat.com>
2025-06-06 17:51:40 +02:00
Michael Adam ef267ee8bf helm: remove mention of helm.sh clean
tests/scripts/helm.sh clean is not implemented.

So  remove frpom the script's help text
and from the development guilde

Signed-off-by: Michael Adam <obnox@samba.org>
2025-06-06 17:51:40 +02:00
Santosh Pillai 2bcf196b15 osd: clean osd disks before reinstalling cluster
Allow force creation of OSD on a device previously configured in a different ceph cluster.
The OSD prepare pod job will zap the OSD disk using ceph-volume lvm zap
if that disk has metadata from a different ceph cluster.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2025-06-06 16:32:18 +05:30
Elias Carter 0605067a7d doc: improve documentation around object store certificates
The documentaiton around object store certificates does not specify how
to deal with internally issued certs being used on the RGW. From my
testing it is possible to get the rook operator to validate the RGW
certs if the entire certificate chain is put into the `cert` field of
the `sslCertificateRef` secret.

Additionally, the docs are linking to a broken civetweb link but rook is
now using the beast frontend, so I fixed that link to point towards the
beast frontend documentation instead.

There was also some confusion around the `caBundleRef` and how that is
used so I made the docs more explicit that the `caBundleRef` is used by
the RGW to connect to external services such as LGW and mulitsite RGW.

Signed-off-by: Elias Carter <elias@dropbox.com>
2025-06-05 23:01:05 +00:00
Juri Malinovski cc7e6b328b helm: add custom labels for toolbox deployment
Allow to assign custom labels for toolbox deployment. Some audit policies require specific labels for all kubernetes objects.

Signed-off-by: Juri Malinovski <juri.malinovski@coolbet.com>
2025-05-31 23:11:52 +03:00
Travis Nielsen 5265defd27 Merge pull request #15884 from OdedViner/report_reconcile_msg
core: improve reporting for reconcile requeue cases
2025-05-21 07:44:18 -06:00
Oded Viner 83ce9a6a63 core: improve reporting for reconcile requeue cases
when a reconcile returns a requeue result without an error
(e.g. due to a missing cephcluster), the previous logic reported
it as a successful reconcile. this was misleading and made it
hard to understand the actual controller behavior this
change adds a new condition to log and emit a "requeuing" event
when reconcileResponse.Requeue is true and err is nil.
this ensures more accurate event reporting and improves observability across
all controllers using reportreconcileresult.

Signed-off-by: Oded Viner <oviner@redhat.com>
2025-05-21 15:43:05 +03:00
yehaifeng e97f4a7de7 doc: recorrect the document ‘host_network’ to 'cluster_network'
This should be `cluster_network` rather than `host_network`. Ceph has not configuration called `host_network`.

Signed-off-by: Ye Haifeng <769358362@qq.com>
2025-05-21 17:57:39 +08:00
Niels de Vos a168c40008 csi: update Kubernetes CSI sidecar images to current versions
The Kubernetes CSI sidecars have had several releases that were not
included in deployments by Rook yet, update them to the versions that
are available today:

- csi-attacher:v4.8.1
- csi-provisioner:v5.2.0
- csi-resizer:v1.13.2
- csi-snapshotter:v8.2.1

This change is important, because Ceph-CSI will implement the new
Controller.GetSnapshot CSI procedure. A bug in csi-lib-utils causes a
panic when a ControllerCapability is provided, but not (yet) known to
the CSI sidecars. The updated sidecars consume a version of
csi-lib-utils with a fix for that panic.

See-also: kubernetes-csi/csi-lib-utils#188
Signed-off-by: Niels de Vos <ndevos@ibm.com>
2025-05-20 14:24:02 +02:00
parth-gr aa326a9419 rbdmirror: fix mirroring status on pool and rn
there is a change  from ceph on how the status
of the mirroring will look like,
Adopting with new fields so the status is correctly synced,
And other components might rely on the status too

Signed-off-by: parth-gr <partharora1010@gmail.com>
2025-05-14 13:07:24 +05:30
Travis Nielsen 530223c5b4 namespace: add conditions blocking deletion for rados namespace
When a rados namespace is deleted, it cannot be purged
until its images and snapshots are deleted. Now a condition
is being added to the rados namespace CR status so the user
does not need to read the operator log to discover the cause.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-05-07 15:42:17 -06:00
Oded Viner 86a8adab12 doc: fix missing crds.yaml in multi-namespace install docs
Add the missing crds.yaml apply step to the multi-namespace
deployment instructions.

Signed-off-by: Oded Viner <oviner@redhat.com>
2025-05-05 17:43:53 +03:00
Joshua Hoblitt 300a22398e object: fix uppercase serialization of fields in KafkaEndpointSpec
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-05-02 10:29:29 -07:00
Anthony D'Atri 202c1a253e doc: improve Documentation/CRDs/Block-Storage/ceph-block-pool-crd.md
Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
2025-05-01 14:58:11 -04:00
subhamkrai 8c2f724f6d ci: update latest k8s version to 1.33
this commit update k8s version to 1.33 and also update
other version like for minikube cri-ctl and so.

Signed-off-by: subhamkrai <srai@redhat.com>
2025-04-29 20:53:47 +05:30
Oded Viner ed66b7d2d9 doc: update COSI controller link to new repository location
The old COSI controller link pointed to
container-object-storage-interface-controller, which has been moved.
This PR updates the link to container-object-storage-interface.

Signed-off-by: Oded Viner <oviner@redhat.com>
2025-04-27 16:15:23 +03:00
Blaine Gardner 8d0ed0e66f Merge pull request #15696 from patrostkowski/feature/ceph-config-secret-ref-15678
operator: specify ceph config via secret
2025-04-23 11:48:24 -06:00
Travis Nielsen ae895770e2 Merge pull request #15750 from OdedViner/update_prometheus_version
test: update Prometheus Operator to v0.82.0
2025-04-23 11:44:14 -06:00
Travis Nielsen bf80385d6f Merge pull request #15769 from OdedViner/fix_prometheus_doc
doc: fix indentation and add enabled: true in dashboard config example
2025-04-23 11:21:33 -06:00
Oded Viner 63acf76871 doc: fix indentation and add enabled: true in dashboard config example
This PR corrects the indentation of the dashboard block
and adds the missing enabled: true field in the YAML example.

Signed-off-by: Oded Viner <oviner@redhat.com>
2025-04-23 19:18:01 +03:00
Patryk Rostkowski 45b0ef2104 operator: specify ceph config via secret
Adds .spec.cephConfigFromSecret to CephCluster for loading
Ceph config parameters from a Kubernetes Secret.

Signed-off-by: Patryk Rostkowski <patrostkowski@gmail.com>
2025-04-23 07:51:22 +02:00
Oded Viner 5d143d990c test: update Prometheus Operator to v0.82.0
this PR updates the Prometheus Operator URL references from
version v0.71.1 to the latest release v0.81.0 in documentation
and integration test scripts. This ensures we are aligned with
the latest features and improvements from
the Prometheus Operator project.

Signed-off-by: Oded Viner <oviner@redhat.com>
2025-04-22 15:37:56 +03:00
Travis Nielsen 7d908d0a5e build: stop publishing charts in master branch
The helm charts will now only be published when it is
an officially tagged release build.

The images will only be published to all repos for
dockerhub, quay, and ghcr when it is a tagged release.

The images will be published only to dockerhub for all
master and interim release branch builds.

Remove obsolete makefile option for images.
Ceph is the only image Rook ever expects to build.
Simplify the makefile by removing the legacy option
to select which image to build.

Also included are other small improvements to clean up
the release scripts.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-04-18 10:40:29 -06:00
Joshua Hoblitt 7887f03c5c object: add CephBucketTopic .spec.endpoint.kafka.{user,password}SecretRef
userSecretRef and passwordSecretRef fields are added to allow the Kafka
endpoint username and password to be supplied from a Kubernetes Secret,
rather than exposed as plaintext as part of the endpoint URI. If the
endpoint URI has HTTP basic auth user-id and user-pass components, they
are overridden by userSecretRef and passwordSecretRef.

Squid added bucket topic attributes for configuring the user-name and
password for pushing notifications to Kafka as an alternative to
encoding credentials into the URI. However, these attributes are not
supported under Reef. Thus, this initial implementation relies on URI
mangling for compatible with both Reef and Squid. Future work could
using Ceph version detection and switch to the new attributes to be used
with Squid and/or the implementation could be converted exclusively to
use the new attributes once Rook has dropped support for Reef.

Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-04-16 10:53:11 -07:00
Blaine Gardner ca30d4d0f3 Merge pull request #15621 from Termibg22/update-ceph-cluster-crd-docs
Update mon and placement docs for clarity
2025-04-16 10:53:04 -06:00
Travis Nielsen 874eb1f7f2 osd: document the ceph conf overrides per node
Recently the feature was implemented for osd node-specific
ceph.conf overrides in https://github.com/rook/rook/pull/15293.
Now the documentation is added for the feature.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-04-16 09:50:57 -06:00
Joshua Hoblitt 02c65b832e doc: add CephBucketTopic kafka mechanism field to upgrade docs
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-04-14 16:08:58 -07:00
Travis Nielsen c59eb9a3df Merge pull request #15704 from travisn/ceph-19.2.2
core: Set default ceph version to v19.2.2
2025-04-14 13:40:46 -06:00
Travis Nielsen f62e6d9cc2 core: set default ceph version to v19.2.2
Update the examples and docs and operator base image to
the latest ceph release v19.2.2.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2025-04-14 12:59:39 -06:00
Joshua Hoblitt a01c861b07 docs: fix typos in CephObjectStoreUser.spec.keys example
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-04-14 10:13:31 -07:00
Rakshith R a555885a5f csi: update cephcsi to latest release
This commit updates cephcsi version to 3.14.0
in rook.

Signed-off-by: Rakshith R <rar@redhat.com>
2025-04-11 18:05:44 +05:30
subhamkrai 13699226e4 ci: update minimum k8s supported version to 1.28
with this commit we are updating min supported k8s
version to 1.28 from 1.27 in docs and CI both.

Signed-off-by: subhamkrai <srai@redhat.com>
2025-04-10 21:24:53 +05:30
7e21b6c1c2 docs: update CephCluster CRD documentation for mon and placement settings
This PR updates the CephCluster CRD documentation to clarify the behavior and interactions between mon settings and placement configuration.

Signed-off-by: Termibg22 <rbujan@protonmail.com>
Co-authored-by: Travis Nielsen <tnielsen@redhat.com>
Co-authored-by: Blaine Gardner <blaine.gardner@ibm.com>
2025-04-10 11:37:27 +02:00
Blaine Gardner deb9838324 doc: update release notes and upgrade docs
Update pending release notes and upgrade docs for v1.17.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2025-04-07 09:57:20 -06:00
Joshua Hoblitt 6b2c357871 object: add CephObjectStoreUser.spec.keys
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
2025-04-03 09:09:01 -07:00
Blaine Gardner e349a81a17 Merge pull request #15624 from parth-gr/rgw-ex
object: updated cephobjectstore zone spec
2025-04-02 09:47:31 -06:00
parth-gr c47c6c5072 object: updated cephobjectstore zone api
if no multisite is used, rook creates the zone,
in the same name as cephobjectstore cr,

But cephobjectstore zone spec
shows name as empty string("")

Which is confusing for the end user, so
to remove the confusion by updating the
api defination

Signed-off-by: parth-gr <partharora1010@gmail.com>
2025-04-02 16:50:57 +05:30
Blaine Gardner 2348ff689c Merge pull request #15459 from subhamkrai/implicit-ns
rbdmirror: mirroring b/w implicit and defined ns
2025-04-01 12:56:06 -06:00
Blaine Gardner 85440169dd Merge pull request #15554 from ragnard/kafka-topic-params
rgw: Support Kafka auth mechanism parameter
2025-04-01 10:44:36 -06:00
subhamkrai 420178fe3e rbdmirror: mirroring b/w implicit and defined ns
this commit add support for mirroring b/w implicit rados namespace and
defined rados namespace. To support this, rook will treat `<implicit>`
name on cephblockpool as `""` empty string. This will allow mirroring
b/w implicit and defined radosnamespace.

Signed-off-by: subhamkrai <srai@redhat.com>
2025-04-01 10:46:06 +05:30
Travis Nielsen 9e1c78dfd5 Merge pull request #15522 from patrostkowski/feature/mon-active-ep-14986
mon: manage endpoints containing set of mon ip addresses
2025-03-31 10:42:29 -06:00
Patryk Rostkowski 08199b27c9 mon: manage endpoints containing set of mon ip addresses
The change creates and manages an Endpoints resource
with the current Ceph monitor (mon) IPs, allowing
clients to resolve mon IPs via DNS without relying
on the rook-ceph-mon-endpoints ConfigMap.

Signed-off-by: Patryk Rostkowski <patrostkowski@gmail.com>
2025-03-31 18:05:37 +02:00
Blaine Gardner e783264652 Merge pull request #15588 from sp98/rgw-client-location
rgw: RGW read affinity for localized reads
2025-03-31 09:26:20 -06:00