4890 Commits

Author SHA1 Message Date
Tim Jones
882582a8ea
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>
(cherry picked from commit e46227ab95a6d06132e82315f55b5ced533ddabb)
2024-09-23 13:05:45 +04:00
Andrey Smirnov
f136c031c5
feat: update pkgs
Linux 6.6.52, lvm2 fixes.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-21 13:30:48 +04:00
Noel Georgi
67ba478253
chore: refactor tests
Refactor tests to avoid code duplication.

Signed-off-by: Noel Georgi <git@frezbo.dev>
(cherry picked from commit 9fa08e843728dbd85ed7e0035f59cdd6232de9a9)
2024-09-21 13:27:15 +04:00
Andrey Smirnov
920d8c8297
fix: audit and fix cgroup reservations
Fixes: 

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  to visualize changes, but doesn't depend on it.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit 6b15ca19cd1291b8a245d72d5153827945cad037)
2024-09-21 13:26:47 +04:00
Andrey Smirnov
c8dedbe116
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>
(cherry picked from commit 8166a58b364f760212b2a610ce0d764b8b4c5c46)
2024-09-21 13:26:31 +04:00
Noel Georgi
70d3c91fb7
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: 

Signed-off-by: Noel Georgi <git@frezbo.dev>
(cherry picked from commit d8ab4981b626ff41fbcdb526a032a5584519e3df)
2024-09-21 13:26:15 +04:00
Andrey Smirnov
4d44677f41
docs: document /dev/net/tun compatibility
Fixes 

Co-authored-by: Jean-François Roy <jf@devklog.net>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit 7bd26df30803307e4eece3e382aafebc55e7b260)
2024-09-21 13:25:33 +04:00
Andrey Smirnov
32076935f2
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 

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit 18daedb511e769717ba56eb05cccab72118a4813)
2024-09-21 13:25:19 +04:00
Andrey Smirnov
7478db75a0
release(v1.8.0-beta.1): prepare release
This is the official v1.8.0-beta.1 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-16 16:17:13 +04:00
Andrey Smirnov
a43e7247b6
feat: update Linux to 6.6.51
Also disable max of one commit.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-13 13:00:48 +04:00
Andrey Smirnov
bd91675121
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>
(cherry picked from commit 8d6884a8e28e1bfa29f9a479e0f7179819cf70cd)
2024-09-13 12:53:04 +04:00
Andrey Smirnov
073ba25855
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>
(cherry picked from commit 869f8379f2317175901e8cb3deec4b800e7ab603)
2024-09-13 12:48:57 +04:00
Andrey Smirnov
815e4bae81
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>
(cherry picked from commit d4a6d017dbb91e22c60787cdf64b242057b1ebef)
2024-09-13 12:48:14 +04:00
Andrey Smirnov
cdabb7bcf7
fix: update CoreDNS health check
The fix in  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>
(cherry picked from commit 780a1f198a5eedd33a27060bdf116bd3a3b26426)
2024-09-13 12:47:17 +04:00
Dmitriy Matrenichev
a159ea9ccc
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 

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
(cherry picked from commit 79cd031588a0710b865414f919742ee3ffb998ed)
2024-09-13 12:47:00 +04:00
Andrey Smirnov
c030eef157
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>
(cherry picked from commit a294b366f24c6580d304c6c8ad34f481079dc795)
2024-09-13 12:45:26 +04:00
Noel Georgi
c37234643c
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: 

Signed-off-by: Noel Georgi <git@frezbo.dev>
(cherry picked from commit e17fafaca2a16990bc424b54120c49ddbaf8cee1)
2024-09-13 12:45:10 +04:00
Andrey Smirnov
9e60f17083
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 

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
(cherry picked from commit a9269ac7b1217aa2d247c0215c5f2755af468b44)
2024-09-13 12:41:54 +04:00
Andrey Smirnov
5eb5ff532d
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>
(cherry picked from commit 5c6277d171eea58878ce4fcb4d2fdb7154333ae7)
2024-09-13 12:41:35 +04:00
Andrey Smirnov
51b91d64e6
release(v1.8.0-beta.0): prepare release
This is the official v1.8.0-beta.0 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-09-09 16:40:32 +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 

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: 

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 

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 

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 

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 

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>
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>
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 

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: 

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
Noel Georgi
88601bff4e
chore: drop calico from interactive installer
Drop calico from interactive installer.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-08-28 19:57:22 +05:30
Noel Georgi
106c17d0b5
chore: aarch64 qemu local secureboot support
Support booting with SecureBoot on aarch64 with `talosctl cluster
create` with QEMU provisioner.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-08-28 18:47:45 +05:30
Andrey Smirnov
da6263506a
feat: update Flannel to v0.25.6
See https://github.com/flannel-io/flannel/releases/tag/v0.25.6

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-08-28 16:23:53 +04:00
Noel Georgi
19a44c2b0b
chore: drop console ttyS0 argument
Drop `console=ttyS0` argument for metal images/installer.

`console=ttyS0` causes lot of issues with bare metal hardware when
trying to use a physical serial port.

Ref:

* https://bugzilla.redhat.com/show_bug.cgi?id=1839923
* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=763601;msg=17
* https://www.kernel.org/doc/html/latest/admin-guide/serial-console.html
* https://github.com/coreos/fedora-coreos-tracker/issues/567

Fixes: 
Fixes: 
Fixes: 

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-08-27 22:24:59 +05:30
Claus Albøge
75cecb4210
feat: add Apache Cloudstack support
Add support for new platform.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
Signed-off-by: Claus Albøge <ca@netic.dk>
2024-08-27 18:18:03 +04:00