Replaces the stale "not yet implemented" note for installer.sh autostart with the actual mechanism (dracut's official 20-apply-live-updates.sh pre-pivot hook via a top-level /updates/ directory, not squashfs/EROFS remastering - that image is EROFS despite the filename, and hit a reproducible erofs-utils extraction bug even freshly built from source). Adds the milestone entry for the first clean end-to-end run through every module, live in Proxmox.
2.8 KiB
Milestones
2026-07-20
First successful end-to-end interactive provisioning run on the live ISO
The full interactive provisioning pipeline ran successfully for the first time inside the live-ISO boot chain introduced in ADR-0003, from GRUB through installer.sh to a clean exit — tested live in Proxmox.
Boot flow:
GRUB (Tuxflotte entry, live medium)
→ Cinnamon live session autostarts a terminal (dracut pre-pivot /updates hook, no squashfs/EROFS modification)
→ installer.sh runs every module in sequence:
00_preflight → 05_network → 10_hardware → 12_enrollment_auth → 15_server_handshake → 17_device_status → 20_profile_selection → 25_installation_confirm → 30_runtime_blueprint → 40_backend (full Fedora backend lifecycle) → 20_storage → 99_finish
Verified components:
- Live-ISO boot with the GRUB auto/interactive entries (ADR-0003)
- Dracut
20-apply-live-updates.shhook injecting/opt/tuxflotteand autostart/sudoers config, no image remastering - Device activation and enrollment against the real provisioning server
- Bereitstellungsvorlage selection and Commit Point confirmation
- Runtime Blueprint resolution against the real server (
fedora/schulcomputerkeys, not UUIDs) - Full Fedora backend lifecycle (
backend_init→validate→generate_config→launch→postinstall) - Disk detection (
20_storage.sh)
Bugs found and fixed only by this live run (none reproducible from isolated testing):
05_network.shcrashed on live/ephemeral NetworkManager connections without a backing keyfile20_storage.shwas a pre-existing stub that never sourced the functions it called- Missing execute bit on
backend.sh,30_runtime_blueprint.sh,40_backend.sh(only ever tested via manually-chmod'd copies) - sudoers.d drop-in needs explicit root ownership set via
xorriso -chown_r/-chgrp_r, since the build has no local root
Result:
The live-ISO architecture from ADR-0003 is validated end-to-end, not just at the boot-menu level. backend_launch()/backend_postinstall() remain Phase 1 stubs — the native installer is not yet actually started.
2026-06-16
First successful unattended Fedora installation
A Fedora virtual machine was successfully installed using a Kickstart definition served from the provisioning platform.
Installation flow:
Fedora Netinstall ISO → HTTPS → anode.tuxflotte.de → Kickstart definition → Automatic installation → Reboot → Successful login
Verified components:
- Proxmox VM
- Pangolin reverse proxy
- FastAPI provisioning service
- HTTPS / Let's Encrypt
- Fedora Kickstart
- Automatic partitioning
- User creation
- Package installation
- Post-install scripts
- Git repository access
- Ansible installation
Result:
The core architecture of the Tuxflotte Provisioning Platform has been validated end-to-end.