image-factory 1.0.0-beta.0 (2026-01-23)
Welcome to the v1.0.0-beta.0 release of image-factory!
This is a pre-release of image-factory
Please try out the release binaries and report any issues at
https://github.com/siderolabs/image-factory/issues.
Configuration moved to env and config files only
All configuration is now provided exclusively via environment variables and/or configuration files.
Command-line flags for configuration have been removed.
Users must migrate any existing CLI-based configuration to env variables or supported config file formats.
This change simplifies the runtime interface but is a breaking change and requires updates to existing workflows relying on CLI flags.
Disk Image
The disk image build process no longer requires privileged deployment and mounting '/dev'.
The build process now operates in userspace, and it doesn't depend on host Linux kernel anymore.
This change enhances security and portability, allowing disk images to be built in a wider range of environments without elevated permissions.
This also enables most of the image builds to be fully reproducible.
Contributors
- Andrey Smirnov
- Mateusz Urbanek
- Noel Georgi
- Dmitrii Sharshakov
- Laura Brehm
- Orzelius
- Artem Chernyshev
- Bryan Lee
- Edward Sammut Alessi
- Tim Jones
- Alexis La Goutte
- Andras BALI
- Birger Johan Nordølum
- Camillo Rossi
- Christopher Puschmann
- Jaakko Sirén
- Jean-Francois Roy
- Joakim Nohlgård
- Jonas Lammler
- Justin Garrison
- Lennard Klein
- Max Makarov
- Michal Baumgartner
- Olav Thoresen
- Pranav Patil
- Serge van Ginderachter
- Skye Soss
- Spencer Smith
- dataprolet
- eseiker
- pranav767
Changes
20 commits
c8c6576release(v1.0.0-beta.0): prepare release56bd21bfix: allowCache-Controlheader in CORS83f4d91fix: clarify bootloader selectionc8c5faafeat: allow using image GET/HEAD API by the JS code on any domainse732d90feat: support acm for secureboot5f103c1feat: support copying to clipboardc3532c4feat: update Talos with GRUB and other fixesb5ba663fix: avoid pulling Talos core in schematic pkgb2b0cc8fix: update cosign to v3.0.4fca99d0chore: updatedocs/developing.md49f4226chore: separate kres integration-test variables190aa22fix: add missing libarchive dependency37bd795fix: image-factory rootless99cbfd7fix: don't enforce bundle verifiedcf3e56achore: bump talos8723b02fix: drop sbc board supportf0150c4feat: use rootless Image Factoryf57218ffeat: refactor configuration of image factorye440ce7fix: support new cosign bundle format5eb1775feat: introduce Enterprise Image Factory
Changes from siderolabs/pkgs
44 commits
375983ffeat: update Go to 1.25.6d445c80feat: update Linux to 6.18.56994400feat: update NVIDIA LTS and production driver versions05c3d85feat: update Linux firmware to 20260110c61b466feat: enable IT87 hwmon moduleae2572efeat: enable IPV6_MROUTEd6b503efeat: add RK3588 NPU Supportdf4b4c8feat: bump depsa220898feat: add libarchivec2371b5feat: enable ZRAM supportab4d169feat: add a patch to force uid when populating from a directory972f44dfeat: update dependenciesf8eb5b0feat: update Linux to 6.18.23fb6291feat: update systemd to 25959241bdfix: add SBOMs for pigz/igzip9377c78feat: optimize decompression for containerde8e61cefeat: update containerd to 2.2.1daa74bafeat: support xfs filesystem reproducibility1f66513feat: update OpenZFS to 2.4.0b209af5chore: rekres with latest changes2b806b9feat: bump dependencies65242fdfeat: enable CONFIG_MISC_RP1 in ARM64 config4daecd8feat: update Linux to 6.18.19868a66feat: enable Powercap and Intel RAPL07883eefeat: build and package perf binary47abca0fix: add json support to nftables binaryb961ff8feat: patch containerd 2.2.0 with cgroups fix patchb7dd7f6feat: add mstflint moduleae53351feat: update ZFS to 2.4.0-rc5b8edf01feat: update CNI plugins to v1.9.0a57c1b0feat: enable amd sev-snp68562c1feat: update Linux to 6.186f4ff8cfeat: enable Amlogic Meson PCIe controller driverc41127bfeat: enable Intel GPIO/Pinctrl kernel modules4a31ff7feat: update NVIDIA LTS to 580.105.083e858d3chore: fork pkgs for Talos 1.13dcc5aa1feat: update runc to 1.3.48b6ae5bfix: regenerate configs2992598fix: add missing kernel config entriesc8ea18afeat: rekres to alow multiple commits2ddef8bchore: update dependenciesd1f28e0chore: update dependenciesab253f5feat: enable gpio-fan module0b10666chore: use ubuntu mirrors
Changes from siderolabs/talos
153 commits
4b274f761feat: support aws cert manager in imager417209512fix: fallback to /proc/meminfo for memory modules7f1147bedfix: add warnings to 802.3ad bondddd6b186erefactor: generate GRUB imagesc7aa266eafix: overwrite resolver config with machine configcf70f05fafix: oracle platform file format8c7b8f5b7feat: add support for negative max size77bc3d21ffix: marshal of FailOverMac property38e280c93fix: make OOM expression a bit less sensitive3d1301640fix: wipe the first/last 1MiB in addition to wiping by signatures1aa6528adfix: make OOM controller more precise by considering separate cgroup PSIf7072c050fix: check if the device is not mounted when wiping743c3b94bfix: use correct containerd import pathf2dd08594feat: report image pull progress in the console72fe98a06fix: boot with GRUBd4ed13d93fix: add talos version to Hetzner Cloud client user agent150c41c30feat: update Linux to 6.18.501a367891fix: use append instead of prepend in service-account-issuerd1954278afeat: add extraArgs from service-account-issuer91b88f7f9feat: support multiple values for extraArgs96e604874fix: add hostname to endpoints7033275a7refactor: move BootloaderKind into machinery71adaf0eafix: sort mirrors and tls configs when generating the machine config34f09a300feat: add VLAN support to OpenStack platform5127ef7c2fix: wipe disk by signatures415bfaedbfix: panic in configpatcher when the whole section is missinge5aca71cdfix: fix healthcheck timeout634b71e2ddocs: move talosctl pcap example to Example Block818492731feat: implement KubeSpan multi-document configuration4d0604b9dchore: remove unrelated machineconfige36863470feat: add it87 hwmon module308c75090fix: resolve SideroLink Wireguard endpoint on reconnecte4ef494defix: drop the persist config flag from gen configc3176adcffeat: add EnvironmentConfig documentc839b3880feat: expose more SSA options in the upgrade-k8s commandb8ff9677efix: handle correctly incomplete RegistryTLSConfig99f2ddadafix: bond config via platform2449ffea4fix: allow HostnameConfig to be used with incomplete machine config35fc52087fix: lock down etcd listen address to IPv4 localhost27253d731feat: use new xfs config filec9d84ae21fix: generate OCI-compliant image config7a4b2b33afix: update VIP config example080efcbdafeat: add k8s-version parameter to k8s-bundleb764f5f72fix: skip sync test when kube-proxy is disabled70e67787dfeat: imager: populate filesystems with root owned files7416dca59fix: print talosctl images to release notesdc2009e47chore: use context when creating filesystems85f7be6e3chore: update slack links154952175fix: disable swap for system servicesd98b415affix: drop more non-overlay SBC stuff226cd6bc1fix: do not allocate for the actual disk image file53f5bf8d2fix: overlay installers10d0cfd93fix: overlay install in image mode77086694dfix: partition data population4d5657b1afix: drop SBC board codec4f3f6d3efeat: implement kubernetes server-side applyf12fd2b0atest: bump Image Factory testsc76484e58release(v1.13.0-alpha.0): prepare releasef0d8a6851test: skip the source bundle on exact tagc57701d65fix: remove interactive installer43937c1cdfeat: update Linux and systemd72a194df8feat: add VM CPU hot-add rulesf09ae1e0dfix: probe small images correctly8f2b33799feat: imager support rootless buildsc7525a97efeat: support creating filesystems from foldere2bffb5cechore: refactor imager code so it's more clear0fb50dbd0fix: invalid versions check in talos-bundleb5dd56032test: upgrade versions in upgrade tests3dfa4d6e4fix: make upgrade work with SELinux enforcing=1786c8e2eefeat: ship pigz/igzip in rootfs to speed up image decompression48d242918feat: update containerd to 2.2.1536541afefix: mount volume mount/unmount race39117d457feat: update dependenciesf0f420725fix: bond setting change detection8d6a7a867feat: update Kubernetes to 1.35.0845a0d09cfeat: update etcd 3.6.7, CoreDNS 1.13.2b95912e04feat: enforceproc_mem.force_override=neverby default681f3e84ctest: run virtiofs tests only when virtiofsd is running0592ff0cdfix: drop the Omni API URL check on IP addressa4879a5fafeat: update Linux to 6.18.143b43ff18docs: split talosctl commands into groups6d17c18bffeat: enable Powercap and Intel RAPL884e76662docs: fix the talosctl cluster create help output6dc31be4ffix: exclude new Virtual IPs configured with new config94905c73efeat(talosctl): support running qemu x86 on Macf871ab241fix: provide json support innftbinary694f45413feat: external volumes39feb16d2fix: update containerd 2.2.0 with cgroups patch82027eb9bfix: bond configuration with new settings121b13b8ffix: disable kexec on arm647eaa725d0fix: selection of boot entry949bdb90afeat: add Secure Boot to CloudStack platform config798143a88fix: discard better klog message from Kubernetes client008cd0986fix: disable kexec in talosctl cluster create on arm64bb62b29edchore: prepare talos for 1.13c0935030achore: fork reference docs for 1.13.xe387e48b3fix: do not override DNS on MacOS1e7e87fb1fix: rework NFT rules for KubeSpan51bcfb567feat: rename image default and source bundle585abe944feat: update Kubernetes to v1.35.0-rc.1f301e3e9bfix: update KubeSpan MSS clamping74c1df6f4test: propagate MTU size to QEMU intalosctl cluster created347ca1affix: update CNI plugins to 1.9.0e3f8196b4chore: update Grype and Syfte1b8ab323docs: add misssing periodcd04c3ddedocs: update release notesfc8ae3249docs: add omni join token example to create qemu command9fa00773cchore: update go-blockdeviceba13b6786fix: correct condition to use UKI cmdline in GRUBd2ce3f47fdocs: drop machine.network examplecf087c1e0test: bird2 extension13df94388fix: adapt SELinuxSuite.TestNoPtrace to new strace version861787c38fix: mark secureboot as supported for metal04e3e87adfix: clean up kubelet mounts21057903afix: clear provisioning data on SideroLink config change0f9f4c05ffeat: update Kubernetes to 1.35.0-rc.0d4309d7b1fix: add a timeout for DNS resolving for NTPdd6c1089cfeat: update Linux to 6.18.0e9a30bf9atest: revert add direct connectivity CA rotation testcc95562bcfix: don't disable LACP by defaultc9fe4679btest: add platform acquire/not valid config unit-test5a03a7a20chore: fix longhorn testa0cfc3527feat: implement logs persistence51b732beafix: selection of boot entry18f8ac369feat: update Kubernetes to 1.35.0-beta.092fa7c5e4chore: update pkgs for NVIDIA 580.105.08f489299b6chore: correct condition for running k8s integration testsab149750dchore: update tools/pkgs to 1.13.0-alpha.087ff9f860test: fix the image-factory test to pass IF endpoint2ffe538e7test: add direct connectivity CA rotation test70f6b80e0chore(ci): skip multipath extension tests561cfb60cchore: update pkgs and tools version2f42202a7fix: simplify OOM expression7b06ae8c2test: fix flaky LinkSpec/Wireguard teste715f3871feat: present kernel log astalosctl logs kernele2ee39b8afix: support specifying patch file without '@' symbole202b1f9efix: trim trailing dots from certificate SANs7f7079f9cfix: assign value of multicast setting properlyeba96141efeat: update etcd to 3.6.69945ceef3docs: add API Server Cipher Suites changelog9ed488d09feat: update TLS cipher suites for API serverf1c04e4d6feat: generate mirrors patcha89108995fix: add CA subject to generated certificate35dd612a5fix: add more resilient move83675838ffeat: extend flags of cache-cert-gen80ab7a064chore: remove spammy 'clean up unused volumes' logs74d35900achore: disable k8s integration tests for 1GiB worker nodes4f6218674feat: support TALOS_HOME env var0c59b3ea3feat: add multicast to linkconfig6db06f4d5feat: implement multicast settingeeded98f5fix: add riscv64 talosctl to release artifactsa6bbae91bfix: fix typos across the project83f2bdb9cfeat: support relative voume size
Dependency Changes
- github.com/google/go-containerregistry v0.20.6 -> v0.20.7
- github.com/klauspost/compress v1.18.1 -> v1.18.3
- github.com/knadh/koanf/parsers/dotenv v1.1.1 new
- github.com/knadh/koanf/parsers/json v1.0.0 new
- github.com/knadh/koanf/parsers/yaml v1.1.0 new
- github.com/knadh/koanf/providers/env/v2 v2.0.0 new
- github.com/knadh/koanf/providers/file v1.2.0 new
- github.com/knadh/koanf/providers/structs v1.0.0 new
- github.com/knadh/koanf/v2 v2.3.0 new
- github.com/rs/cors v1.11.1 new
- github.com/siderolabs/go-blockdevice/v2 v2.0.20 -> v2.0.23
- github.com/siderolabs/pkgs v1.12.0 -> v1.13.0-alpha.0-35-g375983f
- github.com/siderolabs/talos v1.12.0-beta.0 -> 4b274f761594
- github.com/siderolabs/talos/pkg/machinery v1.12.0-beta.0 -> 4b274f761594
- github.com/sigstore/cosign/v3 v3.0.2 -> v3.0.4
- github.com/sigstore/sigstore 181c5d3339b3 -> v1.10.3
- github.com/spf13/pflag v1.0.10 new
- go.uber.org/zap v1.27.0 -> v1.27.1
- golang.org/x/sync v0.18.0 -> v0.19.0
- golang.org/x/sys v0.38.0 -> v0.40.0
- golang.org/x/text v0.31.0 -> v0.33.0
Previous release can be found at v0.9.0