Labs Overview
How TLD labs work — format, difficulty, scoring, and lifecycle.
What is a lab?
A TLD lab is a self-contained, broken infrastructure scenario with an automated validator. You receive a description of the problem, access to the broken environment, and a command to run when you think it's fixed.
Labs are organized into tracks (Docker, Linux, Kubernetes, etc.) and sections within each track. Each section teaches a specific concept through a series of related labs.
Lab format
Every lab on disk has the following structure:
| File | Purpose |
|---|---|
| README.md | The scenario the learner reads — objective, background, hints |
| validator.sh | Bash script that exits 0 on pass, non-zero on fail |
Difficulty levels
| Level | What to expect | Time estimate |
|---|---|---|
| Beginner | Single concept, guided hints, clear error messages | 5–15 min |
| Intermediate | Multi-step fixes, less guidance, real-world scenarios | 15–45 min |
| Advanced | Production-grade incidents, multiple root causes, no hints | 45–120 min |
| Expert | SRE-level incidents, cascading failures, time pressure | 2–4 hours |
Scoring and XP
Each lab awards XP based on difficulty and whether you used hints.
| Difficulty | XP (no hints) | XP (with hints) |
|---|---|---|
| Beginner | 100 XP | 50 XP |
| Intermediate | 250 XP | 125 XP |
| Advanced | 500 XP | 300 XP |
| Expert | 1000 XP | 600 XP |
Lab lifecycle
- 1Start
tld lab start <lab-id> — pulls the Docker environment and prints the scenario.
- 2Solve
Investigate and fix the broken system using real tools in your terminal.
- 3Validate
tld check — runs the validator and reports which checks passed and which failed.
- 4Repeat
Fix remaining failures and re-run tld check as many times as needed.
- 5Complete
All checks pass — XP is awarded and the lab is marked complete in your history.
- 6Cleanup
tld lab stop removes all containers and volumes created by the lab.
