Skip to content

feat: add ZooKeeper 3.8 installation guide#782

Merged
shibalu merged 9 commits into
mainfrom
feat/add-zookeeper-en-doc
Jun 11, 2026
Merged

feat: add ZooKeeper 3.8 installation guide#782
shibalu merged 9 commits into
mainfrom
feat/add-zookeeper-en-doc

Conversation

@shibalu

@shibalu shibalu commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator

Add ZooKeeper 3.8.6 installation guide for Alauda Container Platform.

  • Products: Alauda Application Services
  • ProductsVersion: 4.1, 4.2, 4.3
  • KB ID: KB260600001 (pending XSY assignment)

Chinese version will be auto-translated.

Summary by CodeRabbit

  • Documentation
    • New ZooKeeper 3.8.6 installation guide for ACP via the public Helm chart: prerequisites, marketplace installation flow, required Helm values and example YAML for persistence and multi-cluster settings, verification steps (application/StatefulSet/pod/PVC readiness, in-pod health and leader checks, basic data ops), client endpoint formats, Prometheus exporter/ServiceMonitor checks, cleanup, and FAQ on auto-purge/maintenance.

@coderabbitai

coderabbitai Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@shibalu, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 46 minutes and 2 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more credits in the billing tab to continue.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 2a4bb3cd-be99-4ce7-b4bb-5dce70571c26

📥 Commits

Reviewing files that changed from the base of the PR and between 81fbbe0 and db9a5d4.

📒 Files selected for processing (1)
  • docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md

Walkthrough

Adds a ZooKeeper 3.8.6 installation guide for Alauda Container Platform covering prerequisites, Helm chart parameters and example values, deployment verification (health, quorum, zkCli), monitoring/ServiceMonitor checks, cleanup steps, and an operational FAQ.

Changes

ZooKeeper Installation Guide

