1128 Commits

Author SHA1 Message Date
Andrew Symington
e1b824ebad
docs: update ceph-with-rook.md
Fixed a typo in the disk-wipe instructions.

Signed-off-by: Andrew Symington <andrew.c.symington@gmail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-11 20:38:10 +04:00
Andrey Smirnov
10da553ef0
docs: build what's new for 1.9
Also contains various small fixes to the documentation.

Fixes #9853

Fixes #9901

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-10 18:00:21 +04:00
Andrey Smirnov
7d6507189f
feat: implement new address sorting algorithm
Fixes #9725

See #9749

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-05 14:38:46 +04:00
Andrey Smirnov
5a4bdf62a9
feat: update Kubernetes to 1.32.0-rc.1
See https://github.com/kubernetes/kubernetes/releases/tag/v1.32.0-rc.1

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-04 15:59:16 +04:00
Nico Berlee
0cde08d8be
docs: add Turing RK1 docs to Single Board Computer section
This add documentation on how to setup the Turing RK1 with Talos the
first time.

Booting can be done with eMMC or NVMe (using a U-Boot SPI image on
eMMC)

This commit also add Turing RK1 to the SBC support matrix.

Signed-off-by: Nico Berlee <nico.berlee@on2it.net>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-12-03 00:26:36 +05:30
egrosdou01
ff13ccc5b2
docs: update the Cilium CNI deployment
Upate the job method.

Signed-off-by: egrosdou01 <eimaigr@hotmail.gr>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-02 15:23:34 +04:00
Mohammad Amin Mokhtari
191825a441
docs: update install-kubevirt.md
Fix some 404 link errors and typo.

Signed-off-by: Mohammad Amin Mokhtari <41728922+aminmokhtari94@users.noreply.github.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-02 14:38:53 +04:00
Andrey Smirnov
770be16425
feat: support image cache copying
Fixes #9615

The are no integration tests, this is to be addressed later.
I did manual tests so far.

Also includes first draft of the documentation.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-02 13:50:56 +04:00
Jasmin
8fb567dd13
docs: fix typo in virtualbox docs
Fix typo in VirtualBox docs.

Signed-off-by: Jasmin <nachtjasmin@posteo.de>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-12-01 15:20:29 +05:30
Dmitriy Matrenichev
60e4561b4d
feat: add support for custom search domains
New config field `machine.network.searchDomains` supports specifying custom search domains.

For the node it will look something like this:
```
nameserver 127.0.0.53

search my-custom-search-name.com my-custom-search-name2.com
```

For the pods it will look something like this:

```
search default.svc.cluster.local svc.cluster.local cluster.local my-custom-search-name.com my-custom-search-name2.com
nameserver 10.96.0.10
options ndots:5
```

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-11-29 19:18:15 +03:00
Andrey Smirnov
e33d2f581f
feat: support overriding base OCI spec for CRI
Fixes #9827

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-29 16:22:25 +04:00
Noel Georgi
347b758465
chore: support saving cluster logs on destroy
Support saving cluster logs on destroy

Fixes: #9808

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-11-29 14:39:15 +05:30
Andrey Smirnov
fc3b31575c
fix: multiple issues with opening encrypted volumes
Fixes #9820

This only affects volumes with multiple key slots configured.

Make sync issues non-fatal, so that if some keys fail to sync, proceed
with normal boot, but record an error in the `VolumeStatus` resource.

When opening, correctly try all key slots.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-28 21:34:41 +04:00
Dmitry Sharshakov
145b02642e
chore: deprecate cgroupsv1 in non-container mode
Fixes #9729.

Signed-off-by: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
2024-11-28 18:08:47 +01:00
Andrey Smirnov
581c0851d8
feat: update dependencies
Kubernetes: 1.32.0-rc.0
Flannel: 0.26.1
Coredns: 1.12.0

Plus some small bumps.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-28 19:51:02 +04:00
Noel Georgi
e9058461e4
feat: add api-server authorization config
Add support for configuring KubeAPIServer authorization config.

Fixes: #9791

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-11-28 16:27:50 +05:30
Dmitriy Matrenichev
ccc5a8d34c
chore: split config.Registry into the separate resource
Required for #9614

Closes #9766

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-11-27 19:58:08 +03:00
Andrey Smirnov
bef4d51508
fix: make system_disk condition work properly before install
The problem was with specific disk selector `!system_disk` - in previous
implementation, as `system_disk` defaulted to false even if the system
disk is not known yet, this might result in picking up a disk which is
going to be system disk before system disk is picked.

In new implementation, as `system_disk` is not set before it is
detected, the condition containing `system_disk` (in either way) would
fail to execute and volume provision will be delayed until system disk
is detected.

Also:

Fixes #9809

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-27 19:39:39 +04:00
Andrey Smirnov
af91c99ba1
chore: update image cache config
Make it nested, so that we can expand easily to support e.g. distributed
cache.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-27 18:18:36 +04:00
Rémi Paulmier
9adaf7f012
docs: update local-storage.md
Add an explicit example of kubelet config.

Signed-off-by: Rémi Paulmier <remi.paulmier@gmail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-27 14:22:27 +04:00
Justin Garrison
7e19d5c4c7
docs: add kubevirt install
from PR #9522

Signed-off-by: Justin Garrison <justin.garrison@siderolabs.com>
2024-11-26 13:55:32 -08:00
Andrey Smirnov
84459d9025
fix: make immage cache config apply immediately
Allow to change image cache config without a reboot.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-25 18:50:21 +04:00
Andrey Smirnov
56e1ee72e9
release(v1.9.0-alpha.3): prepare release
This is the official v1.9.0-alpha.3 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-25 18:01:11 +04:00
Dmitry Sharshakov
e899fb37fd
feat: label created files in /etc
Implement SELinux labeling support in EtcFileController, label both squashfs and runtime-created files in /etc and /system/etc.

Add corresponding test cases.

Signed-off-by: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
2024-11-22 09:16:13 +01:00
Andrey Smirnov
5f68c17eda
feat: implement image cache configuration
Implement a feature flag, a resource which controls the flow.

This controls the volume configuration, mounting, etc.

Fixes #9767

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-21 21:24:39 +04:00
Noel Georgi
5de6275b8f
chore: image cache generator improvements
* Save image in OCI format, so imager can either use as OCI input or from
a registry.
* Support caching layers to a path, so subsequent runs are faster

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-11-21 20:09:50 +05:30
Dmitry Sharshakov
1a8cc5f8b2
feat: add SELinux labels to volumes
Label mounted filesystems like ephemeral, overlay mounts, as well as data directories (going to become volumes later).

Signed-off-by: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
2024-11-21 14:23:43 +01:00
SpiReCZ
7ffcf5b932
docs: update getting started
Add missing talosconfig parameter.

Signed-off-by: SpiReCZ <SpiReCZ@users.noreply.github.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-20 18:35:31 +04:00
Andrey Smirnov
cc768037f8
feat: implement block device wipe
Fixes #9731

The wipe doesn't require a reboot, but it requires the blockdevice not
to be used as a volume.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-20 15:46:37 +04:00
Noel Georgi
95b2fc946e
feat: image cache gen
Fixes: #9611

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-11-19 19:08:38 +05:30
Alessio Moiso
744ad12a6e
docs: update replicated-local-storage-with-openebs.md
Fix `openebs` path.

Signed-off-by: Alessio Moiso <a.moiso@outlook.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-18 21:02:48 +04:00
Andrey Smirnov
fd713e4514
feat: add permanent hardware addr to device selectors
This should fix the problem of including bond members by MAC address
when MAC address changes as the link becomes part of the bond.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-18 20:36:39 +04:00
Andrey Smirnov
f9697a9a07
fix: register controlplane node with NoSchedule taint
Fixes #9691

This closes the race between the node registration and the moment
`NodeApplyController` would apply the taint.

As the taint is exactly same as added by `NodeApplyController`, it will
be owned by the controller, so it can be removed if
`allowSchedulingOnControlplanes` is enabled in the machine config while
the cluster is running.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-15 15:45:02 +04:00
Andrey Smirnov
30f8b5a9f7
fix: registry mirror fallback handling
Fixes #9613

This has two changes:

* adjust Talos registry resolver to match containerd (CRI) resolver: use
  by default upstream as a fallback
* add a machine config option to skip upstream as a fallback, and adjust
  CRI configuration accordingly

See https://github.com/containerd/containerd/blob/main/docs/hosts.md#registry-configuration---examples
for details on CRI's `hosts.toml`.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-14 20:38:36 +04:00
Andrey Smirnov
43fe3807a8
feat: implement tracking of blockdevice secondaries
This is going to be used to detect disks that are safe to wipe.

For blockdevices, track secondaries as direct references, e.g. encrypted
`STATE` partition might have secondary `vda5`.

For disks, re-map secondaries to be whole devices names, e.g. `vda`.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-13 22:43:27 +04:00
Andrey Smirnov
8b4253d185
feat: update etcd to v3.5.17
See https://github.com/etcd-io/etcd/releases/tag/v3.5.17

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-13 14:30:58 +04:00
sophia-coldren
20bbf02355
docs: update vultr documentation
Fix a typo.

Signed-off-by: sophia-coldren <119651121+sophia-coldren@users.noreply.github.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-12 15:58:37 +04:00
Andrey Smirnov
9a02ecc49f
feat: rewrite install disk selector to use CEL expressions
Rewrite matcher to take out old go-blockdevice library out of the way,
implementing translation from go-blockdevice format to CEL.

Implement facilities to build CEL expressions programmatically.

Now we can add a machine config disk match expression (CEL) easily.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-11 17:23:15 +04:00
Sergey Melnik
eba35f4413
docs: add note about PSP in Rook-Ceph guide
Small fix in the docs.

Signed-off-by: Sergey Melnik <admin.sa@gmail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-11 15:40:42 +04:00
Variant9
38b80fb1da
docs: add missing --talosconfig parameter to end of Hetzner guide
Adds a missing `--talosconfig` parameter. Without it, talosctl would
connect to a local cluster which could confuse users following the
guide.

Signed-off-by: Variant9 <13605369+holly-hacker@users.noreply.github.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-11 14:56:31 +04:00
Roman Ivanov
a07f66c918
docs: gcp: fix controlplane nodes tags
Fix GCP docs.

Signed-off-by: Roman Ivanov <me@roivanov.com>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-11-10 06:53:56 +05:30
Andrey Smirnov
0290a38818
release(v1.9.0-alpha.2): prepare release
This is the official v1.9.0-alpha.2 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-08 21:06:48 +04:00
Noel Georgi
2001167058
chore(ci): save support zip always after tests
Save `support.zip` always, also use a different folder for saving logs,
so we can save artifacts of multi cluster tests.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-11-08 19:18:06 +05:30
Andrey Smirnov
6a42c3b8ed
release(v1.9.0-alpha.1): prepare release
This is the official v1.9.0-alpha.1 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-08 15:38:32 +04:00
Nico Berlee
11380f933d
feat: display current CPU frequency on dashboard
Dashboard now shows the active frequency of each CPU core when cpufreq
is available on non-virtualized systems, enhancing real-time accuracy.

Solves the issue of displaying 0MHz on certain SBCs due to
/proc/cpuinfo limitations.

Signed-off-by: Nico Berlee <nico.berlee@on2it.net>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-08 12:05:48 +04:00
Noel Georgi
942962bf00
docs: add docs on usernamespace support in k8s
Add docs and test for usernamespaces support in Kubernetes.

Fixes: #8554

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-11-07 22:09:02 +05:30
Andrey Smirnov
313bffadfb
feat: update Kubernetes to v1.32.0-beta.0
The latest v1.32.0 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-06 20:26:52 +04:00
Andrey Smirnov
8e02b9fcbf
docs: update manual k8s upgrade docs
The resource in the examples had been retired a while ago, update docs
accordingly.

Fixes #9651

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-06 16:50:34 +04:00
Andrey Smirnov
05c620957c
feat: allow extra mounts for docker-based talosctl cluster create
Fixes #9607

Use docker CLI syntax, support any kind of mounts supported by docker
CLI.

Also drop modules from `talos` container image, as it's useless to
provide modules in container mode.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-05 16:10:08 +04:00
solidDoWant
d8b652150c
docs: add warning about NVMe bus path bug
Document NVMe bus path.

Signed-off-by: solidDoWant <fred.heinecke@yahoo.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-10-31 14:32:04 +04:00