> ## Documentation Index
> Fetch the complete documentation index at: https://notes.kodekloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation Options

> Argo CD installation options and guidance covering core and multi-tenant modes, HA vs non-HA manifests, cluster or namespace scopes, Helm and CLI install examples.

Let's review the common Argo CD installation options, when to use each, and example commands to get you started quickly.

Argo CD supports two broad deployment modes:

* Core — a minimal, single-user or single-team installation. Fewer components and simpler configuration, suitable for lightweight use cases and labs.
* Multi-tenant — intended for platform teams managing multiple development teams. Multi-tenant installs come in two operational modes: non-high-availability (non-HA) and high-availability (HA).

<Callout icon="warning" color="#FF6B6B">
  The non-HA manifests are intended for testing and proof-of-concept (POC) usage only; they are not recommended for production. For production, use the HA manifests which run multiple replicas for resilience.
</Callout>

Multi-tenant manifest flavors (common in the official repo):

* install.yaml — cluster-scoped installation that assumes cluster-level permissions (cluster-admin). Use this when Argo CD will manage the same cluster it runs in.
* namespace-install.yaml — namespace-scoped installation suitable when Argo CD runs in a single namespace and primarily manages remote clusters.

The HA variants follow the same cluster-scoped or namespace-scoped options, but add multiple replicas and production-grade resources for resilience.

<Callout icon="lightbulb" color="#1CB2FE">
  Choose install.yaml (cluster-scoped) if Argo CD will manage the cluster it runs in and you can grant cluster-admin permissions. Choose namespace-install.yaml for a namespace-scoped installation, commonly used when managing remote clusters.
</Callout>

Summary of the options

| Installation Mode     | Scope                       | Use Case                        | Production Ready                 |
| --------------------- | --------------------------- | ------------------------------- | -------------------------------- |
| Core                  | Namespace or single cluster | Single-user / single-team, labs | No (lightweight)                 |
| Multi-tenant (non-HA) | Cluster or Namespace        | POCs, demos, labs               | No — for testing only            |
| Multi-tenant (HA)     | Cluster or Namespace        | Production platforms            | Yes — recommended for production |

Recommended choice for labs and demos

* For hands-on labs and POCs, the non-HA cluster-scoped manifest (install.yaml) or the namespace-scoped manifest (namespace-install.yaml) are the most straightforward options.
* For production deployments, use the HA manifests (cluster- or namespace-scoped), or enable HA through the Helm chart and provision the required permissions and infrastructure (multiple replicas, persistent storage, etc.).

Installation methods
You can install Argo CD either by applying the official upstream manifests or by using the community-maintained Helm chart. The Helm chart defaults to a non-HA configuration unless you override values to enable HA.

Apply upstream non-HA cluster-scoped manifest (quick start):

```bash theme={null}
# Create the argocd namespace and apply the cluster-scoped manifest
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
```

Or install via Helm (defaults to non-HA):

```bash theme={null}
helm repo add argo https://argoproj.github.io/argo-helm
helm repo update
helm install my-argo-cd argo/argo-cd --version 4.8.0
```

Notes about Helm:

* To enable HA with the Helm chart, override the relevant values (replica counts, resource requests/limits, and storage) either via a values file or `--set` flags.
* For chart-specific configuration and HA options, see the chart documentation: [https://github.com/argoproj/argo-helm](https://github.com/argoproj/argo-helm)

Install the argocd CLI
After Argo CD is installed, install the argocd CLI to interact with the Argo CD API server.

Linux amd64 example:

```bash theme={null}
# Download the argocd client binary
curl -sSL -o /usr/local/bin/argocd https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64
chmod +x /usr/local/bin/argocd

# Verify installation
argocd version
```

If you are on a different OS or architecture, download the appropriate release binary from the Argo CD releases page and place it in a directory on your PATH:

* Argo CD Releases: [https://github.com/argoproj/argo-cd/releases](https://github.com/argoproj/argo-cd/releases)

Useful links and references

* Official Argo CD documentation: [https://argo-cd.readthedocs.io/](https://argo-cd.readthedocs.io/)
* Argo CD GitHub repository (manifests): [https://github.com/argoproj/argo-cd](https://github.com/argoproj/argo-cd)
* Argo Helm charts: [https://github.com/argoproj/argo-helm](https://github.com/argoproj/argo-helm)

Quick decision guide

* Labs / POCs: use non-HA manifests (install.yaml or namespace-install.yaml).
* Production: use HA manifests or configure HA via Helm; make sure to provision multiple replicas, persistent storage, and appropriate RBAC/permissions.

<CardGroup>
  <Card title="Watch Video" icon="video" cta="Learn more" href="https://learn.kodekloud.com/user/courses/certified-argo-project-associate-capa/module/9facbd04-7a3f-4200-9d6e-53936e93d875/lesson/a98a2a50-e1ce-474f-860a-86ef35a41e2d" />
</CardGroup>
