-
Notifications
You must be signed in to change notification settings - Fork 15
[docs] Move virtualization guides to the first level #266
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Caution Review failedThe pull request is closed. WalkthroughThis update restructures and enhances documentation for managed applications, networking, and virtualization in Cozystack. It introduces new and reorganized markdown files, updates metadata and internal references, consolidates automation scripts into a Makefile, and replaces old scripts with improved versions. Documentation navigation, aliasing, and content grouping are streamlined, and build automation is simplified. Changes
Sequence Diagram(s)sequenceDiagram
participant Workflow
participant Makefile
participant fill_templates.sh
participant update_apps.sh
participant GitHubRepo
Workflow->>Makefile: make update-all
Makefile->>fill_templates.sh: Generate templates for all app groups
fill_templates.sh->>GitHubRepo: Fetch README titles for apps
Makefile->>update_apps.sh: Update docs for all app groups
update_apps.sh->>GitHubRepo: Fetch README content for apps
update_apps.sh->>Docs: Write/append updated markdown files
Makefile->>Workflow: Done (git status -s)
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
Note ⚡️ Unit Test Generation is now available in beta!Learn more here, or try it out under "Finishing Touches" below. 📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (53)
✨ Finishing Touches
🧪 Generate unit tests
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
✅ Deploy Preview for cozystack ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary of Changes
Hello @NickVolynkin, 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 primarily focuses on improving the organization and discoverability of documentation by restructuring the docs
directory. It elevates virtualization-related content to a more prominent top-level section and creates a new, dedicated section for networking-specific guides, ensuring a clearer logical separation of topics. The changes also include necessary link updates and the addition of aliases to maintain link integrity.
Highlights
- Documentation Structure Reorganization: The primary change is a significant restructuring of the documentation, moving core virtualization-related guides from
/docs/operations/virtualization
to a more prominent top-level/docs/virtualization
path. - New Networking Section: A dedicated
/docs/networking
section has been introduced to house networking-specific guides, specificallyvirtual-router.md
andmikrotik.md
, which were previously under theoperations/virtualization
path. - Path Updates and Aliases: All internal links pointing to the old virtualization paths have been updated to reflect the new structure. Additionally,
aliases
have been added to the front matter of all moved/renamed files to ensure backward compatibility and prevent broken links for existing references.
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 in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command>
or @gemini-code-assist <command>
. Below is a summary of the supported commands.
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 issue 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 or fill out our survey to provide feedback.
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
-
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. ↩
There was a problem hiding this 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 refactors the documentation by moving virtualization guides to a top-level section and creating a new networking section. The changes are a good improvement to the structure. I've provided a few suggestions to improve navigation clarity, fix link targets, and correct a minor typo. Addressing these will enhance the overall quality and user experience of the documentation.
7c7c008
to
ec753ef
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 5
♻️ Duplicate comments (7)
content/en/docs/applications/nats.md (1)
4-6
: Provide an explicit numeric weightSame issue as in FerretDB page.
-weight: +weight: 0content/en/docs/applications/kafka.md (1)
4-6
: Emptyweight
front-matterPlease set an explicit integer or drop the key.
-weight: +# weight: 10 # examplecontent/en/docs/applications/mysql.md (1)
4-6
: Specifyweight
explicitlySame remark as for the other application docs.
-weight: +weight: 0content/en/docs/virtualization/resources.md (1)
4-4
: Trailing comma still present – YAML will parse but is noisy
This was flagged earlier; keeping the comma serves no purpose and can confuse future diffs.-description: "Reference for VM Instance Types and Instance Profiles," +description: "Reference for VM Instance Types and Instance Profiles"content/en/docs/networking/_index.md (1)
1-8
: Add a trailing newline to satisfy POSIX toolsThe file lacks a terminating newline. Some linters and diff viewers complain about this.
-This documentation section explains network configuration, virtual routers, load balancers, and other networking capabilities in Cozystack. +This documentation section explains network configuration, virtual routers, load balancers, and other networking capabilities in Cozystack. +content/en/docs/virtualization/_index.md (1)
2-4
:linkTitle
duplicates the page below – rename to avoid sidebar confusionThis was raised in a previous review but is still unresolved. Keeping two items with identical “Virtual Machines” labels (the section index and
virtual-machines.md
) confuses users.-title: "Virtual Machines in Cozystack" -linkTitle: "Virtual Machines" +title: "Virtualization in Cozystack" +linkTitle: "Virtualization"content/en/docs/guides/bundles/_index.md (1)
38-40
: Same broken landing page as flagged earlier
The reference[vm]
still points to/docs/virtualization
, which is empty.
See previous review — please update to/docs/virtualization/virtual-machines
for a meaningful target.
🧹 Nitpick comments (36)
content/en/docs/_index.md (1)
11-12
: Confirm alias path format & add trailing-slash variantHugo treats “pretty URLs” as directory paths ending with a
/
. An alias without the trailing slash (/docs/reference
) will generate a redirect HTML file at/docs/reference/index.html
, but incoming links that include the trailing slash (/docs/reference/
) will not be redirected unless a second alias is declared.Consider adding the slash-terminated variant to avoid 404s and preserve existing inbound links:
aliases: - /docs/reference + - /docs/reference/
content/en/docs/applications/mysql.md (3)
25-26
: Typo in placeholder –<instnace>
-kubectl edit mariadb <instnace> +kubectl edit mariadb <instance>
61-64
: Multiple typos in “Known issues” list
- “can't not be finished” → “cannot be finished”
- “finised” → “finished”
- “inmplemented” → “implemented”
Please correct for professionalism and clarity.
66-72
: Misspelling of “indices”-**Corrupted indicies** +**Corrupted indices**content/en/docs/applications/rabbitmq.md (1)
4-6
: Confirm weight/null handling & keep metadata explicit
weight:
is currently set to YAMLnull
(empty).
In Hugo this evaluates to 0, which may unexpectedly pin the page to the top of its section.
If the intent is to defer ordering to section defaults, consider omitting the key altogether; otherwise give it an explicit integer.-weight: +# weight: 30 # ← example valueSame for any other newly-added application docs for consistency.
content/en/docs/applications/postgres.md (1)
4-6
: Unclear ordering – provide concreteweight
or drop the keyLeaving
weight:
empty serialises asnull
→ 0.
Give an explicit value or remove the key so Hugo falls back to alphabetic sorting.-weight: +# weight: 40(Replicate across other app pages if needed.)
content/en/docs/networking/mikrotik.md (1)
5-7
: Alias looks good; use trailing slash only if old site had itThe new alias
/docs/operations/virtualization/mikrotik
will 301 old links.
If legacy URLs ever ended with a trailing slash, add a second alias to cover it:- /docs/operations/virtualization/mikrotik + - /docs/operations/virtualization/mikrotik/
Minor but prevents a 404 for bookmarked paths.
content/en/docs/applications/clickhouse.md (1)
4-7
: Fill in emptydescription
&weight
for better SEO / orderingAn empty
description
diminishes search-engine snippets and on-site previews; add a concise summary (≤ 160 chars).
Also decide on a concreteweight
or omit the field as noted in earlier comments.-description: "" -weight: +description: "High-performance column-oriented OLAP DBMS with managed backups, sharding and scaling." +# weight: 35content/en/docs/applications/_include/kafka.md (1)
1-7
: Provide a concreteweight
or drop the field
weight:
is left blank. Hugo treats an empty value asnull
, which is valid YAML but may lead to non-deterministic ordering in section menus. Either supply a numeric value or remove the key to rely on default ordering.-weight: +# weight: 50 # ← example; adjust to desired positioncontent/en/docs/applications/redis.md (1)
4-6
: Setweight
or omit it for consistencyAn empty
weight:
behaves the same as omitting the key but adds noise. Recommend either giving it a concrete number (to control menu order) or deleting the field.-weight: +# weight: 50 # or remove the line entirelycontent/en/docs/applications/tenant.md (2)
4-6
: Front-matter: avoidweight:
without a value
weight:
is declared but left empty.
In Hugo this is parsed asnull
, which:
- Breaks numeric sorting in menu sections (pages with explicit numbers are grouped first,
null
sinks to the bottom unpredictably).- Yields noisy warnings in strict front-matter linters.
Either assign an explicit integer or drop the key:
-weight: +weight: 20 # <- pick an ordering numberIf you really want the default ordering, delete the key entirely.
2-3
: Consider adding a shortdescription:
for SEO & searchMost new docs in this PR include a
description:
field; this one does not.
Adding one keeps front-matter consistent and improves search snippets.content/en/docs/applications/_include/tenant.md (1)
4-6
: Blankweight:
value – same issue as main Tenant docLeaving
weight:
empty sets it tonull
. Use an explicit integer or remove the key to avoid menu-ordering quirks.-weight: +weight: 20 # or delete this linecontent/en/docs/applications/_include/nats.md (1)
4-6
: Blankweight:
– set or dropSame rationale as previous comments; specify an integer weight or omit the key to keep section ordering deterministic.
-weight: +weight: 30 # examplecontent/en/docs/networking/vpn.md (1)
4-4
: Minor duplication in descriptionThe first sentence of the body repeats the exact wording of the
description:
line.
You might trim one or rephrase to avoid redundancy in search previews.content/en/docs/applications/_include/rabbitmq.md (1)
4-9
: Emptyweight
and body may lead to an orphaned/blank pageLeaving
weight:
empty and providing no body means:
- Hugo will treat the weight as
0
, pushing the item to the very top unless overridden elsewhere.- The
/docs/reference/applications/rabbitmq
alias will render a page consisting only of front-matter if the template scripts are not run beforehand.If the file is always post-processed by
hack/update_apps.sh
, ignore this. Otherwise, consider either removingweight
or giving it an explicit value plus a one-line summary to avoid a blank page.weight: +summary: "RabbitMQ as a fully-managed Cozystack application."
content/en/docs/applications/_include/postgres.md (1)
4-7
: Add apostgresql
alias for consistency & SEOThe human-readable name is PostgreSQL, yet the alias uses
/postgres
.
Add the long form too so old links and search results resolve correctly.aliases: - /docs/reference/applications/postgres + - /docs/reference/applications/postgresql
content/en/docs/networking/http-cache.md (1)
3-7
: Alias path may confuse category routingThe page lives under Networking, but the alias points to
/reference/applications/http-cache
.
Consider also adding a networking-scoped alias for clarity and backlink continuity.aliases: - /docs/reference/applications/http-cache + - /docs/networking/http-cache
content/en/docs/applications/_include/mysql.md (1)
2-6
: Weight left empty – define a value or remove the key altogether
weight:
is present but has no value. Hugo treats an empty weight as zero, which unintentionally hoists the page to the top of its section.
Either supply an explicit number (keeps ordering predictable) or drop the key.-weight: +# weight: 25 # ← pick an ordering numbercontent/en/docs/networking/_include/tcp-balancer.md (1)
4-7
: Alias path may be misleading – confirm section prefixThe alias points to
/docs/reference/applications/tcp-balancer
while the file lives under networking.
If the intent is to maintain a legacy URL that lived in “applications”, add a second alias for the new canonical path to avoid 404s.aliases: - /docs/reference/applications/tcp-balancer + - /docs/reference/networking/tcp-balancer # new canonical location
content/en/docs/virtualization/_include/virtual-machine.md (1)
4-6
: Section / alias mismatch – double-check pathingThe alias again references
/applications/virtual-machine
, yet the document is in the virtualization tree.
Verify that this is intentional (e.g., preserving an old route) and, if not, update accordingly.- - /docs/reference/applications/virtual-machine + - /docs/reference/virtualization/virtual-machinecontent/en/docs/applications/_include/clickhouse.md (1)
4-5
: Missing description and weight – fill for consistency & SEOOther _include files often provide meaningful
description
text and a numericweight
.
Populate these to keep the autogenerated navigation consistent.-description: "" -weight: +description: "Managed ClickHouse Service offers a fully-hosted analytics database with zero-ops." +# weight: 20content/en/docs/virtualization/virtual-machine.md (1)
4-6
: Alias duplicates _include file – OK but ensure no circular canonical linkAdding the same alias here and in
_include/virtual-machine.md
is harmless, but make sure only one of the two pages is published; otherwise Hugo can emit duplicate URL conflicts.If
_include
is merely a shortcode include, everything is fine. If both compile to standalone pages, consider removing the alias from one to avoid clashes.content/en/docs/kubernetes/_include/_index.md (1)
6-7
: Add a trailing slash to the alias to avoid duplicate-URL issuesHugo treats paths with/without a trailing slash as distinct. Most of the existing docs use the “folder-style” URL (
/path/
). Appending the trailing slash keeps the alias consistent and prevents accidental 404s or duplicate content penalties.- - /docs/reference/applications/kubernetes + - /docs/reference/applications/kubernetes/content/en/docs/virtualization/_include/vm-disk.md (1)
6-6
: Align alias with new section location (optional)If the old path is solely for backward compatibility, consider adding a second alias that reflects the new top-level location (
/docs/virtualization/vm-disk/
) so both old and new links resolve.- /docs/reference/applications/vm-disk + - /docs/virtualization/vm-disk/
content/en/docs/virtualization/_include/vm-instance.md (1)
2-7
: Alias slug does not match page slugThe file is named
vm-instance.md
, but the alias isvm-instance
while the public title is simply “Virtual Machine”.
For consistency (SEO and user expectations), either:
- Rename the
alias
to match the public slug you intend (e.g.,/docs/virtualization/virtual-machine/
), or- Rename the file to
virtual-machine.md
.Leaving the mismatch may confuse users and hamper canonical-URL logic.
content/en/docs/networking/_include/http-cache.md (1)
6-7
: Consider dual aliases for old and new pathsTo ensure legacy links keep working after the doc re-org, you can keep the existing alias and add one for the new networking location:
- /docs/reference/applications/http-cache + - /docs/networking/http-cache/
content/en/docs/networking/_include/vpn.md (1)
4-4
: Minor grammar tweak for the descriptionCurrent wording misses an article and should pluralise “VPN server”.
-description: "Managed VPN Service simplifies the deployment and management of VPN server, enabling you to establish secure connections with ease." +description: "Managed VPN Service simplifies the deployment and management of VPN servers, enabling you to establish secure connections with ease."content/en/docs/guides/platform-stack/_index.md (1)
136-138
: Point “Virtual machines” to a populated page instead of the empty section index
/docs/virtualization
currently contains only front-matter, so users land on an empty page.
Switch the link to the virtual-machines overview to keep the experience consistent with the earlier Mikrotik/Router guides update.- - [Virtual machines]({{% ref "/docs/virtualization" %}}), supporting Linux and Windows OS. + - [Virtual machines]({{% ref "/docs/virtualization/virtual-machines" %}}), supporting Linux and Windows OS.Makefile (2)
1-12
: Add a conventional defaultall
targetMany CI systems & local workflows expect
make
(with no args) to succeed.
Exposeall:
that depends onupdate-all
(or another sensible default) to improve ergonomics and satisfy static-analysis warnings..PHONY: all update-apps update-vms update-networking update-k8s update-all \ - template-apps template-vms template-networking template-k8s template-all + template-apps template-vms template-networking template-k8s template-all +all: update-all
12-46
: Consider adding aclean
target to purge generated filesStatic analysis flagged the absence of
clean
. Having a simpleclean: @rm -rf $(APPS_DEST_DIR)/_include \ $(VMS_DEST_DIR)/_include \ $(NETWORKING_DEST_DIR)/_include \ $(K8S_DEST_DIR)/_includehelps local contributors reset stale artefacts.
hack/fill_templates.sh (2)
71-76
: Fetch only the first bytes instead of the full README for efficiency
curl -fsSL
downloads the whole file even though only the first line is needed.
A--range 0-1023
(or similar) header saves bandwidth and speeds up CI.- if ! first_line=$(curl -fsSL "$readme_url" | head -n 1); then + if ! first_line=$(curl -fsSL --range 0-1023 "$readme_url" | head -n 1); then
83-86
: Edge-case: linkTitle may become empty after stripping wordsIf the README title is exactly “Managed Service”,
link_title
ends up blank, producing ugly navigation.
Safeguard with a fallback:- link_title=$(echo "$title" | sed -E 's/\b(Managed|Service)\b//Ig' | xargs) + link_title=$(echo "$title" | sed -E 's/\b(Managed|Service)\b//Ig' | xargs) + [[ -z "$link_title" ]] && link_title="$title"hack/update_apps.sh (1)
65-67
:SRC_DIR
is calculated but never usedThe static-analysis warning is correct:
SRC_DIR
is dead code after refactors.
Drop it to reduce cognitive noise.-# Derive templates location: DEST_DIR/_include -SRC_DIR="${DEST_DIR%/}/_include"content/en/docs/applications/_index.md (2)
55-59
: Brand name casing – use “ClickHouse” consistentlyLine 58 links to
[Clickhouse]
, but the official spelling is “ClickHouse”.
Consistent casing improves searchability and avoids brand nitpicks.-- Managed application reference: [Clickhouse]({{% ref "/docs/applications/clickhouse" %}}) +- Managed application reference: [ClickHouse]({{% ref "/docs/applications/clickhouse" %}})
183-185
: Replace bare URL with a proper Markdown link
markdownlint
flags the naked URL; wrapping it keeps the document lint-clean and improves readability.-- Docs: https://www.haproxy.com/documentation/ +- Docs: [HAProxy documentation](https://www.haproxy.com/documentation/)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (59)
.github/workflows/update-managed-apps.yaml
(1 hunks).gitignore
(0 hunks)Makefile
(1 hunks)content/en/docs/_index.md
(1 hunks)content/en/docs/applications/_include/clickhouse.md
(1 hunks)content/en/docs/applications/_include/ferretdb.md
(1 hunks)content/en/docs/applications/_include/kafka.md
(1 hunks)content/en/docs/applications/_include/mysql.md
(1 hunks)content/en/docs/applications/_include/nats.md
(1 hunks)content/en/docs/applications/_include/postgres.md
(1 hunks)content/en/docs/applications/_include/rabbitmq.md
(1 hunks)content/en/docs/applications/_include/redis.md
(1 hunks)content/en/docs/applications/_include/tenant.md
(1 hunks)content/en/docs/applications/_index.md
(5 hunks)content/en/docs/applications/clickhouse.md
(1 hunks)content/en/docs/applications/ferretdb.md
(1 hunks)content/en/docs/applications/kafka.md
(1 hunks)content/en/docs/applications/mysql.md
(1 hunks)content/en/docs/applications/nats.md
(1 hunks)content/en/docs/applications/postgres.md
(1 hunks)content/en/docs/applications/rabbitmq.md
(1 hunks)content/en/docs/applications/redis.md
(1 hunks)content/en/docs/applications/tenant.md
(1 hunks)content/en/docs/cozystack-api.md
(1 hunks)content/en/docs/guides/bundles/_index.md
(2 hunks)content/en/docs/guides/concepts.md
(2 hunks)content/en/docs/guides/platform-stack/_index.md
(2 hunks)content/en/docs/guides/tenants/_index.md
(3 hunks)content/en/docs/introduction/_index.md
(2 hunks)content/en/docs/kubernetes/_include/_index.md
(1 hunks)content/en/docs/kubernetes/_index.md
(1 hunks)content/en/docs/kubernetes/backup-and-recovery.md
(1 hunks)content/en/docs/networking/_include/http-cache.md
(1 hunks)content/en/docs/networking/_include/tcp-balancer.md
(1 hunks)content/en/docs/networking/_include/vpn.md
(1 hunks)content/en/docs/networking/_index.md
(1 hunks)content/en/docs/networking/http-cache.md
(1 hunks)content/en/docs/networking/mikrotik.md
(1 hunks)content/en/docs/networking/tcp-balancer.md
(1 hunks)content/en/docs/networking/virtual-router.md
(1 hunks)content/en/docs/networking/vpn.md
(1 hunks)content/en/docs/operations/virtualization/_index.md
(0 hunks)content/en/docs/reference/_index.md
(0 hunks)content/en/docs/reference/applications/_include/fill_templates.sh
(0 hunks)content/en/docs/reference/applications/_include/update_apps.sh
(0 hunks)content/en/docs/reference/applications/_index.md
(0 hunks)content/en/docs/virtualization/_include/virtual-machine.md
(1 hunks)content/en/docs/virtualization/_include/vm-disk.md
(1 hunks)content/en/docs/virtualization/_include/vm-instance.md
(1 hunks)content/en/docs/virtualization/_index.md
(4 hunks)content/en/docs/virtualization/gpu.md
(1 hunks)content/en/docs/virtualization/resources.md
(1 hunks)content/en/docs/virtualization/virtual-machine.md
(1 hunks)content/en/docs/virtualization/vm-disk.md
(1 hunks)content/en/docs/virtualization/vm-instance.md
(1 hunks)content/en/docs/virtualization/windows.md
(1 hunks)hack/fill_templates.sh
(1 hunks)hack/update_apps.sh
(1 hunks)hugo.yaml
(1 hunks)
💤 Files with no reviewable changes (6)
- .gitignore
- content/en/docs/reference/_index.md
- content/en/docs/operations/virtualization/_index.md
- content/en/docs/reference/applications/_index.md
- content/en/docs/reference/applications/_include/fill_templates.sh
- content/en/docs/reference/applications/_include/update_apps.sh
🧰 Additional context used
🧬 Code Graph Analysis (2)
hack/update_apps.sh (1)
hack/fill_templates.sh (1)
usage
(4-22)
hack/fill_templates.sh (1)
hack/update_apps.sh (1)
usage
(4-23)
🪛 markdownlint-cli2 (0.17.2)
content/en/docs/guides/bundles/_index.md
23-23: Reference links and images should use a label that is defined
Missing link or image reference definition: "k8s"
(MD052, reference-links-images)
24-24: Reference links and images should use a label that is defined
Missing link or image reference definition: "apps"
(MD052, reference-links-images)
25-25: Reference links and images should use a label that is defined
Missing link or image reference definition: "vm"
(MD052, reference-links-images)
27-27: Reference links and images should use a label that is defined
Missing link or image reference definition: "api"
(MD052, reference-links-images)
content/en/docs/applications/_index.md
184-184: Bare URL used
(MD034, no-bare-urls)
🪛 checkmake (0.2.2)
Makefile
[warning] 12-12: Missing required phony target "all"
(minphony)
[warning] 12-12: Missing required phony target "clean"
(minphony)
[warning] 12-12: Missing required phony target "test"
(minphony)
🪛 Shellcheck (0.10.0)
hack/update_apps.sh
[warning] 66-66: SRC_DIR appears unused. Verify use (or export if used externally).
(SC2034)
🔇 Additional comments (21)
content/en/docs/virtualization/gpu.md (1)
6-7
: Alias addition looks correct and valuableBackward-compatibility URL is preserved, nothing else to flag here.
content/en/docs/cozystack-api.md (1)
4-4
: Bumped weight to 70 – verify sidebar orderRaising the weight from 50 → 70 pushes this page further down the section.
Double-check this aligns with the desired navigation flow after the virtualization-guide shuffle.content/en/docs/virtualization/vm-instance.md (1)
4-6
: Metadata addition looks good
weight
andaliases
are syntactically correct YAML and fit the new docs hierarchy.
No action required.content/en/docs/virtualization/vm-disk.md (1)
4-6
: Metadata addition looks goodThe new
weight
andaliases
fields follow the established pattern.
No further change needed.content/en/docs/networking/vpn.md (1)
4-7
: Alias path may be misleadingThe alias points to
/docs/reference/applications/vpn
, while the page now lives under Networking.
If the old path was/docs/reference/networking/vpn
(rather than applications), users following the previous link will 404.Please confirm the historical URL and adjust if needed:
- - /docs/reference/applications/vpn + - /docs/reference/networking/vpn # if this was the actual old routecontent/en/docs/virtualization/windows.md (1)
6-7
: Weight 50: confirm section orderingMost sibling pages have weights ≤ 20 (per previous commits). A jump to 50 pushes this page far down the menu.
Double-check the intended order; adjust if accidental.content/en/docs/applications/_include/redis.md (1)
4-7
: Looks good – consistent with other include filesNo issues spotted.
content/en/docs/networking/virtual-router.md (1)
5-7
: Confirm the intent of raisingweight
→ 40In Hugo, higher
weight
pushes the page lower in the left-hand menu.
If the goal was to make Virtual Routers more prominent after the docs reshuffle, the weight should be reduced (e.g.,10
), not increased. Please verify..github/workflows/update-managed-apps.yaml (1)
28-31
: Confirmmake
(and the new Makefile) is available in the runner imageThe workflow now relies on GNU Make (
make update-all
).
ubuntu-latest
images ship with GNU Make, but if the repository is ever executed on another runner image or a slimmed-down container, this step will fail silently and abort the whole sync job.Consider adding an explicit check (e.g.
command -v make
) or installingmake
in the step to avoid brittle CI behaviour.
Alternatively, pin the runner image inruns-on:
to one you know contains Make.content/en/docs/networking/tcp-balancer.md (1)
4-7
: Front-matter enrichment looks goodAdding
description
,weight
, and the legacyaliases
keeps existing URLs working and improves menu ordering—no objections.content/en/docs/guides/concepts.md (1)
51-51
: Hugoref
shortcode path may be incorrect
{{% ref "docs/kubernetes" %}}
is a section path, not a full page.
If the underlying file iscontent/en/docs/kubernetes/_index.md
this is fine, otherwise Hugo will fail with “ref not found”.Please double-check the target exists; adjust to
{{% ref "docs/kubernetes/_index.md" %}}
(or the concrete page) if necessary.hugo.yaml (1)
58-60
: Broader_include
exclusion is sensible, but validate published pagesExpanding the glob to
**/_include/*
will also exclude newly introduced include fragments undercontent/en/docs/networking/_include/
and others, which seems intentional.
Just verify that no stand-alone pages (those expected to be published) accidentally live inside an_include
directory, or they will vanish from the site.content/en/docs/introduction/_index.md (2)
59-66
: Link updates LGTMThe updated references are consistent with the new docs hierarchy.
17-19
: ✔ New top-level “applications” and “virtualization” sections confirmed
Both content/en/docs/applications/_index.md and content/en/docs/virtualization/_index.md exist with the following titles:
- Managed Applications: Guides and Reference
- Virtual Machines in Cozystack
These links (
/docs/applications
and/docs/virtualization
) will resolve correctly.content/en/docs/kubernetes/backup-and-recovery.md (1)
2-8
: Front-matter looks correct; alias preserves the old URLThe rename and added alias should avoid breaking existing inbound links.
content/en/docs/guides/tenants/_index.md (3)
38-39
: “Tenant Kubernetes” link update makes senseNo issues noticed, link points to the consolidated Kubernetes docs.
77-77
: Anchor might have changedVerify that the
#parameters
heading is still present in the new tenant app reference; otherwise this fragment will scroll to nowhere.
13-15
: Tenant application reference path is correctly configuredThe file
content/en/docs/applications/tenant.md
exists as a leaf bundle with the slug “tenant” (derived from its filename) and default front-matter, so{% ref "/docs/applications/tenant" %}
will resolve without requiring additional aliases.content/en/docs/guides/platform-stack/_index.md (1)
120-120
: Confirm the target of the TCP-balancer link
/docs/networking/tcp-balancer
is a newly-created path; double-check that the page exists (or will be added in this PR) to avoid a broken navigation link.content/en/docs/kubernetes/_index.md (1)
2-7
: Front-matter looks goodThe new title, linkTitle, weight, and alias align with the docs re-structure. No issues spotted.
hack/fill_templates.sh (1)
34-36
: Splitter fails when app list contains tabs or consecutive commas
IFS=', '
drops tabs and treats multiple delimiters as one, but consecutive commas (redis,,mysql
) leave empty entries that later fetch a 404.
Filter empties:IFS=', ' read -r -a APPS <<< "$2" APPS=("${APPS[@]/#/}") # remove empties APPS=("${APPS[@]:?}") # error if still empty
Signed-off-by: Nick Volynkin <nick.volynkin@gmail.com>
Signed-off-by: Nick Volynkin <nick.volynkin@gmail.com>
- update scripts to fetch content to provided locations - add makefile with commands to update apps, vms, networking - use makefile in CI Signed-off-by: Nick Volynkin <nick.volynkin@gmail.com>
ec753ef
to
f7f6b6b
Compare
…ding sections Virtualization: virtual-machine, vm-instance, vm-disk Networking: tcp-balancer, http-cache, vpn Templates are now versioned because they contain edited content. - Templates updated with aliases for redirecting from previous location. - Also set weight in templates to ensure correct order. - Added descriptions for pages in the templates. Signed-off-by: Nick Volynkin <nick.volynkin@gmail.com>
Signed-off-by: Nick Volynkin <nick.volynkin@gmail.com>
Signed-off-by: Nick Volynkin <nick.volynkin@gmail.com>
- Make a directory - Update scripts and Makefile for updating to kubernetes/_index.md - Move tenant K8s backups to Kubernetes section - Add alias for redirecting Signed-off-by: Nick Volynkin <nick.volynkin@gmail.com>
Now /docs/applications has entry content Signed-off-by: Nick Volynkin <nick.volynkin@gmail.com>
Signed-off-by: Nick Volynkin <nick.volynkin@gmail.com>
Signed-off-by: Nick Volynkin <nick.volynkin@gmail.com>
All referential docs are located close to other guides on the topic, usually on the same pages. Signed-off-by: Nick Volynkin <nick.volynkin@gmail.com>
There was a problem hiding this 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
♻️ Duplicate comments (3)
content/en/docs/guides/bundles/_index.md (1)
38-40
: Link still lands on an almost-empty placeholder page
Previous feedback recommended pointing the VM link to the “virtual-machines” overview rather than to the section index that currently has no body.
Consider updating the reference to improve reader experience.-[vm]: {{% ref "/docs/virtualization" %}} +[vm]: {{% ref "/docs/virtualization/virtual-machines" %}}hack/update_apps.sh (2)
33-39
: Missing value checks for--branch
,--apps
, and--dest
remain unresolved
The script still blindly consumes$2
. A dangling flag silently turns the next option into the value.
See prior diff suggestion; re-adding here for convenience.
72-85
: Destination sub-directories are created only implicitly –cp
will fail in CI
cp "$src_file" "$dest_file"
expects both parent dirs.
Insertmkdir -p "$(dirname "$src_file")" "$(dirname "$dest_file")"
before touch/cp.
🧹 Nitpick comments (5)
Makefile (2)
1-12
: Add conventional convenience targets (all
,clean
,test
)
Many CI systems and developers expect these three targets to exist. Even no-op stubs satisfy tooling likecheckmake
and improve discoverability.-.PHONY: update-apps update-vms update-networking update-k8s update-all \ - template-apps template-vms template-networking template-k8s template-all +.PHONY: all clean test \ + update-apps update-vms update-networking update-k8s update-all \ + template-apps template-vms template-networking template-k8s template-all + +# Default target – run full update & template generation +all: update-all template-all + +# Place-holders (extend later) +clean: + @echo "Nothing to clean yet" + +test: + @echo "No tests defined for documentation pipeline"
2-5
: Minor style nit – align variable columns for readability
K8S
,VMS
, andNETWORKING
lines have uneven spacing compared to the first. Aligning keeps large variable lists easier to scan.hack/update_apps.sh (1)
65-67
:SRC_DIR
is computed but never used
Either remove the variable or use it where intended; leaving it unused is a small smell and triggersshellcheck
SC2034.content/en/docs/applications/_index.md (2)
63-64
: Hyphenate compound adjectives (“open-source”, “high-performance”)
Consistent technical writing uses hyphens when a compound adjective precedes a noun.Also applies to: 102-104
170-185
: Replace bare URL with markdown link for accessibility & lint compliance-Docs: https://www.haproxy.com/documentation/ +Docs: [HAProxy documentation](https://www.haproxy.com/documentation/)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (59)
.github/workflows/update-managed-apps.yaml
(1 hunks).gitignore
(0 hunks)Makefile
(1 hunks)content/en/docs/_index.md
(1 hunks)content/en/docs/applications/_include/clickhouse.md
(1 hunks)content/en/docs/applications/_include/ferretdb.md
(1 hunks)content/en/docs/applications/_include/kafka.md
(1 hunks)content/en/docs/applications/_include/mysql.md
(1 hunks)content/en/docs/applications/_include/nats.md
(1 hunks)content/en/docs/applications/_include/postgres.md
(1 hunks)content/en/docs/applications/_include/rabbitmq.md
(1 hunks)content/en/docs/applications/_include/redis.md
(1 hunks)content/en/docs/applications/_include/tenant.md
(1 hunks)content/en/docs/applications/_index.md
(5 hunks)content/en/docs/applications/clickhouse.md
(1 hunks)content/en/docs/applications/ferretdb.md
(1 hunks)content/en/docs/applications/kafka.md
(1 hunks)content/en/docs/applications/mysql.md
(1 hunks)content/en/docs/applications/nats.md
(1 hunks)content/en/docs/applications/postgres.md
(1 hunks)content/en/docs/applications/rabbitmq.md
(1 hunks)content/en/docs/applications/redis.md
(1 hunks)content/en/docs/applications/tenant.md
(1 hunks)content/en/docs/cozystack-api.md
(1 hunks)content/en/docs/guides/bundles/_index.md
(2 hunks)content/en/docs/guides/concepts.md
(2 hunks)content/en/docs/guides/platform-stack/_index.md
(2 hunks)content/en/docs/guides/tenants/_index.md
(3 hunks)content/en/docs/introduction/_index.md
(2 hunks)content/en/docs/kubernetes/_include/_index.md
(1 hunks)content/en/docs/kubernetes/_index.md
(1 hunks)content/en/docs/kubernetes/backup-and-recovery.md
(1 hunks)content/en/docs/networking/_include/http-cache.md
(1 hunks)content/en/docs/networking/_include/tcp-balancer.md
(1 hunks)content/en/docs/networking/_include/vpn.md
(1 hunks)content/en/docs/networking/_index.md
(1 hunks)content/en/docs/networking/http-cache.md
(1 hunks)content/en/docs/networking/mikrotik.md
(1 hunks)content/en/docs/networking/tcp-balancer.md
(1 hunks)content/en/docs/networking/virtual-router.md
(1 hunks)content/en/docs/networking/vpn.md
(1 hunks)content/en/docs/operations/virtualization/_index.md
(0 hunks)content/en/docs/reference/_index.md
(0 hunks)content/en/docs/reference/applications/_include/fill_templates.sh
(0 hunks)content/en/docs/reference/applications/_include/update_apps.sh
(0 hunks)content/en/docs/reference/applications/_index.md
(0 hunks)content/en/docs/virtualization/_include/virtual-machine.md
(1 hunks)content/en/docs/virtualization/_include/vm-disk.md
(1 hunks)content/en/docs/virtualization/_include/vm-instance.md
(1 hunks)content/en/docs/virtualization/_index.md
(4 hunks)content/en/docs/virtualization/gpu.md
(1 hunks)content/en/docs/virtualization/resources.md
(1 hunks)content/en/docs/virtualization/virtual-machine.md
(1 hunks)content/en/docs/virtualization/vm-disk.md
(1 hunks)content/en/docs/virtualization/vm-instance.md
(1 hunks)content/en/docs/virtualization/windows.md
(1 hunks)hack/fill_templates.sh
(1 hunks)hack/update_apps.sh
(1 hunks)hugo.yaml
(1 hunks)
💤 Files with no reviewable changes (6)
- content/en/docs/operations/virtualization/_index.md
- .gitignore
- content/en/docs/reference/_index.md
- content/en/docs/reference/applications/_index.md
- content/en/docs/reference/applications/_include/update_apps.sh
- content/en/docs/reference/applications/_include/fill_templates.sh
✅ Files skipped from review due to trivial changes (10)
- content/en/docs/_index.md
- content/en/docs/networking/mikrotik.md
- content/en/docs/virtualization/_include/vm-disk.md
- content/en/docs/cozystack-api.md
- content/en/docs/applications/_include/kafka.md
- content/en/docs/applications/_include/redis.md
- content/en/docs/guides/platform-stack/_index.md
- content/en/docs/virtualization/_include/vm-instance.md
- content/en/docs/guides/concepts.md
- content/en/docs/kubernetes/backup-and-recovery.md
🚧 Files skipped from review as they are similar to previous changes (39)
- content/en/docs/applications/kafka.md
- content/en/docs/applications/ferretdb.md
- content/en/docs/applications/rabbitmq.md
- content/en/docs/applications/mysql.md
- content/en/docs/virtualization/gpu.md
- content/en/docs/applications/redis.md
- content/en/docs/applications/_include/tenant.md
- content/en/docs/applications/nats.md
- .github/workflows/update-managed-apps.yaml
- content/en/docs/virtualization/vm-disk.md
- content/en/docs/networking/_include/vpn.md
- content/en/docs/networking/_include/tcp-balancer.md
- content/en/docs/virtualization/_include/virtual-machine.md
- content/en/docs/applications/_include/mysql.md
- content/en/docs/applications/_include/rabbitmq.md
- content/en/docs/networking/virtual-router.md
- content/en/docs/applications/_include/ferretdb.md
- content/en/docs/virtualization/virtual-machine.md
- content/en/docs/applications/clickhouse.md
- content/en/docs/networking/http-cache.md
- content/en/docs/networking/vpn.md
- content/en/docs/applications/tenant.md
- content/en/docs/virtualization/resources.md
- content/en/docs/applications/_include/nats.md
- content/en/docs/applications/_include/clickhouse.md
- content/en/docs/networking/_include/http-cache.md
- content/en/docs/applications/postgres.md
- content/en/docs/applications/_include/postgres.md
- content/en/docs/networking/tcp-balancer.md
- content/en/docs/introduction/_index.md
- content/en/docs/virtualization/_index.md
- content/en/docs/networking/_index.md
- hugo.yaml
- content/en/docs/guides/tenants/_index.md
- content/en/docs/kubernetes/_include/_index.md
- content/en/docs/virtualization/windows.md
- content/en/docs/kubernetes/_index.md
- content/en/docs/virtualization/vm-instance.md
- hack/fill_templates.sh
🧰 Additional context used
🧬 Code Graph Analysis (1)
hack/update_apps.sh (1)
hack/fill_templates.sh (1)
usage
(4-22)
🪛 LanguageTool
content/en/docs/applications/_index.md
[uncategorized] ~63-~63: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...se" %}}) ### FerretDB FerretDB is an open source MongoDB alternative. It translates Mong...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~102-~102: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ... is an open-source, simple, secure, and high performance messaging system. It provides a data la...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
🪛 markdownlint-cli2 (0.17.2)
content/en/docs/applications/_index.md
184-184: Bare URL used
(MD034, no-bare-urls)
content/en/docs/guides/bundles/_index.md
23-23: Reference links and images should use a label that is defined
Missing link or image reference definition: "k8s"
(MD052, reference-links-images)
24-24: Reference links and images should use a label that is defined
Missing link or image reference definition: "apps"
(MD052, reference-links-images)
25-25: Reference links and images should use a label that is defined
Missing link or image reference definition: "vm"
(MD052, reference-links-images)
27-27: Reference links and images should use a label that is defined
Missing link or image reference definition: "api"
(MD052, reference-links-images)
🪛 checkmake (0.2.2)
Makefile
[warning] 12-12: Missing required phony target "all"
(minphony)
[warning] 12-12: Missing required phony target "clean"
(minphony)
[warning] 12-12: Missing required phony target "test"
(minphony)
🪛 Shellcheck (0.10.0)
hack/update_apps.sh
[warning] 66-66: SRC_DIR appears unused. Verify use (or export if used externally).
(SC2034)
Signed-off-by: Nick Volynkin <nick.volynkin@gmail.com>
f7f6b6b
to
8e12d10
Compare
Summary by CodeRabbit
New Features
Documentation
Chores