Commit Graph
45 Commits
Author SHA1 Message Date
Artem Torubarov c9b1bfa805 osd: use a separate annotation to fence osd replacement instead of existing label
osd-replacement was relying on exising ceph.rook.io/do-not-reconcile
label for fencing osd destroy process owned by osd health goroutine from
controller. However, this label can be used but other components like
rook krew maintenance plugin and cannot be owned by osd-replacement
process. Added a separate osd.rook.io/replace-in-progress annotation for
that purpose.

Signed-off-by: Artem Torubarov <artem.torubarov@sap.com>
2026-07-29 11:03:29 +02:00
Artem Torubarov 7ea3480d5e docs: osd replacement user guide
Signed-off-by: Artem Torubarov <artem.torubarov@sap.com>
2026-07-27 18:43:58 +02:00
Michael Adam f35b54a53f docs: fix markdownlint
This fixes failing make lint.markdown

it broke after the latest link checking fixes.

Signed-off-by: Michael Adam <obnox@samba.org>
2026-07-09 19:51:52 +02:00
Michael Adam e8a39e3f90 docs: fix docs-build
After some markdown link fixes,
make docs-build failed due to some non-existing anchors in documentation
sources.

This changes fixes the docs-build by rectifying anchors.

Assisted-by: IBM-Bob
Signed-off-by: Michael Adam <obnox@samba.org>
2026-07-09 19:31:22 +02:00
Michael Adam a70d68b882 docs: fix some broken links
This change fixes some of the broken links in the markdown
documentatoion sources found by the markdown link checker.

Assisted-by: IBM Bob
Signed-off-by: Michael Adam <obnox@samba.org>
2026-07-09 19:30:43 +02:00
subhamkrai ad26ebdab0 build: update ceph version to latest v20.2.2
updating the ceph version from v20.2.1 to v20.2.2

Signed-off-by: subhamkrai <srai@redhat.com>
2026-06-17 22:00:11 +05:30
Parth Arora 31236a51e5 Merge pull request #17628 from parth-gr/drbd-upstream
core: add a install guide for tnf
2026-06-15 15:42:09 +05:30
parth-gr 8171c3ed3b core: add a install guide for tnf
add a install guide for tnf
1) Add a drbd install script
2) add a drbd instal doc

assisted-by: anthropic-ai/claude-code

Signed-off-by: parth-gr <partharora1010@gmail.com>
2026-06-12 17:22:43 +05:30
parth-gr dbc8d2a541 external: update the external cluster to make use of csi op
updated the external cluster doc, and helm and manifest
install to make use of csi operator as it is the default
offering now

Signed-off-by: parth-gr <partharora1010@gmail.com>
2026-06-11 19:10:30 +05:30
Travis Nielsen 62a9debceb core: update all docs and examples to v20.2.1
With the default version now being v20.2.1, also update
all of the examples, documentation, and default CI to run
with that version

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2026-04-28 14:09:17 -06:00
subhamkrai 3f0b92a1cc csi: add comment for alternative namespace
when cluster is deployed in namespace other than rook-ceph,
csi-operator.yaml should also follow similar approach on how
rook operator.yaml and other yaml are updated to deploy in
alternate namespace using the comment `# namesapce: operator`.

Signed-off-by: subhamkrai <srai@redhat.com>
2026-02-25 11:40:26 +05:30
Blaine Gardner 7c33186e72 core: admin cephx key rotation
Implement CephX key rotation for Rook's client.admin user.

Admin user rotation is risky, so this has been tested extensively both
in unit tests as well as by manually injecting failures during runtime.
In testing, all failures were able to be recovered by the recovery
routine.

A mutex is also added to help ensure that two simultaneous admin key
rotation processes cannot be running simultaneously for any given
namespace. The mutex is tested in unit tests, and it was verified during
runtime via  manual testing.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2025-08-27 14:47:45 -06:00
Blaine Gardner 52255e314c doc: add advanced cephx key rotation doc
Add a minimally useful document explaining how to initiate CephX key
rotation for users.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2025-08-19 12:19:46 -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
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
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
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
Bryan J. e56dda36c2 docs: unsupported kubectl exec params
Signed-off-by: Bryan Jones <unix.chkpwd@gmail.com>
2025-03-05 09:08:50 -05:00
Artem Torubarov 0b2e830111 mon: support external mons in local rook cluster
Implements #14733. Allows to set IDs of external mons to
Cluster CRD. Rook will not remove external mons from quorum
and will add external mon addresses to mon endpoints.
Use-case for external mon is to maintain quorum for 2-AZ
k8s cluster in case of zone outage.

Signed-off-by: Artem Torubarov <artem.torubarov@clyso.com>
2025-03-03 14:49:39 +01:00
Santosh Pillai 85c81946ce osd: enable encryption as day-2 operation
Migrate OSDs to enable encryption as day-2 operation.

