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>
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>
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>
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>
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>
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>
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>
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>
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>
This should be `cluster_network` rather than `host_network`. Ceph has not configuration called `host_network`.
Signed-off-by: Ye Haifeng <769358362@qq.com>
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>
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>
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>
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>
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>
Adds .spec.cephConfigFromSecret to CephCluster for loading
Ceph config parameters from a Kubernetes Secret.
Signed-off-by: Patryk Rostkowski <patrostkowski@gmail.com>
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>
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>
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>
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>
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>
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>
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>