Layer / File(s) Summary
Prerequisites and chart parameters
docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md
Adds front matter, prerequisites (dynamic StorageClass, violet CLI), and a chart parameter table (replicas, persistence sizing/storageClass, ZooKeeper env overrides, exporter/ServiceMonitor toggles).
Example Application manifest and Helm values
docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md
Provides installation flow, plugin upload/confirmation steps, Helm value rules and an example values YAML (persistence enabled, optional metrics/exporter ServiceMonitor), and marketplace “Create” flow with rollout timing.
Deployment and runtime verification
docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md
Commands to check HelmRequest/Application status, verify StatefulSet readiness, pods/services presence, and PVC binding.
Functional validation (health, quorum, smoke tests)
docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md
Describes ruok health check, mntr leader/follower election verification, and zkCli.sh create/get/delete smoke tests.
Client connection endpoints
docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md
Lists connection formats for namespace clients (ClusterIP Service DNS) and direct ensemble-member access via headless service per pod.
Monitoring and metrics verification
docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md
Verify exporter sidecar per pod, query exporter /metrics for zk_up, and confirm ServiceMonitor resource for Prometheus scraping.
Change validation and scaling guidance
docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md
Guidance for changing replica count (keep replicas odd), validating rollout status, and re-running election/data checks after value changes.
Cleanup and FAQ
docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md
Cleanup steps for test deployments (delete application and PVCs) and FAQ on snapshot directory growth with example ZOO_AUTOPURGE_* environment settings.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 A keeper rabbit hops with cheer,
A guide to clusters now appears!
Helm values set and pods align,
Health and metrics pass the sign.
Docs tucked in—deployments clear.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: add ZooKeeper 3.8 installation guide' is clear, specific, and directly describes the main change—adding documentation for ZooKeeper 3.8 installation on Alauda Container Platform.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/add-zookeeper-en-doc

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 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/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md`:
- Around line 98-100: The fenced code block containing
"<release>-zookeeper.<namespace>.svc.cluster.local:2181" is missing a language
identifier; update the opening fence from triple backticks to include a language
tag (e.g., change ``` to ```text) so the block becomes a labeled code fence and
satisfies markdownlint (MD040) and consistent rendering; locate the fenced block
around the string "<release>-zookeeper.<namespace>.svc.cluster.local:2181" and
add the identifier.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 4805542f-16df-4f20-b231-44af72935dd6

📥 Commits

Reviewing files that changed from the base of the PR and between 7ef067f and 1df3513.

📒 Files selected for processing (1)
  • docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md (1)

157-159: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add a language identifier to the fenced code block.

The code block is missing a language identifier, triggering markdownlint MD040. Add text to the opening fence to satisfy linting and ensure consistent rendering.

📝 Suggested fix
-```
+```text
 zookeeper.<target-namespace>.svc.cluster.local:2181
</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/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md around
lines 157 - 159, The fenced code block that contains the string
"zookeeper..svc.cluster.local:2181" is missing a language
identifier; update the opening fence so it reads "text" instead of "" to
satisfy markdownlint MD040 and ensure consistent rendering of the example.


</details>

<!-- cr-comment:v1:0abc64931666098afa3c45ac -->

_Source: Linters/SAST tools_

</blockquote></details>

</blockquote></details>

<details>
<summary>🤖 Prompt for all review comments with 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.

Inline comments:
In @docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md:

  • Line 37: Add a short clarifying note that maps the Marketplace display name
    "chart-zookeeper" to the manifest key value used in examples:
    app.cpaas.io/chart.source: "public-charts/zookeeper"; explain that the
    Marketplace shows a combined chart identifier (e.g., chart-zookeeper
    3.8.6-xxxxxx) while the manifest expects the repository/chart format
    "repository-name/chart-name" (hence "public-charts/zookeeper"), and show a
    one-line example of which UI selection corresponds to which manifest value so
    users won’t confuse the two.

Duplicate comments:
In @docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md:

  • Around line 157-159: The fenced code block that contains the string
    "zookeeper..svc.cluster.local:2181" is missing a language
    identifier; update the opening fence so it reads "text" instead of "" to
    satisfy markdownlint MD040 and ensure consistent rendering of the example.

</details>

<details>
<summary>🪄 Autofix (Beta)</summary>

Fix all unresolved CodeRabbit comments on this PR:

- [ ] <!-- {"checkboxId": "4b0d0e0a-96d7-4f10-b296-3a18ea78f0b9"} --> Push a commit to this branch (recommended)
- [ ] <!-- {"checkboxId": "ff5b1114-7d8c-49e6-8ac1-43f82af23a33"} --> Create a new PR with the fixes

</details>

---

<details>
<summary>ℹ️ Review info</summary>

<details>
<summary>⚙️ Run configuration</summary>

**Configuration used**: Organization UI

**Review profile**: CHILL

**Plan**: Pro

**Run ID**: `87670171-c46b-45c1-906b-3e5f5fe1d4eb`

</details>

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between 1df35132e51422339096876b83f66f4388cb3f25 and 4269a42dcc02c14150fd7f86cf090cbde5e6c1eb.

</details>

<details>
<summary>📒 Files selected for processing (1)</summary>

* `docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md`

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Comment thread docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

♻️ Duplicate comments (1)
docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md (1)

120-122: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add language identifier to the code fence.

The fenced code block at line 120 is missing a language identifier, triggering markdownlint MD040. This issue was previously flagged but remains in the current code.

📝 Suggested fix
-```
+```text
 <instance-name>-zookeeper.<target-namespace>.svc.cluster.local:2181
</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/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md around
lines 120 - 122, The fenced code block containing
"-zookeeper..svc.cluster.local:2181" is missing
a language identifier; update the opening fence from totext so the block
becomes a fenced text code block and resolves markdownlint MD040 (i.e., change
the fence that precedes the line
"-zookeeper..svc.cluster.local:2181" to
"```text").


</details>

<!-- cr-comment:v1:7079e05d117ba8c31f6e9a2d -->

_Source: Linters/SAST tools_

</blockquote></details>

</blockquote></details>

<details>
<summary>🧹 Nitpick comments (2)</summary><blockquote>

<details>
<summary>docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md (2)</summary><blockquote>

`60-61`: _⚡ Quick win_

**Consider including production auto-purge settings in the example values.**

The parameter table strongly recommends `ZOO_AUTOPURGE_PURGEINTERVAL: "24"` for production (line 60) and notes that `ZOO_AUTOPURGE_SNAPRETAINCOUNT: "5"` should be used with auto-purge (line 61). However, the example values snippet (lines 67-77) omits these settings, which means users who copy that example will deploy with defaults that cause the disk growth problem described in FAQ Q1. Consider adding these recommended production settings to the example, or add a note directing users to review the FAQ before deploying.

<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/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md` around
lines 60 - 61, Update the example values block to include the recommended
production auto-purge settings so users don't deploy with defaults: add
env.ZOO_AUTOPURGE_PURGEINTERVAL set to "24" and
env.ZOO_AUTOPURGE_SNAPRETAINCOUNT set to "5" in the example snippet;
alternatively (or additionally) add a brief note in the example pointing users
to the FAQ Q1 about disk growth and to review the ZOO_AUTOPURGE_*
recommendations before deployment.
```

</details>

<!-- cr-comment:v1:4e0b3598c3ac98ea4c0613eb -->

---

`164-164`: _💤 Low value_

**Align parameter reference format with the parameter table.**

For consistency with the parameter table (line 60), consider referencing the parameter as `env.ZOO_AUTOPURGE_PURGEINTERVAL` rather than `ZOO_AUTOPURGE_PURGEINTERVAL=0`, or include both formats to help users locate the setting.