Signed-off-by: Santosh Pillai <sapillai@redhat.com>
2024-12-06 09:33:03 +05:30
Travis Nielsen 3b94c50d8b Merge pull request #14818 from iPraveenParihar/kms/vault-keyrotation
kms: key rotation support for vault kms
2024-10-24 11:38:33 -06:00
Praveen M 01ccb5e20a docs: update docs for vault KMS key rotation support
Signed-off-by: Praveen M <m.praveen@ibm.com>
2024-10-23 11:43:55 +05:30
Travis Nielsen 1c9727c271 docs: declare cephconfig settings stable
The cephConfig settings in the CephCluster CR have been
stable and there are no planned changes, so remove the
experimental documentation indicator. Also, clarify
the usage and the precedence of the ceph config
options.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2024-09-23 11:12:53 -06:00
Blaine Gardner c9d99e01a0 ci: use markdownlint to enforce mkdocs compatibility
mkdocs uses a markdown renderer that is hardcoded to 4 spaces per tab
for detecting indentation levels, including ordered- and
unordered-lists. Since we cannot easily change the renderer, begin using
a markdown linter in CI that will fail if official docs do not adhere to
the spacing rules.

As a starting point, the markdownlint config does not begin with the
default set of checks, which might overwhelm attempts to fix them.
Instead, focus on list-tab-spacing rules and a few other highly useful
checks.

markdownlint also has some gaps in its abilities that allow common Rook
doc issues to pass acceptance. However, it allows creating custom
linting plugins. Create 2 such linting plugins to check 2 things:

- all doc lines (except code blocks) must be aligned to a 4-space
  boundary, without exception. This ensures that markdown will render
  correctly with mkdocs. This unfortunately makes it possible to create
  lists that are internally aligned strangely.
- admonitions must all follow the same format of
  ```
  !!! header
      body
  ```

For the strange lists, this is allowed and renders correctly, but it
looks strange:

