863 Commits

Author SHA1 Message Date
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
Orzelius
a4b0cbc491
feat: validate luks headers for tampering
pull in new version of go-blockdevice which adds support for validating luks headers for tampering

Signed-off-by: Orzelius <33936483+Orzelius@users.noreply.github.com>
(cherry picked from commit e1f645e3cbeee5306dc0075deb8942793eb80a81)
2026-03-26 16:00:27 +04:00
Orzelius
281584b88c
chore: update go-kubernetes library
new retry logic and CDRs

Signed-off-by: Orzelius <33936483+Orzelius@users.noreply.github.com>
(cherry picked from commit e2b2dd3ea7eed8bc139cd0bd812253baee0dd95c)
2026-03-26 16:00:06 +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
Andrey Smirnov
13d6b4a03c
fix: trim down cosign dependencies
Trade some imports, bump some modules, net result is killing lots of
transitive dependencies which were getting into the build.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-16 22:53:50 +04:00
Andrey Smirnov
c8a674afa6
fix: pull in a fix for dmesg timestamps
See https://github.com/siderolabs/go-kmsg/pull/13

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-16 13:17:38 +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
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
ad3c59aada
fix: prevent stale discovered volumes reads
This pulls in a fix https://github.com/siderolabs/go-blockdevice/pull/148

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-11 12:34:08 +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
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
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
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
7cf1de2794
fix: bring in new version of go-cmd and go-blockdevice
See:

* https://github.com/siderolabs/go-blockdevice/pull/147
* https://github.com/siderolabs/go-cmd/pull/9

Lots of changes through the code as I deprecated `Run`, `RunWithContext`
methods and allow only new `RunWithOptions` to clean up the library
usage.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-23 21:06:22 +04:00
Andrey Smirnov
8b1c974a2a
refactor: drop termui-widgets library
Use the library built for tview, so that we don't have to have two UI
libraries working in parallel in the same TUI.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-21 16:24:26 +04:00
Dmitrii Sharshakov
9758bd4fe0
feat: update Go to 1.26
Via tools/pkgs, also pulling in Clang-built Linux

Update go.mod dependencies

Fix linter errors with new golangci-lint, modernize, use new()

Signed-off-by: Dmitrii Sharshakov <dmitry.sharshakov@siderolabs.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-19 22:15:19 +01:00
Andrey Smirnov
f20445ad09
chore: improve logging of disk encryption handling
Pulls in KMS with logging, and adds more logging to Talos.

This allows to debug encryption problems better.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-19 19:06:42 +04:00
Andrey Smirnov
f018fbe7ba
fix: handle raw encryption keys with \n properly
This pulls in a fix https://github.com/siderolabs/go-blockdevice/pull/145

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-19 18:44:53 +04:00
Andrey Smirnov
dab0d47837
fix: allow static hosts in /etc/hosts without hostname
Allow static hosts to be populated even if the hostname is not populated
yet.

This allows to use `ExtraHostConfig` before the hostname is established.

Fixes #12792

While I'm at it, refactor the unit-tests to use modern
ctest.DefaultSuite.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-18 19:04:46 +04:00
Andrey Smirnov
45f214154c
feat: update go-kubernetes to use new Myers diff
This closes the loop of evicting old diff library.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-18 18:00:12 +04:00
Andrey Smirnov
35ad0448c9
fix: switch to better Myers algorithm implementation
See https://github.com/siderolabs/omni/pull/2311 for the rationale.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-18 16:55:06 +04:00
Andrey Smirnov
5df10f2604
fix: use mcopy instead of diskfs to populate VFAT
The previous fix (3bd3dd7ca92401312079e37584bfbf7942eab93a) was bad, as
it actually leads to more memory usage by diskfs library.

So drop the library altogether, and populate the filesystem using
`mcopy`. This is also same way as done by `systemd` mkosi script.

Co-authored-by: Noel Georgi <git@frezbo.dev>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-18 16:02:23 +04:00
Daniil Kivenko
70c6c2154e
feat: add filter for KubeSpan advertised networks
Add advertisedNetworks filter to KubeSpan configuration that allows
filtering which additional networks (e.g., pod CIDRs) are advertised
over KubeSpan when advertiseKubernetesNetworks is enabled.

Signed-off-by: Daniil Kivenko <daniil.kivenko@p2p.org>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-12 15:02:47 +04:00
Andrey Smirnov
4d531884e9
chore: update dependencies
Update Go modules, various test dependencies.

Brings in:

* CoreDNS 1.14.1
* Flannel 0.28.1

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-10 21:17:23 +04:00
Andrey Smirnov
9690dbad02
chore: bump tools (including linter)
Re-generate, fix new linting issues.

Update containerd library to the latest 2.2.1 to address the new cgroups
package import (via tools update).

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-09 13:07:35 +04:00
Orzelius
b1b703dbe2
chore: move sync logging code to go-kubernetes package
so it can be reused in Omni

