Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
171 changes: 171 additions & 0 deletions tools/Argo/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
# 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.



## 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
Comment on lines +47 to +62
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.


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`
Comment on lines +90 to +113
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 -->


#### 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)
2 changes: 1 addition & 1 deletion tools/LXC-LXD/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ Linux kernel >= 3.12



**LXD Installation-**
### LXD Installation

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) ).

Expand Down