2496 Commits

Author SHA1 Message Date
Mateusz Urbanek
b9e9c65796
release(v1.13.0): prepare release
This is the official v1.13.0 release.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2026-04-27 10:58:28 +02:00
Mateusz Urbanek
5e2fc260a8
fix: revert add extraArgs from service-account-issuer
This reverts commit d1954278a1ba3470b2e5ccae90762078c18d69e9.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
(cherry picked from commit f19eef78b9cc01c107f86a6eddf24da0d288d124)
2026-04-27 10:43:57 +02:00
Edward Sammut Alessi
4b9fe000f4
feat: add quirk for talosctl factory downloads
Add a SupportsFactoryTalosctlDownload quirk to mark the minimum version that supports talosctl downloads from factory

Signed-off-by: Edward Sammut Alessi <edward.sammutalessi@siderolabs.com>
(cherry picked from commit b43c3a124f6c6d1523c1feaddc9c4a23454eeb56)
2026-04-24 22:13:10 +04:00
Andrey Smirnov
92ca9e16f9
feat: update Kubernetes to v1.36.0
The final Kubernetes version for Talos v1.13.0.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit ecf2fa855b8eb19731b228990a3acbe1430ccad4)
2026-04-24 21:49:23 +04:00
Andrey Smirnov
9f04f2c4ef
fix: watch kubelet's kubeconfig and time out for cache sync
Fixes #13169

Also fixes a number of other issues with controller being stuck
"watching" over stale data.

The major part of the change is to watch contents of kubelet's
kubeconfig and restart the watch when it changes.

The internals of the watch process don't always bubble up error
properly, or we don't watch for errors.

With this change, not only initial sync has a timeout and a way to abort
the sync process, Talos now can also restart the sync on kubeconfig
change make it more transparent.

This might become irrelevant if we start managing kubeconfig via Talos
controlplane for workers, but for now this seems to be the way to fix
issues.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit 149592fa59d20c5aa29e4c0af9a3760585f378ce)
2026-04-24 21:45:14 +04:00
Andrey Smirnov
252799a00b
fix: reduce memory dashboard usage
Many small changes, memory reduction measured to be aroun -20MiB.

Reduce cgroup memory limit.

Changes:

* limit updates to 2fps
* batch log updates
* reuse/maps slices to reduce allocations

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit bdcc9321b637da77f1007a571193c2e03c984b8b)
2026-04-24 21:40:52 +04:00
Andrey Smirnov
b6bcd47e6c
feat: update Flannel to 0.28.4
See https://github.com/flannel-io/flannel/releases/tag/v0.28.4

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit 986e97fc757824bc998d81933e60108250316e5e)
2026-04-24 21:40:07 +04:00
Andrey Smirnov
370c035ab6
fix: audit trustd code for security
There are no security issues fixed.

Drop username/password creds - they were not used.

Improve security of token interceptor.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit 9fbb7c95df2b1dcd68fafa23865412bbd8300f4b)
2026-04-24 21:39:29 +04:00
Andrey Smirnov
1a519a4108
test: allow more tests to run in FIPS strict mode
Remove the skip statements/rework the code to allow
FIPS builds to do Wireguard by wrapping Wireguard operations
into `fips140.WithoutEnforcement` blocks.

Using Wireguard (or not using it) is still a user's choice, but this
allows tests to run in strict mode.

There might be more fixes required for FIPS strict, right now being
blocked by Go issue with X25119 which is going to be backported to Go
1.26.3.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit 1ef8e630ab77b3c849e7da6d1ff83e7c6795f070)
2026-04-24 21:37:23 +04:00
Andrey Smirnov
cb969aa9f8
feat: update Linux to 6.18.24
Sync pkgs/tools, also updates Flannel CNI plugin.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-04-24 21:36:46 +04:00
Andrey Smirnov
1f949d9a55
release(v1.13.0-rc.0): prepare release
This is the official v1.13.0-rc.0 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-04-16 14:48:38 +04:00
Andrey Smirnov
0f9d4b5b93
feat: update Kubernetes 1.36.0-rc.1
See:

* https://github.com/kubernetes/kubernetes/releases/tag/v1.36.0-rc.1

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit e776721f33b1fedff1dff310298035b3d603e676)
2026-04-15 19:29:35 +04:00
Andrey Smirnov
41e6866fd5
fix: encode extra args fields in resources with new id
This is a fixup for #12475

Split the protobuf id for extraArgs fields to use new value, so that we
don't have unmarshal failure when using newer machinery with older Talos
or vice versa.

Also pull in a fix https://github.com/siderolabs/go-talos-support/pull/15

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit f6e7346fa725a703ac4281854150d7a3be12c8d1)
2026-04-15 19:29:35 +04:00
Andrey Smirnov
384b189a56
feat: update Kubernetes to 1.36.0-rc.0
Getting ready for 1.36.0 final release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit b7512d9125b623d2bb92e3a8b5839e85e1309a39)
2026-04-15 19:29:32 +04:00
Noel Georgi
cd73b4a822
feat: bump go to 1.26.2
Bump Go to 1.26.2

Signed-off-by: Noel Georgi <git@frezbo.dev>
(cherry picked from commit 9fcb9e05b668ba2fbc7df776ab32e57b1c15e221)
2026-04-15 19:29:29 +04:00
Zadkiel AHARONIAN
77406ec31a
fix: validate hostDNS forwarding requires hostDNS to be enabled
When hostDNS.enabled is false but forwardKubeDNSToHost defaults to true
(via version contract >= 1.8), the controller still writes the host DNS
service address into HostDNSConfig. This causes CoreDNS pods to get a
resolv.conf pointing to 169.254.116.108 while nothing listens there,
leading to DNS query timeouts.

Add a config validation error when forwardKubeDNSToHost is true while
hostDNS.enabled is false.

Fixes siderolabs/talos#13100

Signed-off-by: Zadkiel AHARONIAN <hello@zadkiel.fr>
(cherry picked from commit ca208e51492c4584f9a4cea4d0762c2199f703e7)
2026-04-15 18:45:43 +04:00
Mateusz Urbanek
7d7776dcaa
fix: handle boot failure
Fixes #13083

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
(cherry picked from commit 181584a5f1850f2bfb2a837c0d05bd9e30ee48b5)
2026-04-15 18:45:08 +04:00
Andrey Smirnov
6f84628494
refactor: propagate NAME properly, allow to set on build
Allow to set build NAME on build, propagate it down to more consumers.

Expose name in `Version` resource, and use that in the dashboard
next to Talos version.

Fix some places where `Name` was hardcoded.

Propagate Name down to UKI build.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit 968ec1e0ca26eb1f0de0836e0a55df09dea7dafe)
2026-04-15 18:43:43 +04:00
Andrey Smirnov
cd8d70fb9d
fix: set the minimum TLS version to 1.3
Via https://github.com/siderolabs/crypto/pull/46

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit acc69c346f8816324b632fd33a5d0cb3f4b73509)
2026-04-15 18:41:30 +04:00
Noel Georgi
fef5ef49eb
feat: allow more nvidia and nvme files from extensions
See: https://github.com/siderolabs/extensions/pull/1033

Signed-off-by: Noel Georgi <git@frezbo.dev>
(cherry picked from commit 79fa2e3001082cf21be92c52b3da4e844313184d)
2026-04-15 18:40:38 +04:00
Noel Georgi
33b89cff72
feat: allow glibc ld files in etc
Allow both /etc/ld.so.conf and /etc/ld.so.cache files in /etc since tools expect these to be standard.

See: https://github.com/siderolabs/extensions/pull/1031

Replaces changes for Dockerfile from #12909

Signed-off-by: Noel Georgi <git@frezbo.dev>
(cherry picked from commit 414f78a298fc1a196fe310b17b89d3aadc15e1b4)
2026-04-15 18:38:58 +04:00
Andrey Smirnov
9be7bc0250
fix: don't set xattrs while decompressing extensions
When decompressing extensions, we might not be able to set xattrs (e.g.
running rootless), so instead of setting xattrs, save them in memory and
push to mksquashfs as pseudo definitions.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit d697f5538a7a624a1ac7bafdfebc67dd9418c434)
2026-04-15 18:38:38 +04:00
Andrey Smirnov
128c2c2877
feat: update Flannel to v0.28.2
See https://github.com/flannel-io/flannel/releases/tag/v0.28.2

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit 1bbba4301495e256f2686a6b0d44663d3fdad2c4)
2026-04-15 18:37:51 +04:00
Andrey Smirnov
8499579f4a
fix: add os:meta:writer role to the dashboard
When dashboard runs within Talos, it previously used `os:admin` role
which allows anything.

With changes in 1.13, I dropped the role to `os:reader`, which is a way
tighter scope from the security perspective, but it broke network config
tab - it tries to write to META, which is not allowed under `os:reader`
role, so this change fixes the dashboard, but still keeps the RBAC
tight.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit 649ab7fe4234de1a947071926603377e00910cb9)
2026-04-15 18:36:09 +04:00
Andrey Smirnov
a47b766187
fix: unseal with "slow" TPM
Fixes #13056

The TPM unseal operation doesn't respect the context, and we had 10
second timeout for the whole key unlock operation.

So there might a case when a "slow" TPM unseal runs for more than 10
seconds, and by the time TPM unseal is down, context timeout already
passed, so a somewhat wrong messahe pops in, as the rate limiter is
configured with any limit, but it fails due to the fact that the context
got canceled (but it would have failed later anyways doing the actual
resource operation).

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit 087ced85f5130656cbc647c2e4d838cab3ff1737)
2026-04-15 18:34:45 +04:00
Mateusz Urbanek
3c79b432a9
fix: drop unused type from ExternalVolume schema
ExternalVolume has type=nfs defined in the Schema. It is currently
unused and unimplemented, and will fail to provision. Remove it
from the schema, validation and docs, to not confuse the users.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
(cherry picked from commit 11ab0a8c5aec1537542bddb851a9f71e92888e3b)
2026-04-15 18:34:21 +04:00
Andrey Smirnov
213ecf2a5b
release(v1.13.0-beta.1): prepare release
This is the official v1.13.0-beta.1 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-27 16:28:55 +04:00
Andrey Smirnov
abc0ddf11e
feat: bump musl to 1.2.6
Bump via tools/extensions.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit b3dfbf743e6c2fd44020911ee1e0eea3a7676579)
2026-03-26 16:10:07 +04:00
Andrey Smirnov
a8f2a0af70
feat: update NVIDIA production drivers to 595.58.03
Via pkgs/extensions.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit f2bc2dcc6e0391dbd4aa19e8366d657b2056790f)
2026-03-26 16:05:46 +04:00
Kevin Tijssen
576c269484
feat: add --platform=all support to image cache-create
Add support for caching all platforms in a multi-platform image index
by passing --platform=all to the images cache-create command.

When all is specified, the index manifest is fetched without platform
resolution, and each platform-specific image is downloaded individually.
Attestation manifests (unknown/unknown) are included.

Include the platform in the fetch log line so each pull is identifiable,
e.g. fetching image "..." (linux/amd64).

Signed-off-by: Kevin Tijssen <kevin.tijssen@siderolabs.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit 786bf00abb309955616e440cd06fd0718b1b77ab)
2026-03-26 16:01:56 +04:00
Andrey Smirnov
ceec42f2a5
feat: update Linux to 6.18.19, CNI to 1.9.1
Also clean up some imports in go.mod, reduce replaced modules.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit 9c34591144f1e2fc759fdc6d56694541eb9f241a)
2026-03-26 16:01:35 +04:00
Andrey Smirnov
902c78a17e
test: improve maintenance API provision tests
Add a test that covers all maintenance APIs in general.

Add a test for transition from SideroLink.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit ad72c73006abc3b51e5371496c61d8637b2222f0)
2026-03-26 16:01:16 +04:00
Andrey Smirnov
76931f4092
feat: enforce PID check on connections to services over file sockets
Whitelist services which can access the file socket, refuse other
connections.

Fixes #12701

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit 038cb87354eea1c1ff4612bdd13d1e77e595955a)
2026-03-26 15:58:41 +04:00
Andrey Smirnov
df4e0e7f58
feat: update etcd to 3.6.9
Resolves:

