Skip to content

Conversation

@pintop9
Copy link
Contributor

@pintop9 pintop9 commented Jan 16, 2026

Pull Request Template

Description

Please describe the changes you are proposing and why they are needed.

Type of Change

  • New tool addition
  • Tool update/removal
  • Documentation update
  • Other (please specify) - renaming to Proper casing of the folder from argo to Argo

Checklist

  • I have read the Contributing Guidelines
  • The tool is added to the correct category in tools/
  • A README.md has been created for the tool using scripts/create_readmes.sh
  • Logos have been added to logos/ and mapped in logos/mapping.csv (if applicable)
  • All links are valid and point to official sources
  • The commit message follows the format: "Add [Tool Name] to Awesome DevOps"
  • No unrelated changes are included
  • The tool is actively maintained and relevant to DevOps
  • No duplicate tools exist

Additional Information

Add any other context or screenshots about the pull request here.

Summary by CodeRabbit

  • Documentation
    • Added comprehensive Argo ecosystem documentation covering Workflows, Rollouts, Events, and CD with installation, configuration, verification, usage guidance, and related resources.
    • Expanded LXC/LXD documentation with clear distinctions, detailed feature comparisons, installation steps, prerequisites, and curated reference links.
    • Improved overall docs structure, formatting, and clarity to simplify onboarding and setup.

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

pintop9 and others added 9 commits November 23, 2025 01:45
Signed-off-by: pintop9 <idan.pinto12296@gmail.com>
Signed-off-by: pintop9 <idan.pinto12296@gmail.com>
Signed-off-by: pintop9 <idan.pinto12296@gmail.com>
Signed-off-by: pintop9 <idan.pinto12296@gmail.com>
Signed-off-by: pintop9 <idan.pinto12296@gmail.com>
Signed-off-by: pintop9 <idan.pinto12296@gmail.com>
Signed-off-by: pintop9 <idan.pinto12296@gmail.com>
Signed-off-by: pintop9 <idan.pinto12296@gmail.com>
Signed-off-by: pintop9 <idan.pinto12296@gmail.com>
@coderabbitai
Copy link

coderabbitai bot commented Jan 16, 2026

Warning

Rate limit exceeded

@pintop9 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 20 minutes and 5 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 4c8ed25 and 419ba4f.

📒 Files selected for processing (1)
  • tools/LXC-LXD/README.md
📝 Walkthrough

Walkthrough

Adds comprehensive Argo documentation (two READMEs) and expands the LXC/LXD README. Changes are documentation-only: new/updated guides, feature descriptions, prerequisites, installation/verification steps, examples, and resource links. No code or functional changes.

Changes

Cohort / File(s) Summary
Argo Documentation
tools/Argo/README.md, tools/argo/README.md
New comprehensive guides for the Argo suite: overviews, distinctions (Argo vs Argo CD), prerequisites, component-specific installation and verification (Workflows, Rollouts, Events, Argo CD), example usages, UI exposure, and resource links.
LXC/LXD Documentation
tools/LXC-LXD/README.md
Expanded README clarifying LXC vs LXD, detailed features for each, installation and requirements (including Snap-based LXD and distribution notes), configuration hints, examples, and reorganized resource links and imagery.

Sequence Diagram(s)

(omitted — documentation-only changes, no new multi-component control flow)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • Argo documentation #13: Adds tools/argo/README.md covering Argo Workflows/Rollouts/Events/ArgoCD — directly related to the Argo README additions.
  • Added LXC documentation #9: Updates tools/LXC-LXD/README.md with expanded LXC/LXD documentation — directly related to the LXC/LXD README changes.

Suggested reviewers

  • nirgeier

Poem

🐰 I hopped through README fields with care,

Argo maps and LXD flair.
Commands aligned, and links I tuck,
Docs now shine — a tidy cluck. 🥕✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Title check ⚠️ Warning The title states 'Rename argo folder to Argo for proper casing,' but the actual changes include substantial new documentation additions to two README files (tools/Argo/README.md and tools/argo/README.md) totaling 328 lines, not just a folder rename. Update the title to accurately reflect the main changes, such as 'Add comprehensive Argo and LXC-LXD documentation' or describe the folder rename with the documentation additions included.
✅ Passed checks (2 passed)
Check name Status Explanation
Description check ✅ Passed The description correctly identifies the change type as 'Other' with clear specification that it involves renaming the folder to proper casing from 'argo' to 'Argo'.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 8

🤖 Fix all issues with AI agents
In `@tools/argo/README.md`:
- Around line 1-157: Remove the duplicate lowercase directory tools/argo/
(delete it entirely) so only tools/Argo/ remains, and in tools/Argo/README.md
update the logo reference from "../../logos/argo.svg" to "../logos/argo.svg";
ensure the commit removes the old path and updates the README content
(tools/argo/ directory removal and tools/Argo/README.md logo path change).

In `@tools/Argo/README.md`:
- Around line 44-46: Change the "Getting Started" heading from an h1 to an h2 to
fix the document hierarchy: locate the line containing the literal heading
"Getting Started" and replace the leading single hash (#) with two hashes (##)
so it matches the other major sections (e.g., "Overview", "Key Features",
"Resources") and maintains consistent heading levels across the README.
- Around line 111-151: Update the README section for ArgoCD to use consistent
formatting: change the plain "installation:" label to "**Installation:**",
convert all inline command snippets (e.g., "kubectl create namespace argocd",
"kubectl apply -n argocd -f
https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml",
"kubectl get pods -n argocd", "kubectl port-forward svc/argocd-server -n argocd
8080:443", "https://localhost:8080", "kubectl get secret
argocd-initial-admin-secret -n argocd -o jsonpath=\"{.data.password}\" | base64
-d", and "argocd app sync my-app") into fenced bash code blocks, and make all
section labels (Verify installation, Expose the Argo CD API server, Access UI,
Get initial admin password, Create an Argo CD Application, Sync the application)
bold to match the repository’s existing style.
- Around line 67-84: Update the "#### 1. Argo Workflows" section to use
consistent headings and fenced bash blocks: change the "installation:" label to
"**Installation:**", remove the redundant `kubectl create namespace argo` line
if it's already present earlier, and convert the multi-line inline backtick
commands (the `kubectl apply -n argo -f
https://raw.githubusercontent.com/argoproj/argo-workflows/stable/manifests/install.yaml`
line and the `argo submit --watch
https://raw.githubusercontent.com/argoproj/argo-workflows/main/examples/hello-world.yaml
-n argo` and `kubectl get pods -n argo` lines) into proper triple-backtick
fenced bash code blocks; also make "Verify installation:" and "Run a simple Argo
Workflow:" into bold subheadings for consistency with other components.
- Around line 57-62: Remove the duplicate "🚀 Argo Workflows" section that
repeats prerequisites already documented under "General Requirements"; keep only
one prerequisites list there, and move the namespace creation command `kubectl
create namespace argo` into the "Installation" section (under the "Installation"
heading) formatted as a fenced code block so it's clearly an installation step
rather than a general requirement.

In `@tools/LXC-LXD/README.md`:
- Around line 79-91: Replace the bolded section header "**Requirements-**" with
a proper Markdown heading (e.g., "## Requirements") in README.md so the document
structure and navigation work correctly; locate the bold token
"**Requirements-**" and change it to an appropriate heading level (remove the
trailing hyphen and use "Requirements" as the heading text) ensuring the
following list remains under that heading.
- Around line 73-78: Replace the bold text title "**LXD Installation-**" with a
proper Markdown heading (for example "## LXD Installation") and remove the
trailing hyphen so the document structure and accessibility are improved; update
the line containing the exact string "**LXD Installation-**" to use a heading
level appropriate for the section (e.g., "## LXD Installation") and ensure the
following installation command remains unchanged.
- Around line 92-106: Replace the bolded line "**Configure LXD -**" with a
proper Markdown heading (e.g., "## Configure LXD") and ensure command lines like
`lxd init` and the `lxc launch <image_server>:<image_name> <instance_name>`
example are formatted as code blocks or inline code for clarity; also reformat
the trailing note about appending `--vm` into a visible note block (e.g., a bold
"Note:" or blockquote) and show the corrected command example including `--vm`
styled as code so the recommendation stands out.
🧹 Nitpick comments (3)
tools/Argo/README.md (2)

86-95: Capitalize section label consistently.

"installation:" (line 90) should be "Installation:" to match the formatting style of other components.

♻️ Proposed fix
-installation:
+**Installation:**

96-110: Capitalize section label consistently.

"installation:" (line 100) should be "Installation:" to match the formatting style of other components.

♻️ Proposed fix
-installation:
+**Installation:**

+**Verify installation:**

-Verify installation:
-
-`kubectl get pods -n argo-events`
+```bash
+kubectl get pods -n argo-events
+```
tools/LXC-LXD/README.md (1)

75-75: Improve link text descriptiveness.

The link text "link" is not descriptive. Users should understand where the link leads without clicking it.

♻️ Proposed fix
-LXD is supported primarily on Linux distributions that have Snapd available (like Ubuntu, Debian, Fedora, Arch, CentOS, and more information inside this [link](https://snapcraft.io/lxd?_gl=1*1f0ig8*_ga*MTEzNDgxMTkzOC4xNzYzODUxMDQ1*_ga_5LTL1CNEJM*czE3NjM4NTEwNDQkbzEkZzEkdDE3NjM4NTEwNTAkajU0JGwwJGgw#distros) ). 
+LXD is supported primarily on Linux distributions that have Snapd available (like Ubuntu, Debian, Fedora, Arch, CentOS, and [other distributions with Snapd support](https://snapcraft.io/lxd?_gl=1*1f0ig8*_ga*MTEzNDgxMTkzOC4xNzYzODUxMDQ1*_ga_5LTL1CNEJM*czE3NjM4NTEwNDQkbzEkZzEkdDE3NjM4NTEwNTAkajU0JGwwJGgw#distros)).
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f668224 and 05b5a77.

⛔ Files ignored due to path filters (2)
  • logos/argo.svg is excluded by !**/*.svg
  • logos/lxc.svg is excluded by !**/*.svg
📒 Files selected for processing (3)
  • tools/Argo/README.md
  • tools/LXC-LXD/README.md
  • tools/argo/README.md
🧰 Additional context used
📓 Path-based instructions (1)
tools/**/README.md

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

tools/**/README.md: Tool README format must follow exact structure: # Tool Name, logo, Overview, Key Features, Getting Started, and Resources sections
Logo references in tool READMEs must use relative paths that match directory nesting level: ../logos/ for direct tool subdirectories, ../../logos/ for nested subdirectories
All tool README files must include Overview, Key Features, Getting Started, and Resources sections
Logo path resolution must account for nesting depth: tools/Category/Tool uses ../logos/, tools/Category/SubCategory/Tool uses ../../logos/

Files:

  • tools/Argo/README.md
  • tools/argo/README.md
  • tools/LXC-LXD/README.md
🧠 Learnings (3)
📚 Learning: 2025-11-27T18:13:03.122Z
Learnt from: CR
Repo: nirgeier/awesome-devops PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-27T18:13:03.122Z
Learning: Applies to tools/**/README.md : All tool README files must include Overview, Key Features, Getting Started, and Resources sections

Applied to files:

  • tools/argo/README.md
  • tools/LXC-LXD/README.md
📚 Learning: 2025-11-27T18:13:03.122Z
Learnt from: CR
Repo: nirgeier/awesome-devops PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-27T18:13:03.122Z
Learning: Tool descriptions in main README.md are the source of truth and must be kept synchronized with individual tool README Overview sections

Applied to files:

  • tools/argo/README.md
  • tools/LXC-LXD/README.md
📚 Learning: 2025-11-27T18:13:03.122Z
Learnt from: CR
Repo: nirgeier/awesome-devops PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-27T18:13:03.122Z
Learning: Applies to tools/**/README.md : Tool README format must follow exact structure: # Tool Name, logo, Overview, Key Features, Getting Started, and Resources sections

Applied to files:

  • tools/argo/README.md
🪛 LanguageTool
tools/Argo/README.md

[style] ~6-~6: This phrase is redundant. Consider writing “created”.
Context: ...and orchestrate cloud‑native workloads. Originally created by the founders of Akuity, it’s now a g...

(ORIGINALLY_CREATED)


[grammar] ~30-~30: Ensure spelling is correct
Context: ...ne --- ## Key Features Argo (and its sub‑projects) provide: - Kubernetes‑native architec...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~157-~157: Ensure spelling is correct
Context: ...cd.readthedocs.io/) - GitHub Repository

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

tools/argo/README.md

[style] ~6-~6: This phrase is redundant. Consider writing “created”.
Context: ...and orchestrate cloud‑native workloads. Originally created by the founders of Akuity, it’s now a g...

(ORIGINALLY_CREATED)


[grammar] ~30-~30: Ensure spelling is correct
Context: ...ne --- ## Key Features Argo (and its sub‑projects) provide: - Kubernetes‑native architec...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~157-~157: Ensure spelling is correct
Context: ...cd.readthedocs.io/) - GitHub Repository

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

tools/LXC-LXD/README.md

[style] ~17-~17: Consider using a shorter alternative to avoid wordiness.
Context: ...agement, and a VM-like user experience, making it better suited for larger-scale environments an...

(MADE_IT_JJR)


[uncategorized] ~32-~32: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...achines, allowing you to choose between high performance or full hardware isolation depending on...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[grammar] ~49-~49: Ensure spelling is correct
Context: ...lable, all its templates as well as the python3 binding should you want to script LXC. ...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🪛 markdownlint-cli2 (0.18.1)
tools/LXC-LXD/README.md

73-73: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


75-75: Link text should be descriptive

(MD059, descriptive-link-text)


79-79: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


92-92: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🔇 Additional comments (2)
tools/Argo/README.md (1)

1-7: LGTM: Structure follows coding guidelines.

The file correctly includes the required sections (Overview, Key Features, Getting Started, Resources) and uses the proper logo path ../../logos/argo.svg for a direct tool subdirectory.

Based on coding guidelines.

tools/LXC-LXD/README.md (1)

1-12: LGTM: Comprehensive overview provided.

The expanded documentation clearly differentiates LXC and LXD, explaining their roles and relationship. The logo path is correct per coding guidelines.

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

Comment on lines 1 to 157
# Argo
<img src="../../logos/argo.svg" alt="Argo Logo" width="120"/>

## Overview

Argo is a suite of open‑source, Kubernetes‑native tools built to automate and orchestrate cloud‑native workloads. Originally created by the founders of Akuity, it’s now a graduated Cloud Native Computing Foundation (CNCF) project.
Argo enables declarative, GitOps‑style workflows, progressive delivery, event‑driven automation, and more — giving teams a powerful and flexible foundation for Kubernetes application delivery.

---

## Difference Between Argo and Argo CD

Although “Argo” often refers collectively to its ecosystem, here’s a breakdown of how **Argo (the suite)** and **Argo CD** differ:

| Feature | Argo (Workflows, Events, Rollouts) | Argo CD |
|---|---|---|
| Primary Focus | Automated workflows, event‑driven orchestration, and progressive rollout strategies | GitOps‑based continuous delivery and Kubernetes app deployment |
| Use Cases | Running pipelines, batch jobs, or responding to events | Syncing Kubernetes cluster state with Git repositories |
| Trigger Mechanisms | Scheduled, event‑based, or manually triggered workflows | Git commits, branch/PR state, manual syncs |
| Core Value | Flexible, container‑native automation | Declarative, Git‑centric deployment control |

In short:
- **Argo** is the orchestration toolkit
- **Argo CD** is the GitOps CD engine

---

## Key Features

Argo (and its sub‑projects) provide:

- Kubernetes‑native architecture — built on Kubernetes APIs for tight integration
- Declarative configuration via YAML
- GitOps‑driven application deployment (via Argo CD)
- Workflow automation (Argo Workflows)
- Progressive delivery / rollout strategies (Argo Rollouts)
- Event‑driven automation (Argo Events)
- Role‑based access control (RBAC), audit trails, and SSO (in Argo CD)
- Web‑based UI and CLI tools
- Scalability and high availability for production use

---

# Getting Started

## Argo Prerequisites

## 🔑 General Requirements
- A working **Kubernetes cluster**
- Local: Minikube, Kind, k3s/k3d, Docker Desktop
- Cloud: GKE, EKS, AKS, etc.
- **kubectl** installed and configured to access your cluster
- **Namespaces** created for Argo components (`argo`, `argocd`)

---

## 🚀 Argo Workflows
- Kubernetes cluster with RBAC enabled
- `kubectl` CLI configured
- Create namespace:
`kubectl create namespace argo`

### Installation

Below are the installation commands for each Argo component:

#### 1. Argo Workflows

Automates and orchestrates Kubernetes jobs and tasks as workflows

installation:

`kubectl create namespace argo`
`kubectl apply -n argo -f https://raw.githubusercontent.com/argoproj/argo-workflows/stable/manifests/install.yaml`


Verify installation:

`kubectl get pods -n argo`

Run a simple Argo Workflow:

`argo submit --watch https://raw.githubusercontent.com/argoproj/argo-workflows/main/examples/hello-world.yaml -n argo`


#### 2. Argo Rollouts

Argo Rollouts provides advanced deployment strategies (blue-green, canary) for Kubernetes

installation:

```bash
kubectl create namespace argo-rollouts
kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-rollouts/stable/manifests/install.yaml
```
#### 3. Argo Events

Triggers workflows or actions based on events from various sources.

installation:

```bash
kubectl create namespace argo-events
kubectl apply -n argo-events -f https://raw.githubusercontent.com/argoproj/argo-events/stable/manifests/install.yaml
```

Verify installation:

`kubectl get pods -n argo-events`

#### 4. ArgoCD

Continuously deploys applications from Git repositories to Kubernetes clusters (GitOps).

installation:

`kubectl create namespace argocd`
`kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml`

Verify installation:

`kubectl get pods -n argocd`

Expose the Argo CD API server:

`kubectl port-forward svc/argocd-server -n argocd 8080:443`

Access UI:

`https://localhost:8080`

Get initial admin password:

`kubectl get secret argocd-initial-admin-secret -n argocd -o jsonpath="{.data.password}" | base64 -d`


Create an Argo CD Application:


```bash
argocd app create my-app \
--repo https://github.com/example/repo.git \
--path manifests \
--dest-server https://kubernetes.default.svc \
--dest-namespace default
```

Sync the application:

`argocd app sync my-app`


## Resources

- [Official Website](https://argoproj.github.io/)
- [Documentation](https://argo-cd.readthedocs.io/)
- [GitHub Repository](https://github.com/argoproj/argo-cd) No newline at end of file
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check for both lowercase and properly-cased Argo directories

echo "Checking for argo directory:"
fd -t d '^argo$' tools/

echo -e "\nChecking for Argo directory:"
fd -t d '^Argo$' tools/

echo -e "\nListing both if they exist:"
ls -la tools/ | grep -i argo

echo -e "\nChecking for README files:"
find tools -maxdepth 2 -name "README.md" | grep -i argo

Repository: nirgeier/awesome-devops

Length of output: 453


🏁 Script executed:

#!/bin/bash
# Compare the two README files

echo "=== tools/argo/README.md ==="
head -5 tools/argo/README.md

echo -e "\n=== tools/Argo/README.md ==="
head -5 tools/Argo/README.md

echo -e "\n=== File size comparison ==="
wc -l tools/argo/README.md tools/Argo/README.md

echo -e "\n=== Content difference ==="
diff tools/argo/README.md tools/Argo/README.md

Repository: nirgeier/awesome-devops

Length of output: 412


🏁 Script executed:

#!/bin/bash
# Check logo directory structure

echo "=== Logo files in tools directory ==="
ls -la tools/logos/ | head -20

echo -e "\n=== Checking for argo.svg ==="
find tools -name "argo.svg" -o -name "Argo.svg"

echo -e "\n=== Directory depth check ==="
echo "tools/logos/ relative to tools/argo/: should be ../logos/"
echo "tools/logos/ relative to tools/Argo/: should be ../logos/"
echo "Actual path used in both: ../../logos/"

Repository: nirgeier/awesome-devops

Length of output: 398


🏁 Script executed:

#!/bin/bash
# Find where logos directory actually is

echo "=== Searching for logos directory ==="
find . -type d -name "logos" 2>/dev/null

echo -e "\n=== Searching for argo.svg or similar ==="
find . -name "*argo*.svg" 2>/dev/null | head -20

echo -e "\n=== Checking repository root structure ==="
ls -la | grep -E "(logo|Logo)"

Repository: nirgeier/awesome-devops

Length of output: 295


Remove the lowercase tools/argo/ directory and fix the logo path in tools/Argo/README.md.

Both tools/argo/README.md and tools/Argo/README.md exist with identical content, indicating an incomplete rename operation. On case-sensitive filesystems (Linux), this creates ambiguity and violates the PR objective to rename to proper casing.

Additionally, the logo path in tools/Argo/README.md uses ../../logos/argo.svg, but per the coding guidelines, direct tool subdirectories should use ../logos/ (single level), not ../../logos/ (which is for nested subdirectories).

Delete the lowercase tools/argo/ directory and update the logo path in tools/Argo/README.md from ../../logos/argo.svg to ../logos/argo.svg.

🧰 Tools
🪛 LanguageTool

[style] ~6-~6: This phrase is redundant. Consider writing “created”.
Context: ...and orchestrate cloud‑native workloads. Originally created by the founders of Akuity, it’s now a g...

(ORIGINALLY_CREATED)


[grammar] ~30-~30: Ensure spelling is correct
Context: ...ne --- ## Key Features Argo (and its sub‑projects) provide: - Kubernetes‑native architec...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~157-~157: Ensure spelling is correct
Context: ...cd.readthedocs.io/) - GitHub Repository

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🤖 Prompt for AI Agents
In `@tools/argo/README.md` around lines 1 - 157, Remove the duplicate lowercase
directory tools/argo/ (delete it entirely) so only tools/Argo/ remains, and in
tools/Argo/README.md update the logo reference from "../../logos/argo.svg" to
"../logos/argo.svg"; ensure the commit removes the old path and updates the
README content (tools/argo/ directory removal and tools/Argo/README.md logo path
change).

Comment on lines 79 to 91
**Requirements-**

- The recommended installation method is via the LXD Snap package, which ensures you get the latest stable release across multiple distros.

- LXD is very flexible and has no strict hardware requirements for containers, but it does require a modern Linux kernel with namespaces, cgroups, and security features enabled to function properly.

- Recommended minimum Linux kernel 4.15+

- The LXD snap must be available for your Linux distribution.

- The snapd daemon must be installed.


Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion | 🟠 Major

Use proper heading instead of bold text.

Line 79 uses bold text (**Requirements-**) instead of a proper markdown heading. This affects document structure and navigation.

📝 Proposed fix
-**Requirements-**
+### Requirements
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
**Requirements-**
- The recommended installation method is via the LXD Snap package, which ensures you get the latest stable release across multiple distros.
- LXD is very flexible and has no strict hardware requirements for containers, but it does require a modern Linux kernel with namespaces, cgroups, and security features enabled to function properly.
- Recommended minimum Linux kernel 4.15+
- The LXD snap must be available for your Linux distribution.
- The snapd daemon must be installed.
### Requirements
- The recommended installation method is via the LXD Snap package, which ensures you get the latest stable release across multiple distros.
- LXD is very flexible and has no strict hardware requirements for containers, but it does require a modern Linux kernel with namespaces, cgroups, and security features enabled to function properly.
- Recommended minimum Linux kernel 4.15+
- The LXD snap must be available for your Linux distribution.
- The snapd daemon must be installed.
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

79-79: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🤖 Prompt for AI Agents
In `@tools/LXC-LXD/README.md` around lines 79 - 91, Replace the bolded section
header "**Requirements-**" with a proper Markdown heading (e.g., "##
Requirements") in README.md so the document structure and navigation work
correctly; locate the bold token "**Requirements-**" and change it to an
appropriate heading level (remove the trailing hyphen and use "Requirements" as
the heading text) ensuring the following list remains under that heading.

Comment on lines 92 to 106
**Configure LXD -**

Run the following command and either accept the defaults or choose different options when prompted:

`lxd init`
Install the OS you'd like to use in your container or VM -


`lxc launch <image_server>:<image_name> <instance_name>`

Example:

`lxc launch ubuntu:24.04 ubuntu-container`
**Note** append --vm to this command if you wish to run it in a virtual machine

Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion | 🟠 Major

Use proper heading and improve note formatting.

Line 92 uses bold text (**Configure LXD -**) instead of a proper markdown heading. Additionally, line 105's note could use better formatting for visibility.

📝 Proposed fixes
-**Configure LXD -**
+### Configure LXD

 Run the following command and either accept the defaults or choose different options when prompted:

 `lxd init`

-Install the OS you'd like to use in your container or VM - 
+**Install the OS you'd like to use in your container or VM:**

 `lxc launch <image_server>:<image_name> <instance_name>`

-Example:
+**Example:**

 `lxc launch ubuntu:24.04 ubuntu-container`
-**Note** append --vm to this command if you wish to run it in a virtual machine
+
+> **Note:** Append `--vm` to this command if you wish to run it in a virtual machine.
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

92-92: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🤖 Prompt for AI Agents
In `@tools/LXC-LXD/README.md` around lines 92 - 106, Replace the bolded line
"**Configure LXD -**" with a proper Markdown heading (e.g., "## Configure LXD")
and ensure command lines like `lxd init` and the `lxc launch
<image_server>:<image_name> <instance_name>` example are formatted as code
blocks or inline code for clarity; also reformat the trailing note about
appending `--vm` into a visible note block (e.g., a bold "Note:" or blockquote)
and show the corrected command example including `--vm` styled as code so the
recommendation stands out.

Signed-off-by: pintop9 <idan.pinto12296@gmail.com>
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@tools/Argo/README.md`:
- Line 2: The image path in the README uses an incorrect relative path
("../../logos/") for the Argo README; update the img src in the Markdown image
tag to use the correct one-level-up path ("../logos/") so the line with <img
src="..."/> points to ../logos/argo.svg; ensure only the src attribute is
changed and the alt/width values remain unchanged.
- Around line 171-340: The README contains an accidental duplicated block (the
entire Argo content repeated starting at the second "Argo" section); remove the
duplicate copy and keep a single authoritative version of the content (retain
the first occurrence with headings like "Argo", "Overview", "Difference Between
Argo and Argo CD", "Key Features", "Getting Started", "Argo Workflows", "Argo
Rollouts", "Argo Events", and "ArgoCD"), ensuring no sections or examples
(installation commands, verify steps, resources) are lost or truncated and that
spacing/heading structure remains consistent after deletion.
♻️ Duplicate comments (3)
tools/Argo/README.md (3)

93-93: Use consistent formatting for section labels.

The label "installation:" should be "Installation:" (bold and capitalized) to match the formatting used in other component sections.

♻️ Proposed fix
-installation:
+**Installation:**

103-112: Fix formatting inconsistencies.

Multiple formatting issues in this section:

  1. "installation:" (line 103) should be "Installation:"
  2. "Verify installation:" (line 110) should be bold: "Verify installation:"
  3. Line 112 uses inline backticks instead of a proper bash code block
♻️ Proposed fixes
-installation:
+**Installation:**
 
 ```bash
 kubectl create namespace argo-events
 kubectl apply -n argo-events -f https://raw.githubusercontent.com/argoproj/argo-events/stable/manifests/install.yaml

-Verify installation:
+Verify installation:

-kubectl get pods -n argo-events
+bash +kubectl get pods -n argo-events +

</details>

---

`46-60`: **Fix heading hierarchy and remove duplicate prerequisites.**

Multiple structural issues:

1. "Argo Prerequisites" (line 46) and "🔑 General Requirements" (line 48) are h2 but should be h3 under "Getting Started"
2. "🚀 Argo Workflows" section (lines 57-60) duplicates prerequisites already listed in "General Requirements" and creates confusion about document structure




<details>
<summary>📋 Proposed restructure</summary>

```diff
 ## Getting Started
 
-## Argo Prerequisites
+### Prerequisites
 
-## 🔑 General Requirements
+#### General Requirements
 - A working **Kubernetes cluster**
   - Local: Minikube, Kind, k3s/k3d, Docker Desktop
   - Cloud: GKE, EKS, AKS, etc.
 - **kubectl** installed and configured to access your cluster
 - **Namespaces** created for Argo components (`argo`, `argocd`)
 
 ---
 
-## 🚀 Argo Workflows
-- Kubernetes cluster with RBAC enabled
-- `kubectl` CLI configured
-
 ### Installation
🧹 Nitpick comments (1)
tools/Argo/README.md (1)

139-141: Use appropriate code block type for URL.

The URL https://localhost:8080 is in a bash code block but it's not a bash command. Consider using plain text or a text code block instead.

♻️ Proposed fix
 **Access UI:**
 
-```bash
 https://localhost:8080
-```

or

 **Access UI:**
 
-```bash
+```
 https://localhost:8080
</details>

</blockquote></details>

</blockquote></details>

<details>
<summary>📜 Review details</summary>

**Configuration used**: defaults

**Review profile**: CHILL

**Plan**: Pro

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between 05b5a779331438d077fd509c3578e39611c233b8 and 3225c837822caa67be90d87a99e6656f146291c9.

</details>

<details>
<summary>📒 Files selected for processing (1)</summary>

* `tools/Argo/README.md`

</details>

<details>
<summary>🧰 Additional context used</summary>

<details>
<summary>📓 Path-based instructions (1)</summary>

<details>
<summary>tools/**/README.md</summary>


**📄 CodeRabbit inference engine (.github/copilot-instructions.md)**

> `tools/**/README.md`: Tool README format must follow exact structure: # Tool Name, logo, Overview, Key Features, Getting Started, and Resources sections
> Logo references in tool READMEs must use relative paths that match directory nesting level: ../logos/ for direct tool subdirectories, ../../logos/ for nested subdirectories
> All tool README files must include Overview, Key Features, Getting Started, and Resources sections
> Logo path resolution must account for nesting depth: tools/Category/Tool uses ../logos/, tools/Category/SubCategory/Tool uses ../../logos/

Files:
- `tools/Argo/README.md`

</details>

</details><details>
<summary>🧠 Learnings (2)</summary>

<details>
<summary>📚 Learning: 2025-11-27T18:13:03.122Z</summary>

Learnt from: CR
Repo: nirgeier/awesome-devops PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-27T18:13:03.122Z
Learning: Applies to tools/**/README.md : Tool README format must follow exact structure: # Tool Name, logo, Overview, Key Features, Getting Started, and Resources sections


**Applied to files:**
- `tools/Argo/README.md`

</details>
<details>
<summary>📚 Learning: 2025-11-27T18:13:03.122Z</summary>

Learnt from: CR
Repo: nirgeier/awesome-devops PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-27T18:13:03.122Z
Learning: Applies to tools/**/README.md : All tool README files must include Overview, Key Features, Getting Started, and Resources sections


**Applied to files:**
- `tools/Argo/README.md`

</details>

</details><details>
<summary>🪛 LanguageTool</summary>

<details>
<summary>tools/Argo/README.md</summary>

[style] ~6-~6: This phrase is redundant. Consider writing “created”.
Context: ...and orchestrate cloud‑native workloads. Originally created by the founders of Akuity, it’s now a g...

(ORIGINALLY_CREATED)

---

[grammar] ~30-~30: Ensure spelling is correct
Context: ...ne  ---  ## Key Features  Argo (and its sub‑projects) provide:  - Kubernetes‑native architec...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

---

[style] ~176-~176: This phrase is redundant. Consider writing “created”.
Context: ...and orchestrate cloud‑native workloads. Originally created by the founders of Akuity, it’s now a g...

(ORIGINALLY_CREATED)

---

[grammar] ~200-~200: Ensure spelling is correct
Context: ...ne  ---  ## Key Features  Argo (and its sub‑projects) provide:  - Kubernetes‑native architec...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

---

[grammar] ~340-~340: Ensure spelling is correct
Context: ...cd.readthedocs.io/) - [GitHub Repository](https://github.com/argoproj/argo-cd)

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

</details>

</details>
<details>
<summary>🪛 markdownlint-cli2 (0.18.1)</summary>

<details>
<summary>tools/Argo/README.md</summary>

171-171: Multiple headings with the same content

(MD024, no-duplicate-heading)

</details>

</details>

</details>

<sub>✏️ Tip: You can disable this entire section by setting `review_details` to `false` in your review settings.</sub>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

@@ -0,0 +1,340 @@
# Argo
<img src="../../logos/argo.svg" alt="Argo Logo" width="120"/>
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Fix logo path to match directory nesting level.

The logo path uses ../../logos/ but should be ../logos/ since this README is in tools/Argo/ (one level deep from tools/).

Based on coding guidelines: tools/Category/Tool uses ../logos/, tools/Category/SubCategory/Tool uses ../../logos/

🖼️ Proposed fix
-<img src="../../logos/argo.svg" alt="Argo Logo" width="120"/>
+<img src="../logos/argo.svg" alt="Argo Logo" width="120"/>
🤖 Prompt for AI Agents
In `@tools/Argo/README.md` at line 2, The image path in the README uses an
incorrect relative path ("../../logos/") for the Argo README; update the img src
in the Markdown image tag to use the correct one-level-up path ("../logos/") so
the line with <img src="..."/> points to ../logos/argo.svg; ensure only the src
attribute is changed and the alt/width values remain unchanged.

Comment on lines 171 to 340
# Argo
<img src="../../logos/argo.svg" alt="Argo Logo" width="120"/>

## Overview

Argo is a suite of open‑source, Kubernetes‑native tools built to automate and orchestrate cloud‑native workloads. Originally created by the founders of Akuity, it’s now a graduated Cloud Native Computing Foundation (CNCF) project.
Argo enables declarative, GitOps‑style workflows, progressive delivery, event‑driven automation, and more — giving teams a powerful and flexible foundation for Kubernetes application delivery.

---

## Difference Between Argo and Argo CD

Although “Argo” often refers collectively to its ecosystem, here’s a breakdown of how **Argo (the suite)** and **Argo CD** differ:

| Feature | Argo (Workflows, Events, Rollouts) | Argo CD |
|---|---|---|
| Primary Focus | Automated workflows, event‑driven orchestration, and progressive rollout strategies | GitOps‑based continuous delivery and Kubernetes app deployment |
| Use Cases | Running pipelines, batch jobs, or responding to events | Syncing Kubernetes cluster state with Git repositories |
| Trigger Mechanisms | Scheduled, event‑based, or manually triggered workflows | Git commits, branch/PR state, manual syncs |
| Core Value | Flexible, container‑native automation | Declarative, Git‑centric deployment control |

In short:
- **Argo** is the orchestration toolkit
- **Argo CD** is the GitOps CD engine

---

## Key Features

Argo (and its sub‑projects) provide:

- Kubernetes‑native architecture — built on Kubernetes APIs for tight integration
- Declarative configuration via YAML
- GitOps‑driven application deployment (via Argo CD)
- Workflow automation (Argo Workflows)
- Progressive delivery / rollout strategies (Argo Rollouts)
- Event‑driven automation (Argo Events)
- Role‑based access control (RBAC), audit trails, and SSO (in Argo CD)
- Web‑based UI and CLI tools
- Scalability and high availability for production use

---

## Getting Started

## Argo Prerequisites

## 🔑 General Requirements
- A working **Kubernetes cluster**
- Local: Minikube, Kind, k3s/k3d, Docker Desktop
- Cloud: GKE, EKS, AKS, etc.
- **kubectl** installed and configured to access your cluster
- **Namespaces** created for Argo components (`argo`, `argocd`)

---

## 🚀 Argo Workflows
- Kubernetes cluster with RBAC enabled
- `kubectl` CLI configured

### Installation

Below are the installation commands for each Argo component:

#### 1. Argo Workflows

Automates and orchestrates Kubernetes jobs and tasks as workflows

**Installation:**

```bash
kubectl create namespace argo
kubectl apply -n argo -f https://raw.githubusercontent.com/argoproj/argo-workflows/stable/manifests/install.yaml
```

**Verify installation:**

```bash
kubectl get pods -n argo
```

**Run a simple Argo Workflow:**

```bash
argo submit --watch https://raw.githubusercontent.com/argoproj/argo-workflows/main/examples/hello-world.yaml -n argo
```


#### 2. Argo Rollouts

Argo Rollouts provides advanced deployment strategies (blue-green, canary) for Kubernetes

installation:

```bash
kubectl create namespace argo-rollouts
kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-rollouts/stable/manifests/install.yaml
```
#### 3. Argo Events

Triggers workflows or actions based on events from various sources.

installation:

```bash
kubectl create namespace argo-events
kubectl apply -n argo-events -f https://raw.githubusercontent.com/argoproj/argo-events/stable/manifests/install.yaml
```

Verify installation:

`kubectl get pods -n argo-events`

#### 4. ArgoCD

Continuously deploys applications from Git repositories to Kubernetes clusters (GitOps).

**Installation:**

```bash
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
```

**Verify installation:**

```bash
kubectl get pods -n argocd
```

**Expose the Argo CD API server:**

```bash
kubectl port-forward svc/argocd-server -n argocd 8080:443
```

**Access UI:**

```bash
https://localhost:8080
```

**Get initial admin password:**

```bash
kubectl get secret argocd-initial-admin-secret -n argocd -o jsonpath="{.data.password}" | base64 -d
```

**Create an Argo CD Application:**

```bash
argocd app create my-app \
--repo https://github.com/example/repo.git \
--path manifests \
--dest-server https://kubernetes.default.svc \
--dest-namespace default
```

**Sync the application:**

```bash
argocd app sync my-app
```


## Resources

- [Official Website](https://argoproj.github.io/)
- [Documentation](https://argo-cd.readthedocs.io/)
- [GitHub Repository](https://github.com/argoproj/argo-cd) No newline at end of file
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Remove duplicate content.

The entire document content (lines 1-170) is duplicated in lines 171-340. This appears to be an accidental copy-paste error that significantly impacts readability and maintainability.

🗑️ Proposed fix
-# Argo
-<img src="../../logos/argo.svg" alt="Argo Logo" width="120"/>
-
-## Overview
-
-Argo is a suite of open‑source, Kubernetes‑native tools built to automate and orchestrate cloud‑native workloads. Originally created by the founders of Akuity, it's now a graduated Cloud Native Computing Foundation (CNCF) project.  
-Argo enables declarative, GitOps‑style workflows, progressive delivery, event‑driven automation, and more — giving teams a powerful and flexible foundation for Kubernetes application delivery.
-
----
-
-## Difference Between Argo and Argo CD
-
-Although "Argo" often refers collectively to its ecosystem, here's a breakdown of how **Argo (the suite)** and **Argo CD** differ:
-
-| Feature | Argo (Workflows, Events, Rollouts) | Argo CD |
-|---|---|---|
-| Primary Focus | Automated workflows, event‑driven orchestration, and progressive rollout strategies | GitOps‑based continuous delivery and Kubernetes app deployment |
-| Use Cases | Running pipelines, batch jobs, or responding to events | Syncing Kubernetes cluster state with Git repositories |
-| Trigger Mechanisms | Scheduled, event‑based, or manually triggered workflows | Git commits, branch/PR state, manual syncs |
-| Core Value | Flexible, container‑native automation | Declarative, Git‑centric deployment control |
-
-In short:  
-- **Argo** is the orchestration toolkit  
-- **Argo CD** is the GitOps CD engine
-
----
-
-## Key Features
-
-Argo (and its sub‑projects) provide:
-
-- Kubernetes‑native architecture — built on Kubernetes APIs for tight integration  
-- Declarative configuration via YAML  
-- GitOps‑driven application deployment (via Argo CD)  
-- Workflow automation (Argo Workflows)  
-- Progressive delivery / rollout strategies (Argo Rollouts)  
-- Event‑driven automation (Argo Events)  
-- Role‑based access control (RBAC), audit trails, and SSO (in Argo CD)  
-- Web‑based UI and CLI tools  
-- Scalability and high availability for production use  
-
----
-
-## Getting Started
-
-## Argo Prerequisites
-
-## 🔑 General Requirements
-- A working **Kubernetes cluster**
-  - Local: Minikube, Kind, k3s/k3d, Docker Desktop
-  - Cloud: GKE, EKS, AKS, etc.
-- **kubectl** installed and configured to access your cluster
-- **Namespaces** created for Argo components (`argo`, `argocd`)
-
----
-
-## 🚀 Argo Workflows
-- Kubernetes cluster with RBAC enabled
-- `kubectl` CLI configured
-
-### Installation
-
-Below are the installation commands for each Argo component:
-
-#### 1. Argo Workflows
-
-Automates and orchestrates Kubernetes jobs and tasks as workflows
-
-**Installation:**
-
-```bash
-kubectl create namespace argo
-kubectl apply -n argo -f https://raw.githubusercontent.com/argoproj/argo-workflows/stable/manifests/install.yaml
-```
-
-**Verify installation:**
-
-```bash
-kubectl get pods -n argo
-```
-
-**Run a simple Argo Workflow:**
-
-```bash
-argo submit --watch https://raw.githubusercontent.com/argoproj/argo-workflows/main/examples/hello-world.yaml -n argo
-```
-
-
-#### 2. Argo Rollouts
-
-Argo Rollouts provides advanced deployment strategies (blue-green, canary) for Kubernetes
-
-installation:
-
-```bash
-kubectl create namespace argo-rollouts
-kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-rollouts/stable/manifests/install.yaml
-```
-#### 3. Argo Events
-
-Triggers workflows or actions based on events from various sources.
-
-installation:
-
-```bash
-kubectl create namespace argo-events
-kubectl apply -n argo-events -f https://raw.githubusercontent.com/argoproj/argo-events/stable/manifests/install.yaml
-```
-
-Verify installation:
-
-`kubectl get pods -n argo-events`
-
-#### 4. ArgoCD
-
-Continuously deploys applications from Git repositories to Kubernetes clusters (GitOps).
-
-**Installation:**
-
-```bash
-kubectl create namespace argocd
-kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
-```
-
-**Verify installation:**
-
-```bash
-kubectl get pods -n argocd
-```
-
-**Expose the Argo CD API server:**
-
-```bash
-kubectl port-forward svc/argocd-server -n argocd 8080:443
-```
-
-**Access UI:**
-
-```bash
-https://localhost:8080
-```
-
-**Get initial admin password:**
-
-```bash
-kubectl get secret argocd-initial-admin-secret -n argocd -o jsonpath="{.data.password}" | base64 -d
-```
-
-**Create an Argo CD Application:**
-
-```bash
-argocd app create my-app \
-  --repo https://github.com/example/repo.git \
-  --path manifests \
-  --dest-server https://kubernetes.default.svc \
-  --dest-namespace default
-```
-
-**Sync the application:**
-
-```bash
-argocd app sync my-app
-```
-
-
-## Resources
-
-- [Official Website](https://argoproj.github.io/)
-- [Documentation](https://argo-cd.readthedocs.io/)
-- [GitHub Repository](https://github.com/argoproj/argo-cd)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# Argo
<img src="../../logos/argo.svg" alt="Argo Logo" width="120"/>
## Overview
Argo is a suite of open‑source, Kubernetes‑native tools built to automate and orchestrate cloud‑native workloads. Originally created by the founders of Akuity, it’s now a graduated Cloud Native Computing Foundation (CNCF) project.
Argo enables declarative, GitOps‑style workflows, progressive delivery, event‑driven automation, and more — giving teams a powerful and flexible foundation for Kubernetes application delivery.
---
## Difference Between Argo and Argo CD
Although “Argo” often refers collectively to its ecosystem, here’s a breakdown of how **Argo (the suite)** and **Argo CD** differ:
| Feature | Argo (Workflows, Events, Rollouts) | Argo CD |
|---|---|---|
| Primary Focus | Automated workflows, event‑driven orchestration, and progressive rollout strategies | GitOps‑based continuous delivery and Kubernetes app deployment |
| Use Cases | Running pipelines, batch jobs, or responding to events | Syncing Kubernetes cluster state with Git repositories |
| Trigger Mechanisms | Scheduled, event‑based, or manually triggered workflows | Git commits, branch/PR state, manual syncs |
| Core Value | Flexible, container‑native automation | Declarative, Git‑centric deployment control |
In short:
- **Argo** is the orchestration toolkit
- **Argo CD** is the GitOps CD engine
---
## Key Features
Argo (and its sub‑projects) provide:
- Kubernetes‑native architecture — built on Kubernetes APIs for tight integration
- Declarative configuration via YAML
- GitOps‑driven application deployment (via Argo CD)
- Workflow automation (Argo Workflows)
- Progressive delivery / rollout strategies (Argo Rollouts)
- Event‑driven automation (Argo Events)
- Role‑based access control (RBAC), audit trails, and SSO (in Argo CD)
- Web‑based UI and CLI tools
- Scalability and high availability for production use
---
## Getting Started
## Argo Prerequisites
## 🔑 General Requirements
- A working **Kubernetes cluster**
- Local: Minikube, Kind, k3s/k3d, Docker Desktop
- Cloud: GKE, EKS, AKS, etc.
- **kubectl** installed and configured to access your cluster
- **Namespaces** created for Argo components (`argo`, `argocd`)
---
## 🚀 Argo Workflows
- Kubernetes cluster with RBAC enabled
- `kubectl` CLI configured
### Installation
Below are the installation commands for each Argo component:
#### 1. Argo Workflows
Automates and orchestrates Kubernetes jobs and tasks as workflows
**Installation:**
```bash
kubectl create namespace argo
kubectl apply -n argo -f https://raw.githubusercontent.com/argoproj/argo-workflows/stable/manifests/install.yaml
```
**Verify installation:**
```bash
kubectl get pods -n argo
```
**Run a simple Argo Workflow:**
```bash
argo submit --watch https://raw.githubusercontent.com/argoproj/argo-workflows/main/examples/hello-world.yaml -n argo
```
#### 2. Argo Rollouts
Argo Rollouts provides advanced deployment strategies (blue-green, canary) for Kubernetes
installation:
```bash
kubectl create namespace argo-rollouts
kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-rollouts/stable/manifests/install.yaml
```
#### 3. Argo Events
Triggers workflows or actions based on events from various sources.
installation:
```bash
kubectl create namespace argo-events
kubectl apply -n argo-events -f https://raw.githubusercontent.com/argoproj/argo-events/stable/manifests/install.yaml
```
Verify installation:
`kubectl get pods -n argo-events`
#### 4. ArgoCD
Continuously deploys applications from Git repositories to Kubernetes clusters (GitOps).
**Installation:**
```bash
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
```
**Verify installation:**
```bash
kubectl get pods -n argocd
```
**Expose the Argo CD API server:**
```bash
kubectl port-forward svc/argocd-server -n argocd 8080:443
```
**Access UI:**
```bash
https://localhost:8080
```
**Get initial admin password:**
```bash
kubectl get secret argocd-initial-admin-secret -n argocd -o jsonpath="{.data.password}" | base64 -d
```
**Create an Argo CD Application:**
```bash
argocd app create my-app \
--repo https://github.com/example/repo.git \
--path manifests \
--dest-server https://kubernetes.default.svc \
--dest-namespace default
```
**Sync the application:**
```bash
argocd app sync my-app
```
## Resources
- [Official Website](https://argoproj.github.io/)
- [Documentation](https://argo-cd.readthedocs.io/)
- [GitHub Repository](https://github.com/argoproj/argo-cd)
🧰 Tools
🪛 LanguageTool

[style] ~176-~176: This phrase is redundant. Consider writing “created”.
Context: ...and orchestrate cloud‑native workloads. Originally created by the founders of Akuity, it’s now a g...

(ORIGINALLY_CREATED)


[grammar] ~200-~200: Ensure spelling is correct
Context: ...ne --- ## Key Features Argo (and its sub‑projects) provide: - Kubernetes‑native architec...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~340-~340: Ensure spelling is correct
Context: ...cd.readthedocs.io/) - GitHub Repository

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🪛 markdownlint-cli2 (0.18.1)

171-171: Multiple headings with the same content

(MD024, no-duplicate-heading)

🤖 Prompt for AI Agents
In `@tools/Argo/README.md` around lines 171 - 340, The README contains an
accidental duplicated block (the entire Argo content repeated starting at the
second "Argo" section); remove the duplicate copy and keep a single
authoritative version of the content (retain the first occurrence with headings
like "Argo", "Overview", "Difference Between Argo and Argo CD", "Key Features",
"Getting Started", "Argo Workflows", "Argo Rollouts", "Argo Events", and
"ArgoCD"), ensuring no sections or examples (installation commands, verify
steps, resources) are lost or truncated and that spacing/heading structure
remains consistent after deletion.

Signed-off-by: pintop9 <idan.pinto12296@gmail.com>
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Fix all issues with AI agents
In `@tools/Argo/README.md`:
- Around line 90-113: Update the Argo Rollouts and Argo Events sections in
README.md to match the formatting of other components: change the lowercase
"installation:" lines to bold "**Installation:**" (for both Argo Rollouts and
Argo Events), change "Verify installation:" to bold "**Verify installation:**",
and convert the inline command `kubectl get pods -n argo-events` into a fenced
bash code block (```bash ... ```); apply these edits in the Argo Rollouts and
Argo Events sections so they mirror the style used by Argo Workflows/ArgoCD.
- Around line 47-62: Demote the top-level headings under the "Getting Started"
section so the structure is consistent: change "## Argo Prerequisites", "## 🔑
General Requirements", and "## 🚀 Argo Workflows" to third-level headings (e.g.,
"### Argo Prerequisites", "### 🔑 General Requirements", "### 🚀 Argo
Workflows") or nest their content under a single "## Getting Started" heading;
ensure the namespace and installation bullets remain intact and update any table
of contents or anchors if present to reflect the new heading IDs.

In `@tools/LXC-LXD/README.md`:
- Line 2: Update the image path in tools/LXC-LXD/README.md to point to the
correct relative logo location: change the img src value that currently uses
"../../logos/lxc.svg" to "../logos/lxc.svg" so it matches the
tools/Category/Tool nesting (refer to the img tag in the README).
♻️ Duplicate comments (3)
tools/Argo/README.md (1)

2-2: Fix logo path to match directory nesting level.

The logo path uses ../../logos/ but should be ../logos/ since this README is in tools/Argo/ (one level deep from tools/).

As per coding guidelines: tools/Category/Tool uses ../logos/, tools/Category/SubCategory/Tool uses ../../logos/

🖼️ Proposed fix
-<img src="../../logos/argo.svg" alt="Argo Logo" width="120"/>
+<img src="../logos/argo.svg" alt="Argo Logo" width="120"/>
tools/LXC-LXD/README.md (2)

79-90: Use proper heading instead of bold text.

Line 79 uses bold text (**Requirements-**) instead of a proper markdown heading. This affects document structure and navigation. Additionally, remove the trailing hyphen.

📝 Proposed fix
-**Requirements-**
+### Requirements
 
 - The recommended installation method is via the LXD Snap package, which ensures you get the latest stable release across multiple distros. 

92-105: Use proper heading and improve command formatting.

Line 92 uses bold text (**Configure LXD -**) instead of a proper markdown heading. Additionally, commands should be in code blocks for consistency, and the note formatting can be improved.

♻️ Proposed fixes
-**Configure LXD -**
+### Configure LXD
 
 Run the following command and either accept the defaults or choose different options when prompted:
 
-`lxd init`
-Install the OS you'd like to use in your container or VM - 
+```bash
+lxd init
+```
 
+**Install the OS you'd like to use in your container or VM:**
 
-`lxc launch <image_server>:<image_name> <instance_name>`
+```bash
+lxc launch <image_server>:<image_name> <instance_name>
+```
 
-Example:
+**Example:**
 
-`lxc launch ubuntu:24.04 ubuntu-container`
-**Note** append --vm to this command if you wish to run it in a virtual machine
+```bash
+lxc launch ubuntu:24.04 ubuntu-container
+```
+
+> **Note:** Append `--vm` to this command if you wish to run it in a virtual machine.
🧹 Nitpick comments (2)
tools/Argo/README.md (1)

167-171: Expand Resources section to cover all Argo components.

The Resources section only includes links for Argo CD, but this README documents the entire Argo suite (Workflows, Rollouts, Events, and CD). Consider adding dedicated resource links for each component.

📚 Proposed structure
 ## Resources
 
+### Argo Workflows
+- [Official Website](https://argoproj.github.io/workflows/)
+- [Documentation](https://argo-workflows.readthedocs.io/)
+- [GitHub Repository](https://github.com/argoproj/argo-workflows)
+
+### Argo Rollouts
+- [Official Website](https://argoproj.github.io/rollouts/)
+- [Documentation](https://argo-rollouts.readthedocs.io/)
+- [GitHub Repository](https://github.com/argoproj/argo-rollouts)
+
+### Argo Events
+- [Official Website](https://argoproj.github.io/events/)
+- [Documentation](https://argoproj.github.io/argo-events/)
+- [GitHub Repository](https://github.com/argoproj/argo-events)
+
+### Argo CD
 - [Official Website](https://argoproj.github.io/)
 - [Documentation](https://argo-cd.readthedocs.io/)
 - [GitHub Repository](https://github.com/argoproj/argo-cd)
tools/LXC-LXD/README.md (1)

22-38: Consider using proper headings for LXC and LXD subsections.

Lines 22 and 30 use plain text with emojis (🐧 LXC (Linux Containers) and 🚀 LXD) instead of proper markdown headings. Using h3 headings would improve document structure and navigation.

📝 Proposed structure
-🐧 LXC (Linux Containers)
+### 🐧 LXC (Linux Containers)
+
 - Low-level container runtime
 - Provides the basic tools (lxc-create, lxc-start, etc.) to run system containers directly on the Linux kernel.
 - Fine-grained control
 - Lets you manually configure namespaces, cgroups, networking, and security settings for maximum flexibility.
 - Lightweight system containers
 - Runs full Linux distributions with minimal overhead, closer to a traditional OS environment than app-focused containers like Docker.
 
-🚀 LXD
+### 🚀 LXD
+
 - System Containers and Virtual Machines
 LXD can run both lightweight Linux system containers and full virtual machines, allowing you to choose between high performance or full hardware isolation depending on your use case.
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3225c83 and 4c8ed25.

📒 Files selected for processing (2)
  • tools/Argo/README.md
  • tools/LXC-LXD/README.md
🧰 Additional context used
📓 Path-based instructions (1)
tools/**/README.md

📄 CodeRabbit inference engine (.github/copilot-instructions.md)

tools/**/README.md: Tool README format must follow exact structure: # Tool Name, logo, Overview, Key Features, Getting Started, and Resources sections
Logo references in tool READMEs must use relative paths that match directory nesting level: ../logos/ for direct tool subdirectories, ../../logos/ for nested subdirectories
All tool README files must include Overview, Key Features, Getting Started, and Resources sections
Logo path resolution must account for nesting depth: tools/Category/Tool uses ../logos/, tools/Category/SubCategory/Tool uses ../../logos/

Files:

  • tools/LXC-LXD/README.md
  • tools/Argo/README.md
🧠 Learnings (5)
📚 Learning: 2025-11-27T18:13:03.122Z
Learnt from: CR
Repo: nirgeier/awesome-devops PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-27T18:13:03.122Z
Learning: Applies to tools/**/README.md : All tool README files must include Overview, Key Features, Getting Started, and Resources sections

Applied to files:

  • tools/LXC-LXD/README.md
  • tools/Argo/README.md
📚 Learning: 2025-11-27T18:13:03.122Z
Learnt from: CR
Repo: nirgeier/awesome-devops PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-27T18:13:03.122Z
Learning: Tool descriptions in main README.md are the source of truth and must be kept synchronized with individual tool README Overview sections

Applied to files:

  • tools/LXC-LXD/README.md
  • tools/Argo/README.md
📚 Learning: 2025-11-27T18:13:03.122Z
Learnt from: CR
Repo: nirgeier/awesome-devops PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-27T18:13:03.122Z
Learning: Applies to tools/**/README.md : Tool README format must follow exact structure: # Tool Name, logo, Overview, Key Features, Getting Started, and Resources sections

Applied to files:

  • tools/LXC-LXD/README.md
  • tools/Argo/README.md
📚 Learning: 2025-11-27T18:13:03.122Z
Learnt from: CR
Repo: nirgeier/awesome-devops PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-27T18:13:03.122Z
Learning: Applies to tools/**/README.md : Logo references in tool READMEs must use relative paths that match directory nesting level: ../logos/ for direct tool subdirectories, ../../logos/ for nested subdirectories

Applied to files:

  • tools/Argo/README.md
📚 Learning: 2025-11-27T18:13:03.122Z
Learnt from: CR
Repo: nirgeier/awesome-devops PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-27T18:13:03.122Z
Learning: Applies to tools/**/README.md : Logo path resolution must account for nesting depth: tools/Category/Tool uses ../logos/, tools/Category/SubCategory/Tool uses ../../logos/

Applied to files:

  • tools/Argo/README.md
🪛 LanguageTool
tools/LXC-LXD/README.md

[style] ~17-~17: Consider using a shorter alternative to avoid wordiness.
Context: ...agement, and a VM-like user experience, making it better suited for larger-scale environments an...

(MADE_IT_JJR)


[uncategorized] ~32-~32: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...achines, allowing you to choose between high performance or full hardware isolation depending on...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[grammar] ~49-~49: Ensure spelling is correct
Context: ...lable, all its templates as well as the python3 binding should you want to script LXC. ...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

tools/Argo/README.md

[style] ~7-~7: This phrase is redundant. Consider writing “created”.
Context: ...and orchestrate cloud‑native workloads. Originally created by the founders of Akuity, it’s now a g...

(ORIGINALLY_CREATED)


[grammar] ~31-~31: Ensure spelling is correct
Context: ...ne --- ## Key Features Argo (and its sub‑projects) provide: - Kubernetes‑native architec...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[grammar] ~171-~171: Ensure spelling is correct
Context: ...cd.readthedocs.io/) - GitHub Repository

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🪛 markdownlint-cli2 (0.18.1)
tools/LXC-LXD/README.md

75-75: Link text should be descriptive

(MD059, descriptive-link-text)


79-79: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


92-92: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

Comment on lines +47 to +62
## Argo Prerequisites

## 🔑 General Requirements
- A working **Kubernetes cluster**
- Local: Minikube, Kind, k3s/k3d, Docker Desktop
- Cloud: GKE, EKS, AKS, etc.
- **kubectl** installed and configured to access your cluster
- **Namespaces** created for Argo components (`argo`, `argocd`)

---

## 🚀 Argo Workflows
- Kubernetes cluster with RBAC enabled
- `kubectl` CLI configured

### Installation
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion | 🟠 Major

Fix heading hierarchy in Getting Started section.

Lines 47-62 introduce multiple h2 headings (## Argo Prerequisites, ## 🔑 General Requirements, ## 🚀 Argo Workflows) under the ## Getting Started section, which creates a confusing document structure. These should be demoted to h3 or restructured.

♻️ Proposed restructure
 ## Getting Started
 
-## Argo Prerequisites
+### Prerequisites
 
-## 🔑 General Requirements
+#### General Requirements
 - A working **Kubernetes cluster**
   - Local: Minikube, Kind, k3s/k3d, Docker Desktop
   - Cloud: GKE, EKS, AKS, etc.
 - **kubectl** installed and configured to access your cluster
 - **Namespaces** created for Argo components (`argo`, `argocd`)
 
 ---
 
-## 🚀 Argo Workflows
+#### Component-Specific Requirements
+
+**Argo Workflows:**
 - Kubernetes cluster with RBAC enabled
 - `kubectl` CLI configured
 
-### Installation
+### Installation
🤖 Prompt for AI Agents
In `@tools/Argo/README.md` around lines 47 - 62, Demote the top-level headings
under the "Getting Started" section so the structure is consistent: change "##
Argo Prerequisites", "## 🔑 General Requirements", and "## 🚀 Argo Workflows" to
third-level headings (e.g., "### Argo Prerequisites", "### 🔑 General
Requirements", "### 🚀 Argo Workflows") or nest their content under a single "##
Getting Started" heading; ensure the namespace and installation bullets remain
intact and update any table of contents or anchors if present to reflect the new
heading IDs.

Comment on lines +90 to +113
#### 2. Argo Rollouts

Argo Rollouts provides advanced deployment strategies (blue-green, canary) for Kubernetes

installation:

```bash
kubectl create namespace argo-rollouts
kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-rollouts/stable/manifests/install.yaml
```
#### 3. Argo Events

Triggers workflows or actions based on events from various sources.

installation:

```bash
kubectl create namespace argo-events
kubectl apply -n argo-events -f https://raw.githubusercontent.com/argoproj/argo-events/stable/manifests/install.yaml
```

Verify installation:

`kubectl get pods -n argo-events`
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion | 🟠 Major

Improve formatting consistency across components.

The Argo Rollouts and Argo Events sections have inconsistent formatting compared to Argo Workflows and ArgoCD:

  1. Lines 94, 104: Use lowercase "installation:" instead of bold "Installation:"
  2. Line 111: Uses plain "Verify installation:" instead of bold "Verify installation:"
  3. Line 113: Uses inline backticks for command instead of a code block
♻️ Proposed fixes
 #### 2. Argo Rollouts
 
 Argo Rollouts provides advanced deployment strategies (blue-green, canary) for Kubernetes
 
-installation:
+**Installation:**
 
 ```bash
 kubectl create namespace argo-rollouts
 kubectl apply -f https://raw.githubusercontent.com/argoproj/argo-rollouts/stable/manifests/install.yaml

3. Argo Events

Triggers workflows or actions based on events from various sources.

-installation:
+Installation:

kubectl create namespace argo-events
kubectl apply -n argo-events -f https://raw.githubusercontent.com/argoproj/argo-events/stable/manifests/install.yaml

-Verify installation:
+Verify installation:

-kubectl get pods -n argo-events
+bash +kubectl get pods -n argo-events +

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

In @tools/Argo/README.md around lines 90 - 113, Update the Argo Rollouts and
Argo Events sections in README.md to match the formatting of other components:
change the lowercase "installation:" lines to bold "Installation:" (for both
Argo Rollouts and Argo Events), change "Verify installation:" to bold "Verify
installation:
", and convert the inline command kubectl get pods -n argo-events into a fenced bash code block (bash ... ); apply these edits
in the Argo Rollouts and Argo Events sections so they mirror the style used by
Argo Workflows/ArgoCD.


</details>

<!-- fingerprinting:phantom:triton:puma -->

<!-- This is an auto-generated comment by CodeRabbit -->

@@ -1,21 +1,119 @@
# LXC-LXD
<img src="../../logos/lxc.svg" alt="LXC Logo" width="120"/>
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Fix logo path to match directory nesting level.

The logo path uses ../../logos/ but should be ../logos/ since this README is in tools/LXC-LXD/ (one level deep from tools/).

As per coding guidelines: tools/Category/Tool uses ../logos/, tools/Category/SubCategory/Tool uses ../../logos/

🖼️ Proposed fix
-<img src="../../logos/lxc.svg" alt="LXC Logo" width="120"/>
+<img src="../logos/lxc.svg" alt="LXC Logo" width="120"/>
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<img src="../../logos/lxc.svg" alt="LXC Logo" width="120"/>
<img src="../logos/lxc.svg" alt="LXC Logo" width="120"/>
🤖 Prompt for AI Agents
In `@tools/LXC-LXD/README.md` at line 2, Update the image path in
tools/LXC-LXD/README.md to point to the correct relative logo location: change
the img src value that currently uses "../../logos/lxc.svg" to
"../logos/lxc.svg" so it matches the tools/Category/Tool nesting (refer to the
img tag in the README).

@pintop9 pintop9 changed the title Argo folder rename to correct one Rename argo folder to Argo for proper casing Jan 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant