Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: Proposal to add installation steps for local development using Kind #20821

Merged
merged 10 commits into from
Nov 24, 2024
2 changes: 1 addition & 1 deletion docs/getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ argocd app create guestbook --repo https://github.com/argoproj/argocd-example-ap

### Creating Apps Via UI

Open a browser to the Argo CD external UI, and login by visiting the IP/hostname in a browser and use the credentials set in step 4.
Open a browser to the Argo CD external UI, and login by visiting the IP/hostname in a browser and use the credentials set in step 4 or locally as explained in [Try Argo CD Locally](try_argo_cd_locally.md).

After logging in, click the **+ New App** button as shown below:

Expand Down
57 changes: 57 additions & 0 deletions docs/try_argo_cd_locally.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Try Argo CD Locally

!!! tip
This guide assumes you have a grounding in the tools that Argo CD is based on. Please read [understanding the basics](understand_the_basics.md) to learn about these tools.


Follow these steps to install `Kind` for local development and set it up with Argo CD.
todaywasawesome marked this conversation as resolved.
Show resolved Hide resolved

To run an Argo CD development environment [review the developer guide for running locally](../developer-guide/running-locally).

## Install Kind

```bash
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-darwin-amd64
revitalbarletz marked this conversation as resolved.
Show resolved Hide resolved
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind
```

## Create a Kind Cluster
Once Kind is installed, create a new Kubernetes cluster with:
```bash
kind create cluster --name argocd-cluster
```
This will create a local Kubernetes cluster named `argocd-cluster`.

## Set Up kubectl to Use the Kind Cluster
After creating the cluster, set `kubectl` to use your new `kind` cluster:
```bash
kubectl cluster-info --context kind-argocd-cluster
```
This command verifies that `kubectl` is pointed to the right cluster.

## Install ArgoCD on the Cluster
You can now install Argo CD on your `kind` cluster. First, apply the Argo CD manifest to create the necessary resources:
```bash
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
```

## Expose ArgoCD API Server
By default, Argo CD's API server is not exposed outside the cluster. You need to expose it to access the UI locally. For development purposes, you can use Kubectl 'port-forward'.
```bash
kubectl port-forward svc/argocd-server -n argocd 8080:443
```
This will forward port 8080 on your local machine to the ArgoCD API server’s port 443 inside the Kubernetes cluster.

## Access ArgoCD UI
Now, you can open your browser and navigate to http://localhost:8080 to access the ArgoCD UI.

### Log in to ArgoCD
To log in to the ArgoCD UI, you'll need the default admin password. You can retrieve it from the Kubernetes cluster:
```bash
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath='{.data.password}' | base64 -d
```
Use the admin username and the retrieved password to log in.

You can now move on to step #2 in the [Getting Started Guide](getting_started.md].