Core stack · host → provisioning → cluster → GitOps → edge
DevOps stack · observability + CI/CD + artifacts + autoscaling + serverless
A fully-automated, modular DevOps learning lab on one VMware VM. Toggle tools on/off in
values.yaml; ArgoCD installs or prunes them. Every tool is reachable at
https://<tool>.<your-domain> via a Cloudflare Tunnel — no port-forwarding, no public IP.
Important
This repo is a template — every tool ships enabled: false. Out of the box you
get a bare cluster (k3s + ArgoCD + Cloudflare Tunnel) and nothing else. To use it:
fork → set domain + repoURL in values.yaml → flip on
the tools you want → vagrant up. Enabling Jenkins + Nexus? Run the one-time
Bootstrap CI/CD step afterward.
Note
Optional eBPF networking: set cilium.enabled to swap Flannel + kube-proxy
for Cilium + Hubble. Unlike the ArgoCD tool toggles, it's a
provision-time flag (needs a fresh vagrant up).
📖 Docs: Prerequisites · Quick start · Configuration · Bootstrap CI/CD · Tools · KEDA · Knative · Cilium + Hubble · Passwords · Networking · VM sizing · Troubleshooting
🧩 Want to deploy your own app? Copy the example/ app — manifests + ArgoCD setup, fully explained.
flowchart LR
v[gitops/root/values.yaml<br/>domain + tool flags] --> vg[vagrant up]
vg --> an[Ansible bootstrap]
an --> k3s[k3s]
k3s -.->|cilium.enabled| ci[Cilium eBPF CNI<br/>+ Hubble]
an --> cf[cloudflared tunnel]
an --> ar[ArgoCD]
ar -->|pulls public repo| gh[(GitHub)]
gh --> tools[enabled tools<br/>grafana · loki · jenkins · nexus · keda]
Username is admin for every tool:
vagrant ssh -c "bash /vagrant/scripts/passwords.sh"If you enabled Jenkins + Nexus, run the one-time setup once both are Healthy. It creates the registry pull/push secrets, lets Traefik route to ExternalName services, and grants Jenkins least-privilege RBAC to deploy into your namespace:
vagrant ssh -c "bash /vagrant/scripts/config.sh"Full walkthrough and the pipeline it unlocks: Bootstrap CI/CD.
Apache License 2.0 © 2026 Xeze-org.