589 Commits

Author SHA1 Message Date
Mateusz Urbanek
6a0ec46b5b
feat: add dis-vulncheck tool
Add wrapper around govulncheck that allows adding ignores.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
(cherry picked from commit 4229bb9d2ed263c309d0b0082f6e21d2f002c925)
2026-04-15 18:43:19 +04:00
Noel Georgi
fef5ef49eb
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>
(cherry picked from commit 79fa2e3001082cf21be92c52b3da4e844313184d)
2026-04-15 18:40:38 +04:00
Noel Georgi
33b89cff72
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>
(cherry picked from commit 414f78a298fc1a196fe310b17b89d3aadc15e1b4)
2026-04-15 18:38:58 +04:00
David Orman
b863607905
fix: add symlinks nvidia-ctk and nvidia-cdi-hook in /usr/bin
The gpu-operator device plugin generates CDI specs with hooks pointing
to /usr/bin/nvidia-ctk and /usr/bin/nvidia-cdi-hook (hardcoded defaults
in NVIDIA/k8s-device-plugin and NVIDIA/nvidia-container-toolkit). Talos
extensions install these binaries under /usr/local/bin/, so pods
requesting nvidia.com/gpu resource limits fail with "no such file".

Add /usr/bin/nvidia-ctk and /usr/bin/nvidia-cdi-hook to the rootfs as
symlinks.

Fixes: #13021
Fixes: https://github.com/siderolabs/extensions/issues/1017

Signed-off-by: David Orman <ormandj@corenode.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit 9597714f625ac07bf74de32a24c3e6dad5abdc91)
2026-03-26 15:59:44 +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
Noel Georgi
2fb6f6a16d
feat: add symlinks needed by gpu-operator
Add symlinks that are expected by nvidia-gpu-operator.
These symlinks point to empty files when nvidia-container-toolkit extension is not added.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2026-03-10 05:02:21 +05:30
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
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
7033275a7a
refactor: move BootloaderKind into machinery
This type is used in Image Factory schematic, so move it into machinery
so that it can be imported into IF without pulling Talos core.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-01-15 20:21:11 +04:00
Noel Georgi
70e67787d6
feat: imager: populate filesystems with root owned files
Populate filesystems from source directories with root owned files.
This completes running imager fully rootless.

Fixes: #12498

Signed-off-by: Noel Georgi <git@frezbo.dev>
2026-01-05 21:13:42 +05:30
Andrey Smirnov
72a194df88
feat: add VM CPU hot-add rules
Fixes #12260

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-12-24 19:53:26 +04:00
Andrey Smirnov
786c8e2ee7
feat: ship pigz/igzip in rootfs to speed up image decompression
Fixes https://github.com/siderolabs/extensions/discussions/931

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-12-23 12:43:11 +04:00
Andrey Smirnov
f871ab241c
fix: provide json support in nft binary
Fixes https://github.com/siderolabs/talos/issues/12413

See https://github.com/siderolabs/pkgs/pull/1407

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-12-15 19:42:01 +04:00
Mateusz Urbanek
bb62b29edb
chore: prepare talos for 1.13
Add compatibility with 1.13 and fix/upgrade tests.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2025-12-11 12:10:38 +01: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
Mateusz Urbanek
542a67a066
feat: add riscv64 build of talosctl
Add Linux riscv64 build of talosctl.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2025-11-14 10:47:52 +01: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
Andrey Smirnov
28fd2390cb
fix: imager build on arm64
Fixes #12052

Don't pull amd64 libraries into arm64.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-10-21 12:59:08 +04:00
Andrey Smirnov
9cd2d794d0
feat: ship nft binary with Talos rootfs
Fixes #11846

Also bump Linux to 6.16.7 via pkgs.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-09-17 19:29:56 +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
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
8aa7b3933d
fix: bring back linux/armv7 build and update xz
Update xz to v0.5.15 which has a fix for 32-bit build.

This reverts commit cfef3ad4544498a47de17f6b05fb8374c35e3dd8.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-08-29 17:43:23 +04:00
Andrey Smirnov
cfef3ad454
fix: drop linux/armv7 build
See https://github.com/ulikunitz/xz/issues/64

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-08-29 13:37:35 +04:00
Dmitrii Sharshakov
a1c0e237d6
feat: update Linux to 6.15.11, Go to 1.25
Via pkgs and tools. Also bump go-debug for Go 1.25 support.

Signed-off-by: Dmitrii Sharshakov <dmitry.sharshakov@siderolabs.com>
2025-08-28 12:59:17 +02: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
34f25815c0
docs: fork docs for v1.12
Generated docs go to v1.12 folder now.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-08-14 16:36:08 +04:00
Andrey Smirnov
721595a000
chore: add deadcode elimination linter
Assert that `machined` build does deadcode elimination.

Fixes #11296

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-08-07 19:51:43 +04:00
Andrey Smirnov
dc4865915d
refactor: stop using text/template in machined code paths
Reason: `text/template` uses reflect's MethodByName, disabling deadcode
linker phase.

Fixes #11299

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-08-07 19:22:23 +04:00
Dmitrii Sharshakov
023a24cd4d
test: use Grype to scan SBOM for vulnerabilities
Add a CI job to build the current VEX file and scan SBOM.

This should enable automatic detection of new vulnerabilities once
information on them becomes available.

Signed-off-by: Dmitrii Sharshakov <dmitry.sharshakov@siderolabs.com>
2025-07-21 18:11:41 +02: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
Dmitrii Sharshakov
2d89bcc71f
feat: bump Linux, Go and other packages
Include all core packages into SBOM, make sure Talos is built with the
same Go versions as pkgs.

Signed-off-by: Dmitrii Sharshakov <dmitry.sharshakov@siderolabs.com>
2025-07-11 11:21:04 +02:00
Andrey Smirnov
4f3a2ffabe
test: update unit-test runner
Removing:

* `-v` to suppress successful test output
* `-count 1` to enable Go caching of test results per-package
* `-failfast` to see all failures

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-07-09 16:27:56 +04:00
Andrey Smirnov
d531b682cb
fix: provide FIPS 140-3 compliance
Provide compliant unit-test runs.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-07-08 21:18:04 +04:00
Dmitrii Sharshakov
3e3129d363
feat: include packages into SBOM
Also generate multiple SBOMs for variants including different
sets of packages and different architectures.

Signed-off-by: Dmitrii Sharshakov <dmitry.sharshakov@siderolabs.com>
2025-07-07 21:03:36 +02: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
Dmitrii Sharshakov
93bcd3b562
docs: create SBOM for Go dependencies
Use modified Syft to create reproducible SBOMs

Fixes #10936

Signed-off-by: Dmitrii Sharshakov <dmitry.sharshakov@siderolabs.com>
2025-06-13 17:45:51 +02:00
Andrey Smirnov
9642198d76
fix: userspace wireguard library overrides
Drop using the fork https://github.com/siderolabs/wireguard-go which had
a single change to the variable.

Instead, patch the variable using Go linker flags and only for
`machined`.

This fixes the issue with `wg` utility not working for `talosctl cluster
create --with-siderolink` clsuters, as it was using incompatible path.

We do need to override the path for Talos only, as in Talos `/var/run`
is not always available, but outside of Talos itself we never need this
change at all.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-06-12 17:35:11 +04:00
Orzelius
5ecc53c695
docs: add macos section to developing-talos.md
* add docs about developing talos on macos
* detect arch in the makefile

Signed-off-by: Orzelius <33936483+Orzelius@users.noreply.github.com>
2025-06-09 18:59:06 +09:00
Andrey Smirnov
a59aaee84b
feat: bump dependencies, Linux 6.12.31
Bump pkgs/tools, Go modules, and other dependencies.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-06-04 20:02:20 +04:00
Olav Thoresen
7c057edd5f
fix: use vmdk-convert istead of qemu-img to create VMDK for OVA files
Fixes siderolabs/image-factory#232

Signed-off-by: Olav Thoresen <Olav.Sortland.Thoresen@spk.no>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-05-21 18:23:39 +05:30
Andrey Smirnov
980f4d2b93
feat: bump dependencies
Linux 6.12.27
runc 1.3.0
Go 1.24.3

Also update Go modules and other deps.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-05-08 21:14:39 +04:00
Andrey Smirnov
ae87edffbc
fix: drop libseccomp from rootfs
`containerd` doesn't need it, and `runc` is statically linked.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-05-02 15:18:11 +04:00
Andrey Smirnov
c8e619608d
chore: prepare for release 1.11
Fork the docs, add version contract for 1.11, stability tests for 1.11.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-05-01 13:19:01 +04:00
Andrey Smirnov
62ab8af459
fix: disk image generation with image cache
There were missing util-linux libraries for e2fsprogs.

While at it, clean up static libraries from installer/imager containers
to make them even smaller.

Fixes #10814

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-04-28 23:08:19 +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
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
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
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
Andrey Smirnov
7ca5ab5e93
fix: shrink installer and imager images
Remove some files we don't need, remove some tools, move tools around.

E.g. we don't need grub foreign architecture for the installer, as it
only runs for a specific arch.

Move kmod to imager.

Drop `ctr` from containerd, as it was added to pkgs.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-03-19 16:22:03 +04:00
Joakim Nohlgård
81d1fe0f80
fix: add missing TOOLS_PREFIX for WITH_DEBUG_SHELL builds
Add missing TOOLS_PREFIX for WITH_DEBUG_SHELL builds.

Signed-off-by: Joakim Nohlgård <joakim@nohlgard.se>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-03-17 19:01:44 +05:30