8 Commits

Author SHA1 Message Date
2f1300940c docs: record kiosk-UI journey, WLAN autoprovisioning model, and TUXFLOTTE ISO label
Kiosk UI: Chromium was evaluated as an Epiphany alternative (ADR-0005)
after ADR-0004's application-mode approach turned out unusable
end-to-end, then abandoned after four distinct real-boot failures in a
row (ADR-0006) in favor of a hardened plain --profile Epiphany launch.
ADR-0004 amended with the actual fix history (profile directory
creation, application-mode's undocumented web-app requirement,
--private-instance/--profile conflict on the target's Epiphany 50.1
vs. the 43.1 used for local testing). ADR-0007 resolves ADR-0004's
open question: the kiosk web UI and installer.sh never talk directly,
only via the provisioning server.

WLAN autoprovisioning: customer profile gets an "Autoprovisionierung"
flag plus WLAN credentials, driving self-service generation of a
personalized ISO with the credentials baked in as a NetworkManager
profile — works from device one, no persistent on-stick state needed.
Personalizing the build this way also motivated giving the ISO its
own volume label (TUXFLOTTE) instead of the source Fedora label.

Also folds in the EROFS root-cause writeup and the Ubuntu-live-medium
alternative noted for a future ISO rework, and brings
roadmap/installer-roadmap.md's checkboxes in line with actual status.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-22 12:16:25 +02:00
8a7ea7192f docs: record first successful end-to-end live-ISO provisioning run
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.
2026-07-20 15:01:23 +02:00
f79a3eb5e0 docs: check off Tuxflotte-Branding in installer roadmap
Text/color scheme in the GRUB menu counts as done; the logo itself is
deferred to the Plymouth boot splash.
2026-07-18 17:10:08 +02:00
7f910a9033 docs: record concrete live-ISO implementation details
Fedora Cinnamon Live 44 chosen as the concrete base (interchangeable
with Workstation Live for this purpose), tuxflotte.mode kernel cmdline
flag name, 10s countdown with auto as default entry, and the
xorriso-based build.sh/extract.sh that no longer needs root. Checks
off 'Boot from local disk' in the installer roadmap, now verified
end-to-end in QEMU/KVM.
2026-07-18 11:26:35 +02:00
fce6e4860c docs: switch provisioning ISO to live medium with auto/interactive boot modes (ADR-0003)
Moves from a Fedora DVD/netinst base (GRUB boots straight into Anaconda
via a static inst.ks= URL, bypassing installer.sh entirely) to a real
live medium. installer.sh runs as an application inside the live
session; backend_launch() starts the native installer explicitly at
the end instead of a boot-time kickstart parameter.

The boot menu offers two entries: a default with a countdown that
leads to an unattended flow, and a manual entry for the branded
interactive flow. The unattended flow is gated on
device.registration_status == "existing" - unknown devices always
fail closed into the interactive enrollment path. Device registration
now documents that this is a condition of registering a device.

Also notes the tension with the installer roadmap's long-term
minimal-medium vision: distribution packages still aren't bundled and
are pulled per install, but the live environment itself makes the
medium larger, accepted for the UX it enables.

Details: architecture/13-live-provisioning-boot.md.
2026-07-18 10:46:46 +02:00
953bf5daf4 docs: correct project name in milestone log (Stallinux -> Tuxflotte) 2026-07-18 10:45:52 +02:00
40d9bc77a6 docs: document provisioning handshake and persistence model 2026-07-14 10:28:30 +02:00
25d71b0b5e Establish Tuxflotte architecture foundation 2026-07-07 15:33:17 +02:00