Skip to content

Conversation

@IvanHunters
Copy link
Contributor

@IvanHunters IvanHunters commented Dec 29, 2025

Summary by CodeRabbit

  • Documentation

    • Reorganized monitoring docs into modular includes and removed an obsolete Monitoring Hub reference and its embedded diagrams.
    • Added a new parameters reference detailing metrics, logs, alerting, Grafana and vmagent settings.
    • Adjusted documentation metadata/ordering and streamlined alerting YAML formatting for consistency.
  • Chores

    • Adjusted the site-generation mapping to support the monitoring parameters page.

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

@netlify
Copy link

netlify bot commented Dec 29, 2025

Deploy Preview for cozystack ready!

Name Link
🔨 Latest commit 10a386e
🔍 Latest deploy log https://app.netlify.com/projects/cozystack/deploys/6954e6dfe72c3600080fb652
😎 Deploy Preview https://deploy-preview-391--cozystack.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 29, 2025

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

📝 Walkthrough

Walkthrough

Removed a Monitoring hub page, moved inline monitoring content to includes, added parameter reference files, adjusted navigation weights, and updated the build script to special-case the monitoring parameters path.

Changes

Cohort / File(s) Summary
Monitoring hub removed
content/en/docs/operations/services/_include/monitoring.md
File deleted — front matter, include directive, and two embedded diagrams (Mermaid architecture and alert sequence) removed.
Overview include adjusted
content/en/docs/operations/services/_include/monitoring-overview.md
Front-matter fields (title, linkTitle) and a preceding blank line removed; content body unchanged.
Index replaced with include
content/en/docs/operations/services/monitoring/_index.md
Large autogenerated inline documentation replaced by a Hugo include referencing .../_include/monitoring-overview.md; front matter retained.
New parameters docs
content/en/docs/operations/services/_include/parameters.md, content/en/docs/operations/services/monitoring/parameters.md
Added two new pages with YAML front matter. _include/parameters.md defines menu metadata; monitoring/parameters.md provides a table-driven reference for monitoring parameters (metricsStorages, logsStorages, alerta, grafana, vmagent, common params).
Alerting YAML formatting
content/en/docs/operations/services/monitoring/alerting.md
Rewrote disabledSeverity arrays from inline to block-style YAML lists for several integrations (Telegram, Slack, Email, PagerDuty).
Navigation weight changes
content/en/docs/operations/services/monitoring/setup.md
Front-matter weights updated: global weight 1→2 and nested docs menu weight 10→11; no content changes.
Build script special-case
hack/update_apps.sh
Added conditional mapping: when app == "monitoring", map source to _include/parameters.md and dest to monitoring/parameters.md; other apps follow previous _include/{app}.md{app}.md pattern.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 I hopped through files both old and new,

I nudged the hub and split the view,
Parameters lined in tidy rows,
Weave includes where the overview goes,
A small script tweak — now onward we chew. 🌱

Pre-merge checks

✅ 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 'fix auto-generation of documentation' is directly related to the main changes, which involve restructuring documentation files, updating the build automation script (hack/update_apps.sh), and reorganizing monitoring documentation includes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1c8d268 and 10a386e.

📒 Files selected for processing (1)
  • content/en/docs/operations/services/monitoring/alerting.md
✅ Files skipped from review due to trivial changes (1)
  • content/en/docs/operations/services/monitoring/alerting.md

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.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @IvanHunters, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request resolves an issue related to the auto-generation of documentation. It involves relocating the monitoring.md file and, more critically, integrating dynamically generated configuration parameter tables for key monitoring services like Grafana, Alerta, and VictoriaMetrics. This enhancement ensures that the documentation provides up-to-date and comprehensive details on service parameters, improving clarity and usability for operators.

