Skip to content

Commit 11c3725

Browse files
committed
docs: add public project docs and QA-facing repo landing page
1 parent 1f66756 commit 11c3725

4 files changed

Lines changed: 880 additions & 46 deletions

File tree

README.md

Lines changed: 89 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,120 @@
11
# Linux Administration Challenge Lab
22

3-
> Train for real Linux operations, incidents, and recovery.
3+
Train for real Linux operations, incidents, and recovery.
44

5-
## What This Is
5+
## What This Project Is
66

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.
88

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**.
1010

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.
1215

1316
## Why It Exists
1417

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.
1619

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.
1821

19-
## Environment Pack Model
22+
## Current Project Status
2023

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**.
2225

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
2830

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.
3032

31-
See [docs/architecture/environment-pack-framework.md](docs/architecture/environment-pack-framework.md) for the full framework.
33+
## Current Distro Scope
3234

33-
## v1 Focus
35+
Current distro-family policy for pack design and QA:
3436

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
3639

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.
4241

43-
## Repository Structure
42+
## What Pack 01 Is
4443

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:
5562

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)
5767

58-
## Supported Platforms
68+
## What QA Help Is Wanted
5969

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:
6171

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
6378

64-
## Current Status
79+
## Truth Sources During This Stage
6580

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.
6782

68-
## What Comes Next
83+
For now, contributors and testers should treat these as more authoritative:
6984

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.
75118

76119
## License
77120

0 commit comments

Comments
 (0)