aula-11: ArgoCD + GitLab Runner para GitOps CI/CD

- ArgoCD via Helm com recursos mínimos (~1Gi)
- GitLab Runner com executor Kubernetes
- Exemplo node-bugado com Dockerfile e .gitlab-ci.yml
- Manifests K8s para repositório GitOps
- README.md da aula-03 (liveness + readiness probes)
This commit is contained in:
Allyson de Paula
2025-12-31 21:19:40 -03:00
parent 07b7ee62d3
commit 8e743f6e69
14 changed files with 1611 additions and 0 deletions

View File

@@ -18,6 +18,7 @@ This is a workshop repository for teaching Docker and Kubernetes concepts, speci
- **aula-08/**: OpenTofu - provisioning HA Talos Kubernetes cluster on Hetzner Cloud with CCM and LoadBalancer
- **aula-09/**: Kubernetes lesson - n8n deployment via Helm (Hetzner Cloud with CSI Driver and multi-tenant support)
- **aula-10/**: Kubernetes lesson - GitLab deployment via Helm with Container Registry and SSH
- **aula-11/**: Kubernetes lesson - ArgoCD + GitLab Runner for GitOps CI/CD pipelines
## Running the Examples
@@ -141,6 +142,27 @@ Prerequisites:
To remove: `./cleanup.sh`
### Aula 11 (Kubernetes - ArgoCD + GitLab Runner)
```bash
cd aula-11
export KUBECONFIG=/path/to/aula-08/kubeconfig
./setup.sh
```
Implements GitOps CI/CD pipeline with:
- GitLab Runner (Kubernetes executor) for CI pipelines
- ArgoCD for declarative GitOps continuous deployment
- Integration with GitLab self-hosted (aula-10)
- Example application with Dockerfile and GitLab CI pipeline
Pipeline flow: git push → GitLab CI (build) → Registry (push) → GitOps repo (update) → ArgoCD (sync) → Kubernetes (deploy)
Prerequisites:
- Completed Aula 10 (GitLab)
- NGINX Ingress with LoadBalancer
- DNS configured for ArgoCD hostname
To remove: `./cleanup.sh`
## App Behavior
The Node.js app (`app.js`) is intentionally designed to: