Skip to content

Conversation

@SuJinpei
Copy link
Contributor

@SuJinpei SuJinpei commented Feb 6, 2026

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive Milvus vector-database guide covering background and prerequisites, deployment options (standalone, clustered, in-cluster dependencies, external S3-compatible storage), messaging choices (Kafka/Pulsar), installation and configuration steps, pre-deployment checks and verification workflow, troubleshooting and diagnostics, operational best practices for scaling, performance, security, backups, and integration guidance for ML and RAG workflows.

@SuJinpei SuJinpei requested a review from a team February 6, 2026 09:10
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 6, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Added a new comprehensive documentation guide docs/en/solutions/How_to_Use_Milvus.md describing Milvus background, prerequisites, deployment options (standalone, cluster, in-cluster/external storage), messaging choices, configuration, diagnostics, troubleshooting, backup strategies, and production recommendations. (34 words)

Changes

Cohort / File(s) Summary
Milvus Documentation
docs/en/solutions/How_to_Use_Milvus.md
New comprehensive guide (+~1146 lines) covering Milvus overview, environment prerequisites, core concepts, installation and deployment options (Standalone, Cluster, in-cluster/external S3 storage), messaging choices (Woodpecker/Kafka/Pulsar), manifests, pre-deployment checks, configuration reference, diagnostics, troubleshooting, backups, and production guidelines.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 I hopped through pages, lines anew,
Vectors, configs, steps in view,
Manifests snug, backups in a row,
Indexes humming soft and slow,
🥕📘 — A rabbit's guide to help you grow.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'support to deploy Milvus in ACP' directly and clearly describes the main change—adding documentation for deploying Milvus in ACP, which matches the added comprehensive guide in the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/support-to-deploy-milvus

