1844 Commits

Author SHA1 Message Date
Andrey Smirnov
7478db75a0
release(v1.8.0-beta.1): prepare release
This is the official v1.8.0-beta.1 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-16 16:17:13 +04:00
Andrey Smirnov
a43e7247b6
feat: update Linux to 6.6.51
Also disable max of one commit.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-13 13:00:48 +04:00
Andrey Smirnov
bd91675121
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>
(cherry picked from commit 8d6884a8e28e1bfa29f9a479e0f7179819cf70cd)
2024-09-13 12:53:04 +04:00
Andrey Smirnov
073ba25855
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>
(cherry picked from commit 869f8379f2317175901e8cb3deec4b800e7ab603)
2024-09-13 12:48:57 +04:00
Andrey Smirnov
cdabb7bcf7
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>
(cherry picked from commit 780a1f198a5eedd33a27060bdf116bd3a3b26426)
2024-09-13 12:47:17 +04:00
Dmitriy Matrenichev
a159ea9ccc
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>
(cherry picked from commit 79cd031588a0710b865414f919742ee3ffb998ed)
2024-09-13 12:47:00 +04:00
Andrey Smirnov
5eb5ff532d
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>
(cherry picked from commit 5c6277d171eea58878ce4fcb4d2fdb7154333ae7)
2024-09-13 12:41:35 +04:00
Andrey Smirnov
51b91d64e6
release(v1.8.0-beta.0): prepare release
This is the official v1.8.0-beta.0 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-09 16:40:32 +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
Noel Georgi
64914b086c
chore: add test for crun extension
Add a test to verify the `crun` runtimeclass container-runtime extension
works as expected.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-08-02 20:15:01 +05:30
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
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