1847 Commits

Author SHA1 Message Date
Andrey Smirnov
9b77698cf2
fix: update blockdevice library to v2.0.2
Fixes #9350

Actual fix is https://github.com/siderolabs/go-blockdevice/pull/111

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-23 15:05:12 +04:00
Tim Jones
e46227ab95
docs: fix kubespan name inconsistency
Fix the inconsistent use of KubeSpan in docs and Config suffix for the
yaml config doc kind.

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2024-09-21 12:33:47 +01:00
Andrey Smirnov
6b15ca19cd
fix: audit and fix cgroup reservations
Fixes: #7081

Review all reservations and limits set, test under stress load (using
both memory and CPU).

The goal: system components (Talos itself) and runtime (kubelet, CRI)
should survive under extreme resource starvation (workloads consuming
all CPU/memory).

Uses #9337 to visualize changes, but doesn't depend on it.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-20 22:22:28 +04:00
Noel Georgi
32b5d01ed3
chore: bump lvm2
Pulls in fixes from https://github.com/siderolabs/pkgs/pull/1034.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-09-20 22:37:23 +05:30
Jean-Francois Roy
6484581eb8
feat: allow /sbin/ldconfig in extensions
This is specifically for the glibc extension to support nvidia container
toolkit.

Signed-off-by: Jean-Francois Roy <jf@devklog.net>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-09-20 22:07:38 +05:30
Andrey Smirnov
18daedb511
fix: strategic merge patch delete for map keys
When a map key is deleted, it should be deleted as a whole.
Before the fix it was zeroing out map value by key.

Fixes #9325

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-16 18:46:00 +04:00
Andrey Smirnov
8d6884a8e2
test: add a test for inline machine config trusted roots
Run SideroLink API server via TLS with self-signed certificate, inject
that certificate into Talos via `talos.config.inline=`.

Fix a couple of place where our special TLS root CA provider supporting
reloading on the fly was not used.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-12 21:44:36 +04:00
Andrey Smirnov
869f8379f2
feat: update default Kubernetes version to 1.31.1
See https://github.com/kubernetes/kubernetes/releases/tag/v1.31.1

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-12 18:19:56 +04:00
Andrey Smirnov
780a1f198a
fix: update CoreDNS health check
The fix in #9233 wasn't correct, as it was looking for number of
replicas in a "random" ReplicaSet. If the deployment has multiple
replica sets, it leads to unexpected results.

Instead, read the Deployment resource directly.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-12 16:10:40 +04:00
Dmitriy Matrenichev
79cd031588
chore: account for resource sorting in dns upstream resource
`List` returns a sorted (by id) list of resources. This doesn't work when the order of dns upstreams is important. Because of that
add an `Idx` field to the "DNSUpstreams.net.talos.dev" resource, so we can preserve order.

Fixes #9274

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-09-12 13:14:31 +03:00
Andrey Smirnov
5c6277d171
feat: update etcd to 3.5.16
See https://github.com/etcd-io/etcd/releases/tag/v3.5.16

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-11 14:14:14 +04:00
Dmitriy Matrenichev
899f1b9004
feat: implement "$patch: delete" logic
This PR implements "delete patches", same as in k8s.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-09-09 13:24:23 +03:00
Andrey Smirnov
545f75fd7a
feat: acquire machine config inline from kernel cmdline
Fixes #9175

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-06 19:41:47 +04:00
Dmitriy Matrenichev
cd7c682662
chore: disallow duplicate documents on decoder level
Required for #9275

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-09-06 15:50:13 +03:00
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
Andrey Smirnov
ec3844c46a
release(v1.8.0-alpha.2): prepare release
This is the official v1.8.0-alpha.2 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-02 13:37:36 +04:00
Andrey Smirnov
6f7c3a8e5c
fix: build of talosctl on non-Linux arches
Move META constants out to machinery, and fix up imports. The internal
`pkg/meta` package shold not be consumed in public-facing commands.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-30 22:17:38 +04:00
Andrey Smirnov
f0a59cec71
release(v1.8.0-alpha.2): prepare release
This is the official v1.8.0-alpha.2 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-30 21:07:25 +04:00
Andrey Smirnov
c8aed3be4d
fix: correctly add console args for ttyS0
The previous code didn't work, as it was manipulating args before they
were reset by the platform.

Also it was producing wrong order of console args.

Both fixed, plus a unit-test.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-30 19:44:21 +04:00
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
Matthieu Mottet
81f9fcd9ce
fix: report errors correctly when pulling, fix EEXIST
Kaniko adds an entry for the root folder `/` in its tarballs.
Processing the file causes the process to hang when trying to
recreate the destination directory.

The root directory already exists, so it triggers an error, but as the
errors were not correctly propagated, the process hangs forever.

Fix both issues.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-30 15:36:27 +04:00
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
Noel Georgi
106c17d0b5
chore: aarch64 qemu local secureboot support
Support booting with SecureBoot on aarch64 with `talosctl cluster
create` with QEMU provisioner.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-08-28 18:47:45 +05:30
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
Andrey Smirnov
a9551b7caa
fix: host DNS access with firewall enabled
Explicitly enable access to host DNS from pod/service IPs.

Also fix the Kubernetes health checks to assert number of ready pods to
match expectation, otherwise the check might skip a pod (e.g.
`kube-proxy` one) which is not ready, allowing the test to proceed too
early.

Update DNS test to print more logs on error.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-27 15:44:14 +04:00
Dmitry Sharshakov
4834a61a8e
feat: report SELinux labels
This will be useful for debugging SELinux implementation. Make API report other xattrs for further development like IMA/EVM

Signed-off-by: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
2024-08-26 16:19:38 +03:00
Andrey Smirnov
e4f8cb854f
fix: merge extension service config files by mountPath
Allow overwriting config file content.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
Co-authored-by: Noel Georgi <git@frezbo.dev>
2024-08-26 16:11:07 +04:00
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
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
Noel Georgi
c312a46f69
chore: restructure k8s component health checks
Re-structure k8s components health checks so that K8s health can be
independently checked without auxiliary components being up.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-08-19 14:32:07 +05:30
Noel Georgi
6f969e3645
chore: improve cluster create UX on aarch64
Improve cluster create UX on aarch64.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-08-16 15:55:26 +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
Marcus Förster
2bf924c7be
feat: update ISO VolumeID with Talos version
Put Talos version in the ISO volume ID and volumeset ID.

Volume ID is restricted on valid characters, while volumeset ID is not
restricted (Unicode).

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-13 14:24:25 +04:00
Andrey Smirnov
eba5dafb9e
fix: add dns-resolve-cache to the support bundle
See https://github.com/siderolabs/go-talos-support/pull/4

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-12 22:06:16 +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
Andrey Smirnov
9a126d70e0
chore: generate deepcopy for SecureBootAssets type
This is required in Image Factory to manipulate properly the imager
profile when enabling an option for well-known UEFI certificates.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-07 16:18:28 +04:00
Steven Fackler
dff56d8246
chore: remove arch-specific etcd image tag
The main etcd tag is now multiarch so the special case isn't needed.

Signed-off-by: Steven Fackler <sfackler@gmail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-06 20:26:24 +04:00
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