No actionable comments were generated in the recent review. 🎉

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@docs/en/solutions/How_to_Use_Milvus.md`:
- Line 211: Replace the outdated Kafka link in the "Deploy Kafka following the
[Kafka installation guide]" sentence so it points to the ACP 4.2 Kafka docs;
change the URL from the 4.1 link to
https://docs.alauda.io/container_platform/4.2/en/appservice/kafka/kafka.html in
the How_to_Use_Milvus.md content.
- Around line 703-708: Replace the incorrect ACP Kafka link
'https://docs.alauda.io/kafka/4.2/' with the correct ACP 4.2 path
'https://docs.alauda.io/container_platform/4.2/appservice/kafka/' in the list of
references (the entry currently labeled "ACP Kafka Documentation") so the
prerequisite link matches ACP 4.2 documentation referenced earlier in the doc.
🧹 Nitpick comments (2)
docs/en/solutions/How_to_Use_Milvus.md (2)

394-394: Consider more generic endpoint example.

The external storage endpoint example minio-service.minio.svc:9000 appears to be a specific in-cluster service reference. For external S3-compatible storage, consider using a more generic example like s3.example.com:9000 or explicitly noting this is for MinIO deployed in a separate namespace.


661-666: Consider adding TLS configuration examples.

The best practices section recommends enabling TLS and authentication for production (line 664), but the deployment examples don't demonstrate this configuration. Consider adding a section or example showing how to enable TLS for production deployments.

- **ACP Integration**: Supported as a service on ACP

**Setup:**
1. Deploy Kafka following the [Kafka installation guide](https://docs.alauda.io/kafka/4.1/)
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

# First, let's examine the file around line 211 and find where prerequisites mention ACP version
cat -n docs/en/solutions/How_to_Use_Milvus.md | sed -n '1,230p'

Repository: alauda/knowledge

Length of output: 10648


🌐 Web query:

Kafka documentation ACP 4.2.0 alauda.io correct version

💡 Result:

For ACP 4.2.0, the correct Alauda Kafka documentation is under the ACP 4.2 doc set (not the older 4.0/4.1 paths), specifically:

  • Alauda Streaming Service for Kafka (ACP 4.2 docs): docs.alauda.cn/container_platform/4.2/en/appservice/kafka/kafka.html [2]
  • In ACP 4.2 Application Services, the supported Kafka version shown is Kafka 3.8 (recommended). [1]
  • ACP 4.2.0 release notes are also under the same 4.2 documentation tree. [3]

Sources: [1] (docs.alauda.cn) [2] (docs.alauda.cn) [3] (docs.alauda.cn)

Citations:


Update Kafka documentation link to match ACP 4.2.0.

Line 211 references Kafka 4.1 documentation, but the prerequisites specify ACP v4.2.0. Update the link to point to the ACP 4.2 Kafka documentation: https://docs.alauda.io/container_platform/4.2/en/appservice/kafka/kafka.html (or the equivalent path for your documentation domain).

🤖 Prompt for AI Agents
In `@docs/en/solutions/How_to_Use_Milvus.md` at line 211, Replace the outdated
Kafka link in the "Deploy Kafka following the [Kafka installation guide]"
sentence so it points to the ACP 4.2 Kafka docs; change the URL from the 4.1
link to
https://docs.alauda.io/container_platform/4.2/en/appservice/kafka/kafka.html in
the How_to_Use_Milvus.md content.

Comment on lines +703 to +708
- [Milvus Documentation](https://milvus.io/docs/) - Comprehensive usage guide and API reference
- [Milvus Woodpecker Guide](https://milvus.io/docs/use-woodpecker.md) - Woodpecker WAL documentation
- [Milvus Bootcamp](https://github.com/milvus-io/bootcamp) - Tutorial notebooks and examples
- [PyMilvus SDK](https://milvus.io/api-reference/pymilvus/v2.4.x/About.md) - Python client documentation
- [Milvus Operator GitHub](https://github.com/zilliztech/milvus-operator) - Operator source code
- [ACP Kafka Documentation](https://docs.alauda.io/kafka/4.2/) - Kafka installation on ACP
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🌐 Web query:

Milvus documentation milvus.io/docs/ accessibility current

💡 Result:

  • Current Milvus docs entry point: https://milvus.io/docs (currently defaults to the v2.6.x doc set, and the homepage highlights the June 2025 – Milvus 2.6.0 docs update). (milvus.io)
  • Versioned docs are available: e.g. https://milvus.io/docs/v2.4.x, https://milvus.io/docs/v2.5.x, etc. (milvus.io)
  • Accessibility (site availability): the documentation pages are publicly reachable over HTTPS and load without requiring an account/login. (milvus.io)
  • Alternate/mirrored docs host: there is also a docs site served under https://blog.milvus.io/docs that shows the same “What’s new in docs / June 2025 – Milvus 2.6.0 release” block. (blog.milvus.io)

Citations:


🌐 Web query:

Milvus PyMilvus v2.4.x API reference documentation

💡 Result:

Official PyMilvus v2.4.x API reference (Milvus docs):

About / landing page (v2.4.x):
https://milvus.io/api-reference/pymilvus/v2.4.x/About.md

MilvusClient class reference (v2.4.x):
https://milvus.io/api-reference/pymilvus/v2.4.x/MilvusClient/Client/MilvusClient.md

Example method page (create_collection, v2.4.x):
https://milvus.io/api-reference/pymilvus/v2.4.x/MilvusClient/Collections/create_collection.md/

PyPI page (also points to the same v2.4.x docs and shows current 2.4.x release info):

https://pypi.org/project/pymilvus/

[1][2][3][4]

Sources: [1] (milvus.io) [2] (milvus.io) [3] (milvus.io) [4] (pypi.org)

Citations:


🌐 Web query:

site:github.com/milvus-io/bootcamp current

💡 Result:

  • The milvus-io/bootcamp repo’s current default branch is master. [1]
  • The Milvus GitHub org page shows bootcamp was last updated Dec 15, 2025. [2]
  • The “current” Bootcamp tutorial landing page (with the up-to-date list of tutorials like RAG, Multimodal RAG, Graph RAG, Hybrid Search, etc.) is on Milvus Bootcamp. [3]

Sources: [1] [2] [3]


🌐 Web query:

site:github.com/zilliztech/milvus-operator current

💡 Result:

  • Repo: zilliztech/milvus-operator (Milvus Kubernetes Operator). [1]
  • Current “latest” GitHub Release: v1.3.5 (released Dec 5, 2025). [2]
  • Newest tag on the repo (not marked as a GitHub Release): v1.3.4-hotfix4 (tagged Dec 30, 2025). [3]
  • Install/upgrade (from README):
    • Helm repo: helm repo add milvus-operator https://zilliztech.github.io/milvus-operator/ then helm -n milvus-operator upgrade --install --create-namespace milvus-operator milvus-operator/milvus-operator. [1]
    • Raw manifest example (v1.3.5): kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/v1.3.5/deploy/manifests/deployment.yaml. [1]

Sources: [1], [2], [3]


🌐 Web query:

ACP Kafka 4.2 documentation alauda.io accessibility

💡 Result:

  • ACP 4.2 “Kafka” documentation (Alauda Streaming Service for Kafka) is published under the Alauda Container Platform 4.2 → Application Services → Kafka section on docs.alauda.io, and appears to be publicly accessible (no login wall in the docs site itself). [1], [2]

    • Entry page: https://docs.alauda.io/container_platform/4.2/appservice/kafka/ [1]
    • “About” page: https://docs.alauda.io/container_platform/4.2/appservice/kafka/kafka.html [2]
  • The separate top-level Kafka docs path https://docs.alauda.io/kafka/ currently redirects to the Kafka 4.1 docs, not 4.2. [3]

If by “accessible” you mean external network access (blocked by firewall/VPN, SSO, etc.), tell me your environment (public internet vs. corporate network) and the exact error (HTTP status / screenshot), and I’ll help narrow it down.


Correct the ACP Kafka documentation link.

Most links are accessible and current. However, https://docs.alauda.io/kafka/4.2/ redirects to Kafka 4.1 documentation instead of 4.2. Use the correct ACP 4.2 path: https://docs.alauda.io/container_platform/4.2/appservice/kafka/ for consistency with the ACP 4.2 prerequisites mentioned earlier in the document.

🤖 Prompt for AI Agents
In `@docs/en/solutions/How_to_Use_Milvus.md` around lines 703 - 708, Replace the
incorrect ACP Kafka link 'https://docs.alauda.io/kafka/4.2/' with the correct
ACP 4.2 path 'https://docs.alauda.io/container_platform/4.2/appservice/kafka/'
in the list of references (the entry currently labeled "ACP Kafka
Documentation") so the prerequisite link matches ACP 4.2 documentation
referenced earlier in the doc.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Fix all issues with AI agents
In `@docs/en/solutions/How_to_Use_Milvus.md`:
- Around line 700-708: The fenced code block showing the PodSecurity error lacks
a language specifier (markdownlint warning); update the code fence around the
error message in the Milvus doc's example (the block starting with the
PodSecurity error) to include a language tag such as "text" (e.g., replace ```
with ```text) so the lexer and markdownlint recognize the block language.
- Around line 96-97: Remove the empty line inside the blockquote that starts
with "**Note**: ACP v4.2.0..." so the blockquote is contiguous (no blank line
between the "> **Note**: ..." line and its following content); edit the Markdown
in How_to_Use_Milvus.md to delete that stray blank line in the blockquote so
markdownlint no longer flags it.
- Around line 82-95: Remove the duplicated prerequisite bullet list and keep a
single copy: locate the repeated lines "ACP v4.2.0 or later", "Basic
understanding of vector embeddings and similarity search concepts", and "Access
to your cluster's container image registry (registry addresses vary by cluster)"
and delete the second occurrence; ensure the "⚠️ PodSecurity Policy Requirement"
block (the warning about Milvus v2.6.7 and the kubectl label command) remains
directly beneath the single prerequisite list so the doc contains only one clean
list followed by the PodSecurity warning.

Comment on lines +96 to +97
> **Note**: ACP v4.2.0 and later supports in-cluster MinIO and etcd deployment through the Milvus Operator. External storage (S3-compatible) and external message queue (Kafka) are optional.

Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Remove the blank line inside the blockquote.
markdownlint flags the empty line inside the blockquote near Line 97.

🧹 Suggested fix
-> **Note**: ACP v4.2.0 and later supports in-cluster MinIO and etcd deployment through the Milvus Operator. External storage (S3-compatible) and external message queue (Kafka) are optional.
-
-> **Important**: Different ACP clusters may use different container registry addresses. The documentation uses `build-harbor.alauda.cn` as an example, but you may need to replace this with your cluster's registry (e.g., `registry.alauda.cn:60070`). See the [Troubleshooting section](`#image-pull-authentication-errors`) for details.
+> **Note**: ACP v4.2.0 and later supports in-cluster MinIO and etcd deployment through the Milvus Operator. External storage (S3-compatible) and external message queue (Kafka) are optional.
+> **Important**: Different ACP clusters may use different container registry addresses. The documentation uses `build-harbor.alauda.cn` as an example, but you may need to replace this with your cluster's registry (e.g., `registry.alauda.cn:60070`). See the [Troubleshooting section](`#image-pull-authentication-errors`) for details.
🧰 Tools
🪛 markdownlint-cli2 (0.20.0)

