1189 Commits

Author SHA1 Message Date
Andrey Smirnov
f4bfbbbf56
chore: bump dependencies
No major bumps, except for CoreDNS 1.12.1, mostly updating Go modules.

Update pkgs/tools to final v1.10.0 versions.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-04-14 16:46:41 +04:00
Andrey Smirnov
c55af59a25
feat: update Linux to 6.12.23
Also drop `extras` and use `talosctl-cni-bundle` from pkgs.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-04-14 12:39:57 +04:00
Dmitrii Sharshakov
892a6854d5
docs: document SELinux
Add a new page describing how to enable SELinux as well as development details on working with the policy.

Signed-off-by: Dmitrii Sharshakov <dmitry.sharshakov@siderolabs.com>
2025-04-12 16:24:50 +02:00
Andrey Smirnov
664fa36973
feat: implement user volumes
User volumes are identified by a short name which serves both
as a `/var/mnt` mount point and a partition label.

User volumes can be added and removed on the fly, and they are
automatically propagated into the `kubelet` mount namespace.

Also deprecate `.machine.disks`.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-04-11 20:27:39 +04:00
Andrey Smirnov
401b62aded
feat: update Kubernetes to v1.33.0-rc.0
Go modules haven't been tagged, see
https://github.com/kubernetes/kubernetes/issues/131244.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-04-10 18:48:35 +04:00
Andrey Smirnov
e5a9cbbe61
feat: pull in more HiSilicon drivers
See https://github.com/siderolabs/pkgs/pull/1204

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-04-10 18:18:58 +04:00
Andrey Smirnov
5cd58ec86f
feat: add Hisilicon arm drivers
See https://github.com/siderolabs/pkgs/pull/1202

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-04-08 20:32:57 +04:00
Andrey Smirnov
18acfb2e1b
feat: update Flannel to v0.26.6
See https://github.com/flannel-io/flannel/releases/tag/v0.26.6

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-04-08 20:05:04 +04:00
Andrey Smirnov
60448b516e
feat: add support for instance tags on AWS
We can add on other platforms as well as we go.

See https://github.com/siderolabs/omni/issues/1059

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-04-08 12:57:56 +04:00
Noel Georgi
e8c3aeb801
feat: prefer uefi boot for aws ami's
Prefer UEFI boot for AWS AMI's.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-04-08 13:28:10 +05:30
Noel Georgi
c4136c27da
fix: uki boot detection
Fix UKI boot detection

Also fix bug introduced by #10640 which imported the unix package making
talosctl non-unix builds broken.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-04-08 09:02:02 +05:30
Noel Georgi
250fc1413c
feat: support xfs mkfs config version
Use xfs mkfs config versions based on Talos versions.

Fixes: #9955

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-04-04 08:39:33 +02:00
Andrey Smirnov
c83611ddd7
test: more extension modules
Update with the fix https://github.com/siderolabs/pkgs/pull/1200, load
explicitly `xdma` and `ena` drivers.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-04-03 17:54:28 +04:00
Andrey Smirnov
efd918eeb5
feat: update dependencies
Brings in Linux 6.12.21, go 1.24.2.

Also updates Go dependencies, golangci-lint, etc.

The configuration was migrated, fix new linting errors.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-04-02 21:18:25 +04:00
Andrey Smirnov
5eaaa7ffa1
test: fix enforcing steps in cron
Build UKI certs in cron.

Also pass `enforcing=1` to the initial step (if applicable).

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-04-02 15:11:12 +04:00
Andrey Smirnov
ffc1c43d9f
test: drop Azure CI pipelines
They were broken for some time, and depend on Image Gallery we dropped
as well.

Update docs and CI scripts.

Fixes #10035

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-03-24 18:30:21 +04:00
Andrey Smirnov
a834219ace
chore: update dependencies
Bump Go modules and other dependencies, catch up etcd to 3.5.20 (only
minor CLI fixes).

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-03-24 17:10:50 +04:00
Dmitrii Sharshakov
087a85f409
feat: support running with SELinux enforcing
Add more rules alongside supporting code.

Signed-off-by: Dmitrii Sharshakov <dmitry.sharshakov@siderolabs.com>
2025-03-22 14:39:48 +01:00
Andrey Smirnov
9b9512ba88
feat: update Linux 6.12.19, containerd 2.0.4
Also update runc to 1.2.6.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-03-18 16:13:23 +04:00
Tobias Kohlbau
433b0237bd
fix: correct structprotogen example
The program is called structprotogen not gotagsrewite. This example
was most likely not updated when the program got bootstrapped.

Signed-off-by: Tobias Kohlbau <tobias@kohlbau.de>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-03-17 20:24:35 +04:00
Joakim Nohlgård
cc6c714ce5
feat: add Tegra modules to initrd
Add Tegra modules to initrd.

Signed-off-by: Joakim Nohlgård <joakim@nohlgard.se>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-03-17 19:39:40 +05:30
Andrey Smirnov
ac79b1ea0c
feat: pull in Intel STTMAC network drivers
See https://github.com/siderolabs/pkgs/pull/1188

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-03-17 13:36:30 +04:00
Noel Georgi
2b8e082344
feat: deprecate .machine.install.extensions
Fully deprecate `.machine.install.extensions`.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-03-14 17:45:57 +05:30
Noel Georgi
b8b7b83f87
chore: extraKernelArgs validation for UKI's
Add validation for `.machine.install.extraKernelArgs`.

Fixes: #10339

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-03-13 19:10:36 +05:30
Andrey Smirnov
90abdc4893
feat: update Kubernetes to 1.33.0-beta.0
See https://github.com/kubernetes/kubernetes/releases/tag/v1.33.0-beta.0

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-03-12 12:23:30 +04:00
Andrey Smirnov
729fce3065
feat: update Linux to 6.12.18
Also bring in Intel PMC/PMT modules.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-03-11 14:47:10 +04:00
Dmitrii Sharshakov
7e0475488d
fix: qemu: archive cluster logs only after stopping VMs
Otherwise the archive is corrupted due to QEMU still writing to the logs while they are being archived

ci: enable --with-json-logs by default for e2e-qemu

Also pull in golangci fixes

Signed-off-by: Dmitrii Sharshakov <dmitry.sharshakov@siderolabs.com>
2025-03-10 15:46:11 +01:00
Dmitriy Matrenichev
dab30a8b9f
fix: ensure no goroutines escape in dns controller
- Remove all reliance on finalizers.
- Add `Close` method to CoreDNS `Proxy` struct.
- Wait for `Runner.Serve` to complete.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2025-03-07 22:08:46 +03:00
Andrey Smirnov
4365aecbd6
test: use standard installer for e2e-iso
It contains UKIs now.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-03-07 20:41:40 +04:00
Andrey Smirnov
4311783272
feat: update Kubernetes to v1.33.0-alpha.3
Add handling for now removed flags.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-03-07 20:08:01 +04:00
Joakim Nohlgård
18871a7eb8
chore: tidy labeled-squashfs.sh
Improve readability by placing args into variables

Signed-off-by: Joakim Nohlgård <joakim@nohlgard.se>
Signed-off-by: Dmitrii Sharshakov <dmitry.sharshakov@siderolabs.com>
2025-03-07 14:07:35 +01:00
Andrey Smirnov
3def5f9a67
feat: update etcd to 3.5.19
See https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-03-06 16:12:56 +04:00
Andrey Smirnov
17965c32fa
chore: update Go to 1.24.1
Address the potential CVE-2025-22870.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-03-05 20:45:49 +04:00
Andrey Smirnov
ab6cb3dfa3
chore: disable azure upload
Disable upload, as credentials are broken.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-03-05 14:49:02 +04:00
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