Commit Graph

5029 Commits

Author SHA1 Message Date
Dmitriy Matrenichev
e26d0043e0 chore: code cleanup
More usage of slices package, less usage of package sort.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-11-14 12:25:56 +03: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
8a7476c3ae fix: install on non-empty disk
Fixes #9701

See https://github.com/siderolabs/go-blockdevice/pull/115

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-13 18:43:21 +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
Andrey Smirnov
5a0fd5b882 refactor: move early initialization functions to pre-initialize phase
Fixes #8900

Closes #9687

(contains splitting of late mounts)

The benefits:

* tasks run _before_ controllers are started
* tasks can register `defer` to undo actions

This decomposes sequencer tasks a bit.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-12 19:48:40 +04:00
Andrey Smirnov
9916e2cd8a chore: update pkgs/tools/extras for Go 1.23.3
Bump some dependencies as well.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-12 16:38:32 +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
Sam Stelfox
aea98940b7 fix: arch linux search paths and names for QEMU provisioner
Addresses old and recent change combination that prevents qemu provisioning on
ArchLinux by adding a default search path and the filenames the package
maintainer used.

Signed-off-by: Sam Stelfox <sstelfox@bedroomprogrammers.net>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-12 15:11:24 +04:00
Noel Georgi
682718d4c9 fix: use imager incoming version for extension validation
Use the version coming from imager to validate extension constraints.

Part of : #9694

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-11-12 15:26:59 +05:30
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
Dmitriy Matrenichev
4fe6dc8a0a chore: clean dns code
Split from #9596 (without IPv6 stuff). This PR does this things:
- Refactored `DNSResolveCacheController`. Most of the logic moved to `dns` package types. Simplify and streamline logic.
- Replace most of the goroutine orchestration with suture package.
- Support per-item reaction to the dns listeners/servers failing to start. This allows us to ignore IPv6 errors if it's disabled.
- Support per-item reaction to the dns listeners/servers failing to stop.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-11-08 21:54:28 +03:00
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>
v1.9.0-alpha.2 pkg/machinery/v1.9.0-alpha.2
2024-11-08 21:06:48 +04:00
Andrey Smirnov
a309f6aa57 chore: fix nil pointer dereference in AWS uploader
NB: it should be rewritten for AWS SDK v2.

The Progress is sometimes `nil` apparently.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-08 20:35:16 +04:00
Andrey Smirnov
333737f176 test: fix unpriviliged process runner test
Don't try cgroups/OOM scoe if not specified in the runner spec.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-08 18:51:18 +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>
v1.9.0-alpha.1 pkg/machinery/v1.9.0-alpha.1
2024-11-08 15:38:32 +04:00
Noel Georgi
fb72e4b7b7 fix(ci): skip test if UserNamespacesSupport feature gate is not set
We should not just rely on the sysctl, also confirm that `UserNamespacesSupport=true`
feature gate is set for apiserver, so that the tests gets skipped if only sysctl is set.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-11-08 16:16:11 +05:30
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
Joakim Nohlgård
fbce267aee feat: check bridged interfaces should not have addresses
Combine the checks for bonded and bridged interfaces to avoid code
duplication. Add new test case for addresses on bridged interfaces.
Update test cases to match rephrased error messages.
Fix test case implementation for addresses on bonded interfaces to
include eth2 which was configured but not used in the test.

Signed-off-by: Joakim Nohlgård <joakim@nohlgard.se>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-08 11:39:33 +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
0406a05a98 chore: update pkgs to ones built with gcc 14.2
There are no changes to versions of the pkgs themselves.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-07 17:58:02 +04:00
Noel Georgi
2e127627dc docs: add apparmor enablement release notes
Add AppArmor release notes.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-11-07 18:27:19 +05:30
Andrey Smirnov
aa9311f3d8 fix: install disk matcher error
The error was printing wrong field.

See #9647

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-07 16:01:42 +04:00
Noel Georgi
1800f81044 fix: selinux handling and apparmor tests
Conditionally mount selinuxfs only if it's present.

Fix AppArmor tests, `apparmor` and other minor LSM's and set
`apparmor=1`.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-11-07 07:50:00 +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
bbfa144510 feat: update containerd to v2.0.0
Also pulls in a patch, so

Fixes #9594

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-06 17:51:44 +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
blablu
474949dc77 feat: add dm-cache dm-cache-smq kernel modules
https://github.com/siderolabs/pkgs/pull/1075

Signed-off-by: blablu <kk@sudo-i.net>
2024-11-06 15:39:52 +04:00
Noel Georgi
5112547d6b chore: generate support zip for crashdump
Generate support zip on crashdump.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-11-06 15:54:21 +05:30
Dmitry Sharshakov
a867f85e4c feat: label system socket and runtime files
Set SELinux labels so that services could gain access permissions.

Signed-off-by: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
2024-11-06 07:29:35 +01:00
Andrey Smirnov
398f714cff feat: update Linux 6.6.59, runc 1.2.1
Update Go dependencies, other releases.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-05 20:10:27 +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
Dmitriy Matrenichev
cedabeddf7 chore: cleanup code
- Replace unsafe resource interface calls with type-safe versions.
- Remove unused parameter names.
- Minor changes.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-11-04 21:14:00 +03:00
Noel Georgi
61d363e1d0 chore: update go-auditlib
Update `go-auditlib` with fix from https://github.com/elastic/go-libaudit/pull/165

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-11-04 22:00:53 +05:30
Dmitry Sharshakov
960a040491 feat: start enabling SELinux
Part of: #9127

Label executables and processes, build, load and manage SELinux policy, enable audit support.

Labeling filesystems, devices and runtime files will be done in further changes, see the full PR.

Signed-off-by: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
2024-11-04 16:56:53 +01:00
Andrey Smirnov
7f3aaa21cd fix: update permissions for logging directories in /var
Fixes #9630

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-04 17:26:15 +04:00
Andrey Smirnov
0e6c983b84 fix: mount /sys/kernel/security conditionally
When running in containers, specifically on Docker Desktop VMs, the
securityfs might be missing.

Fixes #9431

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-04 16:20:59 +04:00
Andrey Smirnov
74b0e8c371 fix: make route normalization keep family
When we normalize the route with e.g. IPv6 all addresses (`::/0`), we
were wiping the family information. Keep the information, and also fix
the scope for such routes.

Fixes #9624

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-04 15:55:12 +04:00
Noel Georgi
0a3761c22f fix: talosctl windows arm64
Fix talosctl windows arm64 build, #9626 missed a step.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-11-04 15:44:02 +05:30
Nebula
4b10c5328b chore: add Windows ARM64 build for talosctl
Add Windows ARM64 build for talosctl.

Signed-off-by: Nebula <40148908+nebula-it@users.noreply.github.com>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-11-04 13:34:34 +05:30
Noel Georgi
9abf16108e feat: add auditd service
Adds a auditd service that gathers all audit logs from kernel.

Signed-off-by: Noel Georgi <git@frezbo.dev>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-11-02 22:25:04 +05:30
Noel Georgi
d464ca869f chore: drop runc memfd bind added in #9069
As of runc 1.2.0, it internally uses an `ovverlay` mount instead of
cloning `/proc/self/exe` and
https://github.com/opencontainers/runc/pull/4482/files drops and the
`DMZ` code. This also reduces code that Talos has to maintain.

Fixes: #9543

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-11-01 15:54:56 +05:30
Andrey Smirnov
b54d26c2c3 fix: mount pseudo sub-mountpoints in init
Mount them early, they will be moved to the new root in switch root
process as they're under.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-10-31 21:44:15 +04:00
Noel Georgi
7aeb15f730 chore: disable coredns cache for cluster domain
Ref: https://github.com/kubernetes/kubernetes/pull/128359

Also bring in small changes from upstream CoreDNS config.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-10-31 16:52:21 +05:30
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
Andrey Smirnov
3e16ab135e feat: update Kubernetes to v1.32.0-alpha.3
See https://github.com/kubernetes/kubernetes/releases/tag/v1.32.0-alpha.3

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-10-30 20:05:51 +04:00
Joakim Nohlgård
0b8b356777 feat: add BridgePort property to network machine configuration
Allow putting a device into a bridge from device configuration.

Signed-off-by: Joakim Nohlgård <joakim@nohlgard.se>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-10-30 18:55:40 +04:00