* https://github.com/etcd-io/etcd/security/advisories/GHSA-q8m4-xhhv-38mg
* https://github.com/etcd-io/etcd/security/advisories/GHSA-rfx7-8w68-q57q

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit 362fdc9ece81e805a5a6a4e0303bdf78a6b2c35d)
2026-03-26 15:58:20 +04:00
Andrey Smirnov
08ba425e6c
feat: update Kubernetes to 1.36.0-beta.0
Update to the latest available release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit b1a02f3681c7e361ee6a3ef3d230b47480b48408)
2026-03-26 15:58:02 +04:00
Andrey Smirnov
1cb2a8b302
fix: update diff library to v1.0.1
Our fixes got merged, and more fixes in the library as well.

Bump grpc library (due to a reported CVE which we are not affected
with).

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit 86344639fcb76d9430ac1e975c98db4488701e43)
2026-03-26 15:57:44 +04:00
Andrey Smirnov
f98e76f8d8
fix: panics in diff algorithms
The fix PR https://github.com/neticdk/go-stdlib/pull/44

Replace the library for now.

Add fuzzing test, keep panic causing vectors.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit eff89d1ed46e5f3c709305a8cb134dabae925420)
2026-03-26 15:57:01 +04:00
Mateusz Urbanek
a544aea844
release(v1.13.0-beta.0): prepare release
This is the official v1.13.0-beta.0 release.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2026-03-18 12:41:00 +01:00
Mateusz Urbanek
f36f6ef54d
chore: update pkgs and tools
Update dependencies:
```
pkgs: v1.13.0-beta.0
tools: v1.13.0-beta.0
```

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2026-03-17 14:32:17 +01:00
Andrey Smirnov
b7d70cf625
feat: unify maintenance and regular APIs
Drop maintenance service and all the code supporting it directly.

Instead, move all network API termination into the `apid` service, which
now can work now in more modes to support maintenance operations as
well.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-17 17:00:35 +04:00
Andrey Smirnov
d2661d2531
fix: apparmor parser config files
Bring in apparmor fix from https://github.com/siderolabs/pkgs/pull/1489

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-16 17:38:11 +04:00
Dominik Pitz
a728bbd897
fix: validate missing apiVersion in config document decoder
Add ErrMissingAPIVersion check in the config document decoder, parallel
to the existing ErrMissingKind. Previously, a typo in the apiVersion key
(e.g. 'apiVerstion') would result in a misleading 'not registered' error
instead of clearly indicating the missing field.

Signed-off-by: Dominik Pitz <pitzdominik@gmail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-16 13:36:33 +04:00
Noel Georgi
e7e21fe8ee
feat: bump dependencies
Bump dependencies.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2026-03-15 20:53:59 +05:30
Mateusz Urbanek
6bb5cf57a2
feat: implement routing rules support
Add RoutingRuleConfig multi-doc config type for management of routing rules.
KubeSpan now uses COSI resources instead of direct kernel management.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2026-03-13 15:17:49 +01:00
Zadkiel AHARONIAN
a0b9d6e777
feat: bump kernel with uhci_hcd driver
See https://github.com/siderolabs/pkgs/pull/1483

Signed-off-by: Zadkiel AHARONIAN <hello@zadkiel.fr>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-12 17:19:37 +04:00
Andrey Smirnov
1f0d2da396
feat: update containerd to 2.2.2
Pull in via pkgs, bump containerd module (our fork).

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-11 21:54:01 +04:00
Andrey Smirnov
fc9749b9eb
feat: pull in kernel with preemptible kernel
Also sync tools, now the kernel is built with LLVM 22.1.

See https://github.com/siderolabs/pkgs/issues/1479 for the context.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-11 12:12:23 +04:00
Andrey Smirnov
da70cedfd2
refactor: drop apid file socket
This was yet another socket with implicit auth - remove it completely
by reworking the only usecase for it - cluster-side health checks.
Now these health checks build a "regular" network Talos API client (as
they anyways work only controlplane nodes).

Refactor the check for controlplane nodes to use resources instead of
machine config directly (as machine config might not be always present).

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-10 21:52:03 +04:00
Andrey Smirnov
17335107be
fix: use non-sensitive resource for health check precondition
A fixup for #12896

The health check might be running as a reduced privilege role client, so
don't pull the machine config, but instead read a field from a
non-sensitive resource.

As this field doesn't exist in older versions of Talos, the check should
still run by default (as it will be empty).

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-10 18:37:55 +04:00
Andrey Smirnov
451b13c1b8
feat: update Linux to 6.18.16
Also test new extension versions.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-09 21:06:22 +04:00