.
Argo CD

Declarative, GitOps continuous delivery for Kubernetes
🚀 Why Argo CD?
Application definitions, configurations, and environments should be declarative and version controlled. Application deployment and lifecycle management should be automated, auditable, and easy to understand.

Argo CD user interface showing application deployments
🔄 How It Works
Argo CD follows the GitOps pattern of using Git repositories as the source of truth for defining the desired application state. Kubernetes manifests can be specified in several ways:
- Kustomize applications
- Helm charts
- Jsonnet files
- Plain directory of YAML/JSON manifests
- Any custom config management tool configured as a config management plugin
Argo CD automates the deployment of the desired application states in the specified target environments. Application deployments can track updates to branches, tags, or be pinned to a specific version of manifests at a Git commit. See tracking strategies for additional details about the different tracking strategies available.
📋 Provision
vagrant up --provision-with basetools,docsify,docker,minikube,argocd
docker compose exec hashiqube /bin/bash
bash hashiqube/basetools.sh
bash docker/docker.sh
bash docsify/docsify.sh
bash minikube/minikube.sh
bash argocd/argocd.sh
🛠️ Provisioner Script
The following script automates the Argo CD deployment on Minikube:
🔗 Additional Resources
- Argo CD Official Documentation
- DevOpsCube: Setup Argo CD Using Helm
- Argo CD Best Practices
- GitOps with Argo CD
🚪 Access Information
After provisioning, you can access Argo CD at:
- URL: http://localhost:30080
- Username: admin
- Password: Retrieve using the command below:
minikube kubectl -- get secret argocd-initial-admin-secret -n argocd -o jsonpath="{.data.password}" | base64 -d
📚 Key Features
- Automated deployment of applications to specified target environments
- Multiple config management tools support (Kustomize, Helm, Jsonnet, etc.)
- Webhooks integration for automated GitOps workflows
- Web UI for application management and visualization
- Application health status analysis
- SSO Integration with OIDC, OAuth2, LDAP, SAML 2.0, GitHub, GitLab, Microsoft, LinkedIn
- Webhook integrations (GitHub, BitBucket, GitLab)
- PreSync, Sync, PostSync hooks for complex application rollouts
- Prometheus metrics for monitoring