9 Commits

Author SHA1 Message Date
Mickaël Canévet
b31d93e0d0
feat: auto-enroll SecureBoot keys for disk images
Write PK/KEK/db .auth files under loader/keys/auto/ on the EFI
partition and append `secure-boot-enroll if-safe` to loader.conf so
systemd-boot enrolls the Talos SecureBoot keys on first boot when
UEFI firmware is in Setup Mode. `if-safe` is silently skipped on bare
hardware (the check requires a hypervisor), so keys stay inert on
metal and enroll on VMs.

Adds `SDBootEnrollKeys` to `profile.ImageOptions` and plumbs key paths
through `installer.Options` -> `InstallOptions` -> `sdboot.generateAssets()`.
Refactors the previously inline ISO PK/KEK/db generation in `outISO`
into `prepareEnrollmentDBs`, shared by ISO and disk-image paths.
Validates that pre-built PK/KEK/db paths are all set or all unset.

Adds secureboot profiles for private-cloud / self-managed platforms
where NVRAM starts empty: secureboot-cloudstack, secureboot-nocloud,
secureboot-opennebula, secureboot-openstack, secureboot-vmware.
Managed clouds (AWS, Azure, GCP, ...) ship vendor PK/KEK and are
deliberately excluded. Existing secureboot-metal also gains if-safe
enrollment via the refactoring -- no-op on real hardware, enrolls
in a VM.

Adds a unit test for `sdboot.generateAssets` covering the
no-enrollment, if-safe, and force modes, plus golden fixtures for
all new profiles across v1.9..v1.14 / amd64+arm64.

e2e-qemu.sh: add WITH_TRUSTED_BOOT_DISK_IMAGE case to run the trusted
boot disk image test in CI.

Signed-off-by: Mickaël Canévet <mickael.canevet@proton.ch>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-05-05 22:57:34 +04:00
Andrey Smirnov
c684ec60ea
chore: prepare for Talos 1.14 release
Add compatibility, bump versions in upgrade & Image Factory tests.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-04-20 19:33:01 +04:00
Andrey Smirnov
c57701d659
fix: remove interactive installer
The interactive installer has been deprecated since v1.12 cycle,
now removed completely including the API method.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-12-25 15:01:10 +04:00
Noel Georgi
61e95cb4b7
feat: support bootloader option for ISO
Support selecting bootloader option for ISO.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-10-24 15:26:09 +05:30
Andrey Smirnov
b9fb09dcdb
release(v1.12.0-alpha.0): prepare release
This is the official v1.12.0-alpha.0 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-09-02 17:33:21 +04:00
Andrey Smirnov
7e6052e63a
feat: increase boot partition to 2 GiB
See https://github.com/siderolabs/talos/discussions/10994

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-07-22 14:48:00 +04:00
Andrey Smirnov
5420e9979b
refactor: output default selection for profiles
Refactor the code to have less short-circuit returns with more explicit
switch statement.

Also fix up tests to assert that the latest version (in our case, 1.11)
is also covered.

Extracted from #11001.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-07-21 21:11:39 +04:00
Noel Georgi
fd8131cb86
feat: generate unified installer
Generate `installer` from `imager` so installer always have UKI's.

Push `installer-base` which just contains base tools to install.

Fixes: #10188
Fixes: #10323

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-02-28 19:18:19 +05:30
Noel Georgi
b1d410cb62
feat: dual boot disk image
Generate disk image with both grub and sd-boot.

Fixes: #10332

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-02-25 21:21:10 +05:30