Highlights

  • Documentation File Relocation: The monitoring.md documentation file has been moved from an _include subdirectory to a more direct path within the operations/services directory.
  • Auto-Generated Content Integration: The updated monitoring.md now includes extensive, automatically generated tables detailing configuration parameters for various monitoring services such as Grafana, Alerta, and VictoriaMetrics components.
  • Enhanced Documentation Accuracy: This change significantly improves the completeness and accuracy of the monitoring documentation by incorporating dynamic parameter references directly into the user-facing content, ensuring it reflects the latest configurations.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request aims to fix the auto-generation of documentation by moving content and adding parameter tables. However, it introduces a critical structural issue by creating content/en/docs/operations/services/monitoring.md, which conflicts with the existing content/en/docs/operations/services/monitoring/ directory and will break the Hugo site build. The content should instead be merged into content/en/docs/operations/services/monitoring/_index.md. I've also pointed out a broken metadata link resulting from the file move, and a couple of areas in the generated documentation tables where descriptions and values could be clearer for better user understanding.

Comment on lines 1 to 4
---
title: "Monitoring Hub Reference"
linkTitle: "Monitoring"
---
Copy link
Contributor

Choose a reason for hiding this comment

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

critical

This new file monitoring.md is created in the content/en/docs/operations/services/ directory, but a directory named monitoring/ already exists at the same level. In Hugo, a file (monitoring.md) and a directory (monitoring/) with the same base name cannot coexist as siblings. This will break the website build.

The content of this file should be merged into content/en/docs/operations/services/monitoring/_index.md, which serves as the main page for the monitoring section. This will consolidate the monitoring documentation correctly without causing build failures.


<!--
Autogenerated content. Don't edit this file directly; edit sources instead.
metadata: https://github.com/cozystack/website/blob/main/content/en/docs/operations/services/_include/monitoring.md
Copy link
Contributor

Choose a reason for hiding this comment

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

high

The metadata link points to .../_include/monitoring.md, which is deleted in this pull request, creating a broken link. This should be updated. Given the structural issue with this file's location, the link should ultimately point to .../monitoring/_index.md once the content is moved there.

Suggested change
metadata: https://github.com/cozystack/website/blob/main/content/en/docs/operations/services/_include/monitoring.md
metadata: https://github.com/cozystack/website/blob/main/content/en/docs/operations/services/monitoring/_index.md

| ---------------------------------- | ---------------------------------------- | ---------- | ------------ |
| `logsStorages` | Configuration of logs storage instances. | `[]object` | `[...]` |
| `logsStorages[i].name` | Name of the storage instance. | `string` | `""` |
| `logsStorages[i].retentionPeriod` | Retention period for logs. | `string` | `1` |
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The default value 1 for logsStorages[i].retentionPeriod is ambiguous. It's not clear if the unit is days, hours, or something else. Other documentation files (e.g., logs.md, setup.md) show examples with units, like "30d". To avoid confusion, please specify the unit, for example, 1d.

Suggested change
| `logsStorages[i].retentionPeriod` | Retention period for logs. | `string` | `1` |
| `logsStorages[i].retentionPeriod` | Retention period for logs. | `string` | `1d` |

| `alerta.alerts.telegram.chatID` | Telegram chat ID(s), separated by commas. | `string` | `""` |
| `alerta.alerts.telegram.disabledSeverity` | List of severities without alerts (e.g. ["informational","warning"]). | `[]string` | `[]` |
| `alerta.alerts.slack` | Configuration for Slack alerts. | `object` | `{}` |
| `alerta.alerts.slack.url` | Configuration uri for Slack alerts. | `string` | `""` |
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The description "Configuration uri for Slack alerts" is a bit vague. Based on other documentation files like alerting.md, this parameter is for the Slack webhook URL. Using "Webhook URL for Slack alerts" would be more precise and helpful for the user.

Suggested change
| `alerta.alerts.slack.url` | Configuration uri for Slack alerts. | `string` | `""` |
| `alerta.alerts.slack.url` | Webhook URL for Slack alerts. | `string` | `""` |

