1084 Commits

Author SHA1 Message Date
Dmitry Sharshakov
a13f82c594
feat: udev: label device nodes
Use udev rules to assign basic device file labels based on their subsystem

Signed-off-by: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
2024-11-22 12:42:22 +01: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
e4c6186c63
chore: remove i915/amdgpu drivers
Drop i915 and amdgpu drivers from Talos rootfs, these will be packaged
as extensions containing both firmware and drivers.

Some modules like `ttm`, `i2c-algo-bit` etc have been left off since they are used by both amdgpu and
i915, so makes sense to keep in plain talos.

Part of: #9728

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-11-19 15:07:53 +05:30
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Dmitriy Matrenichev
a13cf76a34
chore: simplify DNSUpstreamController and DNSUpstream resource
This PR does those things:
- Fixes race condition where controller could potentially modify upstream, while other controller is copying its internals to the slice.
- Simplifies `run` function in `DNSUpstreamController` by removing all `Idx` handling.
- Removes `Idx` field from `DNSUpstream`. Upstreams are now sorted by their id with №X prefix.
- `Proxy` Stop is now called from the finalizer. In combination with iterators, this ensures that we only stop upstream when it's fully unreachable.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-10-24 19:29:21 +03:00
Andrey Smirnov
77d7368eae
feat: update containerd to v2.0.0-rc.6
See https://github.com/containerd/containerd/releases/tag/v2.0.0-rc.6

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-10-24 16:54:09 +04:00
Andrey Smirnov
d39393879a
fix: rework the 'metal-iso' config acquisition
Fixes #9538

Re-do the implementation by using the volume management primitives, so
that we can avoid/skip old code. This should fix all issues related to
the partition/whole disk.

Fix issues in the volume management (exposed, as we haven't used it this
way before).

Build a test case in `talosctl cluster create` to inject machine config
via `metal-iso`.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-10-24 16:18:50 +04:00
Dmitry Sharshakov
8680351c13
chore: move system extensions' udev rules
Update packages and relevant paths
Ref: siderolabs/pkgs#1053

Signed-off-by: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
2024-10-23 19:03:25 +02:00
Andrey Smirnov
3067f64c84
feat: update Flannel to v0.26.0
See https://github.com/flannel-io/flannel/releases/tag/v0.26.0

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-10-23 14:55:53 +04:00
Andrey Smirnov
534b0ce183
feat: update runc to 1.2.0 final
Via pks.

See https://github.com/opencontainers/runc/releases/tag/v1.2.0

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-10-22 16:47:24 +04:00
Andrey Smirnov
375e3da73f
feat: update Kubernetes to 1.32.0-alpha.2
See https://github.com/kubernetes/kubernetes/releases/tag/v1.32.0-alpha.2

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-10-21 20:02:04 +04:00
Andrey Smirnov
c14b446229
feat: update Kubernetes to v1.32.0-alpha.1
Talos 1.9 is going to be shipped with Kubernetes v1.32 by default.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-10-18 20:28:14 +04:00
Andrey Smirnov
f7d35a5e0b
release(v1.9.0-alpha.0): prepare release
This is the official v1.9.0-alpha.0 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-10-18 17:50:58 +04:00
Andrey Smirnov
e0434d77d7
feat: update dependencies
Bring in new tools, pkgs, update Go dependencies and others.

In preparation for Talos 1.9.0-alpha.0.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-10-17 22:12:50 +04:00
Andrey Smirnov
bc4c21f41a
test: add json logs test environment
Add an option to `talosctl cluster create` to start a JSON log receiver,
and enabled it optionally.

Enable in `integration-qemu`.

See #9510

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-10-17 16:23:26 +04:00
Dmitriy Matrenichev
59a78da42c
chore: add proto-codec/codec
Unify usage of proto codec v2 across our projects.
Bump grpc library to 1.67.1 and ensure that we it still works with HTTP/2 ALPN value changes.

For https://github.com/siderolabs/talos/issues/9404

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-10-17 00:12:42 +03:00
Noel Georgi
db248de88d
chore(ci): add config for lldpd extension
Add `ExtensionServiceConfig` for lldpd extension.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-10-16 17:08:33 +05:30
Andrey Smirnov
a9bff3a1d0
test: skip no error test in Cilium
This test often fails due to etcd leader changes.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-10-15 21:26:58 +04:00
Andrey Smirnov
6a081055b0
feat: update Flannel to v0.25.7
See https://github.com/flannel-io/flannel/releases/tag/v0.25.7

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-10-07 16:25:34 +04:00
Andrey Smirnov
f08669c7a9
feat: bring in lpfc kernel module driver
See https://github.com/siderolabs/pkgs/pull/1044

Fixes #9437

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-10-04 15:35:22 +04:00
Andrey Smirnov
6a014374be
feat: enable QEDF driver
See https://github.com/siderolabs/talos/discussions/9391

Also bump pkgs & tools, bring in Go 1.23.2, containerd v2.0.0-rc.5

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-10-04 11:46:41 +04:00
Noel Georgi
dec653bfe1
chore: better lvm2 tests
Use LVM2 tests that relies on module loading by lvm.

Fixes: #9300

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-10-01 16:08:44 +04:00
Andrey Smirnov
908fd8789c
feat: support cgroup deep analysis in talosctl
The new command `talosctl cgroups` fetches cgroups snapshot from the
machine, parses it fully, enhances with additional information (e.g.
resolves pod names), and presents a customizable view of cgroups
configuration (e.g. limits) and current consumption.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-30 18:57:12 +04:00
Andrey Smirnov
b07a8b36b2
chore: ignore more plugins for system containerd
This is to suppress warnings on failure to load plugins, which were
harmless, but confusing.

Fixes #9393

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-30 14:30:59 +04:00
Andrey Smirnov
392c4798f0
feat: prepare for Talos 1.9
Update tools, pkgs, extras.

Brings in Go 1.23.1, Linux 6.6.52, new xfsprogs, etc.

Fork docs.

Add new version contract, etc.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-27 21:23:48 +04:00
Andrey Smirnov
7bd26df308
docs: document /dev/net/tun compatibility
Fixes #9309

Co-authored-by: Jean-François Roy <jf@devklog.net>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-17 15:00:19 +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
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
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