320 Commits

Author SHA1 Message Date
Andrey Smirnov
f4ad3077b0
feat: implement bond multi-doc configuration
Also expand internal bond configuration to cover missing fields.
They are not going to be exposed in legacy configuration.

Fixes #10960

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-11-07 13:45:09 +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
Andrey Smirnov
be028b67a0
feat: add support for multi-doc VLAN config
Fixes #10961

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-10-29 17:20:24 +04:00
Mateusz Urbanek
f3df0f80b9
feat: add directory backed UserVolumes
Resolves #11848

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2025-10-29 12:00:24 +01:00
Andrey Smirnov
fb4bfe851c
chore: fix LVM test
Rework the assertion to be more specific.

The root cause that now LVM marks device mapper devices in a different
way, and we see just two of them.

Co-authored-by: Laura Brehm <laurabrehm@hey.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-10-28 18:44:59 +04:00
Andrey Smirnov
f4ee0d1128
chore: disable VIP operator test
It might restart kube-apiserver (due to cert change) at a random moment.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-10-28 18:27:11 +04:00
Andrey Smirnov
1dffa5d996
feat: implement virtual IP operator config
Fixes #10959

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-10-24 17:37:03 +04:00
Andrey Smirnov
39eeae9631
feat: update dependencies
CoreDNS 1.13.0
Linux 6.17.4

Other go.mod dependencies, tools, Helm charts used in tests, etc.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-10-23 19:10:48 +04:00
Mateusz Urbanek
c0772b8eda
feat: add airgapped mode to QEMU backed talos
Add new `--airgapped` flag to talos cluster create (qemu)
to disable NAT in the VMs to effectively become airgapped.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2025-10-22 18:10:27 +02:00
Andrey Smirnov
ac60a9e27d
fix: update test for PCI driver rebind/IOMMU
Use `e1000` emulation instead of `virtio-net`, as with new network
config if we create another `virtion-net` link, Talos is confused which
one should be aliased, and networking config is broken.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-10-22 19:01:12 +04:00
Andrey Smirnov
6c98f4cdb0
feat: implement new DHCP network configuration
Fixes #11661

Fixes #10958

This also implement proper client identifier handling.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-10-21 20:51:58 +04:00
Noel Georgi
37e4c40c6a
fix: skip module signature tests on docker provisioner only
Only skip the kernel module signature verification tests on docker provisioner only.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-10-17 15:43:37 +05:30
Noel Georgi
ced57b047a
feat: support optionally disabling module sig verification
Support disabling kernel module signature verification.
Note that this does not work when SecureBoot is enabled.

Fixes: #11989

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-10-16 20:18:46 +05:30
Andrey Smirnov
9a42b05bda
feat: implement link aliasing
Fixes #10956

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-10-08 16:27:27 +04:00
Dmitrii Sharshakov
053fd0bd4d
feat: update Linux to 6.17
Also update module lists, pull in other tools/pkgs updates.

Signed-off-by: Dmitrii Sharshakov <dmitry.sharshakov@siderolabs.com>
2025-10-06 16:52:16 +02:00
Andrey Smirnov
7f048e962e
feat: update dependencies
Bump PKGS (Linux 6.16.9), tools, other go.mod dependencies.

Fix the linting issues.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-09-30 20:55:29 +04:00
Andrey Smirnov
7bae5b40b4
feat: implement link configuration
New multi-doc way to apply static configuration to network links.

Fixes #10957

Also implements related changes:

* new-style auto-DHCP mode - run DHCP as long as there is no new-style
  config document
* refactoring of controllers/tests which were touched in this PR
* implemented embedded config structs handling in docgen -> Markdown and
  docgen -> JSON schema

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-09-25 18:28:06 +04:00
Andrey Smirnov
53ce93aaed
test: try to clear connection refused more aggressively
Try to stabilize some tests.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-09-18 14:11:37 +04:00
Noel Georgi
b88f27d804
chore: make reset test code a bit better
Simplify the reset test code.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-09-16 19:53:02 +05:30
Andrey Smirnov
1cde53d017
test: fix several issues with tests
One issue is with update hostname tests which runs against Talos v1.11
machine config which contains legacy fields which need to be removed.

Another is an attempt to refactor apply-try tests.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-09-16 16:41:37 +04:00
Mateusz Urbanek
2120904ec5
feat: create detached tmpfs
Fixes #10159

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2025-09-15 13:00:18 +02:00
Andrey Smirnov
a2122ee5cb
feat: implement HostConfig multi-doc
Fixes #10952

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-09-12 14:28:50 +04:00
Andrey Smirnov
f85f82f32f
test: fix flakiness in RawVolumes test
We test for labels immediately after volume status is ready, but we
should instead wait a bit for labels to be discovered.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-09-11 16:49:48 +04:00
Andrey Smirnov
8b64f68f69
test: improve test stability
Fixes #11780

Couple of changes:

* clear connection refused before apply config with reboot (no-op CRI
  patch test)
* improve log output in volume tests
* drop locking in vgcreate, as it seems to conflict with background disk
  scans (by Talos or udevd)

Co-authored-by: Noel Georgi <git@frezbo.dev>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-09-10 14:34:06 +04:00
Andrey Smirnov
2b556cd22a
feat: implement multi-doc StaticHostConfig
Fixes #10953

This the very first migrated document. I picked up a very simple
configuration document to build some initial idea how we handle
migration of the config documents to the new format.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-09-08 14:38:18 +04:00
Noel Georgi
895133de99
feat: support configuring PCR states to bind disk encryption
See 4b840414be for more information.

Talos versions prior to 1.12 locked to PCR 7 state and PCR 11 for signed policies.

In-order for backwards compatibility newer installs will still default to PCR 7 state. Locking to PCR 7 can be disabled by passing an empty list.

Fixes: #10677

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-09-05 20:08:01 +05:30
Andrey Smirnov
6a389cad35
chore: update dependencies
Update Go modules, some test dependencies, bump tools, etc.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-09-02 14:14:53 +04:00
Andrey Smirnov
c079119337
chore: refactor how tools are being installed
Move stuff into `tools/go.mod`.

Also fix linting issues on the way (updating golangci-lint).

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-08-14 17:45:39 +04:00
Andrey Smirnov
a5f3000f2e
feat: implement encryption locking to STATE
Fixes #10676

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-08-01 18:24:56 +04:00
Andrey Smirnov
3751c8ccfa
test: wait for service account test job longer
It seems we hit the 30s timeout with network chaos tests.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-07-28 20:06:03 +04:00
Andrey Smirnov
5f442159b2
feat: unify disk encryption configuration
Deprecate/hide old v1alpha1 disk encryption config, and move to
unified approach via `VolumeConfig` resource.

Allow only encryption configuration for `STATE` (for now).

Fixes #10749

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-07-24 19:08:48 +04:00
Noel Georgi
38e176e594
chore(ci): fix datasource versioning
Fix datasource versioning for container images.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-07-24 15:23:06 +05:30
Noel Georgi
450b30d5a9
chore(ci): add more nvidia test matrix
Add more NVIDIA tests covering all supported OSS and Proprietary LTS and Production driver versions.

Fixes: #11398

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-07-22 23:17:36 +05:30
Andrey Smirnov
cb7ca17bba
feat: implement ExistingVolumeConfig
Fixes #11153

The idea is to allow to mount existing partitions on a Talos machine so
that they are available for workloads.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-07-22 14:32:31 +04:00
Mateusz Urbanek
a857c696fa
chore(machined): remove deprecated Endpoints
Remove deprecated core/v1.Endpoints in favor of discovery/v1.EndpointSlices.

Fixes #11322

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2025-07-22 09:32:59 +02:00
Mateusz Urbanek
9920da3e1a
feat: add etcd downgrade API
Fixes #11058

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2025-07-16 15:33:51 +02:00
Andrey Smirnov
da5a4449f1
feat: implement raw volume support
Fixes #10931

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-07-14 13:46:50 +04:00
Andrey Smirnov
a957ef4163
feat: add SBOMs to the imager container
Fixes #10939

E.g. we can consume it from the Image Factory side.

Also enable timestamp rewriting for output images, goes from
`SOURCE_DATE_EPOCH`.

See https://github.com/moby/buildkit/blob/master/docs/build-repro.md#source_date_epoch

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-07-11 17:05:26 +04:00
Mateusz Urbanek
0b8c180b82
fix: rename instances to referenceCount
ReferenceCount is a more common name, so replacing Instances will
provide better UX and will match online resources.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2025-07-10 18:39:31 +02:00
Mateusz Urbanek
b8fcf3c712
fix: change module instance evaluation
A minor change to validation of LoadedKernelModules (Instances field).
This field should be non-negative, zero should be treaded as correct
value.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2025-07-10 12:33:15 +02:00
Andrey Smirnov
6415055847
feat: support project quota support for user volumes
Just exposting existing value via the config.

Fixes #11090

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-07-09 19:35:10 +04:00
Andrey Smirnov
850579448e
feat: export SBOM as resources
Fixes #10942

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-07-09 16:48:48 +04:00
Mateusz Urbanek
8789a02c3e
feat: present loaded kernel modules
Fixes #11280

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2025-07-07 15:13:14 +02:00
Andrey Smirnov
33ecbaec6d
test: update apply config tests
Make the setup phase of the test a bit more consistent - wait for the
machine to be ready, connection refused to be cleared (after reboots).

This doesn't change anything in the tests themselves, but hopefully
should reduce number of flakes like: https://github.com/siderolabs/talos/actions/runs/15895820994/job/44827039818

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-07-04 19:04:15 +04:00
Andrey Smirnov
3801413309
feat: expose kernel cmdline as a resource
Fixes #11279

Co-authored-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-07-02 15:31:10 +02:00
Andrey Smirnov
c880835c80
feat: implement zswap support
Zswap allows to compress pages in memory before they hit the actual swap
device.

Both swap and zswap (or either one of these) can be enabled.

Fixes #10675

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-06-30 20:17:27 +04:00
Andrey Smirnov
7f0300f108
feat: update dependencies, Kubernetes 1.34.0-alpha.2
Bump all dependencies, many small changes due to new golangci-lint
version.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-06-30 19:05:22 +04:00
Andrey Smirnov
d32ccfa598
feat: implement swap support
Fixes #10674

Provide a way to see current swap status, configure additional swap
devices (block) and de-configure them on the fly.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-06-11 14:25:38 +04:00
Andrey Smirnov
c7d4191e78
fix: rework the way CRI config generation is waited for
Instead of relying on the fact that CRI patch should modify the
generated final CRI config, rely on the specific checksum of the CRI
patch to be included into the generated CRI config.

This also to resolve Talos hanging on boot when a CRI patch is a no-op
(it doesn't change the generated config).

Fixes #11132

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-06-03 14:56:52 +04:00
Andrey Smirnov
0b99631a0b
fix: bump apid memory limit
Fixes #11046

Test up to the maximum gRPC message size as we support.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-05-20 22:54:56 +04:00