docs(install): add Ansible automated installation guide#442
docs(install): add Ansible automated installation guide#442
Conversation
Add documentation for the cozystack.installer Ansible collection that automates full deployment pipeline: OS preparation, k3s bootstrap, and Cozystack installation. Includes configuration reference, per-distro playbook examples, and explicit warning to pin cozystack_chart_version. Assisted-By: Claude <noreply@anthropic.com> Signed-off-by: Aleksei Sviridkin <f@lex.la>
Fix prepare playbook references to use local files instead of non-existent collection playbooks. Use correct ansible-galaxy collection install command. Add security warning for k3s join token. Add missing variables to configuration reference. Assisted-By: Claude <noreply@anthropic.com> Signed-off-by: Aleksei Sviridkin <f@lex.la>
Download requirements.yml from git since it is excluded from the packaged collection. List dependency collections explicitly. Add cozystack_helm_binary and prepare playbook variables (cozystack_flush_iptables, cozystack_k3s_extra_args) to the configuration reference. Add k3s releases link for version. Assisted-By: Claude <noreply@anthropic.com> Signed-off-by: Aleksei Sviridkin <f@lex.la>
Clarify that helm-diff is installed automatically for idempotent upgrades. Add commented cozystack_k3s_extra_args example with tls-san for NAT environments in the inventory sample. Assisted-By: Claude <noreply@anthropic.com> Signed-off-by: Aleksei Sviridkin <f@lex.la>
✅ Deploy Preview for cozystack ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
📝 WalkthroughWalkthroughDocumentation for automated Cozystack installation using Ansible has been added. The changes include a new reference in the installation guide index and comprehensive new documentation detailing the Ansible collection setup, inventory configuration, prerequisite checks, step-by-step workflow, verification steps, and example playbooks for multiple Linux distributions. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Summary of ChangesHello, 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 introduces a significant enhancement to the Cozystack documentation by providing a detailed guide for automated installation using Ansible. This new resource streamlines the deployment process for users on generic Linux distributions, offering a repeatable and efficient method to set up Cozystack from a bare operating system to a fully running cluster. The guide aims to simplify the initial setup experience and reduce manual intervention. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
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 Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces a comprehensive guide for automated Cozystack installation using Ansible, covering OS preparation, k3s bootstrap, and Cozystack deployment across various Linux distributions. It also updates the main installation index to link to this new guide. The documentation is well-structured and includes important warnings regarding security and version pinning.
Note: Security Review has been skipped due to the limited scope of the PR.
| | Variable | Default | Description | | ||
| | --- | --- | --- | | ||
| | `cozystack_api_server_host` | *(required)* | Internal IP of the control-plane node. | | ||
| | `cozystack_chart_version` | `1.0.0-rc.1` | Version of the Cozystack Helm chart. **Pin this explicitly.** | |
There was a problem hiding this comment.
The default value for cozystack_chart_version in the "Core Variables" table (1.0.0-rc.1) conflicts with the explicitly recommended version in the warning alert above (1.0.0-rc.2). This discrepancy can lead to confusion for users regarding which version to use or pin.
| | `cozystack_chart_version` | `1.0.0-rc.1` | Version of the Cozystack Helm chart. **Pin this explicitly.** | | |
| | cozystack_chart_version | 1.0.0-rc.2 | Version of the Cozystack Helm chart. **Pin this explicitly.** | |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
content/en/docs/v1/install/ansible.md (1)
4-4: Clarify platform wording in the page description.At Line 4, “generic Kubernetes” is ambiguous for this flow, since this guide provisions k3s as part of installation. Consider “generic Linux with k3s bootstrap” to avoid confusion for readers with existing non-k3s clusters.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@content/en/docs/v1/install/ansible.md` at line 4, Update the YAML description value for the page by replacing the ambiguous phrase "generic Kubernetes" with clearer wording that reflects the guide bootstraps k3s (e.g., "generic Linux with k3s bootstrap"), so change the description: "Deploy Cozystack on generic Kubernetes using the cozystack.installer Ansible collection" to something like "Deploy Cozystack on generic Linux with k3s bootstrap using the cozystack.installer Ansible collection" (edit the description key).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@content/en/docs/v1/install/ansible.md`:
- Around line 15-16: The two distro lists are inconsistent: the list "You are
deploying on generic Linux (Ubuntu, Debian, RHEL, Rocky, openSUSE) rather than
Talos Linux" is missing Alma/SLE/CentOS Stream which are present in the later
list around the second paragraph; update the earlier list to match the later one
(add Alma, SLE, CentOS Stream) or explicitly mark either list as
"non-exhaustive" so both convey the same compatibility intent; adjust the
corresponding line(s) where the second list appears to ensure both sections use
the same wording (or the shared "non-exhaustive" qualifier) to avoid mixed
signals.
---
Nitpick comments:
In `@content/en/docs/v1/install/ansible.md`:
- Line 4: Update the YAML description value for the page by replacing the
ambiguous phrase "generic Kubernetes" with clearer wording that reflects the
guide bootstraps k3s (e.g., "generic Linux with k3s bootstrap"), so change the
description: "Deploy Cozystack on generic Kubernetes using the
cozystack.installer Ansible collection" to something like "Deploy Cozystack on
generic Linux with k3s bootstrap using the cozystack.installer Ansible
collection" (edit the description key).
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 98b7bc07-ebd7-4b07-9aa8-fac16b5ce740
📒 Files selected for processing (2)
content/en/docs/v1/install/_index.mdcontent/en/docs/v1/install/ansible.md
| - You are deploying on generic Linux (Ubuntu, Debian, RHEL, Rocky, openSUSE) rather than Talos Linux | ||
| - You want to manage multiple nodes with a single inventory file |
There was a problem hiding this comment.
Align supported distro lists across sections.
The support matrix is inconsistent: Line 15 omits Alma/SLE/CentOS Stream, while Line 29 includes them. Please make these lists consistent (or mark one as non-exhaustive) to avoid mixed compatibility signals.
Also applies to: 29-30
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@content/en/docs/v1/install/ansible.md` around lines 15 - 16, The two distro
lists are inconsistent: the list "You are deploying on generic Linux (Ubuntu,
Debian, RHEL, Rocky, openSUSE) rather than Talos Linux" is missing
Alma/SLE/CentOS Stream which are present in the later list around the second
paragraph; update the earlier list to match the later one (add Alma, SLE, CentOS
Stream) or explicitly mark either list as "non-exhaustive" so both convey the
same compatibility intent; adjust the corresponding line(s) where the second
list appears to ensure both sections use the same wording (or the shared
"non-exhaustive" qualifier) to avoid mixed signals.
Summary
cozystack.installerAnsible collectioncozystack_chart_versionto avoid unexpected upgradesSummary by CodeRabbit