Cloud-native reference project running on K3s/Multipass. Refer to Project description for details about the project.
- Project status: see
docs/PROJECT_STATUS.md - Apps overview and manual deploy steps: see
apps/README.md - GitOps and infra manifests: see
gitops/infra/README.md - Deploy script entry point:
scripts/deploy.sh
This project sets up a complete cloud-native environment with:
- Infrastructure: Multipass VMs running K3s Kubernetes cluster
- Authentication: Keycloak identity and access management
- Applications: Production-ready Task API with PostgreSQL database
- Monitoring: Prometheus and Grafana for observability (templates provided)
- Automation: Terraform and Ansible for infrastructure management
- GitOps: ArgoCD for continuous deployment
- Multipass installed
- Terraform installed
- Ansible installed
- kubectl installed
- SSH key pair generated (
~/.ssh/id_rsaand~/.ssh/id_rsa.pub)
Note: Pre-requisites are automatically installed by
scripts/setup.sh
-
Clone the repository:
git clone <repository-url> cd cloud-native-gauntlet
-
Run the automated setup script:
chmod +x scripts/setup.sh ./scripts/setup.sh
-
Verify the cluster:
kubectl get nodes kubectl get pods --all-namespaces
-
Install GitOps with ArgoCD (optional):
chmod +x gitops/scripts/install-argocd.sh ./gitops/scripts/install-argocd.sh
-
Deploy applications (optional):
chmod +x scripts/deploy.sh ./scripts/deploy.sh
# Destroy infrastructure
cd infra/terraform
terraform destroy -auto-approve- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request