1155 Commits

Author SHA1 Message Date
Noel Georgi
d4e3e957cb
fix(ci): fix integration tests
Fix CI integration tests.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-03-05 06:49:19 +05:30
Andrey Smirnov
1849b53881
feat: update dependencies
Bump Go modules, linters, other minor dependencies.

Linux 6.12.17, containerd 2.0.3.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-03-04 21:03:43 +04:00
Andrey Smirnov
e831e52e01
feat: add support for qla2xx
See https://github.com/siderolabs/talos/issues/10453

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-03-03 22:42:56 +04:00
Andrey Smirnov
ec5c049a5a
feat: update Kubernetes to 1.33.0-alpha.2
Update to the latest 1.33.0 updated to get main on 1.33 for upcoming
Talos 1.10.

Update go-kubernetes to the version supporting 1.33.x.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-03-03 18:10:09 +04:00
Noel Georgi
fd8131cb86
feat: generate unified installer
Generate `installer` from `imager` so installer always have UKI's.

Push `installer-base` which just contains base tools to install.

Fixes: #10188
Fixes: #10323

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-02-28 19:18:19 +05:30
Noel Georgi
b1d410cb62
feat: dual boot disk image
Generate disk image with both grub and sd-boot.

Fixes: #10332

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-02-25 21:21:10 +05:30
Mathspy
f5c097041f
feat: add description to schema object defs
docs: run doc codegen

Signed-off-by: Mathspy <mathspy257@gmail.com>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-02-20 15:25:20 +05:30
Dmitry Sharshakov
46d67fe446
chore: update Go to 1.24, update pkgs
Also pull in usrmerged tools, so remove older hacks. Add a fixed enumer fork with Go 1.24 compatibility.

Signed-off-by: Dmitrii Sharshakov <dmitry.sharshakov@siderolabs.com>
2025-02-17 17:23:16 +01:00
Andrey Smirnov
1b4464c8a6
feat: update Kubernetes to 1.32.2
See https://github.com/kubernetes/kubernetes/releases/tag/v1.32.2

The Go modules haven't been tagged yet, but it should not be important.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-02-13 13:50:54 +04:00
Andrey Smirnov
9463ac23e7
fix: make ingress firewall filter traffic to nodeports
This fixes #10347

The core issue was that Talos nftables chain had priority 0 (`filter`),
while kube-proxy does DNAT for node ports at priority -110 (before Talos
can see source traffic), so Talos rule doesn't match.

Move Talos priority to -140, so it runs before kube-proxy.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-02-12 20:25:22 +04:00
Dmitry Sharshakov
557faad759
feat: update Linux to 6.12.13
Latest current LTS via pkgs.

Signed-off-by: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
2025-02-10 20:19:34 +01:00
Andrey Smirnov
0419f5d8ba
feat: implement features in ethtool-like support
Support showing current feature state, and changing features on the fly.

The output and interface should be similar to `ethtool`.

We don't support legacy feature names.

```
node: 172.20.0.5
metadata:
    namespace: network
    type: EthernetStatuses.net.talos.dev
    id: enp0s2
    version: 2
    owner: network.EthernetStatusController
    phase: running
    created: 2025-02-10T11:40:32Z
    updated: 2025-02-10T11:40:32Z
spec:
    linkState: true
    port: Other
    duplex: Unknown
    rings:
        rx-max: 256
        tx-max: 256
        rx: 256
        tx: 256
        tx-push: false
        rx-push: false
    features:
        tx-scatter-gather: on
        tx-checksum-ipv4: off [fixed]
        tx-checksum-ip-generic: on
        tx-checksum-ipv6: off [fixed]
        highdma: on [fixed]
        tx-scatter-gather-fraglist: off [fixed]
        tx-vlan-hw-insert: off [fixed]
        rx-vlan-hw-parse: off [fixed]
        rx-vlan-filter: on [fixed]
        vlan-challenged: off [fixed]
        tx-generic-segmentation: on
        rx-gro: on
        rx-lro: off [fixed]
        tx-tcp-segmentation: on
        tx-gso-robust: on [fixed]
        tx-tcp-ecn-segmentation: on
        tx-tcp-mangleid-segmentation: off
        tx-tcp6-segmentation: on
        tx-fcoe-segmentation: off [fixed]
        tx-gre-segmentation: off [fixed]
        tx-gre-csum-segmentation: off [fixed]
        tx-ipxip4-segmentation: off [fixed]
        tx-ipxip6-segmentation: off [fixed]
        tx-udp_tnl-segmentation: off [fixed]
        tx-udp_tnl-csum-segmentation: off [fixed]
        tx-gso-partial: off [fixed]
        tx-tunnel-remcsum-segmentation: off [fixed]
        tx-sctp-segmentation: off [fixed]
        tx-esp-segmentation: off [fixed]
        tx-udp-segmentation: off
        tx-gso-list: off [fixed]
        tx-checksum-fcoe-crc: off [fixed]
        tx-checksum-sctp: off [fixed]
        rx-ntuple-filter: off [fixed]
        rx-hashing: off [fixed]
        rx-checksum: on [fixed]
        tx-nocache-copy: off
        loopback: off [fixed]
        rx-fcs: off [fixed]
        rx-all: off [fixed]
        tx-vlan-stag-hw-insert: off [fixed]
        rx-vlan-stag-hw-parse: off [fixed]
        rx-vlan-stag-filter: off [fixed]
        l2-fwd-offload: off [fixed]
        hw-tc-offload: off [fixed]
        esp-hw-offload: off [fixed]
        esp-tx-csum-hw-offload: off [fixed]
        rx-udp_tunnel-port-offload: off [fixed]
        tls-hw-tx-offload: off [fixed]
        tls-hw-rx-offload: off [fixed]
        rx-gro-hw: on
        tls-hw-record: off [fixed]
        rx-gro-list: off
        macsec-hw-offload: off [fixed]
        rx-udp-gro-forwarding: off
        hsr-tag-ins-offload: off [fixed]
        hsr-tag-rm-offload: off [fixed]
        hsr-fwd-offload: off [fixed]
        hsr-dup-offload: off [fixed]
```

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-02-10 16:05:49 +04:00
Dmitry Sharshakov
cd66fc6e8e
feat: use bootstrapped packages for building Talos
Update tools, pkgs and extras to use fully bootstrapped [Stageˣ]-derived toolchain for building Talos and its dependencies.

This brings in changes related to root being usrmerged now, so some paths have changed. Extras have been cleaned up: use only the needed package.

Addresses: #10187

Signed-off-by: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
2025-02-10 13:00:36 +04:00
Andrey Smirnov
716f700da7
feat: provide initial support for ethtool configuration
See https://github.com/siderolabs/ethtool - our fork.

This PR covers only configuring rings, follow-up PRs will address other
pieces: channels and features.

Example:

```
node: 172.20.0.5
metadata:
    namespace: network
    type: EthernetStatuses.net.talos.dev
    id: enp0s2
    version: 4
    owner: network.EthernetStatusController
    phase: running
    created: 2025-02-04T16:03:14Z
    updated: 2025-02-04T16:04:12Z
spec:
    linkState: true
    port: Other
    duplex: Unknown
    rings:
        rx-max: 256
        tx-max: 256
        rx: 128
        tx: 128
        tx-push: false
        rx-push: false
```

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-02-05 21:28:42 +04:00
Andrey Smirnov
b726e2f9f7
feat: update Flannel to 0.26.4
See https://github.com/flannel-io/flannel/releases/tag/v0.26.4

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-02-04 17:25:57 +04:00
Andrey Smirnov
c5fb62e2e3
feat: update Linux to 6.2.11
Update to the latest LTS.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-01-27 20:48:37 +04:00
Andrey Smirnov
83d007c161
feat: update etcd to 3.5.18
See https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-01-27 18:58:56 +04:00
Noel Georgi
cd5e549039
feat: generate iso's with both UKI and grub
Starting with Talos 1.10, the default generated ISO's will use GRUB for
BIOS boot and sd-boot for EFI boot.

Fixes: #10192

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-01-24 22:32:02 +05:30
Noel Georgi
82c9ec158e
chore(ci): add tests with longhorn v2 engine
Add tests with longhorn v2 engine.

Fixes: #9669

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-01-22 23:10:48 +05:30
Andrey Smirnov
7a712fad2a
fix: disks with 4k sector size and systemd-boot
The previous fix was completely wrong.

See #10097

The core part of the problem was that `dosfstools` was not installed in
the `installer`, so this causes a busybox version of it to be used which
is totally broken for 4k disks.

Adds an integration test.

go-blockdevice updates revert first partition alignment for 4k disks and
allow `talosctl cluster create` to detect properly installation status.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-01-22 19:21:29 +04:00
Andrey Smirnov
d62a34aaf4
feat: update tools/pkgs/extras
This brings in Linux 6.12.10 and many updates in
pkgs/extras/extensions.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-01-22 14:45:34 +04:00
Dmitriy Matrenichev
b9a8ad6aca
chore: de-hardcode list of extra images for image-cache test
Get the image list using `registry.k8s.io/conformance` image instead of hardcoding it.
Add new command `talosctl image integration` to create a proper list of k8s integration images for
`talosctl images cache-create` command.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2025-01-21 20:27:57 +03:00
Noel Georgi
79987c05dc
feat: generate iqn and nqn files
Generate deterministic IQN and NQN files based on `machine-id`.

Fixes: #10009

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-01-20 17:44:07 +05:30
Andrey Smirnov
921e10254d
chore: update Go to 1.23.5
Via pkgs/tools.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-01-20 14:19:24 +04:00
Andrey Smirnov
e06b14112d
feat: update Kubernetes to 1.32.1
See https://github.com/kubernetes/kubernetes/releases/tag/v1.32.1

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-01-16 18:10:43 +04:00
Noel Georgi
01c86832cb
chore(ci): add test for OpenEBS MayaStor
Add a test in CI for OpenEBS MayaStor.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-01-16 09:47:17 +05:30
Andrey Smirnov
ddd695d933
feat: update containerd to 2.0.2
See https://github.com/containerd/containerd/releases/tag/v2.0.2

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-01-15 15:41:05 +04:00
Noel Georgi
9b957df646
chore: uki code restructure
UKI code re-structure, no-op.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-01-14 18:01:53 +05:30
Noel Georgi
e41a995253
fix: kube-apiserver authorizers order
Fixes handling of `kube-apiserver` authorization config authorizers.
order.

Fixes: #10110

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-01-14 16:49:25 +05:30
Andrey Smirnov
db4ca5668a
feat: add a kernel parameter to disable built-in auditd
Fixes #9907

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-01-14 14:24:50 +04:00
Andrey Smirnov
faa1490033
feat: update Linux to 6.12.9
Update to the latest 6.12.x.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-01-13 20:28:33 +04:00
Andrey Smirnov
edf5c5e29b
fix: extfs repair and resize
Fixes #10103

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-01-13 13:04:33 +04:00
Andrey Smirnov
1be5f8ff25
feat: update Linux to 6.12.8
Also update runc to 1.2.4.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-01-10 20:18:43 +04:00
Andrey Smirnov
6d605fc859
fix: disable NRI plugin in a different way
This way it's easy to re-enable NRI plugins with a simple change.

See https://github.com/siderolabs/talos/discussions/10068

I tested that it works e2e with NRI plugins repository.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-01-09 15:19:10 +04:00
Noel Georgi
fa5300d910
chore: revert: drop deprecated allowSchedulingOnMasters
This reverts commit 32c67c27c393c989f9d70ccb8506c4735f70d494.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-01-08 16:10:53 +05:30
Noel Georgi
32c67c27c3
chore: drop deprecated allowSchedulingOnMasters
Drop deprecated `.cluster.allowSchedulingOnMasters` machine config
field.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-01-06 18:20:25 +05:30
Andrey Smirnov
650eb3a4f2
refactor: rewrite cloud uploader to use AWS SDK Go v2
The v1 SDK was deprecated and archived.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-27 20:28:12 +04:00
Noel Georgi
e79c9e1277
chore(ci): drop equinix metal e2e-test
Drop Equinix Metal e2e tests, due to EM machines mostly not booting
properly over PXE, drop the test as it adds no value.

Fixes: #10034

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-12-26 22:41:01 +05:30
Andrey Smirnov
4761a9e6aa
chore: update dependencies
Go modules, tools, pkgs, etc.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-26 14:48:31 +04:00
Andrey Smirnov
0664807229
test: fix apparmor tests
Remove selinux more actively.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-24 20:10:59 +04:00
Andrey Smirnov
82ea44a6b2
fix: reduce installer image
This still allows running install on 1 GiB hardware.

Fixes #10024

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-24 19:03:42 +04:00
Dmitry Sharshakov
bd85bd5b73
fix: fix Failed to initialize SELinux labeling handle udev error
Create a dummy SELinux file_contexts file to mitigate the warning. We do not rely on libselinux for labeling, so empty file suffices.

Signed-off-by: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
2024-12-20 18:38:46 +01:00
Andrey Smirnov
73c82e3e56
feat: bring Linux 6.12.6, CNI plugins 1.6.1
To be backported to Talos 1.9.1.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-20 18:25:57 +04:00
Noel Georgi
a5660ed778
feat: pcirebind controller
Add a controller to support rebinding drivers for PCI devices.

Fixes: https://github.com/siderolabs/extensions/pull/488

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-12-20 17:35:37 +05:30
Andrey Smirnov
7d39b9ec2b
feat: remove cgroupsv1 in non-container mode
Following up on deprecation in Talos 1.9, remove it completely for Talos
1.10.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-18 18:48:11 +04:00
Andrey Smirnov
03116ef9bd
chore: prepare for Talos 1.10
Fork docs, update tests, trim release notes, etc.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-17 19:54:11 +04:00
Andrey Smirnov
a49bb9ee45
feat: update Linux to 6.12.5
Latest 6.12.x for Talos 1.9.0.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-16 19:50:31 +04:00
Andrey Smirnov
590c016571
feat: update containerd to v2.0.1
See https://github.com/containerd/containerd/releases/tag/v2.0.1

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-16 15:03:11 +04:00
Andrey Smirnov
d45e8d1d1d
feat: update Kubernetes to 1.32.0
Final Kubernetes release for Talos 1.9.0.

Also update COSI to pull in a fix for watch restarts:
https://github.com/cosi-project/runtime/pull/512

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-12 22:51:33 +04:00
Andrey Smirnov
61b1489a0f
fix: order volume config by the requested size
This fixes an issue like that:

* the system disk is say 10GiB
* STATE is fixed 100 MiB always
* EPHEMERAL is configured to be min 6 GiB, max 100 GiB

As the EPHEMERAL/STATE provisioning order was not defined, EPHEMERAL
might be created first, occupying whole disk and leaving no space left
for STATE.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-11 18:35:11 +04:00