-
Notifications
You must be signed in to change notification settings - Fork 15
[docs] Getting started review #165
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
WalkthroughThis update revises two documentation files: "first-deployment.md" and "hardware-requirements.md". The changes focus on improving clarity, style, and precision in the text, including rewording for conciseness, updating section titles, and restructuring tutorial objectives. Technical instructions and recommendations remain unchanged, with no modifications to configuration examples or command syntax. The edits also clarify the requirements and procedures for deploying and configuring Cozystack, as well as its hardware and networking prerequisites. Changes
Possibly related PRs
Poem
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:
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 site 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.
Actionable comments posted: 0
🧹 Nitpick comments (14)
content/en/docs/getting-started/first-deployment.md (9)
29-29
: Refine tutorial objective phrasing
Consider making this more action-oriented, e.g., “This tutorial guides you through bootstrapping Cozystack,” for smoother flow.
32-35
: Standardize list numbering or item formatting
You’re using “1.” for each item, which is valid Markdown auto-numbering. If desired, replace with correct incremental numbers for readability or switch to a dash (-
).
42-42
: Fix comma splice
The clause should read: “Cozystack runs on top of a Kubernetes cluster, either bring one up with Talos or use an existing one.” Remove the comma before “or.”
62-62
: Remove unnecessary comma
“…in your own way or use a different Kubernetes distribution” should omit the comma before “or.”
64-64
: Correct article usage
Change “These are a mandatory:” to “These are mandatory settings:” or “These are required:” for grammatical correctness.
68-68
: Add missing article
Change to “The listening address of some Kubernetes components must be changed fromlocalhost
to a routable address.”🧰 Tools
🪛 LanguageTool
[uncategorized] ~68-~68: A determiner appears to be missing. Consider inserting it.
Context: ...S domain must be set tocozy.local
. * Listening address of some Kubernetes components m...(AI_EN_LECTOR_MISSING_DETERMINER)
🪛 markdownlint-cli2 (0.17.2)
68-68: Unordered list style
Expected: dash; Actual: asterisk(MD004, ul-style)
99-99
: Spelling consistency: routable vs. routeable
Consider standardizing on “routable” (one ‘u’) if that aligns with broader documentation.
450-451
: Add missing “the”
Change “To access dashboard via root-ingress controller” to “To access the dashboard via the root‑ingress controller.”🧰 Tools
🪛 LanguageTool
[uncategorized] ~450-~450: You might be missing the article “the” here.
Context: ...``` Cozystack Dashboard To access dashboard via root-ingress controller, enable thi...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
475-476
: Use a Markdown heading instead of bold text
Replace**OIDC**
with a proper heading, for example## OIDC
, to maintain consistency with other sections.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
475-475: Emphasis used instead of a heading
null(MD036, no-emphasis-as-heading)
content/en/docs/getting-started/hardware-requirements.md (5)
8-10
: Add comma after introductory adverb
Consider: “Usually, it means that it will not be possible to share a server with services other than those Cozystack runs.” for better readability.🧰 Tools
🪛 LanguageTool
[typographical] ~8-~8: Consider adding a comma after ‘Usually’ for more clarity.
Context: ...tion designed solely to run Kubernetes. Usually it means that it will not be possib...(RB_LY_COMMA)
45-46
: Fix article usage and hyphenation
Change “are a mandatory for running highly-available applications” to “are mandatory for running highly available applications.” Remove “a” and adjust hyphenation.🧰 Tools
🪛 LanguageTool
[uncategorized] ~45-~45: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
Context: ...ker nodes** are a mandatory for running highly-available applications. If one of the three nod...(HYPHENATED_LY_ADVERB_ADJECTIVE)
62-68
: Improve list item clarity and punctuation
Consider rephrasing to avoid comma splice:- Distributed cluster requires both fast and reliable network, and it **must** have low RTT, as Kubernetes is not designed... + A distributed cluster requires a fast, reliable network with low RTT, because Kubernetes is not designed...Also standardize “routable” spelling if needed.
73-73
: Refine phrasing for difficulty
Instead of “hard to keep,” consider “If it’s difficult to maintain a single address space between datacenters...”.🧰 Tools
🪛 LanguageTool
[style] ~73-~73: To elevate your writing, try using a synonym here.
Context: ...ss without major disruption. - If it's hard to keep a single address space between ...(HARD_TO)
83-83
: Add missing article
Change “Expect significant amount of horizontal, inter-node traffic” to “Expect a significant amount of horizontal inter-node traffic.”🧰 Tools
🪛 LanguageTool
[misspelling] ~83-~83: This word is normally spelled as one.
Context: ...xpect significant amount of horizontal, inter-node traffic inside clusters. It is usuall...(EN_COMPOUNDS_INTER_NODE)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
content/en/docs/getting-started/first-deployment.md
(8 hunks)content/en/docs/getting-started/hardware-requirements.md
(2 hunks)
🧰 Additional context used
🪛 LanguageTool
content/en/docs/getting-started/first-deployment.md
[style] ~50-~50: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...operations/talos/installation/iso/). - [Install on Hetzner servers](/docs/operations/ta...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[uncategorized] ~68-~68: A determiner appears to be missing. Consider inserting it.
Context: ...S domain must be set to cozy.local
. * Listening address of some Kubernetes components m...
(AI_EN_LECTOR_MISSING_DETERMINER)
[uncategorized] ~450-~450: You might be missing the article “the” here.
Context: ...``` Cozystack Dashboard To access dashboard via root-ingress controller, enable thi...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
content/en/docs/getting-started/hardware-requirements.md
[typographical] ~8-~8: Consider adding a comma after ‘Usually’ for more clarity.
Context: ...tion designed solely to run Kubernetes. Usually it means that it will not be possib...
(RB_LY_COMMA)
[uncategorized] ~23-~23: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...rvers need nested virtualization enabled and the CPU model set to host
(without em...
(COMMA_COMPOUND_SENTENCE_2)
[uncategorized] ~45-~45: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
Context: ...ker nodes** are a mandatory for running highly-available applications. If one of the three nod...
(HYPHENATED_LY_ADVERB_ADJECTIVE)
[style] ~73-~73: To elevate your writing, try using a synonym here.
Context: ...ss without major disruption. - If it's hard to keep a single address space between ...
(HARD_TO)
[misspelling] ~83-~83: This word is normally spelled as one.
Context: ...xpect significant amount of horizontal, inter-node traffic inside clusters. It is usuall...
(EN_COMPOUNDS_INTER_NODE)
🪛 markdownlint-cli2 (0.17.2)
content/en/docs/getting-started/first-deployment.md
66-66: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
67-67: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
68-68: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
475-475: Emphasis used instead of a heading
null
(MD036, no-emphasis-as-heading)
🔇 Additional comments (19)
content/en/docs/getting-started/first-deployment.md (7)
3-3
: Update linkTitle for clarity
linkTitle
has been updated to “Deploy Cozystack,” which is concise and consistent with the document title.
15-15
: Approve wording improvement for hardware prerequisites
Changing “three nodes in the following configuration” to “three nodes of the following configuration” reads more naturally.
48-49
: Approve reworded Talos installation options
The revised bullets for ISO and Docker-based PXE installation are clear and concise.
57-58
: Approve updated bootstrap tool descriptions
Switching to “interactive walkthrough” and “declarative way of cluster management” improves precision.
60-60
: Approve header rephrasing
Updating to “Existing cluster or other Kubernetes distributions” accurately broadens the scope.
67-67
: Approve renaming to DNS domain
Clarifying “Kubernetes cluster DNS domain” is more accurate than the previous phrasing.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
67-67: Unordered list style
Expected: dash; Actual: asterisk(MD004, ul-style)
102-102
: Approve telemetry wording update
“Cozystack gathers anonymous usage statistics by default” is clearer than the previous phrasing.content/en/docs/getting-started/hardware-requirements.md (12)
14-14
: Approve introduction to deployment options
Clarifying that these are “common deployment options” sets the right expectation.
16-16
: Approve section rename to “Small lab”
Renaming “Proof‑of‑Concept Lab” to “Small lab” makes the intent clearer.
18-18
: Approve baseline requirements phrasing
“The baseline requirements for running a tiny installation” is concise and clear.
22-23
: Approve compute requirements list
The CPU and nested virtualization bullet points are informative and precise.🧰 Tools
🪛 LanguageTool
[uncategorized] ~23-~23: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...rvers need nested virtualization enabled and the CPU model set tohost
(without em...(COMMA_COMPOUND_SENTENCE_2)
24-25
: Approve PXE and architecture details
Specifying the management instance requirements andx86-64-v2
architecture is helpful.
29-30
: Approve storage requirements
Clear guidance on primary and secondary disk sizes.
34-36
: Approve networking requirements
The notes on additional IPs and floating IP support in public clouds are valuable.
41-41
: Approve production environment intro
“This production environment” phrasing properly transitions from the small lab.
71-71
: Approve datacenter node recommendation
Keeping at least “2–3 nodes per datacenter” is a solid guideline.
74-74
: Approve KubeSpan introduction
Introducing KubeSpan as a WireGuard-backed VPN is clear and accurate.
76-76
: Approve section heading update
Updating to “Highly-Available applications notes” aligns better with content.
80-80
: Approve high-speed networking recommendation
Recommending multiple 10 Gbps interfaces clearly communicates performance needs.
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: 2
🧹 Nitpick comments (6)
content/en/docs/getting-started/first-deployment.md (6)
14-16
: Nitpick: idiomatic phrasing. Consider changing "As a bare minimum" to "At a bare minimum" for more natural English.
29-35
: Revise tutorial overview to reflect full scope. The line "This tutorial shows how to bootstrap Cozystack." only references the bootstrap step, but the objectives list includes cluster creation, storage, networking, etc. Consider updating it to "This tutorial shows how to deploy and configure Cozystack." for accuracy.
42-42
: Improve sentence structure and clarity. The sentence "Cozystack runs on top of a Kubernetes cluster, either bring one up with Talos, or use an existing one." reads awkwardly. Consider rephrasing to "Cozystack runs on any Kubernetes cluster; you can bring one up with Talos or use an existing cluster."
67-68
: Normalize list markers. Markdownlint suggests using "-" instead of "*" for unordered lists. Consider replacing the asterisks with dashes for consistency.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
67-67: Unordered list style
Expected: dash; Actual: asterisk(MD004, ul-style)
68-68: Unordered list style
Expected: dash; Actual: asterisk(MD004, ul-style)
99-99
: Approve clarification ofapi-server-endpoint
. The expanded description clearly explains its purpose and strongly recommends using routeable IPs. Consider verifying the spelling of "routeable" or optionally using "routable".
450-450
: Add missing article for clarity. Consider updating to "To access the dashboard via the root-ingress controller, enable this option:" to improve readability.🧰 Tools
🪛 LanguageTool
[uncategorized] ~450-~450: You might be missing the article “the” here.
Context: ...``` Cozystack Dashboard To access dashboard via root-ingress controller, enable thi...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
content/en/docs/getting-started/first-deployment.md
(8 hunks)
🧰 Additional context used
🪛 LanguageTool
content/en/docs/getting-started/first-deployment.md
[style] ~50-~50: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...operations/talos/installation/iso/). - [Install on Hetzner servers](/docs/operations/ta...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[uncategorized] ~450-~450: You might be missing the article “the” here.
Context: ...``` Cozystack Dashboard To access dashboard via root-ingress controller, enable thi...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
🪛 markdownlint-cli2 (0.17.2)
content/en/docs/getting-started/first-deployment.md
66-66: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
67-67: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
68-68: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
475-475: Emphasis used instead of a heading
null
(MD036, no-emphasis-as-heading)
🔇 Additional comments (5)
content/en/docs/getting-started/first-deployment.md (5)
3-3
: Link title is concise and appropriate. ThelinkTitle
matches the section purpose and is appropriately shortened relative to the full title.
48-50
: Installation steps clarity. The reworded Talos installation instructions are concise and clear. Good use of singular "a Docker container" instead of plural.🧰 Tools
🪛 LanguageTool
[style] ~50-~50: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...operations/talos/installation/iso/). - [Install on Hetzner servers](/docs/operations/ta...(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
57-58
: Bootstrap tool descriptions are clearer. The updated wording clearly distinguishes between the interactive walkthrough (talos-bootstrap
) and declarative management (Talm
).
60-60
: Heading improved for clarity. Renaming this section to "Existing cluster or other Kubernetes distributions" better communicates that non-Talos clusters are supported.
102-102
: Approve improved telemetry wording. Changing the wording to "Cozystack gathers anonymous usage statistics by default" is clear and user-friendly.
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 (4)
content/en/docs/getting-started/hardware-requirements.md (2)
24-25
: Clarify PXE management instance wording
As noted in a previous review, “management instance” can be ambiguous. Please reinstate “VM or physical server” to keep it explicit.- PXE installation requires an extra management instance connected to the same network, with any Linux system able to run a Docker container. + PXE installation requires an extra management VM or physical server connected to the same network, with any Linux system able to run a Docker container.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~25-~25: You might be missing the article “the” here.
Context: ...ost probably may be achieved by setting CPU model tohost
in case of a VM. **Sto...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
34-36
: Use stronger language for IP requirements
Per previous feedback, hardware requirements should use “must” rather than “should” when stating prerequisites.- Machines should be able to use additional IPs, or an external load balancer should be available. - Additional public IPs for ingress and virtual machines may be needed. Check if your public cloud provider supports floating IPs. + Machines must be allowed to use additional IPs, or an external load balancer must be available. + In public clouds, using additional IPs is disabled by default and must be enabled explicitly. + Additional public IPs for ingress and virtual machines may be needed. Check if your public cloud provider supports floating IPs.
content/en/docs/getting-started/first-deployment.md (2)
48-49
: PXE Docker container wording aligns with previous feedback
This matches the earlier suggestion to specify “running in a Docker container.”
475-476
:⚠️ Potential issueConvert bold text to proper heading for OIDC
Use a markdown heading instead of bold for consistency with other sections.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
475-475: Emphasis used instead of a heading
null(MD036, no-emphasis-as-heading)
🧹 Nitpick comments (11)
content/en/docs/getting-started/hardware-requirements.md (7)
14-14
: Split combined sentence for clarity
Avoid the comma splice in the sentence. Consider separating it into two or using a semicolon.
45-48
: Fix grammatical errors in production compute requirements
Drop the extra “a” and remove the unnecessary hyphen in the adverb modifier.🧰 Tools
🪛 LanguageTool
[uncategorized] ~45-~45: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
Context: ...ker nodes** are a mandatory for running highly-available applications. If one of the three nod...(HYPHENATED_LY_ADVERB_ADJECTIVE)
62-62
: Fix missing article and refine wording
Add “a” before “fast” and remove the comma before “and” for smoother flow.🧰 Tools
🪛 LanguageTool
[uncategorized] ~62-~62: You might be missing the article “a” here.
Context: ...** - Distributed cluster requires both fast and reliable network, and it must h...(AI_EN_LECTOR_MISSING_DETERMINER_A)
68-68
: Add comma for readability
Insert a comma after “RTT” to improve readability.🧰 Tools
🪛 LanguageTool
[uncategorized] ~68-~68: Possible missing comma found.
Context: ...rongly discouraged. To measure actual RTT you can use theping
command. - It's...(AI_HYDRA_LEO_MISSING_COMMA)
71-71
: Strengthen survival phrasing
Consider using more direct language:
73-74
: Use formal phrasing instead of “hard to”
Replace casual language with a more formal alternative.🧰 Tools
🪛 LanguageTool
[style] ~73-~73: To elevate your writing, try using a synonym here.
Context: ...ss without major disruption. - If it's hard to keep a single address space between ...(HARD_TO)
83-86
: Add missing article and correct typos in traffic note
Insert “a” before “significant amount” for grammatical completeness.🧰 Tools
🪛 LanguageTool
[uncategorized] ~83-~83: You might be missing the article “a” here.
Context: ...different network interfaces. - Expect significant amount of horizontal, inter-node traffi...(AI_EN_LECTOR_MISSING_DETERMINER_A)
[misspelling] ~83-~83: This word is normally spelled as one.
Context: ...xpect significant amount of horizontal, inter-node traffic inside clusters. It is usuall...(EN_COMPOUNDS_INTER_NODE)
content/en/docs/getting-started/first-deployment.md (4)
42-42
: Remove unnecessary comma in sentence
Eliminate the comma after “cluster” and “Talos” for parallel structure.
66-68
: Use dashes for bullet consistency
Switch list markers to “-” to match the rest of the document.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
66-66: Unordered list style
Expected: dash; Actual: asterisk(MD004, ul-style)
67-67: Unordered list style
Expected: dash; Actual: asterisk(MD004, ul-style)
68-68: Unordered list style
Expected: dash; Actual: asterisk(MD004, ul-style)
99-99
: Consistent spelling for “routable”
The term “routeable” is uncommon; consider using “routable” for consistency with Kubernetes docs.
450-450
: Add missing articles for clarity
Insert “the” before “dashboard” and “root-ingress controller.”🧰 Tools
🪛 LanguageTool
[uncategorized] ~450-~450: You might be missing the article “the” here.
Context: ...``` Cozystack Dashboard To access dashboard via root-ingress controller, enable thi...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
content/en/docs/getting-started/first-deployment.md
(8 hunks)content/en/docs/getting-started/hardware-requirements.md
(2 hunks)
🧰 Additional context used
🪛 LanguageTool
content/en/docs/getting-started/first-deployment.md
[style] ~50-~50: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...operations/talos/installation/iso/). - [Install on Hetzner servers](/docs/operations/ta...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[uncategorized] ~450-~450: You might be missing the article “the” here.
Context: ...``` Cozystack Dashboard To access dashboard via root-ingress controller, enable thi...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
content/en/docs/getting-started/hardware-requirements.md
[typographical] ~8-~8: Consider adding a comma after ‘Usually’ for more clarity.
Context: ...tion designed solely to run Kubernetes. Usually it means that it will not be possib...
(RB_LY_COMMA)
[uncategorized] ~23-~23: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...rvers need nested virtualization enabled and the CPU model set to host
(without em...
(COMMA_COMPOUND_SENTENCE_2)
[uncategorized] ~25-~25: You might be missing the article “the” here.
Context: ...ost probably may be achieved by setting CPU model to host
in case of a VM. **Sto...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~30-~30: A determiner appears to be missing. Consider inserting it.
Context: ...s, so it's better to have more space. - Secondary disk is dedicated to the storage system...
(AI_EN_LECTOR_MISSING_DETERMINER)
[uncategorized] ~45-~45: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
Context: ...ker nodes** are a mandatory for running highly-available applications. If one of the three nod...
(HYPHENATED_LY_ADVERB_ADJECTIVE)
[uncategorized] ~62-~62: You might be missing the article “a” here.
Context: ...** - Distributed cluster requires both fast and reliable network, and it must h...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
[uncategorized] ~68-~68: Possible missing comma found.
Context: ...rongly discouraged. To measure actual RTT you can use the ping
command. - It's...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~73-~73: To elevate your writing, try using a synonym here.
Context: ...ss without major disruption. - If it's hard to keep a single address space between ...
(HARD_TO)
[uncategorized] ~83-~83: You might be missing the article “a” here.
Context: ...different network interfaces. - Expect significant amount of horizontal, inter-node traffi...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
[misspelling] ~83-~83: This word is normally spelled as one.
Context: ...xpect significant amount of horizontal, inter-node traffic inside clusters. It is usuall...
(EN_COMPOUNDS_INTER_NODE)
🪛 markdownlint-cli2 (0.17.2)
content/en/docs/getting-started/first-deployment.md
66-66: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
67-67: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
68-68: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
475-475: Emphasis used instead of a heading
null
(MD036, no-emphasis-as-heading)
🔇 Additional comments (9)
content/en/docs/getting-started/hardware-requirements.md (3)
22-23
: Compute requirements are clear
The baseline compute bullets are concise and explicit.🧰 Tools
🪛 LanguageTool
[uncategorized] ~23-~23: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...rvers need nested virtualization enabled and the CPU model set tohost
(without em...(COMMA_COMPOUND_SENTENCE_2)
65-65
: Latency example is clear
The description of typical and maximum RTT values is concise and accurate.
80-80
: Networking hardware recommendation is clear
No changes needed; this recommendation is straightforward and precise.content/en/docs/getting-started/first-deployment.md (6)
3-3
: linkTitle updated correctly
The new linkTitle “Deploy Cozystack” aligns with the page title.
15-15
: Minimum hardware prerequisite is clear
“As a bare minimum…” phrasing is concise and unambiguous.
29-36
: Objectives section is well restructured
Separating “Bootstrap Cozystack” from “Create a Kubernetes cluster” clarifies the workflow.
61-62
: Heading and introductory text are clear
The “Existing cluster or other Kubernetes distributions” section properly sets expectations.
64-64
: Mandatory settings intro is accurate
“This settings are mandatory:” clearly flags non‐optional steps.
102-102
: Telemetry wording is concise and accurate
The phrasing “gathers anonymous usage statistics by default” is clear and user‐friendly.
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 (1)
content/en/docs/getting-started/hardware-requirements.md (1)
24-25
: Reinstate explicit “VM or physical server” terminology
We previously agreed to call out both “VM” and “physical server” to avoid ambiguity.24c24 - - PXE installation requires an extra management instance connected to the same network, with any Linux system able to run a Docker container. + - PXE installation requires an extra management VM or physical server connected to the same network, running any Linux system that can host a Docker container.🧰 Tools
🪛 LanguageTool
[uncategorized] ~25-~25: You might be missing the article “the” here.
Context: ...ost probably may be achieved by setting CPU model tohost
in case of a VM. **Sto...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
🧹 Nitpick comments (8)
content/en/docs/getting-started/hardware-requirements.md (8)
14-14
: Avoid comma splice in guidance line
The sentence “Below are several common deployment options, review them…” is a comma splice. Replace the comma with a semicolon or split into two sentences:14c14 - Below are several common deployment options, review them to determine which setup fits best to your needs. + Below are several common deployment options; review them to determine which setup fits your needs.
30-30
: Include a leading article in the bullet
To match the style of other bullets, add “The” at the start:30c30 - - Secondary disk is dedicated to the storage system. 100 GB is a good starting point, but the actual size depends entirely on your workload. + - The secondary disk is dedicated to the storage system. 100 GB is a good starting point, but the actual size depends entirely on your workload.🧰 Tools
🪛 LanguageTool
[uncategorized] ~30-~30: A determiner appears to be missing. Consider inserting it.
Context: ...s, so it's better to have more space. - Secondary disk is dedicated to the storage system...(AI_EN_LECTOR_MISSING_DETERMINER)
34-36
: Refine wording for IP allowance bullet
Minor grammar tweaks for consistency and clarity:34,35c34,35 - - Machines should be able to use additional IPs, or an external load balancer should be available. - In public clouds the use of the additional IPs typically needs to be allowed explicitly. + - Machines must be allowed to use additional IPs, or an external load balancer must be available. + In public clouds, additional IPs are disabled by default and must be enabled explicitly.
45-48
: Adopt modern Kubernetes term “control plane”
Replace “master nodes” with “control plane nodes” to align with current Kubernetes terminology:48c48 - - Having separate servers for Kubernetes master nodes is highly recommended, although not required. + - Having separate servers for Kubernetes control plane nodes is highly recommended, although not required.
62-63
: Add missing article and tighten phrasing
Improve grammar in the networking requirement:62,63c62,63 - - Distributed cluster requires both fast and reliable network, and it **must** have low RTT (Round Trip Time), as - Kubernetes is not designed to operate efficiently over high-latency networks. + - A distributed cluster requires a fast, reliable network with low RTT (Round Trip Time), as + Kubernetes does not operate efficiently over high-latency links.🧰 Tools
🪛 LanguageTool
[uncategorized] ~62-~62: You might be missing the article “a” here.
Context: ...** - Distributed cluster requires both fast and reliable network, and it must h...(AI_EN_LECTOR_MISSING_DETERMINER_A)
68-68
: Add comma for readability
Insert a comma after “RTT” to improve flow:68c68 - To measure actual RTT you can use the `ping` command. + To measure actual RTT, you can use the `ping` command.🧰 Tools
🪛 LanguageTool
[uncategorized] ~68-~68: Possible missing comma found.
Context: ...rongly discouraged. To measure actual RTT you can use theping
command. - It's...(AI_HYDRA_LEO_MISSING_COMMA)
73-74
: Use more precise alternative to “hard”
Consider swapping “hard” for “challenging” to elevate the tone:73c73 - - If it's hard to keep a single address space between datacenters, instead of using some external VPN, + - If it's challenging to maintain a single address space between datacenters, rather than deploying an external VPN,🧰 Tools
🪛 LanguageTool
[style] ~73-~73: To elevate your writing, try using a synonym here.
Context: ...ss without major disruption. - If it's hard to keep a single address space between ...(HARD_TO)
83-85
: Fix grammar and article usage in traffic description
Adjust for article usage and clarity:83c83 - - Expect significant amount of horizontal, inter-node traffic inside clusters. + - Expect a significant amount of horizontal inter-node traffic within clusters. 84c84 - It is usually caused by multiple replicas of services and databases deployed across different nodes exchanging data. + This traffic typically results from service and database replicas communicating across nodes.🧰 Tools
🪛 LanguageTool
[uncategorized] ~83-~83: You might be missing the article “a” here.
Context: ...different network interfaces. - Expect significant amount of horizontal, inter-node traffi...(AI_EN_LECTOR_MISSING_DETERMINER_A)
[misspelling] ~83-~83: This word is normally spelled as one.
Context: ...xpect significant amount of horizontal, inter-node traffic inside clusters. It is usuall...(EN_COMPOUNDS_INTER_NODE)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
content/en/docs/getting-started/hardware-requirements.md
(2 hunks)
🧰 Additional context used
🪛 LanguageTool
content/en/docs/getting-started/hardware-requirements.md
[typographical] ~8-~8: Consider adding a comma after ‘Usually’ for more clarity.
Context: ...tion designed solely to run Kubernetes. Usually it means that it will not be possib...
(RB_LY_COMMA)
[uncategorized] ~23-~23: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...rvers need nested virtualization enabled and the CPU model set to host
(without em...
(COMMA_COMPOUND_SENTENCE_2)
[uncategorized] ~25-~25: You might be missing the article “the” here.
Context: ...ost probably may be achieved by setting CPU model to host
in case of a VM. **Sto...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~30-~30: A determiner appears to be missing. Consider inserting it.
Context: ...s, so it's better to have more space. - Secondary disk is dedicated to the storage system...
(AI_EN_LECTOR_MISSING_DETERMINER)
[uncategorized] ~62-~62: You might be missing the article “a” here.
Context: ...** - Distributed cluster requires both fast and reliable network, and it must h...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
[uncategorized] ~68-~68: Possible missing comma found.
Context: ...rongly discouraged. To measure actual RTT you can use the ping
command. - It's...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~73-~73: To elevate your writing, try using a synonym here.
Context: ...ss without major disruption. - If it's hard to keep a single address space between ...
(HARD_TO)
[uncategorized] ~83-~83: You might be missing the article “a” here.
Context: ...different network interfaces. - Expect significant amount of horizontal, inter-node traffi...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
[misspelling] ~83-~83: This word is normally spelled as one.
Context: ...xpect significant amount of horizontal, inter-node traffic inside clusters. It is usuall...
(EN_COMPOUNDS_INTER_NODE)
🔇 Additional comments (4)
content/en/docs/getting-started/hardware-requirements.md (4)
16-16
: Heading rename looks good
Renaming “Proof-of-Concept Lab” to “Small lab” is concise and clear.
22-23
: Compute specs formatting is clear
The requirements for CPU architecture and RAM/cores are well stated and follow previous conventions.🧰 Tools
🪛 LanguageTool
[uncategorized] ~23-~23: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...rvers need nested virtualization enabled and the CPU model set tohost
(without em...(COMMA_COMPOUND_SENTENCE_2)
71-71
: Survivability note reads well
The explanation of datacenter loss impact is clear and informative.
80-80
: Networking card recommendation is clear
The note on multiple 10 Gbps cards is consistent and helpful.
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: 0
🧹 Nitpick comments (21)
content/en/docs/getting-started/hardware-requirements.md (11)
8-11
: Fix typo and improve clarity of introduction
Line 10 has a typo (“prefectly” → “perfectly”) and line 9 can be made clearer with a comma and smoother phrasing.9c9 - Usually it means that it will **not** be possible to share a server with services other than Cozystack runs. + Usually, this means you cannot share a server with services beyond those required by Cozystack. 10c10 - The good news is that whichever service you need, Cozystack will run it prefectly: securely, efficiently, and + The good news is that whichever service you need, Cozystack will run it perfectly—securely, efficiently,🧰 Tools
🪛 LanguageTool
[typographical] ~8-~8: Consider adding a comma after ‘Usually’ for more clarity.
Context: ...tion designed solely to run Kubernetes. Usually it means that it will not be possib...(RB_LY_COMMA)
14-14
: Split into two sentences for clarity
Avoid the comma splice by separating into two sentences.14c14 - Below are several common deployment options, review them to determine which setup fits best to your needs. + Below are several common deployment options. Review them to determine which setup best fits your needs.
16-16
: Consistent heading casing
Capitalize “Lab” to match Title Case in other section headings.16c16 - ## Small lab + ## Small Lab
22-25
: Clarify PXE management instance description
Combine into a single concise bullet to improve flow.24,25c24,25 - PXE installation requires an extra management instance connected to the same network, with any Linux system able to run a Docker container. - It should also have `x86-64-v2` architecture, which most probably may be achieved by setting CPU model to `host` in case of a VM. + PXE installation requires an additional management instance (VM or physical) on the same network capable of running Docker containers and supporting the `x86-64-v2` CPU model (e.g., by setting the CPU model to `host` in a VM).🧰 Tools
🪛 LanguageTool
[uncategorized] ~23-~23: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...rvers need nested virtualization enabled and the CPU model set tohost
(without em...(COMMA_COMPOUND_SENTENCE_2)
[uncategorized] ~25-~25: You might be missing the article “the” here.
Context: ...ost probably may be achieved by setting CPU model tohost
in case of a VM. **Sto...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
34-36
: Refine networking bullets for smoother reading
Merge related points and eliminate redundancy.34,36c34,36 - - Machines must be allowed to use additional IPs, or an external load balancer must be available. - Using additional IPs is disabled by default and must be enabled explicitly in most public clouds. - - Additional public IPs for ingress and virtual machines may be needed. Check if your public cloud provider supports floating IPs. + - Ensure machines can acquire additional IPs or that an external load balancer is available (most public clouds disable additional IPs by default). + - You may also need additional public IPs for ingress and VMs; verify support for floating IPs with your cloud provider.
39-41
: Check heading consistency and capitalization
“Production Cluster” uses Title Case but earlier “Small Lab” was Title Case. Verify consistency across docs or adjust to style guide.
62-63
: Add missing article for grammatical correctness
Include “A” before “distributed cluster” and “a” before “fast.”62c62 - - Distributed cluster requires both fast and reliable network, and it **must** have low RTT (Round Trip Time), as - Kubernetes is not designed to operate efficiently over high-latency networks. + - A distributed cluster requires a fast and reliable network with low RTT (round trip time), as Kubernetes is not designed to operate efficiently over high-latency links.🧰 Tools
🪛 LanguageTool
[uncategorized] ~62-~62: You might be missing the article “a” here.
Context: ...** - Distributed cluster requires both fast and reliable network, and it must h...(AI_EN_LECTOR_MISSING_DETERMINER_A)
68-68
: Insert comma for readability
Add a comma after “RTT” to improve flow.68c68 - To measure actual RTT you can use the `ping` command. + To measure actual RTT, you can use the `ping` command.🧰 Tools
🪛 LanguageTool
[uncategorized] ~68-~68: Possible missing comma found.
Context: ...rongly discouraged. To measure actual RTT you can use theping
command. - It's...(AI_HYDRA_LEO_MISSING_COMMA)
70-71
: Spell out numbers for consistency
Change “2–3” to “two to three” for readability.70c70 - - It's also recommended to have at least 2–3 nodes per datacenter in a distributed cluster. + - It's also recommended to have at least two to three nodes per datacenter in a distributed cluster.
73-74
: Streamline KubeSpan introduction
Reword for brevity and stronger parallel structure.73,74c73,74 - - If it's hard to keep a single address space between datacenters, instead of using some external VPN, - you can enable **KubeSpan**, a Talos Linux feature that creates a WireGuard-backed full-mesh VPN between nodes. + - If maintaining a single address space across datacenters is challenging, enable **KubeSpan**—Talos Linux’s WireGuard-backed full‑mesh VPN for node connectivity.🧰 Tools
🪛 LanguageTool
[style] ~73-~73: To elevate your writing, try using a synonym here.
Context: ...ss without major disruption. - If it's hard to keep a single address space between ...(HARD_TO)
78-78
: Clarify added availability requirements
Consider specifying which requirements are added for HA beyond production defaults (e.g., networking, redundancy).content/en/docs/getting-started/first-deployment.md (10)
15-15
: Rephrase for conciseness
Shorten the sentence for smoother reading.15c15 - As a bare minimum, you should have three nodes of the following configuration to install Cozystack: + At minimum, you need three nodes with the following configuration to install Cozystack:
29-29
: Use more descriptive verb
Change “shows how to bootstrap” to “guides you through bootstrapping” for a more engaging tutorial tone.29c29 - This tutorial shows how to bootstrap Cozystack. + This tutorial guides you through bootstrapping Cozystack.
42-42
: Clarify parallel structure
Split into two sentences for readability and active voice.42c42 - Cozystack runs on top of a Kubernetes cluster, either bring one up with Talos, or use an existing one. + Cozystack runs on top of a Kubernetes cluster. You can provision one with Talos or use an existing cluster.
48-49
: Combine install methods for consistency
Align phrasing and remove redundancy across list items.48,49c48,49 - - [Install using temporary DHCP and PXE servers](/docs/operations/talos/installation/pxe/) running in Docker containers. - - [Install using ISO](/docs/operations/talos/installation/iso/). + - [Install using temporary DHCP and PXE servers]( /docs/operations/talos/installation/pxe/ ) in Docker containers. + - [Install using ISO](/docs/operations/talos/installation/iso/).
62-64
: Replace “These settings are mandatory:” for consistency
Use “The following settings are mandatory:” to match common documentation patterns.64c64 - These settings are mandatory: + The following settings are mandatory:
67-68
: Fix missing article and spelling
Add “The” at the start and correct “routeable” → “routable.”67c67 - * Kubernetes cluster DNS domain must be set to `cozy.local`. + * The Kubernetes cluster DNS domain must be set to `cozy.local`. 68c68 - * Listening address of some Kubernetes components must be changed from `localhost` to a routeable address. + * Listening address of some Kubernetes components must be changed from `localhost` to a routable address.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
67-67: Unordered list style
Expected: dash; Actual: asterisk(MD004, ul-style)
68-68: Unordered list style
Expected: dash; Actual: asterisk(MD004, ul-style)
99-99
: Correct spelling of “routable”
Replace “routeable” with the standard “routable.”99c99 - - `api-server-endpoint` is primarily used for generating kubeconfig files for your users. It is recommended to use routeable IP addresses instead of local ones. + - `api-server-endpoint` is primarily used for generating kubeconfig files for your users. It is recommended to use routable IP addresses instead of local ones.
310-312
: Optional: Expand on MetalLB context
Consider linking to MetalLB docs or briefly mentioning L2 vs L3 mode for completeness.
450-452
: Add article for clarity
Insert “the” before “dashboard” and “root‑ingress controller.”450c450 - To access dashboard via root-ingress controller, enable this option: + To access the dashboard via the root‑ingress controller, enable this option:🧰 Tools
🪛 LanguageTool
[uncategorized] ~450-~450: You might be missing the article “the” here.
Context: ...``` Cozystack Dashboard To access dashboard via root-ingress controller, enable thi...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
460-461
: Use consistent infinitive verb
Change to “Retrieve the authentication token” for consistency with other commands.460c460 - Get authentication token from `tenant-root`: + Retrieve the authentication token from `tenant-root`:
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
content/en/docs/getting-started/first-deployment.md
(8 hunks)content/en/docs/getting-started/hardware-requirements.md
(2 hunks)
🧰 Additional context used
🧠 Learnings (1)
content/en/docs/getting-started/first-deployment.md (1)
Learnt from: nbykov0
PR: cozystack/website#165
File: content/en/docs/getting-started/first-deployment.md:475-476
Timestamp: 2025-04-21T19:21:40.546Z
Learning: In the Cozystack documentation, bold text like "**OIDC**" before a final note is used as a label/callout rather than a formal section heading, which typically use markdown heading syntax (## or ###).
🪛 LanguageTool
content/en/docs/getting-started/first-deployment.md
[style] ~50-~50: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...operations/talos/installation/iso/). - [Install on Hetzner servers](/docs/operations/ta...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[uncategorized] ~450-~450: You might be missing the article “the” here.
Context: ...``` Cozystack Dashboard To access dashboard via root-ingress controller, enable thi...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
content/en/docs/getting-started/hardware-requirements.md
[typographical] ~8-~8: Consider adding a comma after ‘Usually’ for more clarity.
Context: ...tion designed solely to run Kubernetes. Usually it means that it will not be possib...
(RB_LY_COMMA)
[uncategorized] ~23-~23: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...rvers need nested virtualization enabled and the CPU model set to host
(without em...
(COMMA_COMPOUND_SENTENCE_2)
[uncategorized] ~25-~25: You might be missing the article “the” here.
Context: ...ost probably may be achieved by setting CPU model to host
in case of a VM. **Sto...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~30-~30: A determiner appears to be missing. Consider inserting it.
Context: ...s, so it's better to have more space. - Secondary disk is dedicated to the storage system...
(AI_EN_LECTOR_MISSING_DETERMINER)
[uncategorized] ~62-~62: You might be missing the article “a” here.
Context: ...** - Distributed cluster requires both fast and reliable network, and it must h...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
[uncategorized] ~68-~68: Possible missing comma found.
Context: ...rongly discouraged. To measure actual RTT you can use the ping
command. - It's...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~73-~73: To elevate your writing, try using a synonym here.
Context: ...ss without major disruption. - If it's hard to keep a single address space between ...
(HARD_TO)
[misspelling] ~85-~85: This word is normally spelled as one.
Context: ...ect a significant amount of horizontal, inter-node traffic inside clusters. It is usuall...
(EN_COMPOUNDS_INTER_NODE)
🪛 markdownlint-cli2 (0.17.2)
content/en/docs/getting-started/first-deployment.md
66-66: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
67-67: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
68-68: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
475-475: Emphasis used instead of a heading
null
(MD036, no-emphasis-as-heading)
🔇 Additional comments (11)
content/en/docs/getting-started/hardware-requirements.md (5)
45-48
: Clear worker and master node recommendations
The guidance on HA and control-plane separation is spot on.
65-67
: Comprehensive latency guidelines remain clear
The specified thresholds (1 ms ideal, 10 ms maximum, > 20 ms discouraged) are precise and actionable.
76-76
: Approve new “Highly Available Applications” heading
This clearly signals the focus on HA application requirements.
82-83
: Networking recommendations are clear
Separating storage and application traffic by interface is well explained.
85-87
: Good detail on inter-node traffic causes
Explaining replica and live‑migration traffic helps set expectations.🧰 Tools
🪛 LanguageTool
[misspelling] ~85-~85: This word is normally spelled as one.
Context: ...ect a significant amount of horizontal, inter-node traffic inside clusters. It is usuall...(EN_COMPOUNDS_INTER_NODE)
content/en/docs/getting-started/first-deployment.md (6)
3-3
: Good update to linkTitle
The shorter “Deploy Cozystack” is clear and concise for navigation.
32-33
: List formatting is effective
Using “1.” for all steps leverages Markdown’s auto-numbering and reads cleanly.
35-35
: Clear separation of objectives
Shortening to “Configure Networking” is a positive clarity improvement.
57-58
: Installation tool descriptions are concise
“interactive walkthrough” and “declarative way” read clearly and match intent.
102-103
: Approve telemetry note change
“Cozystack gathers anonymous usage statistics by default” is clear and precise.
475-477
: Correct use of bold callout for OIDC
Preserving “OIDC” as a label aligns with established documentation style.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
475-475: Emphasis used instead of a heading
null(MD036, no-emphasis-as-heading)
Signed-off-by: Nikita <166552198+nbykov0@users.noreply.github.com>
Signed-off-by: Nikita <166552198+nbykov0@users.noreply.github.com>
e0376d7
to
453a4d2
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.
LGTM, thank you!
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
🧹 Nitpick comments (10)
content/en/docs/getting-started/first-deployment.md (4)
42-43
: Improve clarity of cluster setup sentence
The sentence could read more smoothly. Consider:-Cozystack runs on top of a Kubernetes cluster, either bring one up with Talos, or use an existing one. +Cozystack runs on a Kubernetes cluster—either provision a new one with Talos or use an existing cluster.
66-68
: Unify list marker style
This list uses asterisks (*
), but the rest of the document uses dashes (-
). For consistency, replace with:-* All CNI plugins must be disabled... -* Kubernetes cluster DNS domain must be set to `cozy.local`. -* Listening address of some Kubernetes components must be changed from `localhost` to a routeable address. + - All CNI plugins must be disabled... + - Kubernetes cluster DNS domain must be set to `cozy.local`. + - Listening address of some Kubernetes components must be changed from `localhost` to a routeable address.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
66-66: Unordered list style
Expected: dash; Actual: asterisk(MD004, ul-style)
67-67: Unordered list style
Expected: dash; Actual: asterisk(MD004, ul-style)
68-68: Unordered list style
Expected: dash; Actual: asterisk(MD004, ul-style)
326-327
: Add missing comma for readability
Insert a comma after “services”:-To access your services select the range of unused IPs... +To access your services, select the range of unused IPs...
453-453
: Include missing definite articles
Add “the” for clarity:- To access dashboard via root-ingress controller, enable this option: + To access the dashboard via the root‑ingress controller, enable this option:🧰 Tools
🪛 LanguageTool
[uncategorized] ~453-~453: You might be missing the article “the” here.
Context: ...``` Cozystack Dashboard To access dashboard via root-ingress controller, enable thi...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
content/en/docs/getting-started/hardware-requirements.md (6)
14-14
: Fix run‑on sentence
Split into two sentences for clarity:- Below are several common deployment options, review them to determine which setup fits best to your needs. + Below are several common deployment options. Review them to determine which setup best fits your needs.
16-16
: Ensure consistent heading capitalization
Use title case to match other section headings:- ## Small lab + ## Small Lab
26-26
: Simplify phrasing for CPU model requirement
The current text is wordy. Consider:- It should also have `x86-64-v2` architecture, which most probably may be achieved by setting CPU model to `host` in case of a VM. + It should also have `x86-64-v2` architecture, which can be enabled by setting the VM's CPU model to `host`.
29-29
: Add missing definite article
Prefix “Secondary disk” with “The” for grammatical correctness:- Secondary disk is dedicated to the storage system. 100 GB is a good starting point... + The secondary disk is dedicated to the storage system. 100 GB is a good starting point...
62-62
: Add missing article for network description
Insert “a” before “fast and reliable network”:- Distributed cluster requires both fast and reliable network, and it **must** have low RTT ... + Distributed cluster requires both a fast and reliable network, and it **must** have low RTT ...🧰 Tools
🪛 LanguageTool
[uncategorized] ~62-~62: You might be missing the article “a” here.
Context: ...** - Distributed cluster requires both fast and reliable network, and it must h...(AI_EN_LECTOR_MISSING_DETERMINER_A)
67-67
: Insert comma after introductory clause
Add a comma for readability:- To measure actual RTT you can use the `ping` command. + To measure actual RTT, you can use the `ping` command.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
content/en/docs/getting-started/first-deployment.md
(7 hunks)content/en/docs/getting-started/hardware-requirements.md
(2 hunks)
🧰 Additional context used
🧠 Learnings (1)
content/en/docs/getting-started/first-deployment.md (1)
Learnt from: nbykov0
PR: cozystack/website#165
File: content/en/docs/getting-started/first-deployment.md:475-476
Timestamp: 2025-04-21T19:21:40.546Z
Learning: In the Cozystack documentation, bold text like "**OIDC**" before a final note is used as a label/callout rather than a formal section heading, which typically use markdown heading syntax (## or ###).
🪛 LanguageTool
content/en/docs/getting-started/first-deployment.md
[style] ~50-~50: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...operations/talos/installation/iso/). - [Install on Hetzner servers](/docs/operations/ta...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[uncategorized] ~453-~453: You might be missing the article “the” here.
Context: ...``` Cozystack Dashboard To access dashboard via root-ingress controller, enable thi...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
content/en/docs/getting-started/hardware-requirements.md
[typographical] ~8-~8: Consider adding a comma after ‘Usually’ for more clarity.
Context: ...tion designed solely to run Kubernetes. Usually it means that it will not be possib...
(RB_LY_COMMA)
[uncategorized] ~23-~23: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...rvers need nested virtualization enabled and the CPU model set to host
(without em...
(COMMA_COMPOUND_SENTENCE_2)
[uncategorized] ~25-~25: You might be missing the article “the” here.
Context: ...ost probably may be achieved by setting CPU model to host
in case of a VM. **Sto...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~30-~30: A determiner appears to be missing. Consider inserting it.
Context: ...s, so it's better to have more space. - Secondary disk is dedicated to the storage system...
(AI_EN_LECTOR_MISSING_DETERMINER)
[uncategorized] ~62-~62: You might be missing the article “a” here.
Context: ...** - Distributed cluster requires both fast and reliable network, and it must h...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
[uncategorized] ~68-~68: Possible missing comma found.
Context: ...rongly discouraged. To measure actual RTT you can use the ping
command. - It's...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~73-~73: To elevate your writing, try using a synonym here.
Context: ...ss without major disruption. - If it's hard to keep a single address space between ...
(HARD_TO)
[misspelling] ~85-~85: This word is normally spelled as one.
Context: ...ect a significant amount of horizontal, inter-node traffic inside clusters. It is usuall...
(EN_COMPOUNDS_INTER_NODE)
🪛 markdownlint-cli2 (0.17.2)
content/en/docs/getting-started/first-deployment.md
66-66: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
67-67: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
68-68: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
478-478: Emphasis used instead of a heading
null
(MD036, no-emphasis-as-heading)
🔇 Additional comments (26)
content/en/docs/getting-started/first-deployment.md (11)
15-15
: Skip: hardware prerequisite note
The statement about having three nodes is clear and needs no revision.
29-29
: Skip: tutorial overview sentence
The sentence “This tutorial shows how to bootstrap Cozystack.” is concise and understandable as is.
32-35
: Skip: numbered step list
Using repeated “1.” for an auto-numbered ordered list is acceptable Markdown practice.
48-50
: Skip: Talos installation method list
The three “Install…” list items, though starting with the same verb, are clear and consistent in context.🧰 Tools
🪛 LanguageTool
[style] ~50-~50: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...operations/talos/installation/iso/). - [Install on Hetzner servers](/docs/operations/ta...(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
57-59
: Great consistency in tool descriptions
The entries for talos-bootstrap and Talm are well-formatted and informative.
60-64
: Skip: existing cluster section heading and intro
The heading and introductory lines accurately describe alternative Kubernetes setups.
99-99
: Skip: API server endpoint recommendation
The guidance to use routeable IP addresses is clear.
102-102
: Skip: telemetry alert
The info alert about anonymous usage statistics is concise and correct.
311-312
: Skip: MetalLB intro
The default load balancer section is well-stated.
463-463
: Skip: authentication token snippet
The command for retrieving the token is accurate and needs no change.
478-479
: Skip: OIDC callout label
This bold "OIDC" label is intentionally used as a callout rather than a heading, per project convention.🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
478-478: Emphasis used instead of a heading
null(MD036, no-emphasis-as-heading)
content/en/docs/getting-started/hardware-requirements.md (15)
8-8
: Skip: Talos Linux introduction
The description of Talos Linux and its role is clear as is.🧰 Tools
🪛 LanguageTool
[typographical] ~8-~8: Consider adding a comma after ‘Usually’ for more clarity.
Context: ...tion designed solely to run Kubernetes. Usually it means that it will not be possib...(RB_LY_COMMA)
22-22
: Skip: compute baseline spec
The compute requirements are clear and require no change.
23-23
: Skip: nested virtualization note
The instruction on nested virtualization is precise.🧰 Tools
🪛 LanguageTool
[uncategorized] ~23-~23: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...rvers need nested virtualization enabled and the CPU model set tohost
(without em...(COMMA_COMPOUND_SENTENCE_2)
24-24
: Skip: PXE management instance requirement
The PXE installation guidance remains accurate.
34-34
: Skip: additional IPs or load balancer note
The networking requirement is clear.
36-36
: Skip: default IP enablement
The note on enabling IPs in public clouds is accurate.
37-37
: Skip: floating IP guidance
The advice on floating IP support is clear.
39-39
: Approved: Singular "Production Cluster" heading
Changing the section title to singular improves focus and consistency.
41-41
: Skip: production environment intro
The introductory line is concise and correct.
45-48
: Clear HA compute requirements
The bullets clearly outline worker and master node recommendations for production.
56-56
: Approved heading for distributed cluster section
“Distributed Cluster” appropriately introduces the next topic.
64-64
: Skip: same‑city latency example
The latency recommendation is clear and needs no change.
73-74
: Skip: KubeSpan VPN note
The KubeSpan explanation is clear and actionable.🧰 Tools
🪛 LanguageTool
[style] ~73-~73: To elevate your writing, try using a synonym here.
Context: ...ss without major disruption. - If it's hard to keep a single address space between ...(HARD_TO)
76-76
: Approved renaming to "Highly Available Applications"
The new title clearly conveys the section’s focus on HA workloads.
82-87
: Skip: HA networking bullets
The recommendations for network interfaces and inter-node traffic are informative.🧰 Tools
🪛 LanguageTool
[misspelling] ~85-~85: This word is normally spelled as one.
Context: ...ect a significant amount of horizontal, inter-node traffic inside clusters. It is usuall...(EN_COMPOUNDS_INTER_NODE)
Reviewed first-deployment and hardware-requirements files in Getting Started.
Summary by CodeRabbit