```md
- first bullet
- second bullet
    still second bullet
- third bullet

    has a paragraph
    of text inside

- last bullet

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2024-04-29 17:25:11 -06:00
sp98 6c8ba0136c doc: add support for using azure kms
Users on Microsoft Azure can make use of the Azure key
vault service rather than replying on any third party
service for KMS.

Signed-off-by: sp98 <sapillai@redhat.com>
2024-02-21 11:04:16 +05:30
Madhu Rajanna c35a8532aa csi: option to customize csi driver name prefix
For now we are using the operator namespace name
as the prefix for the csi driver, This PR provides
an option for the users if someone wants to have
their own prefix for the csi driver, if someone tries
to change the prefix for existing csi driver rook
operator will fail to reconcile the csi driver.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2024-01-29 10:54:25 +01:00
sp98 42ea2897cf mon: allow changing hostNetwork settings
Allow changing spec.network.hostNetwork settings on a running cluster
by failing over the mons

Signed-off-by: sp98 <sapillai@redhat.com>
2023-12-18 10:30:48 +05:30
Alexander Trost 4ed35d6bd6 operator: allow setting ceph config options via ceph cluster crd
This implements the "Ceph Config via Ceph Cluster CRD" design document
as a `cephConfig:` structure on the CRD.
This also fixes the `yq` commands used to manipulate the
`cluster-test.yaml` that caused CI issues for this PR and potentially
unknowingly others.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2023-12-02 00:05:48 +01:00
Madhu Rajanna d1613af35d doc: correct csi ceph.conf path
correct the csi ceph.conf path
in the documentation.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2023-11-17 13:38:21 +01:00
Travis Nielsen 72452f0558 Merge pull request #13089 from rkachach/fix_issue_second_cluster
docs: unifying namespaces handling for the second cluster creation
2023-10-25 08:00:47 -06:00
Redouane Kachach 13654d3c3d docs: unifying namespaces handling for the second cluster creation
Let's use the same technique based on 'sed' while employing two
different namespaces for the cluster and the operator when creating
the second cluster.

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-10-25 09:16:48 +02:00
Redouane Kachach 745d6dc86f docs: adding specific instructions to create operator namespace
When a user attempts to adhere to the current documentation to use alternative
namespaces for both the operator and the cluster, they fail because
our common YAML file only has a single namespace for the cluster. This
change adds specific instructions to create operator namespace.

Closes: https://github.com/rook/rook/issues/13079

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2023-10-24 16:10:35 +02:00
subhamkrai 47c0038136 docs: krew is wrong word use kubectl instead
krew is itself a plugin and it is wrong wording
to use krew plugin intead it should be kubectl
pluging.

Signed-off-by: subhamkrai <srai@redhat.com>
2023-09-27 20:26:14 +05:30
Blaine Gardner 3c43268d0a multus: detect network CIDRs via canary
Change how Rook detects network CIDRs for Multus networks. The IPAM
configuration is only defined as an arbitrary string JSON blob with a
"type" field and nothing more. Rook's detection of CIDRs for whereabouts
had already grown out of date since the initial implementation.
Additionally, Rook did not support DHCP IPAM, which is a reasonable
choice for users. And more, Rook did not support CNI plugin chaining,
which further complicates NADs. Based on the CNI spec, network chaning
can result in any changes to network CIDRs from the first-given plugin.

All these problems make it more and more difficult for Rook to support
Multus by inspecting the NAD itself to predict network CIDRs. Instead,
it is better for Rook to treat the CNI process as a black box. To
preserve legacy functionality of auto-detecting networks and to make
that as robust as possible, change to a canary-style architecture like
that used for Ceph mons, from which Rook will detect the network CIDRs
if possible.

Also allow users to specify overrides for CIDR ranges. This allows Rook
to still support esoteric and unexpected NAD or network configurations
where a CIDR range is not detectable or where the range detected would
be incomplete. Because it may be impossible for Rook to understand the
network CIDRs wholistically while residing only on a portion of the
network, this feature should have been present from Multus's inception.

Improving CIDR auto-detection and allowing users to specify overrides
for auto-detected CIDRs rounds out Rook's Multus support for CephCluster
(core/RADOS) installations. No further architectural changes should be
needed for CephClusters as regards application of public/cluster network
CIDRs for Multus networks.

Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
2023-09-07 10:12:55 -06:00
subhamkrai bb103f3a1b docs: update krew link osd removal docs
Signed-off-by: subhamkrai <srai@redhat.com>
2023-04-13 16:11:46 +05:30
Rakshith R 340dbe05b4 docs: add documentation for encryption key rotation
Signed-off-by: Rakshith R <rar@redhat.com>
2023-03-08 12:07:26 +05:30
subhamkrai 37542c8f49 docs: update troubleshoot docs and add krew uses
updated troubleshoot doc using common issues to reference
krew plugin and added krew section for osd pugre.

Signed-off-by: subhamkrai <srai@redhat.com>
2022-09-29 11:55:44 +05:30
Rakshith R 0ba2ab1206 docs: add doc for kmip encryption support
Signed-off-by: Rakshith R <rar@redhat.com>
2022-09-09 11:39:33 +05:30
Deepika Upadhyay 5a27780e91 docs: add yaml way of configuring pg_num and pgp_num
- adds description on how to configure default pg_num and pgp_num
  parameters on per pool basis while deploying rook based ceph cluster.
- advices user to declare them during initial startup.

uptil now, docs only covered cli way of configuring them.

Closes: https://github.com/rook/rook/issues/10361

Signed-off-by: Deepika Upadhyay <deepika@koor.tech>
2022-09-01 13:21:44 +05:30
Alexander Trost fe2000e6d8 docs: rename Rook-Ceph to Rook Ceph
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2022-08-11 14:58:57 +02:00
Anthony D'Atri 6b2b0f468c docs: clarify PG count actions and update pgcalc URL
Signed-off-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
2022-07-18 20:11:06 -07:00
Josh Soref 6e7b8767f3 core: fix spelling
* another
* are
* availability
* available
* bootstrap
* boundaries
* ceph
* certificate
* class
* codifies
* consuming
* corrupted
* createor
* csi
* deployments
* exceeded
* execute
* filesystem
* healthiness
* heuristics
* immediately
* insecure
* installed
* isolated
* maintained
* maximum
* minute
* monitor
* new
* nginx
* nonexistent
* not
* occurs
* omitempty
* operator
* orchestration
* persistentvolumes
* placement
* preexisting
* prometheus
* protecting
* provisioner
* purposes
* reconcile
* regex
* related
* requests
* returns
* rubbish
* running
* schedulable
* schedule
* serviceaccount
* simulating
* snapshots
* statement
* static
* tenants
* the
* unavailable
* volumeattachment
* waiting
* with
* wrapper
* zonegroup

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-07-07 18:10:47 -04:00
Travis Nielsen dad97f3425 core: remove support for ceph octopus
With octopus coming to end of life, we remove support from
Rook for deploying Ceph Octopus and assume a min version of
Pacific v16. Any checks for octopus or earlier are removed
from the reconciles since they are obsolete.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-07-07 15:03:26 -06:00
Travis Nielsen 34ca5d661b docs: refactor cluster crd doc for subtopics
The cluster CR doc is extremely long and in need of refactoring.
Now we have four new sub-topics for a host-based cluster,
PVC-based cluster, stretch cluster, and an external cluster.
Each of those topics has its own description and examples.
The main cluster CR topic still contains the details about
all the possible cluster CR settings.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2022-06-27 17:04:54 -06:00
Alexander Trost 74431443e3 docs: use mkdocs and restructure docs
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2022-05-18 16:06:22 +02:00