Add "Why Rook?" Information#33
Conversation
$TITLE Signed-off-by: Zac Dover <zac.dover@clyso.com>
Add a short paragraph explaining why SAP has chosen Rook as its Kubernetes operator. This material was co-authored by Senol Colak. (Really, Senol deserves the lion's share of the credit.) Signed-off-by: Zac Dover <zac.dover@proton.me>
📝 WalkthroughWalkthroughThis PR adds comprehensive Rook-Ceph installation and operational documentation. The architecture index is updated to link a new detailed guide, and both architecture and usage documentation pages are introduced, covering prerequisites, deployment, configuration, storage class provisioning, verification, troubleshooting, and cleanup procedures. ChangesRook-Ceph Documentation
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 7
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/architecture/rook-ceph-install.md`:
- Around line 92-95: The fenced code block showing the pod status lacks a
language tag (triggering MD040); update the block in rook-ceph-install.md that
contains the lines starting with "NAME READY
STATUS RESTARTS AGE" / "rook-ceph-operator-<pod-id>" to use a language
identifier (e.g., add ```text at the opening fence) so the snippet is fenced as
```text ... ``` as suggested.
- Around line 61-67: Update the git clone example so the branch placeholder is
explicit: change the --branch value shown as `release-` to a clear placeholder
token like `<rook-release-tag>` in the git clone command (the line containing
"git clone --single-branch --branch release- https://github.com/rook/rook.git")
and update the surrounding note to instruct users to replace
`<rook-release-tag>` with the desired Rook release tag.
- Around line 149-158: The fenced code block showing the Ceph cluster example
(the block starting with "cluster:" and the lines "id: <cluster-id>" and
"health: HEALTH_OK") lacks a language tag and triggers MD040; add a language
identifier (e.g., "text" or "yaml") after the opening backticks so the block
becomes ```text (or ```yaml) to satisfy the linter.
In `@docs/usage/rook-ceph-install.md`:
- Around line 154-163: The fenced code block that begins with ``` and contains
the YAML-like keys cluster: and services: is missing a language tag and triggers
MD040; fix it by adding an appropriate language identifier (e.g., "yaml") after
the opening ``` so the block becomes ```yaml, keeping the existing content
(cluster:, id:, health:, services:, mon:, mgr:, osd:) intact.
- Around line 97-100: The fenced code block showing the kubectl output (the
lines starting with "NAME READY STATUS
RESTARTS AGE" and the "rook-ceph-operator-<pod-id>…" line) needs a language
label to satisfy MD040; update the opening backticks from ``` to include a
language token such as "console", "bash", or "text" (e.g. ```console) so the
block is properly annotated.
- Around line 58-62: Remove the malformed emphasis markers around the paragraph
that starts with "Rook is the unique Kubernetes operator for managing Ceph
workloads" so it becomes a normal paragraph (no asterisks or surrounding italic
markup); ensure there are no spaces inside emphasis markers and replace the
entire emphasized block with a plain paragraph preserving the existing wording
about Rook, Kubernetes, and SAP cloud infrastructure.
- Around line 66-72: Update the git clone instruction that currently uses the
literal branch token 'git clone --single-branch --branch release-
https://github.com/rook/rook.git' to use an explicit placeholder (for example
'--branch <release-version>' or '--branch release-x.y') so readers cannot
accidentally copy a non-functional literal; change the command text to: git
clone --single-branch --branch <release-version>
https://github.com/rook/rook.git and update the surrounding note to reference
the <release-version> placeholder.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 2c9f5039-20b4-417f-bdd9-07d7e9eb2f37
📒 Files selected for processing (3)
docs/architecture/index.mddocs/architecture/rook-ceph-install.mddocs/usage/rook-ceph-install.md
| git clone --single-branch --branch release- https://github.com/rook/rook.git | ||
| cd rook/deploy/examples | ||
| ``` | ||
|
|
||
| **Note:** Replace `release-` with the desired Rook version. Check the Rook | ||
| releases page for the latest stable version, and verify it is compatible with | ||
| your Kubernetes version before proceeding. |
There was a problem hiding this comment.
Make the branch placeholder explicit to avoid copy-paste failures.
--branch release- looks executable but fails unless edited. Use a clear placeholder token directly in the command (for example <rook-release-tag>).
Suggested doc tweak
-git clone --single-branch --branch release- https://github.com/rook/rook.git
+git clone --single-branch --branch <rook-release-tag> https://github.com/rook/rook.git
cd rook/deploy/examples📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| git clone --single-branch --branch release- https://github.com/rook/rook.git | |
| cd rook/deploy/examples | |
| ``` | |
| **Note:** Replace `release-` with the desired Rook version. Check the Rook | |
| releases page for the latest stable version, and verify it is compatible with | |
| your Kubernetes version before proceeding. | |
| git clone --single-branch --branch <rook-release-tag> https://github.com/rook/rook.git | |
| cd rook/deploy/examples |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/architecture/rook-ceph-install.md` around lines 61 - 67, Update the git
clone example so the branch placeholder is explicit: change the --branch value
shown as `release-` to a clear placeholder token like `<rook-release-tag>` in
the git clone command (the line containing "git clone --single-branch --branch
release- https://github.com/rook/rook.git") and update the surrounding note to
instruct users to replace `<rook-release-tag>` with the desired Rook release
tag.
| ``` | ||
| NAME READY STATUS RESTARTS AGE | ||
| rook-ceph-operator-<pod-id> 1/1 Running 0 30s | ||
| ``` |
There was a problem hiding this comment.
Add a language to this fenced code block.
This currently triggers MD040.
Suggested lint fix
-```
+```text
NAME READY STATUS RESTARTS AGE
rook-ceph-operator-<pod-id> 1/1 Running 0 30s</details>
<details>
<summary>🧰 Tools</summary>
<details>
<summary>🪛 markdownlint-cli2 (0.22.1)</summary>
[warning] 92-92: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
</details>
</details>
<details>
<summary>🤖 Prompt for AI Agents</summary>
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @docs/architecture/rook-ceph-install.md around lines 92 - 95, The fenced code
block showing the pod status lacks a language tag (triggering MD040); update the
block in rook-ceph-install.md that contains the lines starting with
"NAME READY STATUS RESTARTS AGE" /
"rook-ceph-operator-" to use a language identifier (e.g., add text at the opening fence) so the snippet is fenced as text ... ``` as suggested.
</details>
<!-- fingerprinting:phantom:triton:hawk -->
<!-- This is an auto-generated comment by CodeRabbit -->
| ``` | ||
| cluster: | ||
| id: <cluster-id> | ||
| health: HEALTH_OK | ||
|
|
||
| services: | ||
| mon: 3 daemons, quorum a,b,c | ||
| mgr: a(active), standbys: b | ||
| osd: X osds: X up, X in | ||
| ``` |
There was a problem hiding this comment.
Add a language to this fenced code block.
This currently triggers MD040.
Suggested lint fix
-```
+```text
cluster:
id: <cluster-id>
health: HEALTH_OK
@@
mgr: a(active), standbys: b
osd: X osds: X up, X in</details>
<details>
<summary>🧰 Tools</summary>
<details>
<summary>🪛 markdownlint-cli2 (0.22.1)</summary>
[warning] 149-149: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
</details>
</details>
<details>
<summary>🤖 Prompt for AI Agents</summary>
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In @docs/architecture/rook-ceph-install.md around lines 149 - 158, The fenced
code block showing the Ceph cluster example (the block starting with "cluster:"
and the lines "id: " and "health: HEALTH_OK") lacks a language
tag and triggers MD040; add a language identifier (e.g., "text" or "yaml") after
the opening backticks so the block becomes text (or yaml) to satisfy the
linter.
</details>
<!-- fingerprinting:phantom:triton:hawk -->
<!-- This is an auto-generated comment by CodeRabbit -->
| *Rook is the unique Kubernetes operator for managing Ceph workloads, which is | ||
| why cloud-storage uses Rook. The SAP cloud infrastructure is built on top of | ||
| Kubernetes, and the automation and foundation stack is Kubernetes. Because | ||
| Rook is the Kubernetes operator, SAP has chosen it for managing Ceph workloads. * | ||
|
|
There was a problem hiding this comment.
Fix malformed emphasis and keep this as normal paragraph text.
The current italic markup has spaces inside emphasis markers (MD037) and hurts readability.
Suggested rewrite
-*Rook is the unique Kubernetes operator for managing Ceph workloads, which is
-why cloud-storage uses Rook. The SAP cloud infrastructure is built on top of
-Kubernetes, and the automation and foundation stack is Kubernetes. Because
-Rook is the Kubernetes operator, SAP has chosen it for managing Ceph workloads. *
+Rook is the Kubernetes operator used to manage Ceph workloads. SAP cloud
+infrastructure is built on Kubernetes, and this alignment is why SAP chose
+Rook for Ceph lifecycle management.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| *Rook is the unique Kubernetes operator for managing Ceph workloads, which is | |
| why cloud-storage uses Rook. The SAP cloud infrastructure is built on top of | |
| Kubernetes, and the automation and foundation stack is Kubernetes. Because | |
| Rook is the Kubernetes operator, SAP has chosen it for managing Ceph workloads. * | |
| Rook is the Kubernetes operator used to manage Ceph workloads. SAP cloud | |
| infrastructure is built on Kubernetes, and this alignment is why SAP chose | |
| Rook for Ceph lifecycle management. |
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 61-61: Spaces inside emphasis markers
(MD037, no-space-in-emphasis)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/usage/rook-ceph-install.md` around lines 58 - 62, Remove the malformed
emphasis markers around the paragraph that starts with "Rook is the unique
Kubernetes operator for managing Ceph workloads" so it becomes a normal
paragraph (no asterisks or surrounding italic markup); ensure there are no
spaces inside emphasis markers and replace the entire emphasized block with a
plain paragraph preserving the existing wording about Rook, Kubernetes, and SAP
cloud infrastructure.
| git clone --single-branch --branch release- https://github.com/rook/rook.git | ||
| cd rook/deploy/examples | ||
| ``` | ||
|
|
||
| **Note:** Replace `release-` with the desired Rook version. Check the Rook | ||
| releases page for the latest stable version, and verify it is compatible with | ||
| your Kubernetes version before proceeding. |
There was a problem hiding this comment.
Use an explicit branch placeholder in the clone command.
release- is easy to copy verbatim and fail; use a placeholder token in the command itself.
Suggested doc tweak
-git clone --single-branch --branch release- https://github.com/rook/rook.git
+git clone --single-branch --branch <rook-release-tag> https://github.com/rook/rook.git
cd rook/deploy/examples📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| git clone --single-branch --branch release- https://github.com/rook/rook.git | |
| cd rook/deploy/examples | |
| ``` | |
| **Note:** Replace `release-` with the desired Rook version. Check the Rook | |
| releases page for the latest stable version, and verify it is compatible with | |
| your Kubernetes version before proceeding. | |
| git clone --single-branch --branch <rook-release-tag> https://github.com/rook/rook.git | |
| cd rook/deploy/examples |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/usage/rook-ceph-install.md` around lines 66 - 72, Update the git clone
instruction that currently uses the literal branch token 'git clone
--single-branch --branch release- https://github.com/rook/rook.git' to use an
explicit placeholder (for example '--branch <release-version>' or '--branch
release-x.y') so readers cannot accidentally copy a non-functional literal;
change the command text to: git clone --single-branch --branch <release-version>
https://github.com/rook/rook.git and update the surrounding note to reference
the <release-version> placeholder.
| ``` | ||
| NAME READY STATUS RESTARTS AGE | ||
| rook-ceph-operator-<pod-id> 1/1 Running 0 30s | ||
| ``` |
There was a problem hiding this comment.
Add a language to this fenced code block.
This currently triggers MD040.
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 97-97: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/usage/rook-ceph-install.md` around lines 97 - 100, The fenced code block
showing the kubectl output (the lines starting with
"NAME READY STATUS RESTARTS AGE" and the
"rook-ceph-operator-<pod-id>…" line) needs a language label to satisfy MD040;
update the opening backticks from ``` to include a language token such as
"console", "bash", or "text" (e.g. ```console) so the block is properly
annotated.
| ``` | ||
| cluster: | ||
| id: <cluster-id> | ||
| health: HEALTH_OK | ||
|
|
||
| services: | ||
| mon: 3 daemons, quorum a,b,c | ||
| mgr: a(active), standbys: b | ||
| osd: X osds: X up, X in | ||
| ``` |
There was a problem hiding this comment.
Add a language to this fenced code block.
This currently triggers MD040.
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 154-154: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/usage/rook-ceph-install.md` around lines 154 - 163, The fenced code
block that begins with ``` and contains the YAML-like keys cluster: and
services: is missing a language tag and triggers MD040; fix it by adding an
appropriate language identifier (e.g., "yaml") after the opening ``` so the
block becomes ```yaml, keeping the existing content (cluster:, id:, health:,
services:, mon:, mgr:, osd:) intact.
Add a short paragraph explaining why SAP has chosen Rook as its
Kubernetes operator.
This material was co-authored by Senol Colak. (Really, Senol deserves
the lion's share of the credit.)
Signed-off-by: Zac Dover zac.dover@proton.me
Summary by CodeRabbit
Documentation