A comprehensive GitOps learning laboratory featuring multiple tools and workflows for modern DevOps practices.
This repository contains hands-on demonstrations of popular GitOps tools and patterns:
- Kind + ArgoCD: Kubernetes-native GitOps with declarative deployments
- Terraform + Atlantis: Infrastructure as Code with automated PR workflows
- Flux: GitOps toolkit with automatic image updates
# Clone the repository
git clone https://github.com/your-org/gitops-lab.git
cd gitops-lab
# Start Kind cluster with ArgoCD
make kind-argocd
# Verify ArgoCD is running
kubectl get pods -n argocd
- Local Kubernetes cluster with ArgoCD
- Sample guestbook application
- Declarative GitOps workflows
- Infrastructure as Code automation
- PR-based Terraform workflows
- AWS S3 bucket provisioning example
- Automatic image updates
- Helm-based deployments
- GitOps automation with Flux
# Kind + ArgoCD
make kind-argocd # Start Kind cluster with ArgoCD
make argocd-port-forward # Port-forward ArgoCD UI (localhost:8080)
# Atlantis
make atlantis-up # Start Atlantis with Docker Compose
make atlantis-down # Stop Atlantis
# Flux
make flux-bootstrap # Bootstrap Flux in Kind cluster
make flux-reconcile # Force reconciliation
# Utilities
make destroy # Clean up all resources
make lint # Run linting checks
- Docker
- Kind
- kubectl
- Terraform (for Atlantis demo)
- Flux CLI (for Flux demo)
- Start with Kind + ArgoCD: Learn declarative GitOps basics
- Explore Atlantis: Understand Infrastructure as Code automation
- Try Flux: Experience advanced GitOps with auto-updates
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
MIT License - see LICENSE file for details.
- Kind cluster not starting: Check Docker is running
- ArgoCD UI not accessible: Ensure port-forward is active
- Atlantis webhooks: Configure GitHub webhook URL correctly
# Check Kind cluster status
kind get clusters
# View ArgoCD admin password
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
# Reset everything
make destroy && make kind-argocd