$ terraform apply # AWS labs, with a runner

AWS infrastructure defined in Terraform. scripts/run-lab.sh runs each lab end to end: init → validate → apply → exercise against the live API → destroy, always destroying even when a step fails, and writes a Markdown evidence report. Guardrails: a budget alarm, tag-based orphan sweep, and a nuke for anything left behind. Labs are sized to cost well under a dollar per run.

$ gh run view 36888842277 # lab 06, the flagship

A containerized API on ECS Fargate behind an ALB, deployed by GitHub Actions that assume an AWS role through OIDC (no long-lived keys). Lint → validate → build and push → plan → a human approval gate → apply → a smoke test against the live endpoint. Then a separate destroy workflow counts survivors from the owning services, not a tagging index.

lint ✓validate ✓build + push (OIDC) ✓ plan ✓approval ✓apply ✓smoke ✓ lab 06 · GitHub Actions run 36888842277 · 2026-10-01
$ bash ./exercise.sh evidence
PASS: ALB /healthz returned 200 {"status":"ok"}
PASS: 2 healthy targets (desired 2)
PASS: service runningCount == desiredCount (2)
PASS: every running task runs the ECR digest for tag bf99413a… (sha256:486cd195…)
PASS: /version reports the deployed tag (bf99413a…)
$ gh workflow run lab06-destroy.yml   # 34 resources destroyed · survivors by owning services: 0 · ~1.5 h up ≈ $0.15

$ ls labs/ # each one applied, exercised, destroyed

Loading labs…

★ Full labs repo on GitHub ↗

⇄ Networking labs

Linux + Raspberry Pi + AWS networking labs — each a study-grade write-up with topology, key steps, and an honest "be ready to explain" list.

▶ Building next (ranked by what 34 current entry-level cloud postings ask for)

Counts: postings containing the term, out of 34 entry/mid cloud postings open on 2026-09-30 (support, CloudOps, Cloud Engineer I/II, junior DevOps/SRE, NOC). Certs named: SAA 3, CCP 2, CloudOps 1; CompTIA 1; ITIL 0.

$ ./market-scan # what cloud postings ask for, auto-updated

A demand signal from — job postings my own job-search agent has collected, blended with current AWS and networking hiring trends. An agent on my Pi regenerates this weekly and turns uncovered skills into the "building next" list above.

☁ AWS — most mentioned

⇄ Networking — most mentioned

next: experience →