4 Commits

Author SHA1 Message Date
217f672ddd docs: design Auftragskatalog as ad-hoc, revocable Merkmal assignment
ADR-0010 decides that an Auftrag is technically a Merkmal, not a new
parallel entity: it reuses the existing Merkmal/Blueprint/ansible-role
mechanism from ADR-0002, but adds a device-level, independently
toggleable assignment path (device_merkmale) alongside the existing
workspace-level one. Deselecting an Auftrag needs to actually revert
it, so checkin will need to declare a full present/absent state per
catalog entry rather than just an additive list; that role-level and
API-level work is deferred, this only settles the data model.

Also adds a single generic, append-only event log
(device_merkmal_events) for both selection changes and agent-reported
execution results, instead of several purpose-specific tables, so
future event types don't require schema changes. Extends
09-data-model-v1.md and the glossary accordingly.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-03 23:29:12 +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
8ece25f954 docs: define Merkmal/Blueprint/Bereitstellungsvorlage model (ADR-0002)
Introduces the Merkmal-Backend-Blueprint realization model: a Merkmal
describes one distribution-independent workspace feature, a Blueprint
realizes exactly one Merkmal for exactly one backend (usually an
Ansible role applied post-first-boot via ansible-pull), and a
Bereitstellungsvorlage bundles workspace + backend + org-specific
installation directives (partitioning, encryption, secure boot).

Replaces the old flat profile model (profiles/profile.json/
distribution+version) throughout the provisioning API, data model,
interactive provisioning flow, and device enrollment docs with
templates/Bereitstellungsvorlage terminology. Moves 02-workspace-model.md
and 04-backend-model.md into architecture/, archives the superseded
flat organization-model.md.
2026-07-18 10:45:48 +02:00
25d71b0b5e Establish Tuxflotte architecture foundation 2026-07-07 15:33:17 +02:00