[warning] 97-97: Blank line inside blockquote

(MD028, no-blanks-blockquote)

🤖 Prompt for AI Agents
In `@docs/en/solutions/How_to_Use_Milvus.md` around lines 96 - 97, Remove the
empty line inside the blockquote that starts with "**Note**: ACP v4.2.0..." so
the blockquote is contiguous (no blank line between the "> **Note**: ..." line
and its following content); edit the Markdown in How_to_Use_Milvus.md to delete
that stray blank line in the blockquote so markdownlint no longer flags it.

Comment on lines 700 to 708
**Symptoms**: All Milvus components (operator, etcd, MinIO, Milvus) fail to create with PodSecurity errors:

```
Error creating: pods is forbidden: violates PodSecurity "restricted:latest":
- unrestricted capabilities (container must set securityContext.capabilities.drop=["ALL"])
- seccompProfile (pod or container must set securityContext.seccompProfile.type to "RuntimeDefault" or "Localhost")
- allowPrivilegeEscalation != false (container must set securityContext.allowPrivilegeEscalation=false)
- runAsNonRoot != true (pod or container must set securityContext.runAsNonRoot=true)
```
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Add a language to fenced code blocks.
markdownlint flags these fences without a language specifier.

💡 Example fix
-```
+```text
 Error creating: pods is forbidden: violates PodSecurity "restricted:latest":
 - unrestricted capabilities (container must set securityContext.capabilities.drop=["ALL"])
 - seccompProfile (pod or container must set securityContext.seccompProfile.type to "RuntimeDefault" or "Localhost")
 - allowPrivilegeEscalation != false (container must set securityContext.allowPrivilegeEscalation=false)
 - runAsNonRoot != true (pod or container must set securityContext.runAsNonRoot=true)
</details>

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 markdownlint-cli2 (0.20.0)</summary>

[warning] 702-702: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

</details>

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

In @docs/en/solutions/How_to_Use_Milvus.md around lines 700 - 708, The fenced
code block showing the PodSecurity error lacks a language specifier
(markdownlint warning); update the code fence around the error message in the
Milvus doc's example (the block starting with the PodSecurity error) to include
a language tag such as "text" (e.g., replace withtext) so the lexer and
markdownlint recognize the block language.


</details>

<!-- fingerprinting:phantom:triton:eagle -->

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

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.

1 participant