Learn Cloud, DevOps & AIOps from scratch
Build the tool. Use the tool. Ship an artifact.
Every lesson in this curriculum follows the same arc. You start with a real production problem, build the mechanism yourself from the standard library (a container runtime, a scheduler, a state file with plan and apply, a metrics store, an incident-triage agent), then do the same job with the tool the industry actually runs (Docker, Kubernetes, Terraform, Prometheus, an MCP server) so you can map one onto the other. You leave with a reusable prompt, skill or agent definition in your own toolbox, a quiz score, and tests that prove your build works.
Every lesson is a folder of plain files in the GitHub repository: read it here at cloudcaptain.io/learn, on GitHub, or inside your coding agent with the tutor skills. The long-form guides, cheat sheets, interview questions and exam prep that CloudCaptain is known for are the Reference layer at cloudcaptain.io/docs; lessons link into it rather than repeating it.
Phases
- Build Lab Doctor
- Build PID 1 & Signals
- Build File Descriptors
- Build Syscalls & strace
- Build Permissions & Caps
- Build systemd Units
- Build cgroups v2
- Build Mounts & Overlay
- Build Performance Basics
- Build IP Routing
- Build DNS Resolution
- Build TCP Timeouts
- Build Packet Capture
- Build TLS Handshake
- Build HTTP Server
- Build Load Balancing
- Build HTTP Caching
- Build Git Objects
- Build Merge Queues
- Build Process Isolation
- Learn Image Layers
- Build Registry Pull
- Build Image Build
- Build Container Networking
- Build Compose
- Build Rootless Podman
- Build Runtime Security
- Build Reconcile Loops
- Build Pod Scheduling
- Build Kubelet Lite
- Build Services and DNS
- Build RBAC Authorizer
- Build Helm From Scratch
- Build CRDs & Operators
- Build Gateway API
- Build Plan and Apply
- Build Dependency Graph
- Build Modules & Variables
- Build Remote State Locking
- Build Drift Detection
- Build Policy as Code
- Build Pulumi and Crossplane
- Build Ansible Config
- Build Pipeline Runner
- Build Workflow Security
- Build CI OIDC Federation
- Build SBOM Inventory
- Build Signing & Provenance
- Build GitOps Reconciler
- Build Progressive Delivery
- Build Release Versioning
- Build IAM Policy Evaluator
- Build VPC Reachability
- Build S3 Signing
- Build Lambda Runtime
- Build Auto Scaling Groups
- Build FinOps and FOCUS
- Build Security Posture
- Build Metrics and TSDB
- Build PromQL Queries
- Build Distributed Tracing
- Build SLO Burn Rates
- Build Incident Response
- Build Chaos Experiments
- Build Admission Policy
- Build Runtime Detection
- Build Network Policy
- Build Secret Scanning
- Build Workload Identity
- Build CIS Benchmark
- Build GPU Scheduling
- Build LLM Serving
- Build AI Gateway
- Build Inference Autoscaling
- Build Inference Routing
- Build Vector Search
- Build Model Artifacts
- Build AI FinOps
- Build MCP for kubectl
- Build Triage Agent
- Build Log Analysis
- Build LLM Observability
- Build Agent Sandboxes
- Build Safe Write Tools
- Build Agent Evals
Planned phases
Numbered once, published as lessons land. Track progress in ROADMAP.md.
Learning paths
- DevOps Engineer 77 lessons · 112.5 hFrom a single Linux process to a GitOps-driven platform. The default path if you are not sure where to start.
- AIOps Engineer 9 lessons · 14 hFor engineers who already run Kubernetes and want to put agents to work on it safely: tool servers, guardrails, triage agents, evaluations.
- AI Platform Engineer 23 lessons · 33.5 hFor platform and infrastructure engineers who have to run models: GPU scheduling, model servers, gateways, autoscaling, routing, vector stores, model supply chain and cost.
Current tool versions
Refreshed weekly from GitHub releases (last check 2026-11-02). Lessons reference these instead of pinning numbers that go stale.
Deprecation watch
Retired, removed or relicensed tech that tutorials across the web still teach as current. Every lesson and reference page is scanned for these.
| What | Status | Use instead |
|---|---|---|
| ingress-nginx controller | retired 2026-03-26 | Gateway API with a maintained implementation (Envoy Gateway, Cilium, Istio, kgateway); migrate with ingress2gateway |
| Bitnami free images and charts | moved 2025-08-28 | official upstream images; bitnamilegacy for frozen copies |
| Docker Swarm | maintenance 2025-07-01 | Kubernetes (k3s or a managed service); Swarm remains supported by Mirantis through at least 2030 |
| Google Container Registry (gcr.io) | shut down 2025-03-18 | Artifact Registry (REGION-docker.pkg.dev) |
| actions/upload-artifact@v3 and download-artifact@v3 | removed 2025-01-30 | actions/upload-artifact@v4 or newer |
| AWS CodeCommit | closed to new customers 2024-07-25 | GitHub, GitLab or Bitbucket through AWS CodeConnections |
| Terraform described as open source | relicensed 2023-08-10 | BUSL 1.1 (source-available); OpenTofu is the MPL-licensed fork |
| kubectl --record | removed 2023-04-11 | the kubernetes.io/change-cause annotation |
| k8s.gcr.io | frozen 2023-04-03 | registry.k8s.io |
| PodSecurityPolicy | removed 2022-08-23 | Pod Security Admission (Pod Security Standards) and policy engines such as Kyverno or OPA Gatekeeper |
| apt-key | deprecated 2022-01-01 | a keyring under /etc/apt/keyrings referenced with signed-by |
Certification prep
Exam guides live in the Reference layer; phases tell you when you are ready.
Learn in your terminal
The tutor skills install into Claude Code, Cursor, Codex and any agent that reads SKILL.md files:
npx skills add nomadicmehul/CloudCaptain
Then /captain-start for a placement quiz and a personal plan, /captain-learn for one lesson per session, /captain-guide to ask where a topic lives, and /captain-check <phase> for a Socratic review. Progress is written to LEARNING.md in your project.
Run it locally
git clone https://github.com/nomadicmehul/CloudCaptain.git
cd CloudCaptain/curriculum/phases/05-containers/01-process-isolation
python3 -m unittest discover -s code/tests -v
Every lesson folder has docs/en.md, code/ with tests, quiz.json and outputs/. The contract is in LESSON_TEMPLATE.md; the validator in scripts/build-curriculum.mjs enforces it, so contributing a lesson is a matter of filling in the template until the validator is happy.