962 Commits

Author SHA1 Message Date
Andrey Smirnov
84cd7dbec4
feat: update Linux to 6.6.29
Pull in fixes for cloud-image-uploader from #8667.:w

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-05-01 15:59:04 +04:00
Andrey Smirnov
4c0c626b78
feat: use zstd compression in place of xz
Initramfs and kernel are compressed with zstd.

Extensions are compressed with zstd for Talos 1.8+.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-29 18:09:12 +04:00
Dmitry Sharshakov
ef4394e586
chore: update kernel and other packages
Kernel updates enable SELinux, intel_idle and update kernel version

Signed-off-by: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
2024-04-24 10:03:46 +03:00
Dmitriy Matrenichev
ccdb4c8b10
chore: update google.golang.org/grpc to 1.63.2
Update other modules while we are at it.

Closes #8628

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-04-23 16:39:28 +03:00
Utku Ozdemir
0821b9c50b
feat: add --non-masquerade-cidrs flag to talosctl cluster create
Allow skipping NAT for the given destinations from a cluster network. This option makes it possible to form an etcd cluster from clusters in different networks created by running `talosctl cluster create` command multiple times using different CIDRs: they simply should have the CIDR of the other clusters passed with `--non-masquerade-cidrs`.

Signed-off-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
2024-04-23 13:30:13 +02:00
Andrey Smirnov
d6c8067e15
docs: make 1.7 docs the default
Activate after 1.7.0 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-19 16:04:32 +04:00
Dmitriy Matrenichev
908f67fa15
feat: add host dns support for resolving member addrs
Closes #8330

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-04-18 15:29:30 +03:00
Andrey Smirnov
0d20b637d6
feat: update Kubernetes to 1.30.0
See https://github.com/kubernetes/kubernetes/releases/tag/v1.30.0

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-18 14:54:42 +04:00
Andrey Smirnov
831f3d39e9
feat: update Flannel to v0.25.1
See https://github.com/flannel-io/flannel/releases/tag/v0.25.1

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-12 16:19:45 +04:00
Andrey Smirnov
ea5b3ff0c2
feat: update Kubernetes to v1.30.0-rc.2
See https://github.com/kubernetes/kubernetes/releases/tag/v1.30.0-rc.2

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-12 14:05:39 +04:00
Andrey Smirnov
54dac5ed40
feat: update Linux 6.6.24, containerd 1.7.15
Updates to match 1.7.0-beta.1 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-11 16:23:42 +04:00
Andrey Smirnov
ff2c427b04
fix: pre-create nftables chain to make kubelet use nftables
In Talos, kubelet (and kube-proxy) images use `iptables-wrapper` script
to detect which version of `iptables` (legacy or NFT) to use.

The script assumes that `kubelet` runs on the host, and uses whatever
version of `iptables` which is being used by the host. In Talos,
`kubelet` runs in a container which has same `iptables-wrapper` script,
and it defaults to `legacy` mode in our case.

We can't check the `kubelet` image, as it would affect all Talos
version, so instead pre-create the chains/tables in `nftables` so that
kubelet will pick up `nft` version of `iptables`, and `kube-proxy` will
do the same.

Without this fix, the problem arises from the mix of `nft` used by Talos
for the firewall and Kubernetes world relying on `legacy` (`xtables`).

Fixes https://github.com/siderolabs/kubelet/issues/77

See e139a11535/iptables-wrapper-installer.sh (L102-L130)

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-08 16:24:42 +04:00
Dmitriy Matrenichev
5622f0e450
docs: change localDNS to hostDNS in release notes yaml section
Also add a note about how-to enable dns caching for k8s pods.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-04-05 20:08:46 +03:00
Dmitry Sharshakov
653f838b09
feat: support multiple Docker cluster in talosctl cluster create
Dynamically map Kubernetes and Talos API ports to an available port on
the host, so every cluster gets its own unique set of parts.

As part of the changes, refactor the provision library and interfaces,
dropping old weird interfaces replacing with (hopefully) much more
descriprive names.

