Skip to content

Conversation

@adminwcs
Copy link

@adminwcs adminwcs commented Nov 23, 2025

Summary by CodeRabbit

  • Documentation
    • Restructured architecture documentation with refined log storage section
    • Added dedicated log query section with specific product UI references
    • Streamlined component descriptions and data flow narrative
    • Improved clarity on query handling and storage system interactions

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Nov 23, 2025

Walkthrough

Documentation file reorganized to simplify architecture description by removing high-level sections and replacing multi-component flow descriptions (Razor, Lanaya, Vector) with component-centric entries focusing on Nevermore as log collector, introducing condensed "Log Storage" and new "Log Query" sections with specific routes and product UI URLs.

Changes

Cohort / File(s) Summary
Architecture documentation restructuring
docs/en/architecture/architecture.mdx
Removed "Overall Architecture Description," "Log Collection," and "Log Consumption and Storage" sections. Added condensed "Log Storage" section and new "Log Query" section. Replaced Razor/Lanaya/Vector descriptions with Nevermore log collector details, updated data path narrative to emphasize ALB routing, platform/global cluster interactions, and storage routes, and reframed log query section with explicit product UI URLs and courier-api interaction patterns.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

  • Documentation-only change with no code logic to validate
  • Straightforward reorganization and content updates
  • No dependencies or functionality changes to verify

Poem

🐰 A rabbit hops through docs so neat,
Reorganizing architecture's beat—
Nevermore flows where Razor once stood,
Log queries now shine, clearer and good!
Simplified paths through storage so bright,
Our documentation now feels just right! ✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Update the log architecture description' directly corresponds to the main change: reorganizing and updating the architecture documentation in docs/en/architecture/architecture.mdx with simplified component descriptions, new log storage/query sections, and revised data flow narratives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/AIT-63059

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


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

@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: 1

🧹 Nitpick comments (2)
docs/en/architecture/architecture.mdx (2)

18-18: Consider breaking down the routing scenarios for better readability.

Line 18 describes three distinct routing paths (same cluster, business-to-global, and business-to-business) in a single bullet point. Consider using sub-bullets or a table to present these scenarios more clearly, especially since each has different routing mechanics and destinations.

Here's an example restructuring:

- Nevermore collects logs from `/cpaas/{log,audit,event}` and sends them to the ALB of the corresponding log storage cluster. (1) If logs are stored within the same cluster, data is sent via the razor service, using the path `http://razor:8080/v4/callback`; (2) If logs from a business cluster are stored in the global cluster, they are sent to razor using the platform access address, with the path `https://<platform_access_address>/v4/callback`; (3) If logs are stored in another business cluster, they are sent to razor through that cluster's ALB on port 11780, using the path `http://alb:11780/v4/callback`. (The destination address for Nevermore to send logs to razor can be queried using `kubectl get cm -n cpaas-system nevermore-config -oyaml`).
+ Nevermore collects logs from `/cpaas/{log,audit,event}` and sends them to the ALB of the corresponding log storage cluster:
+   - **Same cluster**: Sends via razor service at `http://razor:8080/v4/callback`
+   - **Business-to-global cluster**: Sends via platform access address at `https://<platform_access_address>/v4/callback`
+   - **Business-to-business cluster**: Sends via target cluster's ALB on port 11780 at `http://alb:11780/v4/callback`
+ 
+ (The destination address can be queried using `kubectl get cm -n cpaas-system nevermore-config -oyaml`)

25-25: Consider extracting the parenthetical note for better readability.

The parenthetical information about how courier-api loads its configuration is important operational context but interrupts the flow of the main bullet. Consider extracting it as a separate note or callout block for clarity.

- The ALB invokes the `courier-api` component in the global cluster (if the log storage plugin is deployed in a business cluster, the `courier-api` component runs in the global cluster) to query logs from the log storage cluster's Elasticsearch or ClickHouse and returns the results to the front end. (The courier-api's YAML does not contain the Elasticsearch request address; this is recorded in the `feature` resource of `log-center` and is loaded by retrieving the feature after startup).
+ The ALB invokes the `courier-api` component in the global cluster (if the log storage plugin is deployed in a business cluster, the `courier-api` component runs in the global cluster) to query logs from the log storage cluster's Elasticsearch or ClickHouse and returns the results to the front end.
+ 
+ > **Note:** The courier-api's YAML does not contain the Elasticsearch request address; this is recorded in the `feature` resource of `log-center` and is loaded by retrieving the feature after startup.
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8bd7c28 and e0c6175.

⛔ Files ignored due to path filters (1)
  • docs/en/assets/log.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • docs/en/architecture/architecture.mdx (1 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/en/architecture/architecture.mdx

[style] ~24-~24: This phrase is redundant (‘I’ stands for ‘interface’). Use simply “UI”.
Context: ...lickHouse. ## Log Query - The product UI interface queries logs via the following URLs (Lo...

(ACRONYM_TAUTOLOGY)

🔇 Additional comments (1)
docs/en/architecture/architecture.mdx (1)

12-14: Well-organized log collection description.

The section clearly explains the log collection mechanism, Nevermore's role, and how different log types are handled. The added detail about viewing configuration files via ps -ef is a useful operational note.

## Log Query

2. The requests are processed by the advanced API component Courier, which queries the log data from the log storage clusters ElasticSearch or Clickhouse and returns it to the page.
- The product UI interface queries logs via the following URLs (Log Query: `/platform/logging.alauda.io/v2`, Event Query: `/platform/events.alauda.io/v1`, Audit Query: `/platform/audits.alauda.io/v1`).
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Remove redundant "interface" after "UI".

"UI" already stands for "User Interface," making the word "interface" redundant. Simplify to either "UI" or "user interface."

Apply this diff to fix the redundancy:

- The product UI interface queries logs via the following URLs (Log Query: `/platform/logging.alauda.io/v2`, Event Query: `/platform/events.alauda.io/v1`, Audit Query: `/platform/audits.alauda.io/v1`).
+ The product UI queries logs via the following URLs (Log Query: `/platform/logging.alauda.io/v2`, Event Query: `/platform/events.alauda.io/v1`, Audit Query: `/platform/audits.alauda.io/v1`).
📝 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.

Suggested change
- The product UI interface queries logs via the following URLs (Log Query: `/platform/logging.alauda.io/v2`, Event Query: `/platform/events.alauda.io/v1`, Audit Query: `/platform/audits.alauda.io/v1`).
- The product UI queries logs via the following URLs (Log Query: `/platform/logging.alauda.io/v2`, Event Query: `/platform/events.alauda.io/v1`, Audit Query: `/platform/audits.alauda.io/v1`).
🧰 Tools
🪛 LanguageTool

[style] ~24-~24: This phrase is redundant (‘I’ stands for ‘interface’). Use simply “UI”.
Context: ...lickHouse. ## Log Query - The product UI interface queries logs via the following URLs (Lo...

(ACRONYM_TAUTOLOGY)

🤖 Prompt for AI Agents
In docs/en/architecture/architecture.mdx around line 24, remove the redundant
word "interface" after "UI" in the sentence so it reads "The product UI queries
logs via the following URLs (...)" or replace "UI" with "user interface" if
preferred; keep the listed log/event/audit URLs unchanged.

@cloudflare-workers-and-pages
Copy link

Deploying alauda-logging-service with  Cloudflare Pages  Cloudflare Pages

Latest commit: e0c6175
Status: ✅  Deploy successful!
Preview URL: https://543db444.alauda-logging-service.pages.dev
Branch Preview URL: https://feat-ait-63059.alauda-logging-service.pages.dev

View logs

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.

3 participants