<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/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md` at
line 164, Update the sentence to match the parameter-table style by referencing
the environment variable as env.ZOO_AUTOPURGE_PURGEINTERVAL (and optionally show
the equivalent older format ZOO_AUTOPURGE_PURGEINTERVAL=0), e.g., replace
"ZOO_AUTOPURGE_PURGEINTERVAL=0" with "env.ZOO_AUTOPURGE_PURGEINTERVAL (or
ZOO_AUTOPURGE_PURGEINTERVAL=0)" so it aligns with the parameter table and helps
users locate the setting.
```

</details>

<!-- cr-comment:v1:3e26cb70c94df0c93b6547aa -->

</blockquote></details>

</blockquote></details>

<details>
<summary>🤖 Prompt for all review comments with 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.

Inline comments:
In @docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md:

  • Line 106: The comment "# Expected: exactly 1 leader and 2 follower" has
    incorrect pluralization; update the text to read "# Expected: exactly 1 leader
    and 2 followers" so "follower" becomes plural. Locate that header/comment line
    in ZooKeeper_Installation_Guide.md and replace the singular "follower" with
    "followers".
  • Line 174: Update the ZooKeeper installation guide phrasing to avoid asserting
    an unverified chart default and add a verification step: change “ships with a
    PodDisruptionBudget (maxUnavailable=1)” to a softer form like “typically
    configured with a PodDisruptionBudget (commonly maxUnavailable=1)” and add an
    explicit post-install check instructing users to run a pdb lookup (e.g.,
    kubectl get pdb -n <target-namespace> -o wide | rg -i 'zookeeper|pdb') to
    confirm the PodDisruptionBudget resource and its MAX UNAVAILABLE value;
    reference the terms PodDisruptionBudget and maxUnavailable in the text so
    readers know what to verify.

Duplicate comments:
In @docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md:

  • Around line 120-122: The fenced code block containing
    "-zookeeper..svc.cluster.local:2181" is missing
    a language identifier; update the opening fence from totext so the block
    becomes a fenced text code block and resolves markdownlint MD040 (i.e., change
    the fence that precedes the line
    "-zookeeper..svc.cluster.local:2181" to
    "```text").

Nitpick comments:
In @docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md:

  • Around line 60-61: Update the example values block to include the recommended
    production auto-purge settings so users don't deploy with defaults: add
    env.ZOO_AUTOPURGE_PURGEINTERVAL set to "24" and
    env.ZOO_AUTOPURGE_SNAPRETAINCOUNT set to "5" in the example snippet;
    alternatively (or additionally) add a brief note in the example pointing users
    to the FAQ Q1 about disk growth and to review the ZOO_AUTOPURGE_*
    recommendations before deployment.
  • Line 164: Update the sentence to match the parameter-table style by
    referencing the environment variable as env.ZOO_AUTOPURGE_PURGEINTERVAL (and
    optionally show the equivalent older format ZOO_AUTOPURGE_PURGEINTERVAL=0),
    e.g., replace "ZOO_AUTOPURGE_PURGEINTERVAL=0" with
    "env.ZOO_AUTOPURGE_PURGEINTERVAL (or ZOO_AUTOPURGE_PURGEINTERVAL=0)" so it
    aligns with the parameter table and helps users locate the setting.

</details>

<details>
<summary>🪄 Autofix (Beta)</summary>

Fix all unresolved CodeRabbit comments on this PR:

- [ ] <!-- {"checkboxId": "4b0d0e0a-96d7-4f10-b296-3a18ea78f0b9"} --> Push a commit to this branch (recommended)
- [ ] <!-- {"checkboxId": "ff5b1114-7d8c-49e6-8ac1-43f82af23a33"} --> Create a new PR with the fixes

</details>

---

<details>
<summary>ℹ️ Review info</summary>

<details>
<summary>⚙️ Run configuration</summary>

**Configuration used**: Organization UI

**Review profile**: CHILL

**Plan**: Pro

**Run ID**: `fc0e2733-4ede-4521-b6bb-72636d06c29c`

</details>

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between 4269a42dcc02c14150fd7f86cf090cbde5e6c1eb and bc11bc0530938c73dac2bbad68763f3b2c0558ce.

</details>

<details>
<summary>📒 Files selected for processing (1)</summary>

* `docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md`

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Comment thread docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md Outdated
Comment thread docs/en/solutions/ecosystem/zookeeper/ZooKeeper_Installation_Guide.md Outdated
@SuJinpei

Copy link
Copy Markdown
Contributor

/lgtm

@shibalu shibalu merged commit 6bd784a into main Jun 11, 2026
2 checks passed
@shibalu shibalu deleted the feat/add-zookeeper-en-doc branch June 11, 2026 10:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants