Getting Started with ArgoCD Demo¶
This guide will help you quickly get started with this ArgoCD demonstration project. Follow these steps to set up your environment and deploy your first application.
Overview¶
This project demonstrates GitOps principles using ArgoCD on a Kubernetes cluster. The setup includes:
- A local Kubernetes cluster using Kind
- ArgoCD installed via Terraform
- Sample applications deployed through ArgoCD
- Helm charts for application packaging
- Task automation for common operations
Quick Setup¶
To create the local Kubernetes cluster and deploy Argo CD, simply run:
Then copy the private key to the0-repo-secret.yaml
file for argocd-image-updater. Then copy the public key to the deploy key section in the github repo. Then run the next command. This single command will: 1. Create a local Kind cluster (if it's not already running). 2. Deploy Argo CD using the Terraform configuration. 3. Bootstrap argocd application using 1-sealed-secrets.yaml (this is generated by kubeseal and is the secret argocd will use to update the image in the github repo). 4. Bootstrap argocd application using 0-application.yaml (this is the application.yaml file with app of apps pattern, TF and helm). 5. Expose cluster kubeconfig for tools like lens 6. Add argocd helm repo
Then run:
You can now access the Argo CD UI at http://localhost:8080 with username admin
and for the password run(in a seperate terminal):
Then in a seperate terminal window run:
Then run:
Use the following command to clean up the cluster and terraform resources:
This will delete the cluster and terraform resources.Other Available Commands¶
To see a full list of all available tasks, run
task --list-all
Git Workflow with Git Flow¶
The Taskfile.gitflow.yml
provides a structured Git workflow using Git Flow. This helps in managing features, releases, and hotfixes in a standardized way.
use
task -t Taskfile.gitflow.yml --list-all
to see all gitflow tasks
Troubleshooting¶
If you encounter issues during setup:
- Ensure all prerequisites are installed
- Check the ArgoCD documentation for troubleshooting tips
- Review the ArgoCD Overview for configuration details