30_runtime_blueprint.sh calls POST /templates/{id}/resolve with the
device_id from the server handshake and the template_id from the
Bereitstellungsvorlage selection, storing the resulting Runtime
Blueprint under /run/tuxflotte/runtime/.
40_backend.sh dispatches to backends/${backend_id}/backend.sh based on
the resolved backend_id and drives the backend_init/validate/
generate_config/launch/postinstall lifecycle from 06-backend-api.md.
backends/fedora/backend.sh implements that lifecycle for Fedora:
backend_generate_config() renders kickstart.tpl via envsubst using the
Runtime Blueprint's installation_directives and the device hostname,
embedding the resolved Merkmal blueprints as JSON for the (not yet
implemented) Provisioning Agent to apply later. Replaces the old
git-clone-based %post bootstrap. backend_launch()/backend_postinstall()
are Phase 1 stubs pending the live-ISO boot integration (see
platform-docs ADR-0003).
56 lines
1.3 KiB
Smarty
56 lines
1.3 KiB
Smarty
#version=DEVEL
|
|
|
|
text
|
|
reboot
|
|
|
|
lang de_DE.UTF-8
|
|
keyboard de
|
|
timezone Europe/Berlin --utc
|
|
|
|
# Lab-Bootstrap-Zugangsdaten. Ersetzt ein noch fehlendes Secret-Reference-Modell
|
|
# (siehe 09-data-model-v1.md) und darf nicht als Produktionsmechanismus gelten.
|
|
rootpw --plaintext test123
|
|
user --name=tuxflotte --groups=wheel --password=test123
|
|
|
|
network --bootproto=dhcp --activate --hostname=${TUXFLOTTE_HOSTNAME}
|
|
|
|
zerombr
|
|
clearpart --all --initlabel
|
|
${TUXFLOTTE_PARTITIONING_COMMAND}
|
|
|
|
firewall --enabled
|
|
selinux --enforcing
|
|
|
|
bootloader --location=mbr
|
|
|
|
%packages
|
|
@core
|
|
vim
|
|
curl
|
|
git
|
|
ansible-core
|
|
%end
|
|
|
|
%post
|
|
cat > /etc/motd <<'EOF'
|
|
Provisioned by tuxflotte
|
|
|
|
https://tuxflotte.de
|
|
EOF
|
|
|
|
localectl set-locale LANG=de_DE.UTF-8
|
|
localectl set-keymap de
|
|
localectl set-x11-keymap de
|
|
|
|
mkdir -p /etc/tuxflotte
|
|
|
|
cat > /etc/tuxflotte/runtime_blueprint.json <<'RUNTIME_BLUEPRINT_EOF'
|
|
${TUXFLOTTE_BLUEPRINTS_JSON}
|
|
RUNTIME_BLUEPRINT_EOF
|
|
|
|
# Der Provisioning Agent existiert noch nicht als Build-Artefakt.
|
|
# Anwendung der obigen Blueprints per Ansible-Pull erfolgt erst nach dessen Implementierung.
|
|
echo "tuxflotte: Runtime Blueprint unter /etc/tuxflotte/runtime_blueprint.json hinterlegt." >> /var/log/tuxflotte-postinstall.log
|
|
echo "tuxflotte: Provisioning-Agent-Installation ist noch nicht implementiert (Phase 1)." >> /var/log/tuxflotte-postinstall.log
|
|
%end
|