Signed-off-by: Orzelius <33936483+Orzelius@users.noreply.github.com>
2026-01-27 22:53:17 +09:00
Tim Jones
4b274f7615
feat: support aws cert manager in imager
Add support for using certificates stored in AWS Certificate Manager to
sign secureboot images in imager.

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2026-01-21 18:33:59 +01:00
Andrey Smirnov
f7072c050e
fix: check if the device is not mounted when wiping
Open the blockdevice in `O_EXCL` mode when wiping to ensure that we
don't wipe a mounted device.

This issue was discovered via #12620, when we wipe a blockdevice which
is still mounted ending up in a wrong state.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-01-20 17:07:19 +04:00
Orzelius
c839b38809
feat: expose more SSA options in the upgrade-k8s command
add the following flags to the upgrade-k8s command:
* `--force-conflicts`            overwrite the fields when applying even if the field manager differs
* `--inventory-policy` string    kubernetes SSA inventory policy (one of 'MustMatch', 'AdoptIfNoInventory' or 'AdoptAll') (default "AdoptIfNoInventory")
* `--no-prune`                   whether pruning of previously applied objects should happen after apply
* `--prune-timeout` int          how long to wait for resources to be pruned in secunds (set to zero to disable waiting for resources to be fully deleted) (default 180)
* `--reconcile-timeout` int      how long to wait for resources to be prfully reconciled in secunds (set to zero to disable waiting for resources to be fully reoondiled) (default 180)

Signed-off-by: Orzelius <33936483+Orzelius@users.noreply.github.com>
2026-01-12 21:17:43 +09:00
Orzelius
c4f3f6d3e5
feat: implement kubernetes server-side apply
* add SSA via the new go-kubernetes library implementation to talosctl `upgrade-k8s` command
* add SSA via direct ResourceInterface call into talos (machined) with a manual inventory update
* add an integration test for ssa functionality

Co-authored-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
Signed-off-by: Orzelius <33936483+Orzelius@users.noreply.github.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-12-26 12:08:16 +04:00
Andrey Smirnov
f09ae1e0d2
fix: probe small images correctly
Fixes #12477

The PR in go-blockdevice: https://github.com/siderolabs/go-blockdevice/pull/142

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-12-24 13:39:16 +04:00
Noel Georgi
8f2b337994
feat: imager support rootless builds
Also changes the bootloader interface.
Disks are formatted/created with pre-populated source directories in Install/Image mode.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-12-24 11:02:37 +05:30
Andrey Smirnov
39117d4576
feat: update dependencies
Bump Go modules, Helm charts, other versions.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-12-18 22:59:51 +04:00
Andrey Smirnov
8d6a7a8677
feat: update Kubernetes to 1.35.0
Update to the final version for v1.12.0.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-12-18 16:18:40 +04:00
Mateusz Urbanek
694f45413f
feat: external volumes
Add new volume type for managing external volume mounts - Virtiofs volumes

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2025-12-15 14:35:52 +01:00
Andrey Smirnov
585abe9443
feat: update Kubernetes to v1.35.0-rc.1
See https://github.com/kubernetes/kubernetes/releases/tag/v1.35.0-rc.1

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-12-10 18:37:07 +04:00
Andrey Smirnov
d347ca1af1
fix: update CNI plugins to 1.9.0
See https://github.com/containernetworking/plugins/releases/tag/v1.9.0

This fixes CVE https://github.com/containernetworking/plugins/security/advisories/GHSA-jv3w-x3r3-g6rm

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-12-10 14:31:04 +04:00
Dmitrii Sharshakov
9fa00773ca
chore: update go-blockdevice
latest go-blockdevice release

Signed-off-by: Dmitrii Sharshakov <dmitry.sharshakov@siderolabs.com>
2025-12-05 16:22:58 +01:00
Andrey Smirnov
0f9f4c05ff
feat: update Kubernetes to 1.35.0-rc.0
Latest 1.35.0 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-12-04 14:35:13 +04:00
Andrey Smirnov
18f8ac369b
feat: update Kubernetes to 1.35.0-beta.0
Use the latest 1.35.0 version.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-12-01 17:23:49 +04:00
Mateusz Urbanek
83675838f3
feat: extend flags of cache-cert-gen
Add flags to add SAN names to generated certificate

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2025-11-20 21:40:55 +01:00
Andrey Smirnov
e62384ba34
fix: re-creating STATE after partition drop
Pulls in https://github.com/siderolabs/go-blockdevice/pull/139.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-11-14 14:49:48 +04:00
Andrey Smirnov
6063fbf912
feat: update dependencies
Many small changes, linting fixes, migration to moby/moby client
package.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-11-14 14:49:44 +04:00
Andrey Smirnov
fafab391b4
feat: update Kubernetes to 1.35.0-alpha.3
See https://github.com/kubernetes/kubernetes/releases/tag/v1.35.0-alpha.3

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-11-07 17:58:11 +04:00
Andrey Smirnov
92eeaa4826
fix: update YAML library
Update COSI, and stop using a fork of `gopkg.in/yaml.v3`, now we use new
supported for of this library.

Drop `MarshalYAMLBytes` for the machine config, as we actually marshal
config as a string, and we don't need this at all.

Make `talosctl` stop doing hacks on machine config for newer Talos, keep
hacks for backwards compatibility.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-11-04 15:21:57 +04:00