Signed-off-by: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-04 21:21:39 +04:00
Andrey Smirnov
951904554e
chore: bump dependencies (go 1.22.2)
Update Go to 1.22.2, update Go modules to resolve
[HTTP/2 issue](https://www.kb.cert.org/vuls/id/421644).

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-04 14:59:24 +04:00
Evan Johnson
e8ae5ef63a
feat: add akamai platform support
Add support for the Akamai(Linode) platform

Signed-off-by: Evan Johnson <ejohnson@akamai.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-03 19:50:42 +04:00
Noel Georgi
d320498a44
chore: bump dependencies
Bump dependencies, bring in v1.30.0-rc.1 of k8s.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-04-03 12:25:10 +05:30
Noel Georgi
917043fb55
chore: bump tools, pkgs and extra to stable
Bump tools, pkgs and extras to stable release.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-04-02 22:15:50 +05:30
Noel Georgi
f515741b52
chore: add equinix e2e-tests
Add equinix e2e-tests.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-04-02 17:16:59 +05:30
Andrey Smirnov
117e60583d
feat: add support for static extra fields for JSON logs
Fixes #7356

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-02 15:15:14 +04:00
Dmitriy Matrenichev
8dc4910c48
chore: enable "WG over GRPC" testing in siderolink agent tests
Fixes https://github.com/siderolabs/talos/issues/8514
For https://github.com/siderolabs/talos/issues/8392

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-04-01 18:24:57 +03:00
Andrey Smirnov
a6b2f54564
feat: update Kubernetes to 1.30.0-rc.0, etcd to 3.5.13
See:

* https://github.com/etcd-io/etcd/releases/tag/v3.5.13
* https://github.com/kubernetes/kubernetes/releases/tag/v1.30.0-rc.0

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-04-01 14:50:52 +04:00
Dmitry Sharshakov
9456489147
feat: support hardware watchdog timers
Only enabled when activated by config, disabled on shutdown/reboot

Fixes #8284

Signed-off-by: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-03-25 18:19:39 +03:00
Dmitriy Matrenichev
949ad11a2d
chore: import siderolink as siderolink-launch subcommand
This PR ensures that we can test our siderolink communication using embedded siderolink-agent.
If `--with-siderolink` provided during `talos cluster create` talosctl will embed proper kernel string and setup `siderolink-agent` as a separate process. It should be used with combination of `--skip-injecting-config` and `--with-apply-config` (the latter will use newly generated IPv6 siderolink addresses which talosctl passes to the agent as a "pre-bind").

Fixes #8392

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-03-23 16:08:56 +03:00
Noel Georgi
ee51f04af3
chore: azure e2e
Add code to support azure e2e

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-03-23 17:30:36 +05:30
Andrey Smirnov
8eacc4ba80
feat: support rotation of Talos API CA
This allows to roll all nodes to use a new CA, to refresh it, or e.g.
when the `talosconfig` was exposed accidentally.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-03-22 12:16:47 +04:00
Dmitry Sharshakov
84ec8c16f3
feat: support syncing to PTP clocks
Also abstract away from NTP types.

Signed-off-by: Dmitry Sharshakov <dmitry.sharshakov@siderolabs.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-03-21 17:20:26 +04:00
Dmitriy Matrenichev
19f15a840c
chore: bump golangci-lint to 1.57.0
Fix all discovered issues.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2024-03-21 01:06:53 +03:00
Noel Georgi
6840119632
docs: add docs for overlays
Add docs for overlays.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-03-20 19:19:43 +05:30
Noel Georgi
9b6ec5929a
chore: bump kernel
Bump PKGS to bring in kernel with new config options and more KSPP
fixes.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-03-20 17:54:24 +05:30
Andrey Smirnov
c64523a7a1
feat: update Flannel to v0.24.4
See https://github.com/flannel-io/flannel/releases/tag/v0.24.4

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-03-18 18:55:14 +04:00
Andrey Smirnov
3130caf954
chore: re-enable DRBD extension
See https://github.com/siderolabs/extensions/pull/343

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-03-15 15:55:18 +04:00
Andrey Smirnov
403ad93c35
feat: update dependencies
containerd 1.7.14
Linux 6.6.21

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-03-14 16:17:24 +04:00
Andrey Smirnov
1e9f866aca
feat: update Kubernetes to v1.30.0-beta.0
See https://github.com/kubernetes/kubernetes/releases/tag/v1.30.0-beta.0

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-03-13 15:35:44 +04:00
Noel Georgi
d118a852b9
feat: implement Install for imager overlays
Implement `Install` for imager overlays.
Also add support for generating installers.

Depends on: #8377

Fixes: #8350
Fixes: #8351
Fixes: #8350

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-03-12 22:46:29 +05:30
Andrey Smirnov
e3c2a63981
feat: set default NTP server to time.cloudflare.com
Fixes #8396

Pros:

* IPv6
* good CDN, small RTT

Cons:

* not community-run

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-03-12 14:43:14 +04:00
Andrey Smirnov
8152a6dd6b
feat: update Go to 1.22.1
Update Go and other dependencies as well.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-03-07 15:53:29 +04:00
Andrey Smirnov
bbed07e03a
feat: update Linux to 6.6.18
ZFS extension got re-enabled for 1.7.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-02-29 20:08:59 +04:00
Andrey Smirnov
0b9b4da12a
feat: update Kubernetes to 1.30.0-alpha.3
See https://github.com/kubernetes/kubernetes/releases/tag/v1.30.0-alpha.3

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-02-29 14:36:09 +04:00
Noel Georgi
1364275926
chore: use proper talos_version_contract for TF tests
Use proper `talos_version_contract` for TF tests.

Depends on: https://github.com/siderolabs/contrib/pull/36

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-02-22 22:35:10 +05:30
Andrey Smirnov
9b62919253
feat: update pkgs
Pulls in following PRs:

* https://github.com/siderolabs/pkgs/pull/893
* https://github.com/siderolabs/pkgs/pull/896
* https://github.com/siderolabs/pkgs/pull/889
* https://github.com/siderolabs/pkgs/pull/899
* https://github.com/siderolabs/pkgs/pull/902

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-02-20 15:52:41 +04:00
Andrey Smirnov
66f3ffdd4a
fix: ensure that Talos runs in a pod (container)
Drop the Kubernetes manifests as static files clean up (this is only
needed for upgrades from 1.2.x).

Fix Talos handling of cgroup hierarchy: if started in container in a
non-root cgroup hiearachy, use that to handle proper cgroup paths.

Add a test for a simple TinK mode (Talos-in-Kubernetes).

Update the docs.

Fixes #8274

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-02-20 15:06:48 +04:00
Noel Georgi
9dbc33972a
feat: add basic syslog implementation
Add a basic syslog listening on `/dev/log`.

Fixes: #8087

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-02-20 15:02:06 +05:30
Utku Ozdemir
0b7a27e6a1
feat: allow access to all resources over siderolink in maintenance mode
SideroLink is a secure channel, so we can allow read access to the resources. This will give us more control of the node via Omni and/or other systems using SideroLink.

Signed-off-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
2024-02-16 16:39:11 +01:00
Andrey Smirnov
7ee999f8a3
fix: disable KubeSpan endpoint harvesting by default
This disables by default (if not specified in the machine config) the
endpoint harvesting for KubeSpan peers.

The idea was to observe Wireguard endpoints as seen by other peers in
the cluster, and add them to the list of endpoints for the node. This
might be helpful only in case of some special type of NATs which are
almost never seen in the wild today.

So disable by default, but keep an option to enable it.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-02-16 18:18:33 +04:00
Noel Georgi
6deb10ae25
chore: deprecate environmentFile for extensions
Deprecate `environmentFile` for extension services in favor of
`ExtensionServiceConfig`.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-02-16 12:07:47 +05:30
Noel Georgi
f8b4ee82ae
chore: update extensions test
Update extensions test to use strategic patches and use
`ExtensionServiceConfig` document.

Depends on: https://github.com/siderolabs/extensions/pull/320

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-02-15 23:50:05 +05:30
Andrey Smirnov
1366ce14a8
feat: update Kubernetes to v1.30.0-alpha.2
Talos Linux 1.7.0 will ship with Kubernetes v1.30.0.

Drop some compatibility for Kubernetes < 1.25, as 1.25 is the minimum
supported version now.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-02-15 21:56:56 +04:00
Noel Georgi
15e8bca2b2
feat: support environment in ExtensionServicesConfig
Support setting extension services environment variables in
`ExtensionServiceConfig` document.

Refactor `ExtensionServicesConfig` -> `ExtensionServiceConfig` and move extensions config under `runtime` pkg.

Fixes: #8271

Signed-off-by: Noel Georgi <git@frezbo.dev>
2024-02-15 20:16:29 +05:30
Matthieu S
3fe82ec461
feat: custom image settings for k8s upgrade
Allows to use custom registry/images.

Fixes: #8275

Co-authored-by:  @g3offrey
Signed-off-by: Matthieu STROHL <mstrohl@dive-in-it.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-02-15 17:54:01 +04:00