2476 Commits

Author SHA1 Message Date
Noel Georgi
79fa2e3001
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>
2026-04-05 10:01:07 +03:00
Noel Georgi
414f78a298
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>
2026-04-04 20:53:05 +03:00
Andrey Smirnov
1bbba43014
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>
2026-04-04 16:56:31 +04:00
Andrey Smirnov
649ab7fe42
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>
2026-04-01 17:32:31 +04:00
Andrey Smirnov
087ced85f5
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>
2026-03-31 14:01:32 +04:00
Mateusz Urbanek
11ab0a8c5a
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>
2026-03-31 11:23:41 +02:00
Noel Georgi
919d8c3655
chore: drop debug shell
Now that talos has native `talosctl debug` `WITH_DEBUG_SHELL` seems not needed.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2026-03-30 11:06:29 +02:00
Utku Ozdemir
bed2bd414e
feat: add graceful power off support to QEMU VM launcher
The QEMU VM launcher's /poweroff HTTP endpoint now accepts an optional grace-period query parameter (Go duration format, e.g. "5m"). When set, it sends an ACPI power button event via the QEMU monitor socket instead of immediately killing the process, allowing the guest OS to shut down cleanly. If the guest does not shut down within the grace period, the process is force-killed as a fallback.

Without the parameter, the behavior is unchanged (immediate kill).

Signed-off-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
2026-03-26 16:57:24 +01:00
Andrey Smirnov
b3dfbf743e
feat: bump musl to 1.2.6
Bump via tools/extensions.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-26 13:19:27 +04:00
Andrey Smirnov
f2bc2dcc6e
feat: update NVIDIA production drivers to 595.58.03
Via pkgs/extensions.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-26 10:31:54 +04:00
Kevin Tijssen
786bf00abb
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>
2026-03-25 08:59:17 +04:00
Andrey Smirnov
ad72c73006
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>
2026-03-24 22:00:27 +04:00
Andrey Smirnov
9c34591144
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>
2026-03-24 17:42:20 +04:00
Andrey Smirnov
038cb87354
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>
2026-03-24 14:44:55 +04:00
Andrey Smirnov
b1a02f3681
feat: update Kubernetes to 1.36.0-beta.0
Update to the latest available release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-23 13:27:22 +04:00
Andrey Smirnov
362fdc9ece
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>
2026-03-23 10:32:03 +04:00
Andrey Smirnov
86344639fc
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>
2026-03-19 16:28:35 +04:00
Andrey Smirnov
eff89d1ed4
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>
2026-03-18 14:21:39 +04: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
Andrey Smirnov
a02d578faa
feat: add support for mirroring image signatures
Enable signature verification in image cache & airgapped tests.

Fixes #12892

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-09 20:07:51 +04:00
Orzelius
57599fb877
fix: skip some readiness checks when the CNI is disabled
* skip node readiness check
* skip coredns readiness check

Signed-off-by: Orzelius <33936483+Orzelius@users.noreply.github.com>
2026-03-09 22:10:57 +09:00
Andrey Smirnov
e6d8669fb7
feat: update Go to 1.26.1
Update via pkgs/tools.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-06 23:00:10 +04:00
Laura Brehm
7f2eb48561
feat: add image verification endpoint
Add support for whole machine-wide image verification configuration.
Configuration is a set of rules applied top-down to the image reference,
each specifying a specific cosign-based identity or static public key
claim.

Talos provides a machined API to verify an image reference, resolving it
to the digest on the way as needed.

Talos itself hooks up in the image verification process, while
containerd CRI plugin accesses same API via the machined socket.

Signed-off-by: Laura Brehm <laurabrehm@hey.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-06 20:06:07 +04:00
Mateusz Urbanek
1e4cd20d23
feat: add talosctl install command and upgrade via LifecycleService
Add new `talosctl install` command using the LifecycleService.Install
streaming API with support for insecure (maintenance) mode and progress
reporting. Refactor `talosctl upgrade` to use the new
LifecycleService.Upgrade streaming API with automatic fallback to the
legacy MachineService.Upgrade path for older Talos versions.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2026-03-06 15:40:54 +01:00
Mateusz Urbanek
15a5ec9985
feat: implement new install/upgrade API
Implement new minimal Install/Upgrade LifecycleService API with streaming
support for real-time progress reporting. Add protobuf definitions, gRPC
service implementation, and client bindings.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2026-03-06 12:16:35 +01:00
Spencer Smith
10f49ca91a
feat: add trusted roots generation to stdpatches
This PR would add the ability to generate a standardized document for trusted roots.
Ran into wanting this with the vsphere provider and I generally feel like we should try
to extend the available standard patches here over time.

Signed-off-by: Spencer Smith <spencer.smith@talos-systems.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-05 12:20:08 +04:00
Andrey Smirnov
58e006461d
feat: update Kubernetes to 1.36.0-alpha.2
See https://github.com/kubernetes/kubernetes/releases/tag/v1.36.0-alpha.2

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-02 20:07:37 +04:00
Andrey Smirnov
ebcfafd4e2
feat: update Linux to 6.18.15
Latest LTS.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-02 18:36:10 +04:00
Andrey Smirnov
0ab84c2a15
fix: ignore image digest when doing upgrade-k8s
The `talosctl upgrade-k8s` doesn't support pinning to image digests, but
it should ignore any image digests if they already exist in the
machine configuration.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-02 17:26:01 +04:00
Orzelius
d417d68e0d
feat: bring in new ssa logic
drop the old cli-utils based manifest apply logic and replace it with the new fluxcd/pkg/ssa based implementation

Signed-off-by: Orzelius <33936483+Orzelius@users.noreply.github.com>
2026-03-02 19:37:31 +09:00
Andrey Smirnov
bf2cd0a850
feat: update Linux to 6.18.14
See if it works.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-27 21:58:31 +04:00
Andrey Smirnov
bfb98a9ca3
feat: bump kube-network-policy to v1.0.0
The latest release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-27 16:07:40 +04:00
Andrey Smirnov
000c18d538
feat: implement blackhole route config
This is useful part of #12608

Closes #12608

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-27 14:15:43 +04:00
Andrey Smirnov
f0c51b2805
feat: implement correct config patching for extraArgs fields
Since the type was changed to the custom one, merging code can't handle
it correctly, so add an explicit merge method.

```
merge field v1alpha1.Config.ClusterConfig: merge field v1alpha1.ClusterConfig.ProxyConfig: merge field v1alpha1.ProxyConfig.ExtraArgsConfig: merge map key v1alpha1.Args[metrics-bind-address]: merge field v1alpha1.ArgValue.strValue: merge not possible, left $(POD_IP):10249 is not settable
```

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-26 19:11:14 +04:00
pythoner6
1da2b63ab5
feat: multi-doc support for configuring vrfs
Fixes https://github.com/siderolabs/talos/issues/11960

This adds a new network config document type, network.VRFConfig that can
be used to configure vrfs https://docs.kernel.org/networking/vrf.html.

Signed-off-by: pythoner6 <pythoner6@gmail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-25 15:10:35 +04:00
Andrey Smirnov
c1d0a33607
fix: patch with delete for LinkConfigs
There were two issues which prevented this patch from working:

* `CommonLinkConfig` is an embedded struct, so we need to make selector
  descend into embedded structs properly
* The previous `reflect.Value.String()` doesn't handle correctly complex
  values (like `netip.Prefix`) which have a custom `fmt.Stringer`

See https://github.com/siderolabs/talos/discussions/12848#discussioncomment-15910003

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-25 14:21:41 +04:00
Mateusz Urbanek
59311a7924
release(v1.13.0-alpha.2): prepare release
This is the official v1.13.0-alpha.2 release.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2026-02-25 10:58:15 +01:00
Mateusz Urbanek
009f0d6ca0
chore: update pkgs
Update pkgs to v1.13.0-alpha.0-61-g3c982f8

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2026-02-25 08:24:09 +01:00
Andrey Smirnov
ae29a0dcce
feat: update Linux to 6.18.13
Also pulls in Cilium eBPF verifieer fixes.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-24 11:52:31 +04:00