chore(deps): update dependency siderolabs/talos to v1.14.0 #237
No reviewers
Labels
No labels
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
shivering-isles/infrastructure-gitops!237
Loading…
Reference in a new issue
No description provided.
Delete branch "renovate/siderolabs-talos-1.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
v1.13.7→v1.14.0v1.13.8→v1.14.0Release Notes
siderolabs/talos (siderolabs/talos)
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 changes210f4e369fix: shutdown/reboot via usermode helpersd193f278dtest: fix cilium test config patchinge06898069fix: flaky testsb7398ec00feat: move kernel module config into multi-doc55bc643affix: flaky serviceaccount suite testdced7d570fix: correctly treat guaranteed QoS pods in the OOM handlerf783f6636feat: implement controlplane only config validationd0291bb0bfeat: extract Kubernetes CA config into a separate document97ed958a8chore: use lefthook globs to skip noop jobsa145c6356chore: lefthook USERNAME env, post-commit hookf836707adfix: use UnattendedInstallConfig for extensions67293c809chore: add lefthook.yml726ea8fc2chore: switch v1alpha1 validation to use cluster config structd1d848022feat: add mdadm tooling and udev rules020de3f51chore: update go dependenciesae84f56a0chore: remove orphaned unattendedinstall.md416073748feat: add UnattendedInstall config and controller4e5b4c6a7feat: extract clusterid and clustersecret to discoveryidentityconfig0a641f268refactor: simplify device status controller99da7f27ffix: data race in manifest sync54ac1cbd6fix: provide cooldown period for the QoS trigger788562586feat: udevd controller and udev rules config document6e34da25cfeat: delegate drain ops to go-kubernetes/nodedraine9e027c63fix: kubelet stuck restarting6f481b420fix: decode extraArgs list values correctlyc8bdcc252feat: update runc to 1.5.0eae11ab0cfeat: allow user managed etc files47d4bd87efeat: set user-agent for Kubernetes clientba926c6cechore: update golangcilint config45497bd5bfeat: bring systemd 261.18d9ecec93refactor: improve stability for process_test.go31221e7eerefactor: talosctl running tasks are yellowb268a6b08feat: refactor CoreDNS config into multi-doc416d5fe4bfix: race in etcd member addc244e4c46fix: building integration test binary on darwinb15a64b31chore: bump rekor for GHSA-47q9-m4ww-924mcd8b0fe39release(v1.14.0-alpha.2): prepare release917820cb3chore: sync pkgs/toolsb34be14e9fix: cli.md codeblock generation25abcc6b5docs: update kubespanconfig to match discoveryserviceconfig742589f50feat: support multiple discovery service configsfc3f27d79chore: enrich the SBOM with Go module licenses47d5c3351fix: handle image cache being disabled1a965aec3test: disable LongHorn ublk test and add more cores6d03b3f61fix: align documented image cache partition label6447d854ffix(talosctl): use aio threads on darwinf856d1808fix: image verification with referrers11a7fbe4cfeat: extract kube-apiserver config into multi-doc configs337654d2btest: fix rook-ceph testse33a86825feat: add AMD XGBE driver to initramfsbd2d6242afix: revert coredns to 1.14.27c4e644f8feat: update Linux to 6.18.366e23a5c2fchore: refactor bare opentree_clone into a mount helperdfbd30959fix(talosctl): prevent appending type 11 smbios values on restart5926dd70dtest: support running integration test against remote provisionerf146c6a18feat: refactor /etc mountsebe364117chore: bump containerd to 2.3.2bc30c61a1chore: bump deps (go, k8s, docker)00d739d0atest: skip fstrim default schedule on cloud testsd9c6edf01fix: bump number of open files for etcd990c5395cchore: update tools and pkgs 2026-06-17325be7cd8refactor: config generate uses multi-doc sysctlconfigd6930633bfix: clean up and overhaul mount opsa0219404dfix: cgroups cleanup58d8b71c4fix: stop the log persistence and close all files on shutdown4b32ebc17refactor: simplify trustd/apid rootfs setupdc98e3553feat: implement filesystem trim support897bef633feat: introduce KubeProxyConfig multi-docebde543cffeat: introduce BootID resourcecd178b9f3fix: ensure consistent manifest apply order19fac6151feat: remote provisionerb6412e031fix: drop one more reference to removed 'nodes'be7f7a7dbfeat: add human-readable size fields to LVM resourcesd4e0ca1bafix: make LVM reconciliation robust and idempotent0dbc1e529chore(ci): fix flaky testb687a47abfeat: implement an option to allow discards on encrypted volumes3fc981c57fix: improve security of scheduler/controller-manager5d4af9f33fix: gracefully stop node containers before removalc1593d8a3fix: honor FailurePauseTimeout when pausing before reboot506dc1323feat: add imager flag to set the SecureBoot key enrollment mode5d4ba702erefactor: generate pod definitions in k8stemplates995bc30d5feat: drop apply config method reboot18f6cb4d0fix: increment time epoch on wall-clock jump when time sync is disabled755a8c8ebfeat: update etcd to 3.7.0-rc.0a0c76fad1feat(talosctl): implement cluster logsdb052165cfeat(talosctl): support rebooting cluster nodes0a04f463afeat(talosctl): use gateway dns for clustercf3eb1cadchore(talosctl): disable kexec for cluster create on arm64180182b0ffix: correct the link alias conditionac9014f05fix: introduce pull attempt stall detection for image pullf2286d616fix: move Flannel netpol patch to the controlplane9986c0b16feat: bump kernel to 6.18.35e8845fba6fix: route ProxyURL test via reachable endpoint44acedf30feat: add declarative LVM logical volume provisioningf6058a11bfeat: grab support bundle via client factorycdd719773feat: add CPUCores resource8e41eb1bdfeat: verify go.mod tidiness in generate targetb19e2ea42feat: add kube-apiserver probesa321a1dccfeat: support proxy-url in talosconfig contextbb2ac7546feat: parse schematic info out of extension status0c02a5a07fix: align flannel MTU with kubespan to avoid permanent fragmentation3d5fd822cfeat: expose disk firmware and BIOS version30115981cfix: relax LUKS header validation5923199fbrefactor: use ClientFactory for the action tracker72c0ced3crefactor: deprecate sysfs and sysctl in machineconfigee74a41fbfix: handle cluster-scoped resources with a namespace correctly9df5a647afeat: allow to disable access time for EPHEMERAL partition9b667dbdechore: fix lint error in test311378386test: increase resource inmem buffer to stabilize the tests6f85ce3d2docs: hack/release.toml explains kernelmodulestatus9bb0a5d01fix(talosctl): add scrolling to dashboard footer node list4c029c2d6fix: machine configuration schemasc3052e845feat: move CNI config out of v1alpha1 config1d2f1208cfeat: add declarative LVM volume group provisioning85f1d428fchore: refactor tests to use debug apic901d47a5refactor: talosctl streaming commands and more fixes166854959fix: mark more resources as sensitive58adf2e00fix: classify installer and imager exits9549930fffeat: update Flannel to v0.28.527362d18erefactor: replace the callback strategy for most commandscb42d9d9afeat: implement support bundle encryption9ae260b55feat: enable NRI by defaultd1d5847b0fix: flaky test0f2331586feat: support external secureboot and pcr signersb349d919dfeat: enforce strict QoS ordering in OOM victim selection76d9b49bdfix(ci): aws nvidia tests3131826cdfix: provide NTS sync with bad initial clock state89e307e58fix: etcd client leak in the (legacy) Upgrade API476c4d050fix: recreate dns server and listeners on host DNS runner restart9a283d9b1feat: bump Go to 1.26.44759dc246chore: bump dependencies26a25a073chore(ci): drop homebrew workflowfa8a55192feat: update etcd to v3.6.1241fcab476feat: update kernel to 6.18.348ba00612bfeat: update dependencies6e2dec1earefactor: update talosctl commands to stop using WithNodesf9ad63a35feat: add custom logging convention linter30dbce03fchore: make oci images reproducible38244fd5bfeat: add sbom builder5177c50e2refactor: deprecate loadedkernelmodulec2eef3645fix: health request server-sided6eff8effrefactor: drop multi-nodes proxying for the dashboard2e547a964refactor: deprecate multi-node proxyingddcc519e1fix: add --fail to image-signer curl downloade5b0b1ddefix: normalize log fieldsd8e95c396fix: drop installer from bundle7aad9ec81feat: update pkgs, tools, Go dependenciesb50ee396ffix: fix trace fix to also lookup release branches027c93d25release(v1.14.0-alpha.1): prepare release4eb862d09feat: add LVMService for VG/LV/PV removalb88f16a52fix: use POSIX shell idioms for error propagation5290eb374fix: suppress ICMP redirects by default7b4aba2e5fix: marshal kube-scheduler config correctly with int types894be9bf5fix: touch rootfs files with SOURCE_DATE_EPOCHcde82224efix: ignore cgroups with zero rank in OOM handlerbc0372411fix: bring in a change to BCM2712_MIPf572c33f1chore: fail on makefile errore317d4b47fix: drop modprobe path and enforce usermode helper89e53f610fix(machined): make built-in mod state always 'permanent'cfbec9bd5test: skip UEFI vars wipe if TPM is enabled1e31deda3fix: create parent directories when extracting tar archives14dc188bdchore: verify go-containerregistry preserves symlinks951922dfbfix: guard apply config API call3e173adf4feat: move kube-controller-manager config to multi-docb5cda3438fix: reset QEMU UEFI variable store when disk is wiped4a17ac6acchore: script for tracking fixes made in upstream toolchain/tools/pkgsd71edeeadfeat: add LVM status resource definitions4aeba1cdefix: perform backwards-compatible kernel args cleanup9b7b2bf36feat: implement support for btrfs user volumes03ee8ee3afeat(machined): support instance tags on Akamaid19f9ade0fix: memorymodules resource reportinga6edcf6f3chore: move out adv library40e66eac7fix: bump Go golang.org/x modulese23ca4a0achore(ci): add upgrade tests for trustedboote3003c0ecchore: bump tpm nonce size to match the algorithm used8fd04da1ffeat: add bnxt_re module to the rootfs1cfab00f1fix: update etcd experimental argsad96fc6aefix: relax hostname config validationefd735334chore(ci): add missing labels, move release metadata check to job9ec045059feat: update containerd to 2.3.142f4144a1feat: introduce new KubeSchedulerConfigf2b7f39dbrefactor: move Args type out of config/v1alpha1b959dcb3efix: bump Kubernetes to 1.36.1 in one more place8ecc77f1afeat: update default Kubernetes version to 1.36.1cbd9c3745chore: rekres to secure slack workflows6a92fc653test: update Canal version used in the testsbe12d3d08feat: support 4k sector size disk imagesa7e8f4c28chore(ci): fix cloud image upload job name4319399f6feat: introduce more modular Linux kerneled5df89f6feat(ci): rotate credentialsa6a984ff7chore(ci): fix the job conditionsecb7d4588feat: enable Flannel nftables mode9919ff781feat: update Linux to 6.18.321a7d136e4feat: add Azure Secure Boot imager profiledf68e7391feat: implement kernel module status resourcee98ee99d4fix: streamline config validation flowd7f0a2fd4feat: update Linux to 6.18.312b66e25a5chore: update image signer5aa1795f9chore: drop e2e step dependenciesd42b3b396feat: update Linux to 6.18.30c3f6f3507feat: implement static host resolving via host DNS2f06a68efrefactor: split host DNS handlere99c5be5afeat: implement DNS over HTTP(S)cf6065238chore: stop publishing installer to ghcr0edabd29cfix: restore some shared (and some lower tier slave) mount propagationf1578dc63fix: image verification issue with registry.k8s.io46b1f8a24fix: rework how scheduler config is marshaled820a9fa59chore: fix typos in comments649a384a9feat: move more kernel stuff to modules4f3ab2012chore(ci): try fixing homebrew action600c0ab5dfeat(ci): validate that extensions PKGS and TOOLS sync with talos76080416bfeat: redact more machine config secrets and audit redactorsaabf63957docs: drop controlplane endpoint examplesb48a2bef4test: relax kernel-default routing rule assertiond2208b034refactor(talosctl): propagate command context throughout, handle interrupts0760b5c28fix: normalize source name for syft consistencyc49ac0ec2docs: document release policyec7e6ef9ffeat: bump in-toto indirect dependency21858a674feat: update kernel to 6.18.295a49dc61dfeat: migrate Image Cache config to multi-doc574298ec1fix: handle empty GCP operation errors366b10b79feat: dockerfile improvements9a1d9d0affeat: bump go 1.26.36eec1c229feat: support DNS over TLS for upstream resolversdee139aeffeat: revert update CoreDNS to 1.14.3087bc4c18chore: lint packages under tools9e7516faefix: clarify documentation for image verification pattern41c8e9dc4feat: bump dependencies2b6c06ef5feat: update CoreDNS to 1.14.36b6f7978bfeat: update containerd to 2.3.0f9c4f90dafeat(ci): longhorn v2 ublk tests84d169c62fix: make dnsd retry listening689974bd5fix: volume mount permissionsff0f66bdffix: skip reserved routing rule priorities850e2c754feat: drop fakeroot, use go helper0c1bd701afeat: add golangci-lint fmt target53bd66956feat: support conditional start of IPv6 dns serversb31d93e0dfeat: auto-enroll SecureBoot keys for disk images849a68006test: update pkgs to test new extensionsc30a6dfcbfix: preserve DHCP DNS servers5b81b20d3feat: apply DHCP search domains4e5ff8fa2fix(ci): zfs test14abe5140fix: handle gateways which are not on-link routes in dhcp4e1f759af8chore: fix lint issues automatically664c5f643chore: update toolsc64df2b61fix: add missing kernel modules in rootfsf73c24594feat: run depmod with verification on rootfs build1371596d7fix: provide proper AWS platform metadata4f11f021dfeat: implement etcd encryption config (kube-apiserver)876f83643feat: add support for HTTP Probes9b776d598feat: update etcd to 3.6.11631a1bc5efix: bring in hardened kernela349dac03fix: stale discovered volume children13ce01879fix: re-enable kexec on arm6432539d4acfix: deadlock in the makefs ext4 with populated source0f3e1966afix: panic in Kubernetes manifest sync3bae01ac1fix: do not pick up a system disk from a loop devicededb7a96cfix(talosctl): protect k8sNames map writes with mutexcc2be213afix: drop explicit platform matcher1dffebaf2fix: mount throws EPERM on virtiofs with SELinux48a481c29fix: replace Canal manifest with a more recent one6a445406efix: make lacp active nilable0d1d95c7dfix: bump go-kmsg to fix the timestamp driftbd344fd53fix: reset the ticker when the KubeSpan is disabled/enabled462015bcdrelease(v1.14.0-alpha.0): prepare release8a037a56etest: fix flaky tests08c81d838feat: bump kernel to 6.18.25fe40b6e58fix(ci): fetch empty pr labels837a9ed07feat: move host DNS config into ResolverConfig96a8ecd1efeat: default to factory installer imagef19eef78bfix: revert add extraArgs from service-account-issuer6821225b6fix: revert use append instead of prepend in service-account-issuerb43c3a124feat: add quirk for talosctl factory downloadsdf0b9a8darefactor: make all controller unit-test follow modern patternsc2948cef2feat: support auth for Image Factory in cluster create560bcf0cafeat: enforce TLS 1.3 minmum version for Kubernetes components3db14309efix(talosctl): ensure uncordon runs after reboot/upgrade errorsecf2fa855feat: update Kubernetes to v1.36.071557eaddfix(ci): skip misc jobs not on pull request026313b7cdocs: rename security-insights.yml to lowercase for LFX detectiondc4ffd490fix(ci): fix jobs not interpolating matrix due to condition25e2f37e2chore: generate comments for fields in resource proto149592fa5fix: watch kubelet's kubeconfig and time out for cache sync1f315e6e9feat: update Linux to 6.18.230198eedc2feat: add NTS (Network Time Security) support for NTP time sync6830a8b97fix(ci): matrix jobs cleanups71aeb347ftest: fix OOM test flake9b9542cc5test: fix a flake in the manifest sync test863d882b6test: add image verification for factory.talos.devbba0b4aeechore(ci): nvidia update helm values3399ff4defix: propagate route table down to the resourcec684ec60echore: prepare for Talos 1.14 releaseed9545d0dchore(ci): bump gpu operator version4de3e4393fix(ci): cron triggered workflows212182e6fchore: bump container registry libraryc028db0b8fix: do not flip machine stage to rebooting during shutdown6ce62d9e8fix(ci): workflow runs withworkflow_run509cd9733fix: boot entry detection5e3f30188feat(ci): rework to schedule daily runs after a cron7fa4d3919fix: zfs extensions test1ef8e630atest: allow more tests to run in FIPS strict modebdcc9321bfix: reduce memory dashboard usage2d177af82chore: update Syft to v1.42.4+patches0d8362119fix: return failed precondition on upgrade when not installedbe58eafabfix: wrong slot of encryption key was logged015081c76feat: update dependencies9fbb7c95dfix: audit trustd code for security986e97fc7feat: update Flannel to 0.28.4f3817d1d1chore: update sign images to support image name suffixe776721f3feat: update Kubernetes 1.36.0-rc.1f6e7346fafix: encode extra args fields in resources with new id3c7bb80bachore: bump tools3ba35c9b9chore(ci): nvidia try UKI boote3e8f01cachore: bump tools181584a5ffix: handle boot failurec464c7e88fix: upgrade API in maintenance mode (legacy)b7512d912feat: update Kubernetes to 1.36.0-rc.04ba11156frefactor: allow overriding out image name suffixc81aa125cfix: panic in reading PCR values6a3ab87c5feat(ci): add nvidia arm64 matrix21f459aabfix(talosctl): always use default GRPC dial optionsca208e514fix: validate hostDNS forwarding requires hostDNS to be enabled9fcb9e05bfeat: bump go to 1.26.20bfdf7f70fix: create correct blackhole routes for IPv452b920032feat: add client-side Kubernetes node drain to reboot and upgrade commands968ec1e0crefactor: propagate NAME properly, allow to set on buildacc69c346fix: set the minimum TLS version to 1.30cfa6e302chore: bump some tool dependencies4229bb9d2feat: add dis-vulncheck toold697f5538fix: don't set xattrs while decompressing extensions34fb2cbe5refactor: remove manual shell completion and replace with cobra completion79fa2e300feat: allow more nvidia and nvme files from extensions414f78a29feat: allow glibc ld files in etc1bbba4301feat: update Flannel to v0.28.255815e0fafix: handle ISOs with zeroes in volume labels7b6ab0c1cfeat: add flag to force fallback to legacy upgrade5e24d5265feat: add resource view to talosctl dashboard649ab7fe4fix: add os:meta:writer role to the dashboard10cdfa909fix: drop talosctl install087ced85ffix: unseal with "slow" TPM11ab0a8c5fix: drop unused type from ExternalVolume schemae2df0f6cefix: always grow disks919d8c365chore: drop debug shell783a35851fix: add metal-agent mode to runtime capabilities37b2221ccdocs: add SECURITY-INSIGHTS.yml for OSPS Baseline QA-04.01bed2bd414feat: add graceful power off support to QEMU VM launcher3400059ccfix: incorrect route source for on-link routesb3dfbf743feat: bump musl to 1.2.64227921b3test: fix the PKI mismatch test flakef2bc2dcc6feat: update NVIDIA production drivers to 595.58.03aa5946dd3test: fix cron failures for provision-1 & provision-21dd701efafix: allow blockdevice wipe in maintenance mode786bf00abfeat: add --platform=all support to image cache-createe1f645e3cfeat: validate luks headers for tamperingad72c7300test: improve maintenance API provision tests70cefab6atest: fix the flakes in tests with trusted rootsaacff17f4test: bump memory for Flannel netpolicy tests9c3459114feat: update Linux to 6.18.19, CNI to 1.9.1038cb8735feat: enforce PID check on connections to services over file socketse2b2dd3eachore: update go-kubernetes library9597714f6fix: add symlinks nvidia-ctk and nvidia-cdi-hook in /usr/bin8ac47d677fix: unset rlimits for extension servicesb1a02f368feat: update Kubernetes to 1.36.0-beta.0362fdc9ecfeat: update etcd to 3.6.90a47f40b3fix(machined): clear stale bond ARP/NS targets on decode86344639ffix: update diff library to v1.0.1eff89d1edfix: panics in diff algorithms8e1c8a7a9test: fix the apid test against AWS/GCPChanges since v1.14.0-beta.0
39 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 configpatcherChanges from siderolabs/gen
1 commit
c526410fix: skip unknown-key check for types with custom YAML unmarshalerChanges from siderolabs/go-adv
2 commits
3818a65feat: initial implementation95e583cInitial commitChanges from siderolabs/go-cmd
2 commits
a2a31d3chore: run rekres584337bfeat: add StartWithOptions for streaming long-running processesChanges from siderolabs/go-kmsg
1 commit
65e97cbfix: boot time offset calculationChanges from siderolabs/go-kubeconfig
2 commits
d0b8f82chore: rekres and bump depsc356eebfix: fix context conflict detection add New() constructorChanges from siderolabs/go-kubernetes
7 commits
0caf1f2feat: add Kubernetes 1.37 compatibility822b7a2feat: add nodedrain package for client-side cordon and drain260bc0afix: update authorization config apiVersion for K8s >= 1.32cc8c2c9fix: return the apply results in a consistent order131a2bdfix: handle cluster-scoped resources with a ns correctly38c182ffix: normalize the changeset to be keyed without apiVersionca35008feat: update k8s api to 0.36.0Changes from siderolabs/go-smbios
1 commit
063f5dcchore: rekres + new testdataChanges from siderolabs/go-talos-support
2 commits
59d47affeat: rewrite support bundle library around client provider8dd4326feat: support encryption of the support bundle using ageChanges from siderolabs/grpc-proxy
3 commits
d670c42chore: bump dependencies8614c71chore: bump deps80677e0fix: propagate the headers before the messageChanges from siderolabs/pkgs
119 commits
aa8d7d6feat: bump kernel to 6.18.41b253464feat: enable PCF8523 RTC support for arm640383b09feat: bump kernel to 6.18.4037184f0feat: enable CONFIG_NFT_SOCKET in the kernelf78e3dcfeat: update cryptsetup to 2.8.78c5831cfeat: update dependencies0de2a61feat: update Linux to 6.18.39c652074feat: enable UFSHC and some other optionsc4b550cfeat: bump dependenciesde07964feat: enable CONFIG_IOMMUFD and CONFIG_VFIO_DEVICE_CDEV6a9c40cchore: bump tools 2026-07-1461e3ed9chore: bump bldr to v0.6.1981029echore: bump nvidia to 580.167.08ff9a355chore: bump deps (minor)0b2474echore: bump deps (patch)94a16efchore: bump toolchain6dcf355feat: enable devmapper plugin in containerd build03534a5fix: enable CONFIG_IFB as a modulea264237feat: update DRBD to 9.3.33f09c0cchore: update toolchain and tools6c08c46feat: bump kernel to 6.18.387c4fe92feat: build runs with libpathrs (only amd64)8922b6dfix: correct finalize destination pathae0d701fix: use non-conflicting name for mdadm5186a65feat: add mdadm package for software RAIDe09f9fbfeat: bump kernel 6.18.378d23631feat: update Linux firmware to20260620343557feat: update runc to 1.5.055d3676feat: bump dependenciesea48e8bfix: patch Linux kernel for tunnel metadata buffer overflowff80d88feat: add support for AMD XGBE driver9f8ab22feat: enable NF_TABLES_ARP optionbedfbebfeat: update Linux to 6.18.36a9f2bb3chore: bump containerd to 2.3.273e76f8chore: upgrade runc to 1.5.0-rc.328db1cachore: update nvidia driver lts to 580.167.085df1a44chore: update zfs to 2.4.3cd77c4fchore: update dependencies 2026-06-160f27eccfeat: bump runcd213ff5feat: bump OpenSSL to 3.6.3cb713aefeat: bump kernel to 6.18.3509cb04efix: avoid page_table_check BUG on time namespace VVAR pagebfb88f6feat: add nvidia-fs kernel modulef2850d1feat: enable USB hiddev for apcupsd support55aa64ffeat: bump go to 1.26.4f27dbe1feat: bump kernel to 6.18.34aa9fe00feat: add DVB USB Modules0870a4bfeat: bump dependenciesf9134e5fix: enable CONFIG_BCM2712_MIP as built-in in arm64 kernel config285c6aefix: set usermode static helper to machinebd2a754feat: pre-generate drbd patches using spatch out of tree898844efeat: update Linux to 6.18.33a8dfbf7fix: disable kernel modprobe pathc542950fix: pull in tools with zstd sbomc0ec8f3feat: enable PPP and INFINIBAND_BNXT_REc62c4e1feat: update containerd to 2.3.1270f9f8chore: update deps4f7feb4feat: enable more options for CRI-U checkpoint/restore87994f7feat: move autoloadable stuff as modules80c27f3fix: drop legacy network protocolsfbb7360feat: drop legacy iptables/ebtables supporteac5f86feat: bump kernel 6.18.32d616f6cfeat: update Linux to 6.18.3102bcfcefix: macb silent TX stall on BCM2712/RP1 (v2 patches from netdev)12ca698feat: update ZFS & NVIDIA LTS9fff943feat: update Linux to 6.18.30c5a1685feat: move HWMON as modulesb2a45fbfeat: move CONFIG_INTEL_IOATDMA as a moduleea8d35ffeat: move ACPI device drivers as modules501ba58feat: move HID quirks as modulesb35312cfeat: move PS/2 mouse drivers as modules3a5d9d7feat: move IPMI driver to be a module792a69afeat: disable AGP drivers99990b4feat: move Hyper-V drivers as modulesfb697d6feat: move Xen frontend drivers as modules1df1713feat: move ATA / MMC controllers as modulesf7f9341feat: move USB class drivers as modulesba873e9feat: move USB host controllers as modules8f25baafeat: move virtio bus stuff as modulesd0c5480feat: bump kernel to 6.18.29dfb09f0feat: bump kernel 6.18.28c97bc24feat: update Go to 1.26.3dfe8926feat: add btrfsprogs06ff9dcfeat: update Linux to 6.18.272265fc9feat(kernel): backport two PCI bridge realloc fixes from v6.195a21d99feat: bump dependenciescb3f406feat: update containerd to 2.3.0e192574feat: update Linux to 6.18.26e5e6cb8feat: update DRBD to 9.3.277538b1feat: update NVIDIA driversadeaafcfeat: preserve System.map on kernel buildsc77f985fix: disable legacy framebuffer drivers8f3ef77fix: enable safesetid LSMf82d3affix: disable CONFIG_DEVPORTb189a96fix: disable crypto user API9a718f6docs: list net macb silent TX stall fixes in kernel/build/patches/README.mdca3599ffix: macb silent TX stall on BCM2712/RP1 (RFC patches from netdev)6a53a93feat: bump kernel to 6.18.25f567bcefeat: disable more stuff in Kconfigffd9790feat: bump kernel to 6.18.24b7c709afeat: bump depse5e5b3cfeat: update Linux to 6.18.231a4cd20fix: renovate configd0ed6edfeat: update dependencies6ea49c7fix: support disabling module signature verification6520ec4feat: update containerd to 2.2.337ce992feat: enable CONFIG_UHID and CONFIG_INPUT_JOYDEV as modulescddd934feat: update backportable dependencies32e4077feat: update OpenSSL2d241e7feat: update Go to 1.26.2 and small deps updates7f540cefeat: disable dynamic SCS3bef043feat: update runc to 1.4.2c6e6f10feat: update Linux to 6.18.21a9e8afafix: libarchive install prefixe4d0113feat: update for musl 1.2.69142603feat: update NVIDIA production to 595.58.0322fa669feat: update Linux to 6.18.1903680aefeat: update containerd patch verifier rolebdc239efeat: enable CHECKPOINT_RESTORE optionChanges from siderolabs/proto-codec
1 commit
9b8a14echore: bump dependenciesChanges from siderolabs/siderolink
1 commit
0a1933cchore: bump dependenciesChanges from siderolabs/tools
27 commits
08071b1feat: update dependencies2723c06chore: bump pkgfile bldr to v0.6.1d333b32chore: bump toolchain to latestc7494c6chore: deps 2026-07-13 (major bumps only)57a0183chore: deps 2026-07-13 (minor bumps only)21db13echore: deps 2026-07-13 (patch only)7079a8achore: bump toolchain5326524feat: build LLVM as cross-compiling878f1dbfeat: bump dependencies0f1c859chore: make rekres5c0c9bechore: update dependencies 2026-06-16b88d99cfeat: bump OpenSSL to 3.6.342c59b9feat: bump toolchain to bring in Go 1.26.4206a4c0feat: update dependencies, rework LLVM buildf9f37dffix: add proper name for zlib-ng sbomaa45c41fix: add SBOM for zstd library808f34ffeat: update Go to 1.26.35dfe83dfeat: drop fakeroot and policycoreutils618fd20feat: add Python wheel packagedf3c1b7feat: bump dependencies44ad18cfeat: bump depsf3d0dd9fix: renovate configs4ac4449feat: update dependencies027744ffeat: bump OpenSSL to 3.6.27067f1ffeat: update util-linux to 2.41.46cb3e56feat: update Go to 1.26.29186c5ffeat: update musl to 1.2.6Dependency Changes
5adc3eb->c76316d310581b->c87a4186706a29->93566ba31e136bnew8ae5a48newPrevious release can be found at v1.13.0
v1.13.10Compare Source
Talos 1.13.10 (2026-09-03)
Welcome to the v1.13.10 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.48
CoreDNS: 1.14.7
Talos is built with Go 1.26.7
Contributors
Changes
28 commits
00ca4c9release(v1.13.10): prepare release271ce0dfix: update DHCP library3c70f40fix: harden the code around kubelet's client certificate handling40d7de4fix: normalize image reference when passing to image verification flowcf30d6dfix: filter out passed metadata in API proxyingcc556d9fix: treat desired roles empty as error in Talos API access0d7a473fix: allow CSI volumes to be mounted with an SELinux context17ab196fix: validate received kubeconfig934ae8achore: update etcd to v3.6.14df9b82dchore: update pkgs and tools591c53afix: use os.Root in the talosctl extract pathc36d990fix: escape output in the talosctl dashboardfc355dcfix: add checks for meta key in the API pathe950f65feat: update COSI to 1.16.320cafbdfix: route creation churning every 100msc6fe78cchore: reduce verbosity of the grype scanb9696f9fix: preserve special modes when extracting files865aaecfix: use os.Root in the untar path097fa18fix: create parent directories when extracting tar archivesc6edc39chore: bump sigstore/rekor to v1.5.46d062e1fix: write the uploaded etcd snapshot atomicallyf6b7959fix: skip selinux label for read-only/detached/external mountsbea850afix: persist in-memory meta on fresh installdcf46c1fix: reduce stalls in the etcd member promotion cycle0f4d08afeat: update CoreDNS to 1.14.7e091638fix: watch IPv6 route changes in RouteSpecController92614cafix: truncate files replaced by system extensionsb7b27ecfix: skip target settings for external volume mountsChanges from siderolabs/pkgs
5 commits
9b044c5feat: update kernel to 6.18.48de74a50feat: bump kernel to 6.18.47bb15c62chore: update toolchain and tools49c50f7feat: bump kernel to 6.18.462da2cdcfeat: backport aes256k support (Ceph)Changes from siderolabs/tools
3 commits
c70be08chore: update toolchain7791f48feat: use kernel gnu mirrorsd908dc0fix: update OpenSSL to 3.6.4Dependency Changes
5adc3eb->234b974f2248ac-> v1.36.12Previous release can be found at v1.13.9
Images
v1.13.9Compare Source
Talos 1.13.9 (2026-08-19)
Welcome to the v1.13.9 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.44
containerd: 2.2.7
Kubernetes: 1.36.3
Talos is built with Go 1.26.6.
Contributors
Changes
7 commits
3ebd10arelease(v1.13.9): prepare release9ade215feat: update Kubernetes to 1.36.314343cdtest: save the provision test logsb33e5fcfix: support try mode apply without prior config6a8f295fix: share IPC namespace with the host for extension servicesb525b82fix: size the receive/send buffers for nftables netlink7ac5264feat: update Go to 1.26.6Changes from siderolabs/pkgs
5 commits
f541ca4feat: bump kernel to 6.18.44a4f2c26feat: bump kernel to 6.18.4379a7531feat: update Linux firmware to202608189d76bffeat: update backportable dependenciesaf6c08afeat: update Go to 1.26.6Changes from siderolabs/tools
1 commit
a201d19feat: update Go to 1.26.6Dependency Changes
Previous release can be found at v1.13.8
Images
v1.13.8Compare Source
Talos 1.13.8 (2026-08-04)
Welcome to the v1.13.8 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.42
CoreDNS: 1.14.6
Flannel: 0.28.8
Talos is built with Go 1.26.5.
Contributors
Changes
14 commits
3de4932release(v1.13.8): prepare release76de777chore: update dependencies77d5fe2chore: update pkgsa7db9b2fix: verify the public key signed images correctlyd769389fix: use context without cancelation for etcd locks3a2abc0fix: redact resource specs in the merge controllers1531797fix(machined): preserve health when services reach runningfc75754fix: race with PCR extensions and volume unlock2a51fb1feat: update Flannel to 0.28.805471d3feat: update CoreDNS to 1.14.69e0b1cafix: volume mount race (third attempt) around service restartc5cb365fix: ignore insecure-only imager assetsc67b10dtest: update Calico in canal reset test9eca6eafix: preserve trailing rate-limited trigger eventsChanges from siderolabs/pkgs
6 commits
f677246chore: update kernel6c5daf2chore: replace gnu mirror4304e87feat: bump kernel to 6.18.41e66edebfeat: enable PCF8523 RTC support for arm64b2e51fcfeat: bump kernel to 6.18.4033195c5feat: enable CONFIG_NFT_SOCKET in the kernelDependency Changes
Previous release can be found at v1.13.7
Images
Configuration
📅 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 these updates again.
This PR has been generated by Renovate Bot. The local configuration can be found in the SI Renovate Bot repository.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.