Update dependency siderolabs/talos to v1.14.1 - #164
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/siderolabs-talos-1.x
branch
from
September 3, 2026 18:58
ed35874 to
3a4d30e
Compare
renovate
Bot
force-pushed
the
renovate/siderolabs-talos-1.x
branch
from
September 7, 2026 21:29
3a4d30e to
624e92b
Compare
renovate
Bot
force-pushed
the
renovate/siderolabs-talos-1.x
branch
from
September 15, 2026 21:58
624e92b to
cc87f22
Compare
renovate
Bot
force-pushed
the
renovate/siderolabs-talos-1.x
branch
from
September 24, 2026 12:49
cc87f22 to
d7a4a28
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v1.13.8→v1.14.1Release Notes
siderolabs/talos (siderolabs/talos)
v1.14.1Compare Source
Talos 1.14.1 (2026-09-15)
Welcome to the v1.14.1 release of Talos!
Please try out the release binaries and report any issues at
https://github.com/siderolabs/talos/issues.
Component Updates
Linux: 6.18.51
containerd: 2.3.5
Talos is built with Go 1.26.8.
Contributors
Changes
36 commits
2f86b9drelease(v1.14.1): prepare release65f704echore: pass kernel version down to VEX generator63101affix: prevent sandboxd signal dispositions leaking into services676276ftest: peer passively with the MetalLB speaker2b8b46dtest: stop ARP flux breaking the BGP VRF test357d600fix: rebuild the BGP server when its VRF is recreateddb0b5a1fix: guard against nil config document slices094741fdocs: clarify the kube-apiserver extra args and new configa13b560docs: correct the UnattendedInstallConfig name in the schema166c407fix: make --insecure reachable for talosctl meta subcommandsaac1068fix: ignore apply config dry-run for try mode7a2c4e8fix: tighten the validation of v1alpha1 configs vs. migrationaef64fafix: reconnect the WireGuard over gRPC tunnel after a failured07a21afix: drop logical links if they no longer declare as logical9996bc8fix: create GRUB bootloader ISOs only for BIOS0604432feat: add NixOS OVMF search path5cb44dcfix: wait for USB settle explicitly20dcd51fix: empty searchdomains dropped on merge1e3e3fechore: support correctly various disk types for the system disk7c2e0b1fix: notify about link alias changese9a67e1chore: use the host page cache for the QEMU cluster disks0afebcafix: use the final config version in upgrade-k8s0ad18bbfeat: bring in containerd 2.3.504c49d8feat: allow generating an ECDSA service account key in secrets bundlesbb2cb91fix(security): define the permissions the 6.18 kernel expects in the classesbf31b28fix: improve resilience of the action tracker against dropped conns00a0ea0fix: set TCP keealive and user timeout on apid proxied connections6c06560test: revert disabling PS/2 in QEMU9841e0bdocs: fix containerconfig.dependson examplesa11a260feat: add USB LAN78XX drivers to the rootfs9f82774fix: harden the code around kubelet's client certificate handling3260b1efix: resolve volume devices in shared selector helper0841525fix: create LVM physical volumes on the decrypted device7dabdebfeat: add xfrm interface module63963f7feat: sync pkgs/tools09681e8fix: correct the bug with overlay assets in ESP being droppedChanges from siderolabs/gen
2 commits
cbd9518chore: rekres and update deps26ccee1feat: provide new YAMl unmarshal validator for null valuesChanges from siderolabs/pkgs
10 commits
f694e1bfeat: update Linux to 6.18.5185a249afeat: update libpathrs to 0.2.6fe037b6feat: update Linux to 6.18.5035e3898feat: update containerd to 2.3.5fd0c2b2fix: add a kernel patch for EFI SecureBoot integrity lockdown2415a01feat: add kernel modules to enable Intel HD audio202a677feat: bump kernel to 6.18.495ddbb53feat: enable CONFIG_USB_LAN78XX and CONFIG_MICROCHIP_PHY on amd64c61bcc3feat: enable CONFIG_XFRM_INTERFACE in the kernel40ccb0dchore: sync tools & toolchainChanges from siderolabs/tools
2 commits
a404efbchore: bump util-linux 2.42.33c49a3cfeat: bump go to 1.26.8Dependency Changes
Previous release can be found at v1.14.0
Images
v1.14.0Compare Source
Welcome to the v1.14.0-beta.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.
DNS over TLS (DoT) and DNS over HTTPS (DoH) Support
Talos now supports DNS over TLS (DoT) and DNS over HTTPS (DoH) for secure DNS resolution.
These features allow Talos to encrypt DNS queries and responses, enhancing privacy and security for DNS traffic.
The DNS protocol can be configured on a per-name server basis in the
ResolverConfigdocument, allowing for flexible configuration of DNS resolution.noexec on EPHEMERAL (/var)
Talos 1.14 clusters now default the EPHEMERAL volume (
/var) tonoexecin addition to the existingnosuidandnodevmount options through generated machine configuration.
Existing machines are not affected on upgrades.
Note: Workloads that execute binaries placed under
/varcan break on new machines.Longhorn v1 and vCluster are known to be affected.
For example, Longhorn v1's
instance-managerexecutes engine binaries that theengine-imageDaemonSet places under/var/lib/longhorn/engine-binaries/, which now fails withpermission denied.Affected users can opt out via a
VolumeConfigdocument:Longhorn v2 (SPDK data engine) runs the data plane inside the instance manager process and is not affected.
Apply Configuration Modes
The '--mode=reboot' option has been removed from the
talosctl apply-configcommand; by default, configuration is applied without a reboot.Most configuration changes don't require a reboot; the documentation lists the changes that do.
Native BGP
Talos now supports running native BGP routing instances on the host via embedded GoBGP servers, configured with
BGPInstanceConfigdocuments.This removes the need to ship FRR as a system extension for the common fabric-facing use case.
List of changes:
BGPInstanceConfigdocuments to configure local ASN, router-id, optional Linux VRF, advertised interfaces, neighbors, and per-route preferred source (routeSource).installRoutes: falseto retain learned routes in the BGP RIB without installing them into the Linux routing table.importRoutesprefix selectors. Imports are one-way, preserve path attributes, and do not recursively import locally originated or previously imported paths.BGPPeerStatusresources (talosctl get bgppeerstatus).RouteSpec/RouteStatusnow carry a multipath next-hop list to support ECMP and cross-family (RFC 8950) next-hops.Btrfs Support
Talos now supports mounting and provisioning
btrfsfilesystem for user volumes and existing volumes.Support for
btrfsis enabled by installingbtrfssystem extension.CRI Base Runtime Specification Configuration
Talos now supports overriding the default OCI runtime specification for CRI containers with a
CRIBaseRuntimeSpecConfigdocument:The
.machine.baseRuntimeSpecOverridesfield is deprecated and remains supported during the deprecationperiod. It is mutually exclusive with
CRIBaseRuntimeSpecConfig; configurations containing both are rejected.Applying, updating, or removing either source regenerates the base runtime specification and restarts CRI
automatically. A machine reboot is no longer required.
CRI Customization Configuration
Talos now supports customizing the CRI containerd configuration with named
CRICustomizationConfigdocuments. Each document contains a TOML fragment; fragments are merged in lexicographical order by name.
Applying, updating, or removing these documents updates the generated CRI configuration and restarts CRI
automatically.
The legacy
/etc/cri/conf.d/20-customization.partmachine-file configuration remains supported during thedeprecation period and is exposed under the reserved name
customization. ACRICustomizationConfigdocumentcannot use that name.
NOTE: a machine reboot is no longer required to apply changes to CRI configuration.
Containerd NRI
Talos no longer disables NRI (Node Resource Interface) for the CRI containerd instance by default, so NRI is available
to use without any machine config patches.
To bring back the old behavior of NRI disabled by default, add the following machine configuration document:
Default Installer Image
The default installer image has been updated to use the Image Factory.
The
ghcr.io/siderolabs/installerimage is no longer published with releases; use the Image Factory installer image instead.DHCP
DHCPv4 search domains are now applied to the resolver configuration.
DHCPv4 configuration now supports
ignoreRoutesoption to ignore routes provided by DHCPv4 servers.Cluster Discovery
Talos introduces support for configuring multiple discovery service endpoints.
Talos introduces new document for configuring the cluster discovery identity.
List of changes:
.cluster.discoveryin the v1alpha1 config; use theDiscoveryServiceConfigdocument for discovery service configuration. The v1alpha1 config andDiscoveryServiceConfigare mutually exclusive..cluster.secretandcluster.idin the v1alpha1 config; use theDiscoveryIdentityConfigdocument for discovery identity configuration. The v1alpha1 config andDiscoveryIdentityConfigare mutually exclusive.base64.URLEncodingtobase64.StdEncoding. This aligns the encoding with the rest of Talos.Encryption Discards
Volume encryption now supports an
allowDiscardsoption (disabled by default) which passes TRIM/discard requeststhrough to the underlying device when the encrypted volume is opened.
This only enables passing discards through to the underlying device; Talos does not perform any fstrim/discard operation by itself.
etcd
Talos is now compatible with etcd v3.6.x only (the default etcd version was 3.6.x since Talos v1.11).
The default version is 3.7.0+ now.
etcd now serves its HTTP-only endpoints (
/metrics,/health, the gRPC-gateway JSON API) on a dedicatedlistener on port
2383, while the client port2379serves gRPC only. This keeps gRPC off Go'snet/httpHTTP/2 server, avoiding watch-stream starvation under TLS (see etcd-io/etcd#15402, golang/go#58804,
etcd-io/etcd#21605).
Upgrade note: etcd metrics and the HTTP health endpoint are no longer reachable on
2379; scrape them onport
2383instead (same client mTLS as before). etcd gRPC clients and the Talos health check are unaffected.Firewall might need to be adjusted to block the port
2383if previously2379was blocked.If
--listen-metrics-urlswas customized, the metrics should not move.EtcFileConfig
Talos now supports managing user-owned files under
/etcwith the newEtcFileConfigmulti-documentconfiguration kind. The document
nameis the path relative to/etc, and each document owns the completefile contents and mode.
This can be used to configure files such as
/etc/nfsmount.confor/etc/multipath.conf. Talos-managedpaths, including
resolv.conf,hosts,machine-id, CRI and Kubernetes configuration, trust bundles, andidentity files, are rejected to prevent overriding files owned by Talos.
Filesystem Trim
Talos can now periodically trim (the equivalent of the
fstrimcommand) mounted filesystems which support trimming,discarding unused blocks. This is useful for SSDs and thin-provisioned storage.
Trimming is opt-in via a new
FilesystemTrimConfigdocument which sets the global trim interval:The default machine configuration for Talos 1.14+ includes a
FilesystemTrimConfigdocument with a default trim interval of one week,so trimming is enabled by default for eligible filesystems. For cluster which were upgraded from older versions, the
FilesystemTrimConfigdocument will be missing,so trimming will be disabled by default until the document is added.
When the document is present, Talos builds a stable schedule (hashed by node ID and volume ID, so trims are spread out
across volumes and across nodes in a cluster) and trims eligible volumes (ready disk/partition volumes with a
trim-capable filesystem; for encrypted volumes only when
allowDiscardsis set).The trim interval can be overridden or disabled per-volume via a
trimblock on the volume documents(
VolumeConfig,UserVolumeConfig,ExistingVolumeConfig,ExternalVolumeConfig):Flannel CNI
Talos now configures Flannel with the
EnableNFTablesoption enabled, which uses nftables native backend instead ofiptables-nftcompatibility layer.FlexVolume Host Path Removed
Talos no longer provisions the deprecated FlexVolume executable host path at
/usr/libexec/kubernetes. FlexVolume has been deprecated since Kubernetes 1.23.Modern CSI plugin paths under
/var/lib/kubeletare unaffected.Host DNS Configuration
HostDNS configuration was moved from the v1alpha1 config
.machine.features.hostDNSfield to the newhostDNSin theResolverConfigdocument.HTTP Probe Support
Talos now supports HTTP network probes, allowing for monitoring of HTTP endpoints.
HTTP responses with status 200-399 are considered successful, while connection and transport errors are treated as failures.
Image Cache Configuration
Talos now supports a new
ImageCacheConfigdocument for configuring the Image Cache feature, replacing the oldmachine.features.imageCachefield in the v1alpha1 config.Old configuration is still supported for backwards compatibility.
Kernel Multi-document Configuration
Talos introduces new multi-document configuration for kernel parameters (sysctl and sysfs settings), replacing the old v1alpha1 config fields.
The old configuration is still supported for backwards compatibility, but new deployments should use the new documents.
If both old and new configuration sources are used, the new multi-document configuration takes precedence over the old v1alpha1 config on conflicting fields.
List of changes:
.machine.sysctlsin the v1alpha1 config; use theSysctlConfigdocument for kernel sysctl configuration..machine.sysfsin the v1alpha1 config; use theSysfsConfigdocument for sysfs configuration..machine.kernelin the v1alpha1 config; use theKernelModuleConfigdocument for kernel module configuration.Kernel Module Status
Talos now reports the status of both dynamically loaded, and built-in kernel modules.
The
LoadedKernelModuleresource has been deprecated and superseded by the newKernelModuleStatusresource.In-tree Volume Plugins Deprecated
Because the kubelet now runs inside the sandbox namespace (see the workload isolation note), the in-tree
Kubernetes volume plugins that require the kubelet to reach host-level daemons no longer work. In particular
the in-tree
iscsivolume plugin, which drives the kubelet'siscsiadmwrapper to talk to the hostiscsid,can no longer locate it across the sandbox PID namespace boundary.
Use CSI drivers instead — a CSI node plugin performs the attach/mount itself in its own privileged pod and is
unaffected by the sandbox. For iSCSI,
kubernetes-csi/csi-driver-iscsi(ordemocratic-csi) consumes atarget the same way. All in-tree (non-CSI) volume plugins are deprecated for the kubelet and support for them
may be removed in a later release.
Kubernetes Multi-document Configuration
Talos introduces new multi-document Kubernetes configuration, which allows for more flexible and modular configuration of Kubernetes components.
Talos still supports the old v1alpha1 config for backwards compatibility, but new features and fields will only be available in the new multi-document format.
The
kube-proxyis now using configuration to manage its settings instead of command line arguments (with newKubeProxyConfigdocument).List of changes:
.cluster.secretboxEncryptionSecretin the v1alpha1 config; use theKubeEtcdEncryptionConfigdocument for full etcd encryption configuration..cluster.apiServerin the v1alpha1 config; use theKubeAPIServerConfig,KubeAdmissionControlConfig,KubeAuditPolicyConfig,KubeAuthenticationConfigandKubeAuthorizerConfigdocuments for kube-apiserver configuration..cluster.ca,.cluster.acceptedCAsand.cluster.aggregatorCAin the v1alpha1 config; use theKubeAPIServerCAConfig,KubeAggregatorCAConfigdocuments..cluster.controllerManagerin the v1alpha1 config; use theKubeControllerManagerConfigdocument for kube-controller-manager configuration..cluster.schedulerin the v1alpha1 config; use theKubeSchedulerConfigdocument for kube-scheduler configuration..cluster.proxyin the v1alpha1 config; use theKubeProxyConfigdocument for kube-proxy configuration..cluster.networkin the v1alpha1 config; use theKubeNetworkConfigdocument for Kubernetes network configuration; Flannel can be configured using theKubeFlannelCNIConfigdocument..cluster.coreDNSin the v1alpha1 config; use theKubeCoreDNSConfigdocument for CoreDNS configuration..cluster.nameand.cluster.controlPlane.endpoint in the v1alpha1 config; use theKubeClusterConfig` document for cluster name and control plane endpoint configuration..cluster.allowSchedulingOnControlPlanes.machine.kubelet.skipNodeRegistration.machine.kubelet.registerWithFQDN.machine.kubelet.nodeIP.machine.nodeLabels.machine.nodeAnnotations.machine.nodeTaintsNoScheduletaint for controlplane and label are now explicitly listed inKubeNodeConfig..machine.kubeletfields in the v1alpha1 config; use theKubeNodeConfigandKubeCredentialProviderConfigdocuments for kubelet configuration..machine.podsin the v1alpha1 config; use theKubeStaticPodConfigdocument for static pod configuration..machine.filesin the v1alpha1 config; use dedicated configuration documents such asEtcFileConfigandCRICustomizationConfiginstead..machine.baseRuntimeSpecOverridesin the v1alpha1 config; use theCRIBaseRuntimeSpecConfigdocument for base runtimespec overrides..cluster.inlineManifestsin the v1alpha1 config; use theKubeInlineManifestConfigdocument for inline manifests..cluster.extraManifestsand.cluster.extraManifestHeadersin the v1alpha1 config; use theKubeExternalManifestConfigdocument for external manifests..machine.features.kubePrism; use theKubePrismConfigdocument for KubePrism configuration (or remove it to disable KubePrism)..machine.features.kubernetesTalosAPIAccess; use theKubeTalosAPIAccessConfigdocument instead.nodeCIDRMaskSizeIPv4(default24) andnodeCIDRMaskSizeIPv6(default64) settings to theKubeNetworkConfigdocument to control the per-node pod CIDR mask size and validate the pod and service subnet sizes.LVM Logical Volume Creation
Logical volumes can now be declared with a new
LVMLogicalVolumeConfigmulti-doc config kind. Each documentnames a logical volume, its parent
volumeGroup, atype(linear,raid0,raid1orraid10) and amaxSize(absolute, e.g.50GiB, or a percentage of the volume group, e.g.80%). RAID layouts acceptoptional
mirrors(raid1/raid10, default 1) andstripes(raid0/raid10, default: all available physicalvolumes) fields. Once the volume group is assembled the logical volume is created via
lvcreate.Raising
maxSizegrows an existing logical volume vialvextend; percentage-sized volumes also grow whentheir volume group is extended. Shrinking is never performed (it risks data loss) - a request to reduce the
size surfaces an
LVMValidationErrorinstead. Removal stays an explicit operation via the LVMService LVremove RPC (
talosctl wipe lv).LVM Status
Talos now provides detailed LVM status information, allowing for better monitoring and management of LVM volumes.
New resources
LVMPhysicalVolumeStatus,LVMVolumeGroupStatus, andLVMLogicalVolumeStatusexpose PV, VG, and LV details.DiscoveredVolumeresources for logical volumes are listed by their kernel name (e.g.dm-0). To resolve the<vg>/<lv>for a given device, use theDisksorBlockSymlinksresources, which carry the udev-managed symlinks (e.g./dev/disk/by-id/dm-name-<vg>-<lv>).LVM Volume Group Creation
Talos can now create and grow LVM Volume Groups declaratively through a new
LVMVolumeGroupConfigmulti-docconfig kind. Each document names a Volume Group and a CEL
volumeSelectorover the disk inventory; matcheddisks are initialised as Physical Volumes (
pvcreate) and aggregated into the requested VG (vgcreate).Newly matched disks added to an existing VG are attached via
vgextend.Reconciliation is strictly additive and safe-by-default.
LVM Wipe
Talos now provides the ability to securely wipe LVM metadata from logical volumes, volume groups, and physical volumes.
This feature allows for selective wiping of logical volumes, volume groups, and physical volumes.
With
talosctl wipe lv/vg/pv <name>, users can wipe LVM metadata from a specific logical volume, volume group, or physical volume.NTS for Time Synchronization
Talos now supports Network Time Security (NTS) for secure time synchronization.
This feature enhances the security of NTP by providing cryptographic authentication of time sources.
NTS is enabled by default (without any configuration sources) for the default
time.cloudflare.comtime serverNTS can be enabled for custom time servers via the new
useNTSfield in theTimeServerConfigdocument.RAID Array Creation
Talos can now create and grow Linux MD (software RAID) arrays declaratively through a new
RAIDArrayConfigmulti-doc config kind. Each document names an array, its
level(raid1) and a CELvolumeSelectoroverthe disk inventory; matched disks are assembled into the requested array with
mdadmand exposed at the stable/dev/disk/by-id/md-name-<name>path. New matching disks added to an existing array are attached automatically.Reconciliation is strictly additive and safe-by-default. Arrays are never destroyed by removing the config;
removal stays an explicit operation via
talosctl wipe md <device>. The newMDArrayStatusresource reports theassembled array, level, device path, and members.
Booting from a RAID Array
Talos can now be installed onto and boot from a Linux MD (software RAID) array. Define a
RAIDArrayConfigfor thearray and point the install disk selector (
UnattendedInstallConfig) at the resulting/dev/disk/by-id/md-name-<name>device.
Only
raid1arrays withmetadata: "1.0"can be used for booting: the 1.0 format keeps its superblock at the end ofeach member, so the partition table written to the array stays visible at the start of every disk, allowing the
firmware to boot from any member.
metadatadefaults to1.0; other levels and metadata formats are not bootable.Workload Isolation (sandboxd)
The container runtime plane — CRI containerd, the kubelet, and all pods — now runs inside a dedicated PID and
mount namespace anchored by a new
sandboxdservice, instead of sharingmachined's namespaces.sandboxdruns in its own least-privilege SELinux domain (sandboxd_t). if it dies the kernel tears down thenamespace and Talos recreates it — relaunching CRI, the kubelet, and pods — without rebooting the node.
Its logs are available via
talosctl logs sandboxd.Workload isolation is controlled by the
workloadIsolationfield of the newSecurityProfileConfigdocument.talosctl gen configemits it withworkloadIsolation: truefor Talos 1.14+, so new clusters are isolated bydefault. Clusters upgraded from older versions do not have this document and therefore keep the previous
(non-isolated) behavior until it is added — upgrades change nothing on their own. To enable on an existing
cluster, add the document:
ICMP send_redirects Disabled by Default
Talos now sets
net.ipv4.conf.all.send_redirects=0andnet.ipv4.conf.default.send_redirects=0by default,preventing the node from emitting ICMP redirect messages. This aligns with CIS Benchmark recommendations and
does not affect normal Kubernetes pod or service traffic. Nodes that deliberately act as L3 gateways relying
on ICMP redirects can override this via
machine.sysctls.Support Bundle Encryption
The
talosctl supportcommand now encrypts support bundles using the age encryption tool, enhancing the security of support data.The default set of recipients includes the 'siderolabs' GitHub organization members, but it can be overridden with custom recipients.
Dedicated System Volumes
The
ETCD,CRI,KUBELETandLOGsystem volumes (/var/lib/etcd,/var/lib/containerd,/var/lib/kubeletand/var/log) can now be placed on dedicated partitions via aVolumeConfigdocument withprovisioningset (optionally encrypted). By default they remain directories under theEPHEMERALvolume.The backing (directory vs. dedicated partition) is fixed at cluster creation: switching an already-provisioned node between the two is rejected.
A dedicated partition has its own mount, so the
mount.secureoption (nosuid/noexec/nodev, enabled by default) can be set per volume; directory-backed volumes inherit theEPHEMERALmount options.Note that with
ETCDon a dedicated partition, etcd data no longer lives underEPHEMERAL. Resetting a control plane node with only theEPHEMERALpartition wiped will not clear etcd data; wipe theETCDvolume to reset etcd.TLS 1.3 Minimum Version
Talos now runs etcd and kube-apiserver with a minimum TLS version of 1.3, improving security by leveraging the latest TLS features and cipher suites.
Custom settings for cipher suites have been removed, as they are ignored when TLS 1.3 is used, which simplifies configuration and ensures the use of modern, secure defaults.
Udev Rules Multi-document Configuration
Talos introduces new multi-document configuration
UdevRulesConfigdocument for configuring custom udev rules.The old v1alpha1
.machine.udev.rulesfield is still supported for backwards compatibility, but new deployments should use the new document.If both old and new configuration sources are used,
UdevRulesConfigtakes precedence.List of changes:
.machine.udev.rulesin the v1alpha1 config; use theUdevRulesConfigdocument for custom udev rules.Unattended Install Configuration
Talos introduces a new
UnattendedInstallmulti-document config kind which replaces the deprecated.machine.installsection of the v1alpha1 config. The document carries the installer
imageand aprovisioningsection with a CELvolumeSelectorto match the install disk, plus awipeoption.When the
UnattendedInstalldocument is present, the install is driven by the newUnattendedInstallController(exposing an
UnattendedInstallStatusresource) instead of the legacy install sequence.talosctl gen configandtalosctl cluster createnow generate theUnattendedInstalldocument by default.The
.machine.installfield remains supported for backwards compatibility and is still used for older version contracts.Component Updates
Linux: 6.18.41
Kubernetes: 1.37.0-beta.0
containerd: 2.3.3
etcd: 3.7.1
Flannel: 0.28.8
runc: 1.5.1
CoreDNS: 1.14.6
Talos is built with Go 1.26.5.
Virtual Ethernet Pairs
Talos now supports declarative virtual Ethernet (
veth) pairs through the newVethConfigmulti-documentconfiguration kind. Both endpoints are created in the host network namespace and support the common link settings,
addresses, routes, and multicast configuration.
For example, the following configuration creates a pair named
veth-hostandveth-routerwith an address on eachendpoint:
XFS Allocation Group Geometry
On non-rotational devices
mkfs.xfssizes the allocation group count to the number of CPUs, bounding theallocation group size from below at 4 GiB only. On machines with many cores and a modest disk this produces
hundreds of tiny allocation groups, which squeezes the AG-local reflink/rmap metadata (leading to spurious
ENOSPCon reflink-heavy workloads while the filesystem still has plenty of free space) and inflates thejournal at the same time.
Talos now keeps XFS allocation groups at 64 GiB or above when it formats a volume. The bound can be changed
per volume, and setting it to zero restores the stock
mkfs.xfsbehavior:The same
filesystem.xfs.minAllocationGroupSizesetting is available forUserVolumeConfig.Note: allocation group geometry is fixed when the filesystem is created, so this only affects volumes
formatted by Talos 1.14 or later. Existing volumes keep their current geometry until they are wiped and
re-created (e.g.
talosctl reset --system-labels-to-wipe=EPHEMERAL).XFS scrub
Talos now supports automatically running background online filesystem maintenance tasks. Currently,
only XFS using xfs_scrub tool is supported.
This behavior can be enabled globally using a FilesystemScrubConfig document, or on per-volume
basis using a field in corresponding VolumeConfig documents.
Contributors
Changes
487 commits
1ab88f743fix: load the raid1 module for configured MD arrays9e8568d26fix: use inmem containerd for installs/upgrades8cf28da5ffix: preserve kmsg reconciliation after config changes311b6fde9fix: make reset during boot phase more robust945d1cdabfeat: bump kernel to 6.18.414e77d40e8fix: restore the systemd-timesync best-sample check in spike detection4444a187dtest: inspect host mount state from the current threadb7c0497b0fix: race between vol.cfg. and vol.mgr. ctrlef9a091ecfeat: allow attaching extra disks to controlplane machinesa418c0e1etest: fix CRI restart event assertion racea9bfdbdd4fix: ignore insecure-only imager assets54e3b20e8fix: hold the darwin vmnet bridge open for the network lifetimebc59389fafix: drop the OOM config rule about overall system memory PSI69be56ea9chore: add some initial set of libvirt SELinux policies6170ad8b9fix: validate kubespan & discovery config correctly for multi-doc6e58c6d5atest: fix ded. vol. plumbing in integration testsb644d1640fix: allow directory-backed volumes in reset api28e7a8742feat: bump etcd to v3.7.12c657c224feat: bump kernel to 6.18.40b1bdc8c07test: restart qemu process several times on startup failures7533057a7feat: support route imports between BGP instancesa94783704docs: remove duplicated docs in the markdown for CLI6f17c5033fix: verify the public key signed images correctly570fe34f0fix: generate backwards compatible etcd encryption configf7790816efix: use context without cancelation for etcd locks67e61ef30feat: add the fs_scrub controller1c156458afix: override DHCP search domains via explicit ResolverConfig domainsfd8dbd8a1fix: skip pod check if desired number of pods is zero9aede5429feat: add kubeimportlinter for versioned k8s importsae93d1462fix: redact resource specs in the merge controllersfc5743cd0feat: add GrubUseUKICmdline install option6bba77724feat: add named native BGP instancesc5ab22f1dfeat: move Talos API access from Kubernetes config to multi-docb1abd9c03fix: split the up/finished service events644ecbc66feat: add discovered volumes status controller6be2b1384feat: add veth pair support7514401defix: drop the controlplane static pod change9a521f667fix: preserve container tasks across CRI restarts9048d4157fix: fix a nil-map assignment panic in configpatcher45eaf2037release(v1.14.0-beta.0): prepare release7e58e0442feat: add dedicated CRI configuration documents076c38136fix: race with PCR extensions and volume unlock88884194cfix: teardown ephemeral mount request during resetc793bcbf5fix: configure bonds during initial link creation9b3bf6e51fix(talosctl): prevent duplicate QEMU config server portsfa6cd1ca8fix(machined): preserve health when services reach running9d5554e69fix(machined): wait for host namespace commands through reaperfc08533bfchore: update dependenciesc08863cddfeat: provide different heuristics for xfs allocation groupse955d9bd7feat: update CoreDNS to 1.14.6c3f757f9efeat: update Flannel to 0.28.8fada0d960fix: provide non-sensitive KubeletStatus resourcec68085286fix: volume mount race (third attempt) around service restartb185752e5feat: refactor KubePrism config into multidoc499d4ebf9test: update Calico in canal reset test5b6ed0068test: add a test for kata-qemu runtime class1a075383afeat: allow "duplicate" kinds in the config patches06943be9efeat: update Kubernetes to 1.37.0-beta.001f2a1423fix: preserve trailing rate-limited trigger events46fab8057test: stabilize AWS readiness and Talos 1.13 QEMU configa26ac746dfeat: move static pods and manifests into multi-doc67464cbeffix: update the vulnerability dates and description4920ee06ffeat: update Linux to 6.18.39286fa8006feat: include CA into kube-apiserver serving certificate6d65e223bfeat: drop kubernetes flexvolume mounts4935e9452feat: refactor kubelet's config intoKubeletConfig241bd0ff1feat: custom cfg for system volumes (cri, kubelet, etcd)ea9557816fix: talosctl buildc2b763608feat: add UFSHC and some other modules2193b5781feat: native BGP support via embedded GoBGP2e42c5900fix: add ca-certificates to talosctl0f55e1f05feat: refactor Kubernetes configs intoKubeNodeConfig6efdc8f71fix: zero MD superblock via block wipe on destroyf78f5e5a1fix: vrf sorting77385181afix: oom podruntime protectionc1184d38efeat: update to runc 1.5.14bff7eb90feat: support reboot and sync for remote provisionerc791fa8c0feat: add host-namespace debug profilee370e40b7feat: implement KubeClusterConfig37c78bfc0fix(ci): skip ephemeral noexec test on 1.130ab6695e6feat: update Kubernetes to 1.37.0-alpha.3443ca17e1test: bump test dependenciesc4242088bfix: enablenoexecfor EPHEMERAL only for new machinesfc9f72648feat: bump CoreDNS, Flannel352b1bdebfix: use symlinks for init aliases883775a9efix: move sandboxd into a separate cgroup099a2cedafix: remote provisioner nameff67aaf32feat: bump go dependencies79c0c5414feat: add iommufd as a kernel modulef34e93fe2fix: do proper backoff for NTP Kiss-of-Death responsesa3e644d8dchore: bump tools and pkgsefa88f2f6fix: flaky tests17a134711feat: add ignoreRoutes option to DHCPv4 config document2519bf231fix: make audit restartable54b4bbc03fix: provide correct handler for Ctrl-Alt-Delete sequence87e126ab7feat: isolate cri, kubelet and pods in a sandbox namespace3fb8f4e9efix: avoid image cache mount request churn9753fc27ffix: e2e test flakesf756ff232feat: kubenetworkconfig supports per-node pod cidr configurationb42c42976fix(ci): fix more flaky tests5d97eccdffeat: bring in ifb.ko module6769a1d5cfix: terminate log persistence a bit harder98cce792ffix(ci): extensions test057d554d2test: assert dm transport for device-mapper disks9fd16a21efeat: bump etcd to 3.7.03048eeb23feat: support booting from MD RAID1 arraye1fc7a4a1fix: do not block volume lifecycle teardown on failed user volumes147dea148feat: add --no-reboot flag to upgrade cmd1b23b11fcchore: update pkgs and toolsbfa9fb4e8fix: flaky testsa1ede48cbtest: fix testremovemember etcd integration flakeea90e690dfeat: add MD RAID gRPC service and reconcile controllers74486ef6dchore: update depsf59c3ccadfeat: implement service account configurationbaff2d3f9test: fix some test flakiness5450ec303fix: use a forked version of secure-io/siv-go33fac3f85test: stabilize netapp trident csi fio runsafdde2a8fchore(ci): add netapp trident csi integration tests21eca156ffix: print link status changes210f4e369](https://redirect.github.com/siderolabs/talos/commit/210f4e369a1857785980b1cdf71cd1452d6945fConfiguration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.