ohotnikov.ivan added 2 commits December 30, 2025 01:10
Signed-off-by: ohotnikov.ivan <ohotnikov.ivan@e-queo.net>
Signed-off-by: ohotnikov.ivan <ohotnikov.ivan@e-queo.net>
ohotnikov.ivan added 2 commits December 30, 2025 01:11
Signed-off-by: ohotnikov.ivan <ohotnikov.ivan@e-queo.net>
Signed-off-by: ohotnikov.ivan <ohotnikov.ivan@e-queo.net>
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: 0

🧹 Nitpick comments (1)
hack/update_apps.sh (1)

82-88: Special-case mapping for monitoring is correct.

The logic properly handles the monitoring app's new structure where parameters are sourced from a dedicated include file. However, consider adding directory creation for robustness.

🔎 Suggested improvement for robustness

Add directory creation before copying to ensure the parent directory exists:

  else
    if [[ "$app" == "monitoring" ]]; then
      src_file="${DEST_DIR%/}/_include/parameters.md"
      dest_file="${DEST_DIR%/}/monitoring/parameters.md"
    else
      src_file="${DEST_DIR%/}/_include/${app}.md"
      dest_file="${DEST_DIR%/}/${app}.md"
    fi
  fi

  # Ensure template exists (touch if missing)
  [[ -f "$src_file" ]] || touch "$src_file"

+ # Ensure destination directory exists
+ mkdir -p "$(dirname "$dest_file")"
+
  # Copy template to destination (overwrite)
  cp "$src_file" "$dest_file"
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2bec038 and 1c8d268.

📒 Files selected for processing (7)
  • content/en/docs/operations/services/_include/monitoring-overview.md
  • content/en/docs/operations/services/_include/monitoring.md
  • content/en/docs/operations/services/_include/parameters.md
  • content/en/docs/operations/services/monitoring/_index.md
  • content/en/docs/operations/services/monitoring/parameters.md
  • content/en/docs/operations/services/monitoring/setup.md
  • hack/update_apps.sh
💤 Files with no reviewable changes (2)
  • content/en/docs/operations/services/_include/monitoring-overview.md
  • content/en/docs/operations/services/_include/monitoring.md
✅ Files skipped from review due to trivial changes (1)
  • content/en/docs/operations/services/_include/parameters.md
🧰 Additional context used
🪛 LanguageTool
content/en/docs/operations/services/monitoring/parameters.md

[grammar] ~71-~71: Ensure spelling is correct
Context: ... | string | replicated | ### Alerta configuration | Name ...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🔇 Additional comments (4)
content/en/docs/operations/services/monitoring/setup.md (1)

5-5: LGTM! Weight adjustments align with documentation structure.

The weight changes properly reorder pages to accommodate the new parameters reference page.

Also applies to: 9-9

content/en/docs/operations/services/monitoring/_index.md (1)

5-5: LGTM! Include directive simplifies content management.

The shift to using an include directive aligns with the PR objectives and makes the documentation more maintainable.

content/en/docs/operations/services/monitoring/parameters.md (1)

1-117: LGTM! Comprehensive parameters reference is well-structured.

The new parameters page provides clear documentation with appropriate categorization. The front matter weights correctly position this page in the navigation hierarchy.

Note: The static analysis hint about "Alerta" spelling is a false positive—Alerta is the proper name of the alerting tool.

hack/update_apps.sh (1)

82-88: No action needed. The code already handles missing include files gracefully on line 92 with [[ -f "$src_file" ]] || touch "$src_file", which creates an empty file if it doesn't exist. Additionally, the referenced parameters.md file exists at content/en/docs/operations/services/_include/parameters.md, so there is no risk of build failures from missing include files.

Likely an incorrect or invalid review comment.

Signed-off-by: ohotnikov.ivan <ohotnikov.ivan@e-queo.net>
@lllamnyp lllamnyp merged commit b985c03 into main Dec 31, 2025
6 checks passed
@lllamnyp lllamnyp deleted the fix/docs-automation branch December 31, 2025 10:42
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