424 Commits

Author SHA1 Message Date
Andrey Smirnov
b1a02f3681
feat: update Kubernetes to 1.36.0-beta.0
Update to the latest available release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-23 13:27:22 +04:00
Andrey Smirnov
3d059754c2
fix: accept image cache volume encryption config
Fixes #12945

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-03-16 19:01:49 +04:00
Noel Georgi
c14179e78d
chore(ci): update nvidia test to use gpu-operator
Update NVIDIA tests to use GPU Operator.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2026-03-11 05:25:15 +05:30
Orzelius
57599fb877
fix: skip some readiness checks when the CNI is disabled
* skip node readiness check
* skip coredns readiness check

Signed-off-by: Orzelius <33936483+Orzelius@users.noreply.github.com>
2026-03-09 22:10:57 +09: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
Andrey Smirnov
e00aed0f66
feat: update Kubernetes v1.36.0-alpha.1
Not updating Go modules yet, as there's a dependency conflict via
fluxcd/pkg/ssa right now due to removed autoscaling API in k8s.io/api.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-19 21:18:43 +04:00
Sébastien Masset
87615f5511
feat: implement network policies with Flannel CNI
Align flannel ClusterRole with upstream chart template (cf.
https://github.com/flannel-io/flannel/blob/master/chart/kube-flannel/templates/rbac.yaml)

Add boolean in cluster flannel CNI config to deploy extra resources to
handle network policies. Inspired by flannel Helm chart handling of
netpol.enabled value (cf. https://github.com/flannel-io/flannel/blob/master/Documentation/netpol.md)

Signed-off-by: Sébastien Masset <86793256+smasset-orange@users.noreply.github.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-10 15:47:49 +04:00
Andrey Smirnov
d90c775b84
chore: rename internal talosctl debug air-gapped
This command was always hidden, rename it to `debug-tool` to free up the
`talosctl debug` for #12932.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2026-02-02 14:25:01 +04:00
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
681f3e84c8
test: run virtiofs tests only when virtiofsd is running
Detect if virtiofsd is created, and then run or skip virtiofs volumes tests.

Signed-off-by: Mateusz Urbanek <mateusz.urbanek@siderolabs.com>
2025-12-18 10:26:06 +01: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
cf087c1e01
test: bird2 extension
Add a dummy config to make extension start successfully.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-12-05 14:14:26 +04: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
Laura Brehm
f489299b60
chore: correct condition for running k8s integration tests
74d35900af0f6451426b70eec3b6db4b72eb993c was supposed to disable the k8s
tests on memory-restricted workers, but instead made the tests only run
on memory-restricted workers.

Signed-off-by: Laura Brehm <laurabrehm@hey.com>
2025-12-01 08:35:05 +01:00
Andrey Smirnov
87ff9f8606
test: fix the image-factory test to pass IF endpoint
Pass the IF endpoint to `talosctl cluster create qemu`.

It matches the default value, but if we change the hostname, the test
breaks as it starts using different image factories for
provisioning/upgrade.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-11-28 16:11:24 +04:00
Laura Brehm
74d35900af
chore: disable k8s integration tests for 1GiB worker nodes
Kubernetes E2E tests have had a bump in memory usage, making running
these on 1GiB worker nodes unreliable.

Disable `talosctl health --run-e2e` in this case.

Signed-off-by: Laura Brehm <laurabrehm@hey.com>
2025-11-18 12:50:54 +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
Andrey Smirnov
82ac1119ec
feat: implement new registry configuration
Move to using multi-doc registry configuration.

Fixes #12120

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-11-12 17:25:01 +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
704b5f99e6
feat: update Kubernetes to 1.35.0-alpha.2
Start getting on K8s 1.35 for Talos 1.12.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-10-27 12:49: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
Orzelius
eccb21dd3b
feat: add presets to the 'cluster create qemu' command
* add 'iso', 'pxe', 'disk-image', 'maintenance' and 'secureboot' presets
* swith the image-factory e2e test to use the create qemu command with presets
* add a '--omni-api-endpoint' to simplify connecting machines to omni

Signed-off-by: Orzelius <33936483+Orzelius@users.noreply.github.com>
2025-10-18 14:02:32 +09:00
Andrey Smirnov
ec0a813fac
feat: unify cmdline handling GRUB/systemd-boot
Use cmdline from the UKI in Talos 1.12+ by default for new installs.

This brings GRUB in line with systemd-boot vs. cmdline behavior.

Fixes #12019

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-10-17 16:00:46 +04:00
Andrey Smirnov
cd9fb27434
fix: support secure HTTP proxy with gRPC dial
Most of the work is to add proper test environment for more cases.

Include a test for pulling an image

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-10-02 19:56:19 +04:00
Andrey Smirnov
493f7ed9d2
feat: support embedded config
Support embedding machine config via a virtual extension to
a fixed path.

Fixes #11824

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-09-26 16:27:53 +04:00
Andrey Smirnov
d57882b183
feat: update Kubernetes to 1.34.1
See https://github.com/kubernetes/kubernetes/releases/v1.34.1

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-09-11 17:49:14 +04:00
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
527791f097
feat: update Kubernetes to 1.34.0
See https://github.com/kubernetes/kubernetes/releases/tag/v1.34.0

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-08-28 16:27:01 +04:00
Andrey Smirnov
0879efa690
feat: update Kubernetes default to v1.34.0-rc.2
Getting ready for v1.11.0 release!

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-08-21 17:34:32 +04:00
Andrey Smirnov
558e0b09ab
test: fix the Image Factory PXE boot test
The shell script expected `ipxe`, but we passed `pxe`, and it silently
worked.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-08-21 14:37:19 +04:00
Orzelius
ea8289f550
feat: add a user facing docker command
Add a user facing cluster create docker command with the following changes:
* renamed flags for simplicity and uniformity
* removed the bulk of the unnecessary flags

Other changes:
* split internal logic such that it's separate from the qemu cluster create logic
* refactor internal code aiming for simplicity
Ä change drives flag behavior in anticipation of the user facing create-qemu command
* extract code into separate functions
* add some unit tests
* remove the docker support from the cluster create command (docker is only supported via the user-facing create-docker command)

Signed-off-by: Orzelius <33936483+Orzelius@users.noreply.github.com>
2025-08-15 19:45:21 +09:00
Andrey Smirnov
b66b995d34
feat: update default Kubernetes to v1.34.0-rc.1
See https://github.com/kubernetes/kubernetes/releases/tag/v1.34.0-rc.1

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-08-11 19:26:48 +04:00
Noel Georgi
7271019263
fix(ci): use a random suffix for ami names
Use a random suffix for AMI names so that names don't conflict in parallel runs.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-07-30 15:47:54 +08:00
Andrey Smirnov
06ef7108a6
fix: issue with volume remount on service restart
This showed up in docker runs (not sure why only docker), but the issue
is the following:

* a service is running which has some volume requirements
* `VolumeMountRequests` are created, and `VolumeMountStatus` were
  established
* the service put finalizers on `VolumeMountStatus`
* now the service is going to be restarted - so at first it's going to
  be shut down
* on shutdown, the service will remove `VolumeMountRequest`, and remove
  finalizers on `VolumeMountStatus`
* now it's job of other controllers to tear down and remove mounts
* as the service starts back up after restart, it will re-create
  `VolumeMountRequest`, and will try to wait and put finalizers on
  `VolumeMountStatus`
* here comes the race condition: it can be that the service sees tearing
  down `VolumeMountStatus` which is left from the shutdown time, so it
  puts a finalizer on it, and it blocks the proper teardown of the
  previous "generation" of the mount request/status, leading to a
  deadlock

So the fix is to wait for the new status to be created which is not
tearing down.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-07-25 18:02:08 +04:00
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
10546d6f8f
feat: update Kuberentes 1.34.0-beta.0
Also bump Go dependencies, other dependencies.

Add version contract for future Talos 1.12.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-07-17 18:55:31 +04:00
Andrey Smirnov
24628db207
feat: update Kubernetes to v1.34.0-alpha.3
See https://github.com/kubernetes/kubernetes/releases/tag/v1.34.0-alpha.3

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-07-11 20:18:06 +04: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
78c33bcdb9
feat: update default Kubernetes to v1.33.1
See https://github.com/kubernetes/kubernetes/releases/tag/v1.33.1

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-05-16 15:10:35 +04:00
Noel Georgi
ac140324eb
fix: skip PCR extension if TPM1.2 is found
When extending PCR or trying to seed entropy pool from TPM if the found
device is a TPM1.2 device, skip it, since Talos only supports TPM2.0

Fixes: #10847

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-05-05 12:31:25 +05:30
Andrey Smirnov
09ef1f8a41
fix: ignore http proxy on grpc socket dial
Fixes #10867

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-05-04 18:06:32 +04:00
Noel Georgi
01bb294af6
fix(ci): provision tests
Fix the provision-0 cron tests.
Support zstd disk images for `talosctl cluster create`.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-05-02 08:28:11 +05:30
Noel Georgi
fa95a21460
fix(ci): bios provision test
Use disk image to test dual boot bios provision test.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2025-04-25 20:25:24 +05:30
Andrey Smirnov
77c7a075bb
feat: update Kubernetes to 1.33.0
See https://github.com/kubernetes/kubernetes/releases/tag/v1.33.0

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-04-24 18:04:25 +04:00