1105 Commits

Author SHA1 Message Date
Andrey Smirnov
bc3039acdb
feat: update runc to 1.2.3
See https://github.com/opencontainers/runc/releases/tag/v1.2.3

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-11 17:55:19 +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
d946ccae31
feat: update Linux to 6.12.4
Update to the latest 6.12.x, fixes kexec reboot in QEMU.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-10 14:10:35 +04:00
Andrey Smirnov
c3537b2f54
feat: update Linux to 6.12.3
Latest 6.12.x release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-09 12:24:33 +04:00
Utku Ozdemir
cb4d9d6734
docs: fix a few mistakes in release notes
Couple of syntax and grammar corrections.

Signed-off-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
2024-12-08 23:29:52 +01:00
Dmitriy Matrenichev
c4724fc975
chore: add integration tests for image-cache
Provide separate `integration/image-cache` tag.

Closes #9860

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-12-06 20:28:34 +03:00
Andrey Smirnov
d0773ff09d
chore: update Go to 1.23.4
Via pkgs/tools.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-05 15:37:00 +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
77e9db4abf
test: use two workers in qemu tests by default
Fixes #9870

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-12-04 16:34:42 +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
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
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
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
Andrey Smirnov
db1c707689
chore: move enabling SELinux by default to 1.10
For 1.9, we keep it disabled until it gets more production ready in
1.10.

It still can be enabled with `selinux=1`.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-28 13:59:50 +04:00
Andrey Smirnov
ef69c9d39b
feat: update Linux to 6.12.1
No other changes, just update default bundled module list.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-11-27 23:08:14 +04:00
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
Noel Georgi
e8a262490b
fix: systemd-udevd restore old naming behavior
Restore old naming behavior as `eudevd`.

Ref:

* https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
* https://www.freedesktop.org/software/systemd/man/latest/systemd-udevd.service.html
* https://www.freedesktop.org/software/systemd/man/latest/systemd.link.html#

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-11-26 22:24:46 +05:30
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