github siderolabs/talos v1.10.0-alpha.1

pre-releaseone day ago

Talos 1.10.0-alpha.1 (2025-01-31)

Welcome to the v1.10.0-alpha.1 release of Talos!
This is a pre-release of Talos

Please try out the release binaries and report any issues at
https://github.com/siderolabs/talos/issues.

auditd

Kernel parameter talos.auditd.disabled=1 can be used to disable Talos built-in auditd service.

cgroups v1

Talos Linux no longer supports cgroupsv1 when running in non-container mode.
The kernel argument talos.unified_cgroup_hierarchy is now ignored.

Driver Rebind

Talos 1.10 now supports a new machine config document named PCIDriverRebindConfig that allows rebinding the driver of a PCI device to a different target driver.
See the documentation for more information.

iSCSI Initiator

Talos now generates /etc/iscsi/initiatorname.iscsi file based on the node identity which is tied to the lifecycle of the node.
If using iscsi-tools extension, starting with Talos 1.10 would have a more deterministic IQN for the initiator node.
Make sure to update any iSCSI targets to use the new initiator IQN.

The iqn can be read by talosctl read /etc/iscsi/initiatorname.iscsi

ISO

Talos starting with 1.10 will have ISO's that will use GRUB only for legacy BIOS and systemd-boot for modern UEFI systems.

kube-apiserver Authorization Config

When using .cluster.apiServer.authorizationConfig the user provided order for the authorizers is honoured and Node and RBAC authorizers are always added to the end if not explicitly specified.

Eg: If user provides only Webhook authorizer, the final order will be Webhook, Node, RBAC.

To provide a specific order for Node or RBAC explicitly, user can provide the authorizer in the order they want.

Eg:

cluster:
  apiServer:
    authorizationConfig:
      - type: Node
        name: Node
      - type: Webhook
        name: Webhook
        webhook:
          connectionInfo:
            type: InClusterConfig
        ...
      - type: RBAC
        name: rbac

Usage of authorization-mode CLI argument will not support this form of customization.

NVMe NQN

Talos now generates /etc/nvme/hostnqn and /etc/nvme/hostid files based on the node identity which is tied to the lifecycle of the node.

The NQN can be read by talosctl read /etc/nvme/hostnqn

Component Updates

  • Linux: 6.12.11
  • CNI plugins: 1.6.2
  • runc: 1.2.4
  • containerd: 2.0.2
  • etcd: 3.5.18

Talos is built with Go 1.23.5.

Contributors

  • Andrey Smirnov
  • Noel Georgi
  • Dmitriy Matrenichev
  • Dmitry Sharshakov
  • Justin Garrison
  • Nico Berlee
  • Skyler Mäntysaari
  • Utku Ozdemir
  • Alexis La Goutte
  • Andrew Symington
  • Christian Luetke-Stetzkamp
  • Christoph Hoopmann
  • Devin Buhl
  • Florian Grignon
  • Ganawa Juanah
  • Jason Benedicic
  • K Birt
  • KillianCdP
  • L.J. Hanson
  • Louis SCHNEIDER
  • Marcel Hamer
  • Motte
  • Natalie Romana Albers
  • PRIHLOP
  • Ram
  • Tim Olson
  • Tine Jozelj
  • TomyLobo
  • bzub
  • greenpsi
  • sflotat2607
  • suse-coder

Changes

162 commits

  • 6e22c06c3 release(v1.10.0-alpha.1): prepare release
  • 3a2d9867b fix: do not close client.Client.conn with finalizer
  • 73f30ff25 feat: bump pkgs for udev update
  • aea90cb8f docs: update hyper-v
  • b7165615f fix: use local NTP for AWS platform
  • 673ca4bcb fix: ensure proper closure of client.Client.conn with finalizer
  • 19040ffd6 fix: handle of PE sections with duplicate names
  • 83489d348 docs: add note about vmxnet and flannel conflict
  • f1292f5e7 docs: add iscsi-tools extension to prerequisites
  • 93b4a3740 test: bump timeout on rotate CA test
  • 42e166984 feat: support kexec from uki
  • 8da264946 docs: add Orange Pi 5 to Image Factory platforms and documentation
  • c5fb62e2e feat: update Linux to 6.2.11
  • 83d007c16 feat: update etcd to 3.5.18
  • edf7c3288 fix: pe uki extract
  • 70f72c5b0 docs: update multus.md
  • 807a3cd29 refactor: all network merge controllers
  • ec8c4660e docs: update vmware.md
  • baf81cd49 fix(ci): k8s integration suite wait for resource
  • cd5e54903 feat: generate iso's with both UKI and grub
  • 75673b6a3 feat: provide stable symlinks in disk resources
  • f407c88e4 fix(ci): wait for longhorn node resource
  • 601cdccb9 feat: extract kernel/initrd from uki for grub
  • ff175b9fb docs: update disk-encryption.md
  • a8d84e315 docs: fix typos and add more explanations in docs
  • 3a384240e fix: invalid date field in iqn/nqn
  • 82c9ec158 chore(ci): add tests with longhorn v2 engine
  • 689ea1dbf fix: bring back disk UUID
  • 7a712fad2 fix: disks with 4k sector size and systemd-boot
  • d62a34aaf feat: update tools/pkgs/extras
  • b9a8ad6ac chore: de-hardcode list of extra images for image-cache test
  • 683153a33 docs: remove the last mentions of preserve flag for Talos 1.8+
  • 33c7f4195 docs: fix typo an MacOS to on MacOS
  • 21cff3919 chore(ci): fio benchmark results as separate artifacts
  • 0b7fc7cdf fix: abort node watch on hostname change
  • 99ba53941 docs: remove the mention of preserve flag for Talos 1.8+
  • bde516fde chore(ci): rework iscsi-tools extensions test
  • e1efbf656 refactor: extract platform metadata into Talos machinery
  • 79987c05d feat: generate iqn and nqn files
  • 0cab6ed17 docs: update troubleshooting.md
  • 921e10254 chore: update Go to 1.23.5
  • 399d53b54 fix: ignore forbidden error when waiting for pod eviction
  • 8dea57a81 fix: make etc binds read-only
  • 63157dcb4 docs: update SideroLinkConfig example
  • fc7080e34 chore: clear cache after updating upstreams
  • 51e0f273f docs: update documentation for Talos 1.9.2
  • e06b14112 feat: update Kubernetes to 1.32.1
  • 4310b290d fix: generate UKI only if actually needed
  • a8cd99102 docs: update OpenEBS Mayastor installation
  • cf45f4764 docs: add Radxa ROCK 5B docs to Single Board Computer section
  • b21bdc5e5 chore(ci): save csi tests fio results
  • 01c86832c chore(ci): add test for OpenEBS MayaStor
  • c77483510 test: update talosctl debug air-gapped
  • ddd695d93 feat: update containerd to 2.0.2
  • da2e81120 fix: add informer resync period for node status watcher
  • 9b957df64 chore: uki code restructure
  • e41a99525 fix: kube-apiserver authorizers order
  • db4ca5668 feat: add a kernel parameter to disable built-in auditd
  • faa149003 feat: update Linux to 6.12.9
  • 8de19758d fix: a couple of imager panics/crashes
  • 5bc3e34cb fix: detect GPT before ZFS
  • ed7e47d15 refactor: drop usage of objcopy to generate UKIs
  • edf5c5e29 fix: extfs repair and resize
  • 6e32ea5b7 fix: merge of VolumeConfig documents with sizes
  • 1be5f8ff2 feat: update Linux to 6.12.8
  • e6a4583ba feat: support generating unsigned UKIs
  • bbd6067d4 fix: partition alignment on disks with 4k sectors
  • 84fcc976f fix: yet another dashboard panic
  • 6d605fc85 fix: disable NRI plugin in a different way
  • 499695e24 fix: request previous IP address in discovery
  • cc84caf8c docs: update Cilium documentation
  • fa5300d91 chore: revert: drop deprecated allowSchedulingOnMasters
  • 0abb3dabf docs: fix command to wait for ceph-rook HEALTH_OK
  • 32c67c27c chore: drop deprecated allowSchedulingOnMasters
  • ae6d065be fix: mount selinuxfs only when SELinux is enabled
  • 5ccbf4bcd feat: enable configfs
  • 59582496d feat: bring in partity with sd-257
  • 83d84a831 chore(ci): better zfs checks
  • 650eb3a4f refactor: rewrite cloud uploader to use AWS SDK Go v2
  • 01bf8449b fix: update field name for bus path disk selector
  • e915c98d5 fix: exclude disks with empty transport for disk selector
  • b7a7fdc4b refactor: generate /etc/os-release file static way
  • e79c9e127 chore(ci): drop equinix metal e2e-test
  • 418945444 fix: build of talosctl on non-Linux platforms
  • 4761a9e6a chore: update dependencies
  • f98efb333 fix: ignore member not found error on leave cluster
  • b72bda0a4 fix: talosctl support and race tests
  • 27233cf0f test: use node informer instead of raw watch
  • 5dc15e8db fix: update go-blockdevice to v2.0.9
  • 5f3acd0f2 fix: use correct default search domain
  • 7e5d36d46 fix: pci driver rebind config validation
  • 4b97bbc3f fix: pull in containerd CNI deadlock fix
  • 066480722 test: fix apparmor tests
  • 82ea44a6b fix: reduce installer image
  • 78b3e7f4f fix: get next rule number for IPv6 in the appropriate chain
  • 675854aa0 docs: fix two typos
  • f70b7386a test: add a xfs makefs test
  • 8212e4864 refactor: use quirks in kernel args
  • b4aa5189d release(v1.10.0-alpha.0): prepare release
  • bd85bd5b7 fix: fix Failed to initialize SELinux labeling handle udev error
  • 73c82e3e5 feat: bring Linux 6.12.6, CNI plugins 1.6.1
  • c12b52491 docs: document Kubernetes service registry incompat with K8s 1.32
  • a5660ed77 feat: pcirebind controller
  • 4c3261626 docs: fix several typos
  • fb3675321 fix: dashboard crash on CPU data
  • dec0185c8 chore: reduce memory usage for secureboot functions
  • cee6c60a0 fix: make talosctl time work with PTP time sync
  • f75604313 chore: support gcr.io auth for cache and image gen
  • 6ef2596da docs: improve Hetzner documentation
  • 7d39b9ec2 feat: remove cgroupsv1 in non-container mode
  • 8003536c7 fix: restore previous disk serial fetching
  • 03116ef9b chore: prepare for Talos 1.10
  • 00682fdd6 docs: activate 1.9 docs as default
  • bea05f5c9 docs: update deploying-cilium.md
  • 284ab1179 feat: support link altnames/aliases
  • 5bfd829bf docs: fix 'containter' typo
  • 8d151b771 docs: clarify TALOSCONFIG for AWS
  • 0ef19171f fix: renovate typo
  • c568adc7d fix: renovate config
  • ec2e24fd9 fix: match MAC addresses case-insensitive (nocloud)
  • 41a0c440a chore: rekres for renovate changes
  • a49bb9ee4 feat: update Linux to 6.12.5
  • b15917ecc chore: add more debugging logs for META and volumes
  • 2b1b326f0 docs: mention different paths for OpenEBS
  • 9470e842f test: cleanup failed Kubernetes pods
  • c9c685150 fix: node identity flip
  • 590c01657 feat: update containerd to v2.0.1
  • 18fa5a258 docs: update image-cache doc for iso
  • ab5bb6884 fix: generate and serve registries with port
  • 58236066d fix: support image cache on VFAT USB stick
  • e193a5071 fix: image cache integration test
  • 08ee400fd test: fix flaky test NodeAddressSort
  • d45e8d1d1 feat: update Kubernetes to 1.32.0
  • 136b12912 chore: drop semicolon for supporting vfat filesystems
  • 3e9e027ef test: add an option to boot from an USB stick
  • ef8c3e3b3 docs: fix typo in multus.md
  • d54414add fix: authorization config gen
  • cce72cfe8 docs: replace deprecated Hetzner server plans
  • 81805103d chore: enable proper parallel usage of TestDepth
  • e1b824eba docs: update ceph-with-rook.md
  • 470b75563 fix: use mtu network option for podman
  • 61b1489a0 fix: order volume config by the requested size
  • bc3039acd feat: update runc to 1.2.3
  • 30016a0a8 fix: avoid nil-pointer-panic in RegistriesConfigController
  • fe0457152 fix: power on the machine on reboot request in qemu power api
  • 10da553ef docs: build what's new for 1.9
  • d946ccae3 feat: update Linux to 6.12.4
  • 707a77bf6 test: fix user namespace test, TPM2 fixes
  • c3537b2f5 feat: update Linux to 6.12.3
  • cb4d9d673 docs: fix a few mistakes in release notes
  • c4724fc97 chore: add integration tests for image-cache
  • 07220fe7f fix: install iptables-nft to the host
  • 14841750b chore: add version compatibility for Talos 1.10
  • 852baf819 feat: support vlan/bond in v1, vlan in v2 for nocloud
  • dd61ad861 fix: lock provisioning order of user disk partitions
  • d0773ff09 chore: update Go to 1.23.4
  • 7d6507189 feat: implement new address sorting algorithm
  • 9081506d6 feat: add process scheduling options
  • 77e9db4ab test: use two workers in qemu tests by default
  • 5a4bdf62a feat: update Kubernetes to 1.32.0-rc.1
  • d99bcc950 chore: refactor mergeDNSServers func
  • 0cde08d8b docs: add Turing RK1 docs to Single Board Computer section

Changes since v1.10.0-alpha.0

98 commits

  • 6e22c06c3 release(v1.10.0-alpha.1): prepare release
  • 3a2d9867b fix: do not close client.Client.conn with finalizer
  • 73f30ff25 feat: bump pkgs for udev update
  • aea90cb8f docs: update hyper-v
  • b7165615f fix: use local NTP for AWS platform
  • 673ca4bcb fix: ensure proper closure of client.Client.conn with finalizer
  • 19040ffd6 fix: handle of PE sections with duplicate names
  • 83489d348 docs: add note about vmxnet and flannel conflict
  • f1292f5e7 docs: add iscsi-tools extension to prerequisites
  • 93b4a3740 test: bump timeout on rotate CA test
  • 42e166984 feat: support kexec from uki
  • 8da264946 docs: add Orange Pi 5 to Image Factory platforms and documentation
  • c5fb62e2e feat: update Linux to 6.2.11
  • 83d007c16 feat: update etcd to 3.5.18
  • edf7c3288 fix: pe uki extract
  • 70f72c5b0 docs: update multus.md
  • 807a3cd29 refactor: all network merge controllers
  • ec8c4660e docs: update vmware.md
  • baf81cd49 fix(ci): k8s integration suite wait for resource
  • cd5e54903 feat: generate iso's with both UKI and grub
  • 75673b6a3 feat: provide stable symlinks in disk resources
  • f407c88e4 fix(ci): wait for longhorn node resource
  • 601cdccb9 feat: extract kernel/initrd from uki for grub
  • ff175b9fb docs: update disk-encryption.md
  • a8d84e315 docs: fix typos and add more explanations in docs
  • 3a384240e fix: invalid date field in iqn/nqn
  • 82c9ec158 chore(ci): add tests with longhorn v2 engine
  • 689ea1dbf fix: bring back disk UUID
  • 7a712fad2 fix: disks with 4k sector size and systemd-boot
  • d62a34aaf feat: update tools/pkgs/extras
  • b9a8ad6ac chore: de-hardcode list of extra images for image-cache test
  • 683153a33 docs: remove the last mentions of preserve flag for Talos 1.8+
  • 33c7f4195 docs: fix typo an MacOS to on MacOS
  • 21cff3919 chore(ci): fio benchmark results as separate artifacts
  • 0b7fc7cdf fix: abort node watch on hostname change
  • 99ba53941 docs: remove the mention of preserve flag for Talos 1.8+
  • bde516fde chore(ci): rework iscsi-tools extensions test
  • e1efbf656 refactor: extract platform metadata into Talos machinery
  • 79987c05d feat: generate iqn and nqn files
  • 0cab6ed17 docs: update troubleshooting.md
  • 921e10254 chore: update Go to 1.23.5
  • 399d53b54 fix: ignore forbidden error when waiting for pod eviction
  • 8dea57a81 fix: make etc binds read-only
  • 63157dcb4 docs: update SideroLinkConfig example
  • fc7080e34 chore: clear cache after updating upstreams
  • 51e0f273f docs: update documentation for Talos 1.9.2
  • e06b14112 feat: update Kubernetes to 1.32.1
  • 4310b290d fix: generate UKI only if actually needed
  • a8cd99102 docs: update OpenEBS Mayastor installation
  • cf45f4764 docs: add Radxa ROCK 5B docs to Single Board Computer section
  • b21bdc5e5 chore(ci): save csi tests fio results
  • 01c86832c chore(ci): add test for OpenEBS MayaStor
  • c77483510 test: update talosctl debug air-gapped
  • ddd695d93 feat: update containerd to 2.0.2
  • da2e81120 fix: add informer resync period for node status watcher
  • 9b957df64 chore: uki code restructure
  • e41a99525 fix: kube-apiserver authorizers order
  • db4ca5668 feat: add a kernel parameter to disable built-in auditd
  • faa149003 feat: update Linux to 6.12.9
  • 8de19758d fix: a couple of imager panics/crashes
  • 5bc3e34cb fix: detect GPT before ZFS
  • ed7e47d15 refactor: drop usage of objcopy to generate UKIs
  • edf5c5e29 fix: extfs repair and resize
  • 6e32ea5b7 fix: merge of VolumeConfig documents with sizes
  • 1be5f8ff2 feat: update Linux to 6.12.8
  • e6a4583ba feat: support generating unsigned UKIs
  • bbd6067d4 fix: partition alignment on disks with 4k sectors
  • 84fcc976f fix: yet another dashboard panic
  • 6d605fc85 fix: disable NRI plugin in a different way
  • 499695e24 fix: request previous IP address in discovery
  • cc84caf8c docs: update Cilium documentation
  • fa5300d91 chore: revert: drop deprecated allowSchedulingOnMasters
  • 0abb3dabf docs: fix command to wait for ceph-rook HEALTH_OK
  • 32c67c27c chore: drop deprecated allowSchedulingOnMasters
  • ae6d065be fix: mount selinuxfs only when SELinux is enabled
  • 5ccbf4bcd feat: enable configfs
  • 59582496d feat: bring in partity with sd-257
  • 83d84a831 chore(ci): better zfs checks
  • 650eb3a4f refactor: rewrite cloud uploader to use AWS SDK Go v2
  • 01bf8449b fix: update field name for bus path disk selector
  • e915c98d5 fix: exclude disks with empty transport for disk selector
  • b7a7fdc4b refactor: generate /etc/os-release file static way
  • e79c9e127 chore(ci): drop equinix metal e2e-test
  • 418945444 fix: build of talosctl on non-Linux platforms
  • 4761a9e6a chore: update dependencies
  • f98efb333 fix: ignore member not found error on leave cluster
  • b72bda0a4 fix: talosctl support and race tests
  • 27233cf0f test: use node informer instead of raw watch
  • 5dc15e8db fix: update go-blockdevice to v2.0.9
  • 5f3acd0f2 fix: use correct default search domain
  • 7e5d36d46 fix: pci driver rebind config validation
  • 4b97bbc3f fix: pull in containerd CNI deadlock fix
  • 066480722 test: fix apparmor tests
  • 82ea44a6b fix: reduce installer image
  • 78b3e7f4f fix: get next rule number for IPv6 in the appropriate chain
  • 675854aa0 docs: fix two typos
  • f70b7386a test: add a xfs makefs test
  • 8212e4864 refactor: use quirks in kernel args

