1037 Commits

Author SHA1 Message Date
Noel Georgi
d64ce44e46
chore(ci): e2e gcp
Add e2e-gcp.

Also drop other CAPI stuff.

Fixes: #8842

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-09-06 19:07:20 +05:30
Andrey Smirnov
bcaf63628b
feat: update dependencies
Update to final tools, pkgs, extras.

Bump Go dependencies.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-06 15:51:05 +04:00
Andrey Smirnov
dd4185b144
feat: add KubeSpan extra endpoint configuration
Fixes #9174

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-06 14:50:12 +04:00
Andrey Smirnov
3038ccfa88
feat: add configuration for EPHEMERAL volume
Fixes #9261

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-06 14:11:35 +04:00
Andrey Smirnov
bc8bf9e8a8
feat: update Linux 6.6.49
Bring in new pkgs, runc 1.2.0-rc.3.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-04 19:32:51 +04:00
Noel Georgi
7edcbbb833
chore: support gcp in cloud-image-uploader
Add support for uploading images to GCP in cloud image uploader.

GCP is not enabled by default since it's going to be used for e2e-tests
for now.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-09-04 15:08:29 +05:30
Andrey Smirnov
b453385bd9
feat: support volume configuration, provisioning, etc
This implements the first round of changes, replacing the volume backend
with the new implementation, while keeping most of the external
interfaces intact.

See #8367

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-30 18:32:34 +04:00
Noel Georgi
b6b16b35fb
chore: pause sequencer when talos installed and iso booted
Pause sequencer till the boot timeout if talos is booted from ISO/PXE, but
an existing talos is installed to disk and
`talos.iso.boot.halt_if_installed` kernel argument is set.

Fixes: #9232

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-08-30 18:11:13 +05:30
Noel Georgi
eade0a9f22
chore: bring in uio modules
Bring in `UIO_` modules from https://github.com/siderolabs/pkgs/pull/1015

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-08-30 17:49:23 +05:30
Andrey Smirnov
be2ebf6b4d
chore: bump dependencies
Update tools, pkgs, extras, Go dependencies, Go tools, etc.

Linux 6.6.47 and containerd 2.0.0-rc.4.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-29 20:44:37 +04:00
Andrey Smirnov
da6263506a
feat: update Flannel to v0.25.6
See https://github.com/flannel-io/flannel/releases/tag/v0.25.6

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-28 16:23:53 +04:00
Noel Georgi
19a44c2b0b
chore: drop console ttyS0 argument
Drop `console=ttyS0` argument for metal images/installer.

`console=ttyS0` causes lot of issues with bare metal hardware when
trying to use a physical serial port.

Ref:

* https://bugzilla.redhat.com/show_bug.cgi?id=1839923
* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=763601;msg=17
* https://www.kernel.org/doc/html/latest/admin-guide/serial-console.html
* https://github.com/coreos/fedora-coreos-tracker/issues/567

Fixes: #8695
Fixes: #8657
Fixes: #8127

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-08-27 22:24:59 +05:30
Claus Albøge
75cecb4210
feat: add Apache Cloudstack support
Add support for new platform.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
Signed-off-by: Claus Albøge <ca@netic.dk>
2024-08-27 18:18:03 +04:00
Andrey Smirnov
951cf66fdc
feat: add Cisco fnic driver
See https://github.com/siderolabs/pkgs/pull/1014

Also fix the docs.

Fixes #9227

Fixes #9228

See #9231

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-27 17:55:13 +04:00
Noel Georgi
8fe39eacba
chore: move csi tests as go test
Move rook-ceph CSI tests as go tests.
This allows us to add more CSI tests in the future.

Fixes: #9135

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-08-26 18:18:09 +05:30
Eddie Zaneski
5ba1df4695
chore: add java package to protos
This option must be defined at the proto level in order to have an
import path that is reasonably usable

Signed-off-by: Eddie Zaneski <eddiezane@gmail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-26 15:23:21 +04:00
Andrey Smirnov
8234808004
fix: add missing host/nvme-rdma
See #9214

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-26 14:57:46 +04:00
Andrey Smirnov
f57d1f07e9
fix: add NVMe target kernel modules
Fixes #9214

This finishes the work which started in
https://github.com/siderolabs/pkgs/pull/906, but it never got finished.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-23 14:47:48 +04:00
Noel Georgi
36f83eea9f
chore: make qemu check flag consistent with code
Restructure code as per changes from #9198.

This makes the flag name to be in sync with what it actually does.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-08-20 20:33:56 +05:30
Andrey Smirnov
ee4290f684
fix: bind HostDNS to 169.254.x link-local address
This is an attempt to fix many issues related with trying to use Service
IP for host DNS.

Fixes #9196

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-19 18:44:35 +04:00
Dmitriy Matrenichev
45cc8688a1
chore: replace if blocks with min/max functions
Simplify code where possible.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-08-16 10:40:44 +03:00
Noel Georgi
872599c9a9
chore: drop image assets from release
Drop non-standard image assets from release.

Fixes: #8843

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-08-14 22:47:16 +05:30
Andrey Smirnov
3c36c41a91
feat: provide device extra settle timeout
Fixes #9092

This is a workaround for broken hardware drivers (e.g. RAID
controllers), which report settled event too early.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-14 17:36:45 +04:00
Andrey Smirnov
9e348ef350
feat: update Kubernetes to 1.31.0
See https://github.com/kubernetes/kubernetes/releases/tag/v1.31.0

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-14 15:56:11 +04:00
Andrey Smirnov
61a1c946bf
feat: bundle (some) CNI plugins with Talos core
Fixes https://github.com/siderolabs/extensions/issues/448

Bundle some CNI standard plugins plus Flannel CNI plugin (as Flannel is
the default CNI in Talos) in the Talos `initramfs`.

With this change, no plugin install is required, so the `install-cni`
step is dropped from the Flannel default manifest.

The bundled plugins:

```
$ talosctl -n 172.20.0.2 ls -lH /opt/cni/bin/
NODE         MODE         UID   GID   SIZE(B)   LASTMOD       NAME
172.20.0.2   drwxr-xr-x   0     0     109 B     7 hours ago   .
172.20.0.2   -rwxr-xr-x   0     0     3.2 MB    7 hours ago   bridge
172.20.0.2   -rwxr-xr-x   0     0     3.3 MB    7 hours ago   firewall
172.20.0.2   -rwxr-xr-x   0     0     2.4 MB    7 hours ago   flannel
172.20.0.2   -rwxr-xr-x   0     0     2.4 MB    7 hours ago   host-local
172.20.0.2   -rwxr-xr-x   0     0     2.4 MB    7 hours ago   loopback
172.20.0.2   -rwxr-xr-x   0     0     2.8 MB    7 hours ago   portmap
```

The `initramfs` for amd64 grows 67 -> 73 MiB with this change.

The path `/opt/cni/bin` is still an overlay mount, so extra plugins can
be dropped to this directory (no change here).

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-14 14:33:18 +04:00
Andrey Smirnov
73511c1ef3
chore: fix release notes
The github.com/coredns/coredns dropped the tag v1.11.2 for the previous
version we were using, so `release-tool` can't generate the release
notes.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-13 14:47:38 +04:00
Noel Georgi
98d9abdd0e
chore(ci): fix cilium ci tests
Cilium helm values have changed from string to boolean.

Found in https://github.com/siderolabs/talos/actions/runs/10328653708/job/28595449398

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-08-12 20:06:11 +05:30
Noel Georgi
4d7d7a5895
chore(ci): update nvidia integration tests
Update nvidia integration tests to reflect new support matrix.

Part of: #9086.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-08-09 17:45:12 +05:30
Andrey Smirnov
60e901c1dc
chore: document slim kubelet image
See https://github.com/siderolabs/kubelet/pull/84

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-09 14:35:43 +04:00
Dmitriy Matrenichev
622d66a98f
chore: bump deps
Bump stuff

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-08-09 11:59:03 +03:00
Noel Georgi
2ac8d2274f
chore: support unsupported flag for mkfs
Support `unsupported` flag for mkfs, so that `STATE` partition with size
less than 300M can be created by `mkfs.xfs`.

This allows to bring in newer `xfsprogs` that can repair corrupted FS
better.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-08-08 20:21:02 +05:30
Noel Georgi
9b9159d1e0
docs: update support matrix for nvidia drivers
Update support matrix for NVIDIA extensions support.

Part of: #9086.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-08-07 19:55:44 +05:30
Andrey Smirnov
c9f1dece5d
feat: update Kubernetes to 1.31.0-rc.1
See https://github.com/kubernetes/kubernetes/releases/tag/v1.31.0-rc.1

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-06 19:20:13 +04:00
Andrey Smirnov
e02bd20933
feat: update Kubernetes to 1.31.0-rc.0
Also bump PKGS to the latest.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-05 17:18:02 +04:00
Andrey Smirnov
7a1c62b8bc
feat: publish installed extensions as node labels/annotations
Extensions are posted the following way:

`extensions.talos.dev/<name>=<version>`

The name should be valid as a label (annotation) key.

If the value is valid as a label value, use labels, otherwise use
annotations.

Also implements node annotations in the machine config as a side-effect.

Fixes #9089

Fixes #8971

See #9070

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-01 17:32:09 +04:00
Andrey Smirnov
3f2058aba2
fix: update containerd configuration and settings
Provide `XDG_RUNTIME_DIR` environment variable, this specifically fixes
the `kubectl exec` action when `/tmp` is filled up.

Update containerd configuration to version 3 and fix it up.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-07-31 19:15:19 +04:00
Andrey Smirnov
3d1474ac0b
feat: update CoreDNS to 1.1.3
See https://github.com/coredns/coredns/releases/tag/v1.11.3

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-07-30 20:17:17 +04:00
Noel Georgi
50e5f37efb
chore: add test for apparmor
Add a test that verifies pods can be scheduled with `RuntimeDefault`
apparmor profile.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-07-30 20:24:57 +05:30
Andrey Smirnov
240104e45f
feat: update Linux to 6.6.43
Latest LTS plus a workaround for UBSAN eBPF (Cilium-related).

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-07-29 21:35:15 +04:00
Andrey Smirnov
fd01571c40
feat: update Linux, enable Broadcom MPI3 driver
Linux: 6.6.39

See siderolabs/pkgs#992

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-07-24 20:30:56 +04:00
Andrey Smirnov
b333ec07d9
feat: update etcd to 3.5.15, Flannel to 0.25.5
* https://github.com/flannel-io/flannel/releases/tag/v0.25.5
* https://github.com/etcd-io/etcd/releases/tag/v3.5.15

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-07-23 20:00:25 +04:00
Jean-Francois Roy
fd54dc191d
feat(talosctl): append microsoft secure boot certs
This patch adds a flag to `secureboot.database.Generate` to append the
Microsoft UEFI secure boot DB and KEK certificates to the appropriate
ESLs, in addition to complimentary command line flags.

This patch also includes a copy of said Microsoft certificates. The
certificates are downloaded from an official Microsoft repo.

Signed-off-by: Jean-Francois Roy <jf@devklog.net>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-07-22 14:15:42 +04:00
Andrey Smirnov
407347a7a0
feat: update Kubernetes to 1.31.0-beta.0
See https://github.com/kubernetes/kubernetes/releases/tag/v1.31.0-beta.0

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-07-17 14:41:14 +04:00
Tim Jones
d52b89cb91
chore: ensure tls required on s3 buckets
Ensure that non-TLS connections are denied to S3 buckets via policy.
Required for compliance.

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2024-07-17 10:27:29 +02:00
Andrey Smirnov
ea626a9631
feat: add label 'exclude-from-external-load-balancers' for cp nodes
Fixes #8749

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-07-16 12:24:00 +04:00
Andrey Smirnov
b07338f547
feat: provide machine config document to update trusted CA roots
Fixes #8867

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-07-12 19:28:31 +04:00
Andrey Smirnov
3bab15214d
feat: update Kubernetes to 1.31.0-alpha.3
Fixes #8911

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-07-09 17:49:06 +04:00
Dmitriy Matrenichev
dad9c40c73
chore: simplify code
- replace `interface{}` with `any` using `gofmt -r 'interface{} -> any -w'`
- replace `a = []T{}` with `var a []T` where possible.
- replace `a = []T{}` with `a = make([]T, 0, len(b))` where possible.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-07-08 18:14:00 +03:00
Dmitriy Matrenichev
076f3c4f20
chore: improve link spec controller code
`SortBonds` function bothered me since the last time I refactored this part.

We always know that it only accepts `network.LinkSpec`s, but we accepted the slice of untyped Resources because
this is what `List` method returns. Now we can do better, since `safe.List` now supports `Swap` method.

We can utilize `sort.Interface` and pass `safe.List` directly to `SortBonds`.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-07-05 16:39:27 +03:00
Noel Georgi
9a56b8527b
chore(ci): fix parallel runs of tf pipelines
Previously it was generating same name for the state file causing
parallel runs to delete resources created by another running test.

Fix names to be unique by reading `cluster_name`.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-07-03 23:08:37 +05:30