You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The real, reusable code that runs my server. Labs produce this code; later labs replace earlier manual work with it.
Rule of thumb: if I'd want to run it again next month, it belongs in an infrastructure folder, and the lab links to it. See docs/conventions.md.
Learning path:docs/learning-roadmap.md is the curriculum behind the labs: 14 skill domains (plus service mesh and data tracks) in levels, with checkpoints, resources, certifications, fundamentals and career skills, and a 21-month plan.
Demo app: frontend β hello-api + quotes (v1/v2), all on k3d. Learn the concepts with Linkerd, go deep with Istio, then compare sidecarless options (Istio ambient, Cilium).
Each data service is run with Docker Compose first, then on k3d with its operator, through the same checklist: deploy, HA, backup + restore, monitoring, upgrades, security. Run one at a time: Kafka and MongoDB clusters need a few GB of RAM each.
New labs get the next number (61, 62, β¦) and a new phase heading if needed: DevSecOps and SRE (phases 13β14, planned in the learning roadmap), or whatever comes next.
Repository layout
OpsForge/
βββ labs/ # one folder per lab: knowledge.md (learn) + README.md (practice)
βββ apps/ # sample applications deployed during the labs
βββ stacks/ # Docker Compose stacks (proxy, self-hosted tools, monitoring)
βββ scripts/ # standalone shell scripts (backup, helpers)
βββ ansible/ # server configuration as code
βββ terraform/ # cloud resources as code
βββ k8s/ # Kubernetes manifests, Helm charts, GitOps apps
βββ .github/workflows/ # CI/CD pipelines
βββ docs/
βββ learning-roadmap.md # curriculum: domains, levels, checkpoints, plan
βββ architecture.md # what currently runs on the server
βββ conventions.md # naming, secrets, workflow rules
βββ decisions/ # why I chose X over Y (ADRs)
Environment
Server: 1 VPS, 2 vCPU / 4 GB RAM (enough for every lab, including K3s)