feat(content): author the ROOT_ V1 orientation module and three practice-bank intro lessons
- root-01-m00-welcome-to-root: program overview + Lab-lifecycle orientation (disposable Labs, permanent progress, hints, reset/recreate, help-requests). - One short intro-lesson activity for each of the three bare practice-bank modules (root-06-m01, root-07-m01, root-10-m02), explaining what the bank is and why it has no per-scenario teaching of its own — the minimum real authoring needed for genuine self-paced readiness without reclassifying them optional (see the curriculum migrations). Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
+66
@@ -0,0 +1,66 @@
|
||||
# Welcome to ROOT_
|
||||
|
||||
ROOT_ is RootNode Academy's path from "I can use a computer" to "I can run and repair real
|
||||
infrastructure." It's built for anyone roughly high-school age and up — including college
|
||||
students, career changers, help-desk technicians, junior sysadmins, and working developers who
|
||||
want to move into DevOps, cloud, or platform engineering. There's no strict age cutoff: what
|
||||
matters is whether you're ready for the material, not how old you are.
|
||||
|
||||
## Where ROOT_ goes
|
||||
|
||||
```
|
||||
ROOT 01 Computing & Linux Foundations
|
||||
ROOT 02 Linux Administration & Networking
|
||||
ROOT 03 Git & Collaborative Development
|
||||
ROOT 04 Containers & Docker
|
||||
ROOT 05 Kubernetes Foundations
|
||||
ROOT 06 Kubernetes Application Workloads
|
||||
ROOT 07 Kubernetes Networking & Configuration
|
||||
ROOT 09 Kubernetes Security
|
||||
ROOT 10 Kubernetes Troubleshooting & Observability
|
||||
ROOT 12 RootNode Real Ops
|
||||
CAPSTONE Operate and Recover a Production-Like Environment
|
||||
```
|
||||
|
||||
Each course builds on real skill from the one before it — you won't be asked to use a tool or
|
||||
concept that a previous course didn't already teach you. By the end, you'll have operated a real
|
||||
Kubernetes cluster, diagnosed and fixed real incidents, and demonstrated it in a hands-on
|
||||
capstone — not answered multiple-choice questions about it.
|
||||
|
||||
## How you'll actually learn
|
||||
|
||||
Every module follows the same rhythm:
|
||||
|
||||
**Learn → Practice → Lab → Troubleshoot → Validate**
|
||||
|
||||
- **Learn** — a short lesson introduces one real concept, plainly, with no unexplained jargon.
|
||||
- **Practice** — a demonstration or guided exercise lets you see the concept applied before
|
||||
you're on your own with it.
|
||||
- **Lab** — you do the real thing yourself, in your own disposable Lab environment: a real
|
||||
Linux shell, real Git, real Docker, and (from ROOT 05 onward) a real Kubernetes cluster.
|
||||
- **Troubleshoot** — Labs are built to sometimes not go as planned on the first try, on purpose.
|
||||
Figuring out why something didn't work is as much the skill as doing it right the first time.
|
||||
- **Validate** — your Lab checks its own result. You'll know immediately whether you actually
|
||||
solved it, not just whether you think you did.
|
||||
|
||||
## Self-paced or instructor-led
|
||||
|
||||
ROOT_ is built to work either way. If you're going through it on your own, every module gives you
|
||||
everything you need without a teacher in the room. If you're in an instructor-led class or camp,
|
||||
your instructor can see your progress, help when you're stuck, and add their own pacing and
|
||||
discussion on top of the same real curriculum — nothing about the platform changes between the
|
||||
two, only who else is watching your progress.
|
||||
|
||||
## Assessments and the Capstone
|
||||
|
||||
A few courses end in a short formal assessment — a handful of real, timed Lab tasks (not a
|
||||
multiple-choice quiz) that check you can actually do what the course taught, not just recognize
|
||||
the right answer. The program ends with the **Capstone**: no more new teaching, just a
|
||||
production-like environment with real incidents to find and fix, the same way you would on the
|
||||
job.
|
||||
|
||||
## Your progress is permanent — your Lab is not
|
||||
|
||||
One thing to know before you start: the Lab environment you work in is disposable and can be
|
||||
recreated at any time. Your academic progress is not. The next module covers exactly what that
|
||||
means and why it's nothing to worry about.
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
# Your Disposable Lab
|
||||
|
||||
Every hands-on Lab in ROOT_ gives you a real, isolated environment — a real Linux shell from
|
||||
ROOT 01 onward, real Git and Docker from ROOT 03-04, and a real Kubernetes cluster from ROOT 05
|
||||
onward. It's yours alone while you're working in it. Here's what you need to know before your
|
||||
first one.
|
||||
|
||||
## Disposable means disposable
|
||||
|
||||
Your Lab environment can be recreated at any time — when you start a new Lab, when an
|
||||
instructor resets a classroom session, or if the environment needs to be refreshed. When that
|
||||
happens, **anything that only exists inside the Lab disappears**: files you created in the
|
||||
terminal, a local Git repository you initialized, a Docker container or image you built, a
|
||||
Kubernetes object you deployed. None of that is backed up, and none of it needs to be — it was
|
||||
never the point.
|
||||
|
||||
## Your academic progress is not disposable
|
||||
|
||||
What IS permanent, stored on RootNode's servers the moment you earn it: which lessons you've
|
||||
read, which Labs you've completed, your assessment results, and your position in the course
|
||||
sequence. Recreating your Lab never erases any of that. You can lose a Lab entirely and pick up
|
||||
exactly where you left off in the course.
|
||||
|
||||
## How you know you actually solved it
|
||||
|
||||
Every Lab task validates itself — when you think you're done, you run the check and get a real
|
||||
pass/fail answer immediately, based on the real state of your environment, not on your own
|
||||
guess. If it fails, that's useful information, not a penalty: it's telling you specifically what
|
||||
isn't right yet.
|
||||
|
||||
## If you get stuck
|
||||
|
||||
Most Labs have hints available, revealed one at a time so you can try the next step yourself
|
||||
before seeing more. Using a hint doesn't cost you anything or affect your result — it's there to
|
||||
keep you moving, not to be avoided on principle. A formal, timed assessment may disable hints;
|
||||
if so, the assessment will tell you plainly before you start.
|
||||
|
||||
If a Lab's environment itself seems broken rather than the task being hard (a command that
|
||||
should work doesn't, the environment won't start), use **Reset Scenario & Environment** to tear
|
||||
down and rebuild it cleanly rather than fighting a broken environment.
|
||||
|
||||
## If you're in an instructor-led session
|
||||
|
||||
Your instructor can see your progress in real time and gets notified the moment you use **Need
|
||||
Help** — no need to wait to be noticed. Use it for anything: a Lab that seems broken, a concept
|
||||
that didn't click, or just wanting a second pair of eyes before you second-guess a working
|
||||
solution.
|
||||
|
||||
## Returning to the course
|
||||
|
||||
When you're done with a Lab — pass or still stuck — you can always return to the course view and
|
||||
come back to it later. Nothing about leaving a Lab mid-task loses your place.
|
||||
|
||||
You're ready. Let's start with how a computer actually runs the software you're about to spend
|
||||
this program controlling.
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
# Knowledge Check: Welcome to ROOT_
|
||||
|
||||
---
|
||||
|
||||
**1. If your Lab environment is recreated, what happens to a file you saved inside it, and
|
||||
what happens to your completed Labs so far?**
|
||||
|
||||
*Answer:* The file disappears — nothing inside the Lab persists across a recreation. Your
|
||||
completed Labs and course progress are unaffected — those are stored on RootNode's servers, not
|
||||
in the Lab, and survive regardless of what happens to any Lab environment.
|
||||
|
||||
**2. A Lab task fails your validation check. What should that tell you?**
|
||||
|
||||
*Answer:* Specifically what isn't correct yet, based on the real current state of your
|
||||
environment — it's diagnostic information to act on, not a penalty.
|
||||
|
||||
**3. Name one thing to try before assuming a Lab is "just broken."**
|
||||
|
||||
*Answer:* Check the available hints (revealed one at a time), and if the environment itself
|
||||
genuinely seems broken rather than the task being hard, use Reset Scenario & Environment to
|
||||
rebuild it cleanly.
|
||||
|
||||
---
|
||||
|
||||
## Instructor Notes
|
||||
|
||||
**Facilitation:** This is a good moment to actually demonstrate a Lab reset live if you have
|
||||
time — students remember "I saw it happen and nothing bad occurred" far better than being told
|
||||
it's safe.
|
||||
|
||||
**Approximate timing:** 3 minutes.
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
# Practice Bank: Deployments & Workloads
|
||||
|
||||
This module is different from the ones before it. There's no new lesson here — you already got
|
||||
the real teaching in **Deployments, Scaling & Updates** and **Jobs, CronJobs & DaemonSets**. This
|
||||
is eight short, focused Labs that drill the exact same skills at speed: deploy, scale, roll
|
||||
forward, add a liveness probe, edit a live object, and reason about Jobs/CronJobs/DaemonSets
|
||||
without a guided walkthrough alongside you.
|
||||
|
||||
## Why this exists
|
||||
|
||||
Real fluency with `kubectl` comes from repetition, not from reading about it a second time. Each
|
||||
Lab here is a small, self-contained task — no long setup, no new concepts — so you can move
|
||||
quickly and build the kind of muscle memory that matters when you're troubleshooting a real
|
||||
cluster under time pressure later in this program.
|
||||
|
||||
## How to use it
|
||||
|
||||
Work through the eight Labs in order. If one takes you more than a few minutes, that's useful
|
||||
information — it usually means the earlier module's concept hasn't fully clicked yet, and it's
|
||||
worth a quick re-read of that lesson before continuing rather than pushing through by trial and
|
||||
error.
|
||||
|
||||
## Instructor Notes
|
||||
|
||||
**Delivery:** This module has no lesson/demonstration/knowledge-check scaffolding by design — it
|
||||
is the original Phase 1-5 "workloads" scenario bank, reused here as a self-paced speed-practice
|
||||
set once the real teaching (root-06-m02/m03) has already landed. In an instructor-led cohort,
|
||||
this is a good candidate for a timed "workloads sprint" between the teaching modules and Jobs.
|
||||
|
||||
**Capstone note:** These eight scenarios are also the exact set the pre-existing
|
||||
`rootnode-path.json` "workloads" stage requires to unlock the Capstone assessment (a separate,
|
||||
older mechanism from this course's own prerequisite chain — see
|
||||
docs/ROOT_V1_CURRICULUM_MANIFEST.md). Do not mark this module optional/is_required=false without
|
||||
re-checking that gate; a student can only be told to skip it if the Capstone gate itself is
|
||||
intentionally changed too.
|
||||
|
||||
**Common mistake to watch for:** students treating the MCQ-style activities
|
||||
(jobs-cronjobs-mcq, daemonset-mcq, deployment-strategy-mcq) as throwaway trivia — they're
|
||||
checking the same conceptual judgment calls the reflection in root-06-m03 raised, just faster.
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
# Practice Bank: Services & Networking
|
||||
|
||||
Like the workloads practice bank before it, this module has no new lesson. **Services & Service
|
||||
Discovery** and **Ingress & NetworkPolicy Foundations** already taught the concepts. This is four
|
||||
short Labs that drill exposing a Deployment, reasoning about a NodePort, and resolving a Service
|
||||
by DNS from inside the cluster — the everyday networking moves you'll use constantly from here on.
|
||||
|
||||
## How to use it
|
||||
|
||||
Work through the four Labs in order. Two of them (`services-mcq`, `expose-service-basics`) will
|
||||
feel familiar — you did a close variant of `expose-service-basics` in the earlier teaching
|
||||
module. That's intentional: it's the same skill under slightly different conditions, checking
|
||||
that it generalizes rather than that you memorized one exact command.
|
||||
|
||||
## Instructor Notes
|
||||
|
||||
**Delivery:** No lesson/demonstration/knowledge-check scaffolding by design — this is the
|
||||
original Phase 1-5 "networking" scenario bank plus two extra Labs (`nodeport-task`,
|
||||
`dns-resolution-mcq`) not part of that original set, reused here as self-paced speed practice.
|
||||
|
||||
**Capstone note:** `services-mcq` and `expose-service-basics` are the exact pair the
|
||||
pre-existing `rootnode-path.json` "networking" stage requires to unlock the Capstone assessment
|
||||
— a separate, older mechanism from this course's own prerequisite chain (see
|
||||
docs/ROOT_V1_CURRICULUM_MANIFEST.md). Do not mark this module optional/is_required=false without
|
||||
re-checking that gate.
|
||||
|
||||
**Common mistake to watch for:** confusing a NodePort's cluster-internal ClusterIP with the
|
||||
node-level port it also opens — the DNS-resolution Lab is a good moment to have a student narrate
|
||||
out loud which address they expect to work from where.
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
# Practice Bank: General Troubleshooting Operations
|
||||
|
||||
**Kubernetes Health Probes & Troubleshooting** and **The RootNode Troubleshooting Framework**
|
||||
already taught you how to *think* about a broken cluster. This module is six short Labs that
|
||||
drill the individual `kubectl` operations you'll reach for while doing that thinking: pulling
|
||||
logs, copying files in and out of a container, running a one-off exec, cordoning a node, and
|
||||
reasoning about pod-to-node placement and log output.
|
||||
|
||||
## How to use it
|
||||
|
||||
Work through the six Labs in order. None of them require the full Observe/Evidence/Hypothesis/
|
||||
Test/Repair/Validate/Prevent framework from the previous module — they're deliberately narrower,
|
||||
so you can build raw command fluency without also holding the whole framework in your head at
|
||||
the same time.
|
||||
|
||||
## Instructor Notes
|
||||
|
||||
**Delivery:** No lesson/demonstration/knowledge-check scaffolding by design — this is the
|
||||
original Phase 1-5 "troubleshooting" scenario bank plus one extra Lab (`container-logging-mcq`)
|
||||
not part of that original set, reused here as self-paced speed practice.
|
||||
|
||||
**Capstone note:** The five original Labs (`extract-logs-basics`, `kubectl-cp-basics`,
|
||||
`exec-command-basics`, `node-cordon-basics`, `pod-node-assignment-mcq`) are the exact set the
|
||||
pre-existing `rootnode-path.json` "troubleshooting" stage requires to unlock the Capstone
|
||||
assessment — a separate, older mechanism from this course's own prerequisite chain (see
|
||||
docs/ROOT_V1_CURRICULUM_MANIFEST.md). Do not mark this module optional/is_required=false without
|
||||
re-checking that gate.
|
||||
|
||||
**Common mistake to watch for:** running `kubectl cp` with the source/destination arguments
|
||||
reversed — a good moment to have a student read the command back out loud before running it.
|
||||
Reference in New Issue
Block a user