4945 Commits

Author SHA1 Message Date
Adolfo Ochagavía
d2ccbc2b15
docs: update hetzner documentation for CCM
Use CCM to set correctly external IPs.

Signed-off-by: Adolfo Ochagavía <github@adolfo.ochagavia.nl>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-25 14:12:42 +04:00
Dan Rue
d498f647cd
docs: fix Kernel Self Protection Project (KSPP) references
Update KSPP related URLs and fix acronym typo from "KSSP" to "KSPP".

Signed-off-by: Dan Rue <drue@therub.org>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-24 14:55:34 +04:00
Andrey Smirnov
0ec75463ee
docs: make Talos 1.8 current release
Activate 1.8.0.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-23 18:48:06 +04:00
Andrey Smirnov
9b77698cf2
fix: update blockdevice library to v2.0.2
Fixes #9350

Actual fix is https://github.com/siderolabs/go-blockdevice/pull/111

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-23 15:05:12 +04:00
Tim Jones
e46227ab95
docs: fix kubespan name inconsistency
Fix the inconsistent use of KubeSpan in docs and Config suffix for the
yaml config doc kind.

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2024-09-21 12:33:47 +01:00
Andrey Smirnov
6b15ca19cd
fix: audit and fix cgroup reservations
Fixes: #7081

Review all reservations and limits set, test under stress load (using
both memory and CPU).

The goal: system components (Talos itself) and runtime (kubelet, CRI)
should survive under extreme resource starvation (workloads consuming
all CPU/memory).

Uses #9337 to visualize changes, but doesn't depend on it.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-20 22:22:28 +04:00
Noel Georgi
32b5d01ed3
chore: bump lvm2
Pulls in fixes from https://github.com/siderolabs/pkgs/pull/1034.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-09-20 22:37:23 +05:30
Jean-Francois Roy
6484581eb8
feat: allow /sbin/ldconfig in extensions
This is specifically for the glibc extension to support nvidia container
toolkit.

Signed-off-by: Jean-Francois Roy <jf@devklog.net>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-09-20 22:07:38 +05:30
Noel Georgi
9fa08e8437
chore: refactor tests
Refactor tests to avoid code duplication.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-09-20 16:22:01 +05:30
Noel Georgi
d8ab4981b6
feat: support lvm auto activation
Support lvm auto-activation as per
https://man7.org/linux/man-pages/man7/lvmautoactivation.7.html.

This changes from how Talos previously used to unconditionally tried to
activate all volume groups to based on udev events.

Fixes: #9300

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-09-20 14:42:56 +05:30
Andrey Smirnov
8166a58b36
fix: filter out non-printable characters in process line
Otherwise the output might be distorted by characters like `\n`.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-19 21:19:47 +04:00
Andrey Smirnov
806b6aaf52
docs: add SECURITY.md
Document security vulnerability reporting process.

Minor fixes in other docs, and add OpenSSF badge.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-18 14:47:15 +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
18daedb511
fix: strategic merge patch delete for map keys
When a map key is deleted, it should be deleted as a whole.
Before the fix it was zeroing out map value by key.

Fixes #9325

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-16 18:46:00 +04:00
Steven Cassamajor
f3370529ac
docs: correct typo
A typo in AWS.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-16 14:38:39 +04:00
Andrey Smirnov
8d6884a8e2
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>
2024-09-12 21:44:36 +04:00
Andrey Smirnov
d4a6d017db
fix: ignore invalid NTP responses
Due to the bug introduced when refactoring for PTP devices, invalid NTP
responses (including for example NTP kiss of death), were incorrectly
handled when only a single NTP server was used.

The error was logged, but the response was used to adjust the time which
leads to unexpected time jumps.

Properly ignore any invalid NTP response.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-12 20:46:44 +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
780a1f198a
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>
2024-09-12 16:10:40 +04:00
Dmitriy Matrenichev
79cd031588
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>
2024-09-12 13:14:31 +03:00
Noel Georgi
e17fafaca2
chore: drop activateLogicalVolumes sequencer step
Drop `activateLogicalVolumes` sequencer step.

LVM package already ships proper udev rules to handle this.

```text
❯ tree lvm2/usr/lib/udev/rules.d/
lvm2/usr/lib/udev/rules.d/
├── 10-dm.rules
├── 11-dm-lvm.rules
├── 13-dm-disk.rules
├── 69-dm-lvm.rules
└── 95-dm-notify.rules

1 directory, 5 files
```

Fixes: #9300

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-09-11 18:37:41 +05:30
Andrey Smirnov
a294b366f2
fix: parse SideroLink API endpoint correctly
In the status controller, there was a wrong method to parse the endpoint
which doesn't account for all supported formats.

Use already parsed version in the config resource instead.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-11 16:18:04 +04:00
Andrey Smirnov
a9269ac7b1
fix: remove extra logging on ethtool ioctl failures
We should ignore this, it's a totally an optional feature used in
containers (Talos on its own kernel has ethtool-netlink).

Fixes #9296

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-11 14:48:51 +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
Andrey Smirnov
c1ed2984b8
docs: add what's new for Talos 1.8
Also backport from release-1.8 a GHA fix to run promoted pipelines from
a release PR.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-10 17:17:22 +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
361283401e
chore: version specific kube-scheduler health checks
Use K8s version specific kube-scheduler health checks.

Ref: https://github.com/siderolabs/go-kubernetes/pull/17

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-09-06 19:47:47 +05:30
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
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
Artem Chernyshev
faffa4c3f1
fix: never unarchive initramfs when loading boot assets in talosctl
The initramfs unarchive won't work as it's extension is `xz` while the
actual compression is `zst`.

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2024-09-05 20:09:57 +03:00
Andrey Smirnov
07b91797ca
fix: report internally service as unhealthy if not running
Otherwise the internal code might assume that the service is still
running and healthy, never issuing a health change event.

Fixes #9271

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-04 22:43:31 +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
Noel Georgi
7edcbbb833
chore: support gcp in cloud-image-uploader
Add support for uploading images to GCP in cloud image uploader.

GCP is not enabled by default since it's going to be used for e2e-tests
for now.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-09-04 15:08:29 +05:30
Spencer Smith
0a870200ef
chore: remove matrix links from docs
This PR removes the matrix links since those rooms are no longer in use.

Signed-off-by: Spencer Smith <spencer.smith@talos-systems.com>
2024-09-03 13:54:17 -04:00
Andrey Smirnov
db6ef1ee93
test: update Talos versions in Image Factory tests
Add Talos 1.7, remove Talos 1.3, as Omni minimum supported version right
now is 1.4.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-03 18:20:12 +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>
v1.8.0-alpha.2
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>
pkg/machinery/v1.8.0-alpha.2
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
Josia Scheytt
b309e87b40
docs: fix invalid input in field user_data
Talos config files greater than 32kb will create an error when trying to
create Hetzner servers. This also applies for the default configuration.

Signed-off-by: Josia Scheytt <jscheytt@googlemail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-30 14:56:45 +04:00
Amadeus Mader
c7474877a4
docs: kubeProxyReplacement from "disabled" to "false"
When you run the helm install, you get an error saying kubeProxyReplacement requires a value of true or false and not disabled

Signed-off-by: Amadeus Mader <156795523+a-mader@users.noreply.github.com>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-08-30 11:25:21 +05:30
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