chore: kunai_lab_bundles - restructure dir layout to mirror demo_lab_bundles shape
Umbrella: #69
Wave: WAVE_04 (since 2026-06-05)
T-01 of the kunai_lab_bundles refactor : restructure the legacy verbatim-cp arborescence (introduced in #113) to mirror demo_lab_bundles. Pure structural restructure - no lab content change (IPs, VM IDs, VM names preserved byte-identical).
Directory shape transition
| Legacy (pre this issue) |
New (this issue) |
01_init_proxmox/ |
01_templates-bootstrap/ |
02_kunai_lab_infrastructure/stage_00/ |
split : 03_trainer_infrastructure/stage_00-vm_bootstrap/ + 04_student_infrastructure/stage_00-vm_bootstrap/ |
02_kunai_lab_infrastructure/stage_01/_r42_kunai_lab_group.yml |
split : 03_trainer_infrastructure/stage_01-vm_configure/_baseline_trainer.yml + 04_student_infrastructure/stage_01-vm_configure/_baseline_student.yml |
| (none) |
02_admin_infrastructure/ (scaffold, reserved for future Wazuh / MISP gated via manifest/feature_flags.yml) |
File-level changes
- 9 renames (100% similarity) : 3 template files + 6 per-VM stage_00 files
- 1 deletion :
02_kunai_lab_infrastructure/stage_01/_r42_kunai_lab_group.yml (content split into 2 new _baseline_<group>.yml files below)
- 7 new files :
- 4
_main.yml (one per infra : 01_templates-bootstrap, 02_admin, 03_trainer, 04_student)
- 2 split
_baseline_<group>.yml (trainer + student, derived from the legacy _r42_kunai_lab_group.yml, plays per group targeted)
- 1
manifest/feature_flags.yml (mirrors demo's convention - WAZUH/MISP/TAILSCALE off by default)
- 2 modified files :
main.yml + main_vms_only.yml (rewired to import the per-infra _main.yml files ; per-VM vars moved from main.yml to the corresponding infra _main.yml)
Lab content preserved
The 6 VMs deployed by kunai_lab_bundles/main.yml after this issue are byte-identical to the legacy kunai_lab scenario :
| VM |
vm_id |
IP |
bridge |
template |
infra |
| admin-trainer-kunai |
1104 |
192.168.142.104 |
vmbr142 |
9232 |
03_trainer |
| student-kunai-01 |
1105 |
192.168.142.105 |
vmbr142 |
9232 |
04_student |
| student-kunai-02 |
1106 |
192.168.142.106 |
vmbr142 |
9232 |
04_student |
| student-kunai-03 |
1107 |
192.168.142.107 |
vmbr142 |
9232 |
04_student |
| student-kunai-04 |
1108 |
192.168.142.108 |
vmbr142 |
9232 |
04_student |
| student-kunai-05 |
1109 |
192.168.142.109 |
vmbr142 |
9232 |
04_student |
Inventory groups (r42_kunai_lab_trainer_group, r42_kunai_lab_students_group) unchanged. SSH aliases unchanged.
chore: kunai_lab_bundles - restructure dir layout to mirror demo_lab_bundles shape
T-01 of the
kunai_lab_bundlesrefactor : restructure the legacy verbatim-cp arborescence (introduced in #113) to mirrordemo_lab_bundles. Pure structural restructure - no lab content change (IPs, VM IDs, VM names preserved byte-identical).Directory shape transition
01_init_proxmox/01_templates-bootstrap/02_kunai_lab_infrastructure/stage_00/03_trainer_infrastructure/stage_00-vm_bootstrap/+04_student_infrastructure/stage_00-vm_bootstrap/02_kunai_lab_infrastructure/stage_01/_r42_kunai_lab_group.yml03_trainer_infrastructure/stage_01-vm_configure/_baseline_trainer.yml+04_student_infrastructure/stage_01-vm_configure/_baseline_student.yml02_admin_infrastructure/(scaffold, reserved for future Wazuh / MISP gated viamanifest/feature_flags.yml)File-level changes
02_kunai_lab_infrastructure/stage_01/_r42_kunai_lab_group.yml(content split into 2 new_baseline_<group>.ymlfiles below)_main.yml(one per infra :01_templates-bootstrap,02_admin,03_trainer,04_student)_baseline_<group>.yml(trainer + student, derived from the legacy_r42_kunai_lab_group.yml, plays per group targeted)manifest/feature_flags.yml(mirrors demo's convention - WAZUH/MISP/TAILSCALE off by default)main.yml+main_vms_only.yml(rewired to import the per-infra_main.ymlfiles ; per-VM vars moved frommain.ymlto the corresponding infra_main.yml)Lab content preserved
The 6 VMs deployed by
kunai_lab_bundles/main.ymlafter this issue are byte-identical to the legacykunai_labscenario :Inventory groups (
r42_kunai_lab_trainer_group,r42_kunai_lab_students_group) unchanged. SSH aliases unchanged.