Changes from siderolabs/crypto

1 commit

Changes from siderolabs/extras

5 commits

Changes from siderolabs/gen

1 commit

Changes from siderolabs/go-talos-support

1 commit

Changes from siderolabs/pkgs

35 commits

Changes from siderolabs/tools

8 commits

Dependency Changes

  • cloud.google.com/go/compute/metadata v0.5.2 -> v0.6.0
  • github.com/aws/aws-sdk-go-v2/config v1.28.5 -> v1.28.7
  • github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.20 -> v1.16.22
  • github.com/aws/aws-sdk-go-v2/service/kms v1.37.6 -> v1.37.8
  • github.com/containerd/cgroups/v3 v3.0.4 -> v3.0.5
  • github.com/containerd/containerd/v2 v2.0.1 -> v2.0.2
  • github.com/containerd/platforms v1.0.0-rc.0 -> v1.0.0-rc.1
  • github.com/containernetworking/plugins v1.6.0 -> v1.6.1
  • github.com/cosi-project/runtime v0.7.6 -> v0.8.1
  • github.com/docker/cli v27.3.1 -> v27.4.1
  • github.com/docker/docker v27.3.1 -> v27.4.1
  • github.com/foxboron/go-uefi fab4fdf2f2f3 -> 19dc140271bf
  • github.com/google/go-tpm v0.9.1 -> v0.9.3
  • github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0 -> v2.2.0
  • github.com/hetznercloud/hcloud-go/v2 v2.17.0 -> v2.17.1
  • github.com/opencontainers/runc v1.2.2 -> v1.2.4
  • github.com/siderolabs/crypto v0.5.0 -> v0.5.1
  • github.com/siderolabs/extras v1.9.0 -> v1.10.0-alpha.0-2-gf4a110f
  • github.com/siderolabs/gen v0.7.0 -> v0.8.0
  • github.com/siderolabs/go-blockdevice/v2 v2.0.7 -> v2.0.13
  • github.com/siderolabs/go-talos-support v0.1.1 -> v0.1.2
  • github.com/siderolabs/pkgs v1.9.0-12-g9576b97 -> v1.10.0-alpha.0-34-g5763e3e
  • github.com/siderolabs/talos/pkg/machinery v1.9.0 -> v1.10.0-alpha.1
  • github.com/siderolabs/tools v1.9.0-1-geaad82f -> v1.10.0-alpha.0-7-g7200845
  • github.com/thejerf/suture/v4 v4.0.5 -> v4.0.6
  • go.etcd.io/etcd/api/v3 v3.5.17 -> v3.5.18
  • go.etcd.io/etcd/client/pkg/v3 v3.5.17 -> v3.5.18
  • go.etcd.io/etcd/client/v3 v3.5.17 -> v3.5.18
  • go.etcd.io/etcd/etcdutl/v3 v3.5.17 -> v3.5.18
  • golang.org/x/net v0.32.0 -> v0.34.0
  • golang.org/x/sys v0.28.0 -> v0.29.0
  • golang.org/x/term v0.27.0 -> v0.28.0
  • google.golang.org/grpc v1.68.1 -> v1.69.2
  • google.golang.org/protobuf v1.35.2 -> v1.36.1
  • k8s.io/api v0.32.0 -> v0.32.1
  • k8s.io/apiserver v0.32.0 -> v0.32.1
  • k8s.io/client-go v0.32.0 -> v0.32.1
  • k8s.io/component-base v0.32.0 -> v0.32.1
  • k8s.io/kube-scheduler v0.32.0 -> v0.32.1
  • k8s.io/kubectl v0.32.0 -> v0.32.1
  • k8s.io/kubelet v0.32.0 -> v0.32.1
  • k8s.io/pod-security-admission v0.32.0 -> v0.32.1
  • kernel.org/pub/linux/libs/security/libcap/cap v1.2.72 -> v1.2.73

Previous release can be found at v1.9.0

Images

ghcr.io/siderolabs/flannel:v0.26.1
registry.k8s.io/coredns/coredns:v1.12.0
gcr.io/etcd-development/etcd:v3.5.18
registry.k8s.io/kube-apiserver:v1.32.1
registry.k8s.io/kube-controller-manager:v1.32.1
registry.k8s.io/kube-scheduler:v1.32.1
registry.k8s.io/kube-proxy:v1.32.1
ghcr.io/siderolabs/kubelet:v1.32.1
ghcr.io/siderolabs/installer:v1.10.0-alpha.1
registry.k8s.io/pause:3.10

Don't miss a new talos release

NewReleases is sending notifications on new releases.