404 Commits

Author SHA1 Message Date
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
Andrey Smirnov
ae94377d15
feat: support encryption config for user volumes
No big changes, mostly wiring things together:

* implement encryption config (identical to existing v1alpha1 one) for
  user volume configuration
* provide validation, some small fixes
* add support for encrypted user volumes in `talosctl cluster create`

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-04-22 12:20:27 +04:00
Andrey Smirnov
b32fa029b3
feat: update Kubernetes to 1.33.0-rc.1
See https://github.com/kubernetes/kubernetes/releases/tag/v1.33.0-rc.1

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-04-16 13:54:05 +04:00
Andrey Smirnov
8cd3c8dc77
test: fix NVIDIA OSS tests
Add more logging output.

Force non-UEFI boot.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2025-04-15 21:15:36 +04: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
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
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
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
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
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
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
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
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
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
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