This README explains how to create a lightweight local Kubernetes cluster using Kind. It assumes you're using macOS or Linux-based environment. The Argo CD instance running inside that cluster will be exposed online using the ngrok Ingress Controller for Kubernetes.
Install Docker on your development machine.
Tip
If you're using macOS, refer to the Docker resources guide for macOS to ensure your Docker installation has access to a couple of cores and gigabytes of RAM before continuing.
Install the following CLIs. Most are available via package managers such as
brew
:
A setup.sh
script is included in this directory to simplify the creation of
your Kubernetes cluster using Kind, and the installation and configuration of
Argo CD inside the Kubernetes cluster.
Important
If you're using an unpaid ngrok account, go to Cloud Edge > Domains and create a new domain. Use that domain as the value for the NGROK_ARGOCD_HOSTNAME
in the script below.
cd kind-cluster/
# Edit the "owner", "repo", and "repoURL" fields to match the GitHub org/username
# that you forked the application and manifest repositories under
vi application-set.yaml
# Run the setup script with your NGROK credentials
NGROK_API_KEY="api-key-goes-here" \
NGROK_AUTHTOKEN="authtoken_goes_here" \
NGROK_ARGOCD_HOSTNAME="argocd.$USER.ngrok.app" \
./setup.sh
Once the setup is complete you will see that the details of your Argo CD instance are printed. These are the values that are required as secrets in the application repository.