Deploy your apps to multiple Kubernetes clusters using ArgoCD - the simple way.
- Each cluster runs its own ArgoCD
- Each app repo contains its own Kubernetes configs
- No complicated central GitOps repo
- Deploy to: Colima, GKE, EKS, DigitalOcean, Minikube
./scripts/install-argocd.sh <cluster-name> # e.g. minikube, colima, gke-*# In each of your demo app repositories:
./scripts/setup-app-repo.sh./scripts/deploy-apps.shThat's it! Your apps are now deployed via GitOps.
- Each cluster has its own ArgoCD instance
- Each app has a
k8s/folder with manifests for each cluster - ArgoCD watches your app repos and deploys when you push changes
your-app-repo/
├── src/ # Your application code
├── k8s/
│ ├── base/ # Base Kubernetes manifests
│ └── overlays/ # Cluster-specific configs
│ ├── colima/
│ ├── gke/
│ ├── eks/
│ ├── do/
│ └── minikube/
└── Dockerfile
- Run the quick start commands above
- Customize cluster configs in
k8s/overlays/ - Push changes to see them deployed automatically
scripts/install-argocd.sh <cluster-name>- Install ArgoCD (core + dashboard) on a clusterscripts/uninstall-argocd.sh <cluster-name>- Remove ArgoCD and its CRDs from a clusterscripts/setup-app-repo.sh- Add k8s configs to an app reposcripts/deploy-apps.sh- Deploy all apps to all clustersscripts/get-argocd-passwords.sh- Get ArgoCD admin passwords
ArgoCD not syncing?
kubectl config use-context <cluster>
kubectl port-forward svc/argocd-server -n argocd 8080:443
# Visit https://localhost:8080App not deploying to a cluster?
- Check if
k8s/overlays/<cluster>/exists in your app repo - Verify the cluster context name matches
Want to customize further? Check out the detailed docs:
docs/architecture.md- Architecture decisionsdocs/customization.md- Advanced configuration options