|
1 | 1 | # Linux Administration Challenge Lab |
2 | 2 |
|
3 | | -> Train for real Linux operations, incidents, and recovery. |
| 3 | +Train for real Linux operations, incidents, and recovery. |
4 | 4 |
|
5 | | -## What This Is |
| 5 | +## What This Project Is |
6 | 6 |
|
7 | | -A public, portable, Git-based Linux challenge platform. |
| 7 | +Linux Administration Challenge Lab is a public, Git-based training lab project for realistic Linux administration practice. |
8 | 8 |
|
9 | | -Instead of isolated single-command exercises, this project provides **environment packs** — prepared Linux environments where learners solve multiple realistic administration scenarios without rebuilding the lab between each task. |
| 9 | +The project is built around **environment packs**. |
10 | 10 |
|
11 | | -Each pack maps to a cluster of real-world Linux topics (filesystems, permissions, services, networking, recovery, etc.) and contains 10–20 scenarios that share a common operational state. Scenarios are difficult by design: broken configurations, ambiguous symptoms, chained failures, and time-sensitive recovery tasks. |
| 11 | +- It is **not** one scenario = one environment. |
| 12 | +- It **is** one environment pack = multiple related scenarios in one prepared environment. |
| 13 | + |
| 14 | +Each pack is a reusable Linux lab state with its own setup, validation, reset, and checkpoint behavior. Learners and testers work through multiple scenarios in that shared environment instead of rebuilding the lab after every task. |
12 | 15 |
|
13 | 16 | ## Why It Exists |
14 | 17 |
|
15 | | -Most Linux training labs are too clean, too guided, and too disconnected from real administration work. Learners memorize commands but struggle when they encounter messy environments, layered problems, or production-style pressure. |
| 18 | +Many Linux exercises teach command syntax in clean, isolated setups. Real administration work is messier: bad handovers, layered symptoms, partial failures, confusing permissions, noisy logs, and recovery pressure. |
16 | 19 |
|
17 | | -This project bridges that gap by simulating realistic operational conditions — broken handovers, misconfigured services, rogue files, access failures, and incident-level urgency — inside portable, reproducible lab environments. |
| 20 | +This project exists to close that gap with portable challenge environments that feel closer to real operations work and that reward careful inspection, validation, and recovery discipline. |
18 | 21 |
|
19 | | -## Environment Pack Model |
| 22 | +## Current Project Status |
20 | 23 |
|
21 | | -The primary unit of content is the **environment pack**, not the isolated scenario. |
| 24 | +This repository is being prepared for an early public push centered on **Pack 01 QA and contributor feedback**. |
22 | 25 |
|
23 | | -- One pack = one prepared environment + many related scenarios |
24 | | -- Scenarios share a common directory structure, users, services, and state |
25 | | -- Learners progress through scenarios without full reprovisioning |
26 | | -- Packs support setup, validation, checkpoint, and reset at the pack level |
27 | | -- Scenario state impact is classified so chaining is safe and predictable |
| 26 | +- **Current implementation focus:** Pack 01 |
| 27 | +- **Current Pack 01 state:** implemented to a usable baseline and ready for QA/testing |
| 28 | +- **Current release posture:** early testing and review, not broad release-hardening yet |
| 29 | +- **Next planned pack:** Pack 02 |
28 | 30 |
|
29 | | -This avoids the friction of per-scenario teardown/rebuild and creates realistic operational continuity. |
| 31 | +Outside testers and contributors are welcome, especially people who can help validate Pack 01 behavior, clarity, portability, and documentation quality. |
30 | 32 |
|
31 | | -See [docs/architecture/environment-pack-framework.md](docs/architecture/environment-pack-framework.md) for the full framework. |
| 33 | +## Current Distro Scope |
32 | 34 |
|
33 | | -## v1 Focus |
| 35 | +Current distro-family policy for pack design and QA: |
34 | 36 |
|
35 | | -v1 targets a usable public release with: |
| 37 | +- **Debian family:** Ubuntu LTS, Debian stable |
| 38 | +- **Red Hat family:** RHEL current major, CentOS Stream current major |
36 | 39 |
|
37 | | -- **Pack 01 — Linux Foundations Under Pressure:** filesystem, command-line, users/groups, permissions, sudo, archives, process investigation |
38 | | -- **Pack 02 — Operational Administration:** shell scripting, packages, networking, services, logs, scheduled tasks, mounts, backup/restore basics |
39 | | -- Support for **single-VM** and **two-VM** topologies |
40 | | -- Platform guidance for **Hyper-V**, **VirtualBox**, **Proxmox**, and **VMware** |
41 | | -- Portable automation using **Bash** and **Ansible** |
| 40 | +Packs should remain family-portable where practical. Exact tested distro versions should be pinned in pack metadata and verified during pack QA. |
42 | 41 |
|
43 | | -## Repository Structure |
| 42 | +## What Pack 01 Is |
44 | 43 |
|
45 | | -| Area | Purpose | |
46 | | -|---|---| |
47 | | -| `docs/` | Architecture, roadmap, platform guides, standards | |
48 | | -| `ansible/` | Playbooks, roles for baseline and pack deployment | |
49 | | -| `scripts/` | Shell entrypoints for bootstrap, deploy, validate, reset | |
50 | | -| `inventories/` | Example and local Ansible inventories | |
51 | | -| `environment-packs/` | Pack directories (Pack 01, Pack 02, `_template`) | |
52 | | -| `templates/` | Canonical YAML templates for packs and scenarios | |
53 | | -| `tests/` | Smoke tests and metadata validation | |
54 | | -| `.github/workflows/` | CI workflows (lint, smoke) | |
| 44 | +**Pack 01: Linux Foundations Under Pressure** is the current public testing target. |
| 45 | + |
| 46 | +It is a single-VM environment pack that covers: |
| 47 | + |
| 48 | +- filesystem navigation and file management |
| 49 | +- command-line utilities and text handling |
| 50 | +- users and groups |
| 51 | +- permissions and ownership |
| 52 | +- sudo basics |
| 53 | +- POSIX ACLs |
| 54 | +- archives and compression |
| 55 | +- basic storage and mount symptoms |
| 56 | +- basic process/runtime investigation |
| 57 | +- troubleshooting method |
| 58 | + |
| 59 | +Pack 01 is meant to be one coherent shared environment with multiple linked scenarios, not a directory of disconnected mini-labs. |
| 60 | + |
| 61 | +Start here: |
55 | 62 |
|
56 | | -See [docs/architecture/repository-architecture.md](docs/architecture/repository-architecture.md) for the full layout and layer model. |
| 63 | +- [Pack 01 overview](environment-packs/pack-01-linux-foundations-under-pressure/README.md) |
| 64 | +- [Pack 01 learner guide](environment-packs/pack-01-linux-foundations-under-pressure/docs/learner-guide.md) |
| 65 | +- [Pack 01 operator notes](environment-packs/pack-01-linux-foundations-under-pressure/docs/operator-notes.md) |
| 66 | +- [Pack 01 checkpoints](environment-packs/pack-01-linux-foundations-under-pressure/docs/checkpoints.md) |
57 | 67 |
|
58 | | -## Supported Platforms |
| 68 | +## What QA Help Is Wanted |
59 | 69 |
|
60 | | -The core lab logic (scripts, playbooks, pack definitions) is platform-agnostic. Platform-specific guidance lives in `docs/platforms/` and covers VM creation, networking, and snapshot workflows for each hypervisor. |
| 70 | +Early public QA help is most useful in these areas: |
61 | 71 |
|
62 | | -v1 targets local hypervisors. Cloud deployment guidance (Azure, AWS) is planned for later. |
| 72 | +- validate Pack 01 setup, validation, and reset behavior |
| 73 | +- test Pack 01 on supported distro families |
| 74 | +- review scenario wording for clarity and realism |
| 75 | +- identify portability issues between Debian-family and Red Hat-family targets |
| 76 | +- check that validators reject lazy or over-broad fixes |
| 77 | +- flag documentation gaps for first-time learners and contributors |
63 | 78 |
|
64 | | -## Current Status |
| 79 | +## Truth Sources During This Stage |
65 | 80 |
|
66 | | -**Repository foundation complete.** The scaffold, architecture docs, pack framework, and manifest templates are in place. Pack 01 scenario authoring is the next milestone. |
| 81 | +Pack 01 scenario README files are still maturing. |
67 | 82 |
|
68 | | -## What Comes Next |
| 83 | +For now, contributors and testers should treat these as more authoritative: |
69 | 84 |
|
70 | | -1. Define the Pack 01 scenario sequence (10–20 scenarios) |
71 | | -2. Author Pack 01 setup automation (Ansible + Bash) |
72 | | -3. Author Pack 01 scenario content and validation |
73 | | -4. Write platform deployment guides |
74 | | -5. First public release |
| 85 | +- `pack.yaml` |
| 86 | +- scenario `scenario.yaml` files |
| 87 | +- Pack 01 pack-level docs such as the learner guide and operator notes |
| 88 | + |
| 89 | +## Key Project Documents |
| 90 | + |
| 91 | +- [Project Charter](docs/project/project-charter.md) |
| 92 | +- [Project Status](docs/project/project-status.md) |
| 93 | +- [Linux Training Roadmap v2](docs/roadmap/linux-training-roadmap-v2.md) |
| 94 | +- [Contributing](CONTRIBUTING.md) |
| 95 | +- [Environment pack framework](docs/architecture/environment-pack-framework.md) |
| 96 | +- [Repository architecture](docs/architecture/repository-architecture.md) |
| 97 | +- [Pack catalog](docs/packs/pack-catalog.md) |
| 98 | + |
| 99 | +## Repository Guide |
| 100 | + |
| 101 | +| Path | Purpose | |
| 102 | +|---|---| |
| 103 | +| `environment-packs/` | Pack implementations and pack-local docs | |
| 104 | +| `docs/project/` | Project charter and current status | |
| 105 | +| `docs/roadmap/` | Roadmap and planning references | |
| 106 | +| `docs/architecture/` | Pack-first and portability design docs | |
| 107 | +| `docs/standards/` | Pack/scenario/review standards | |
| 108 | +| `ansible/` | Shared automation entry points | |
| 109 | +| `scripts/` | Shared shell helpers and entry points | |
| 110 | +| `tests/` | Repository-level checks and smoke coverage | |
| 111 | + |
| 112 | +## Contributor Notes |
| 113 | + |
| 114 | +- Pack 01 is the current review target. |
| 115 | +- Pack 02 is planned next, but it is not the focus of this public QA pass. |
| 116 | +- This project is environment-pack-first by design; avoid proposing one-scenario-per-environment rewrites. |
| 117 | +- Keep durable changes Git-tracked and portable across supported distro families. |
75 | 118 |
|
76 | 119 | ## License |
77 | 120 |
|
|
0 commit comments