1722 Commits

Author SHA1 Message Date
Noel Georgi
0d3c3ed716
feat: support kube scheduler config
Support kube-scheduler config.

Fixes: #7905
Partially fixes: #7911

Signed-off-by: Noel Georgi <git@frezbo.dev>
2023-11-15 10:15:23 +05:30
Andrey Smirnov
06941b7e5c
fix: allow rootfs propagation configuration for extension services
Fixes #7873

Some services which perform mounts inside the container which require
mounts to propagate back to the host (e.g. `stargz-snapshotter`) require
this configuration setting.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-11-13 21:58:22 +04:00
Noel Georgi
4f1ad16c76
feat: support kubelet credentialprovider config
Support configuring kubelet credential provider config.

Partially fixes: #7911

Signed-off-by: Noel Georgi <git@frezbo.dev>
2023-11-13 19:40:43 +05:30
Andrey Smirnov
71a3bf0e3e
fix: allow extra kernel args for secureboot installer
With SecureBoot, kernel args are part of the UKI (and signed), so we
need to allow kernel args when building an installer, as this is the
only way to allow updating kernel args in SecureBoot mode.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-11-13 16:28:24 +04:00
Andrey Smirnov
f38eaaab87
feat: rework secureboot and PCR signing key
Support different providers, not only static file paths.

Drop `pcr-signing-key-public.pem` file, as we generate it on the fly
now.

See https://github.com/siderolabs/image-factory/issues/19

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-11-10 21:14:21 +04:00
Dmitriy Matrenichev
6eade3d5ef
chore: add ability to rewrite uuids and set unique tokens for Talos
This PR does those things:
- It allows API calls `MetaWrite` and `MetaRead` in maintenance mode.
- SystemInformation resource now waits for available META
- SystemInformation resource now overwrites UUID from META if there is an override
- META now supports "UUID override" and "unique token" keys
- ProvisionRequest now includes unique token and Talos version

For #7694

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2023-11-10 18:17:54 +03:00
Andrey Smirnov
e9c7ac17a9
fix: set max msg recv size when proxying
Previously a fix was deployed in the Talos API client, but when the
request passes through `apid`, we need to make sure that proxy doesn't
reject large responses.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-11-09 21:08:54 +04:00
Andrey Smirnov
e22ab440d7
feat: update Linux 6.1.61, containerd 1.7.8, runc 1.1.10
Bump tools/pkgs/extras.

Update Go dependencies.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-11-09 20:17:28 +04:00
Andrey Smirnov
8245361f9c
feat: show first 32 bytes of response body on download error
Fixes #7919

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-11-08 17:06:04 +04:00
Andrey Smirnov
dff60069c0
feat: update Kubernetes to 1.29.0-alpha.3
See https://github.com/kubernetes/kubernetes/releases/v1.29.0-alpha.3

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-11-03 14:22:40 +04:00
Andrey Smirnov
c97db5dfe1
chore: bump Go dependencies
Update Go modules.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-11-03 12:55:23 +04:00
Andrey Smirnov
807a9950ac
fix: use custom Talos/kernel version when generating UKI
See https://github.com/siderolabs/image-factory/issues/44

Instead of using constants, use proper Talos version and kernel version
discovered from the image.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-11-03 11:14:02 +04:00
Andrey Smirnov
2e78513e16
refactor: drop the dependency link platform -> network ctrl
This leads to lots of unnecessary improts, as the chain from network
controllers is pretty long.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-11-01 21:56:49 +04:00
budimanjojo
3703041e98
chore: remove uneeded code
`Input` is initialized with fields populated and at the end of the
function the fields are updated again with the same value

Signed-off-by: budimanjojo <budimanjojo@gmail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-11-01 17:15:24 +04:00
Andrey Smirnov
cbe6e7622d
fix: generate images for SBCs using imager
See https://github.com/siderolabs/image-factory/issues/43

Two fixes:

* pass path to the dtb, uboot and rpi-firmware explicitly
* include dtb, uboot and rpi-firmware into arm64 installer image when
  generated via imager (regular arm64 installer was fine)

(The generation of SBC images was not broken for Talos itself, but only
when used via Image Factory).

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-10-30 13:46:58 +04:00
Andrey Smirnov
ef5056122b
feat: update etcd to 3.5.10
See https://github.com/etcd-io/etcd/releases/tag/v3.5.10

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-10-27 15:04:10 +04:00
Utku Ozdemir
45ae80873f
chore: bump go-api-signature dependency to v0.3.1
Bring in the fix in https://github.com/siderolabs/go-api-signature/pull/31

Signed-off-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
2023-10-25 16:15:43 +02:00
Andrey Smirnov
c7de745f61
chore: drop deprecated code
This was done pre-1.5, so time to drop compatibility shims to make things
less confusing.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-10-24 21:49:24 +04:00
Nico Berlee
a009f5c60c
fix: accept sysctl paths with dots
Fixes #7878

Signed-off-by: Nico Berlee <nico.berlee@on2it.net>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-10-20 21:16:15 +04:00
Nico Berlee
4919f6ee22
feat: add GOMEMLIMIT to shipped manifests with memory limits
This commit integrates the GOMEMLIMIT environment variable into shipped K8S
manifests when resources.limits.memory is defined. It is set to 95% of the
memory limit to optimize the performance of the Go garbage collector,
mitigating the risk of OOMKills in containerized environments.

When configuring the controller-manager or scheduler custom resources in
machine config, they where accepted, but ignored.

This commit adds Resources to NewControlPlaneSchedulerController and
NewControlPlaneControllerManagerController so machine config resources
Fixes #7874

Signed-off-by: Nico Berlee <nico.berlee@on2it.net>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-10-20 20:41:40 +04:00
Andrey Smirnov
c23bc2f4a7
chore: support OCI layout as a source for profile input
This supports full Image interface.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-10-18 22:04:37 +04:00
Andrey Smirnov
11d1f61635
release(v1.6.0-alpha.1): prepare release
This is the official v1.6.0-alpha.1 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-10-17 21:20:13 +04:00
Andrey Smirnov
9dfae8467d
chore: update dependencies
Containerd 1.7.7, Linux 6.1.58.

Fixes #7859

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-10-17 17:41:38 +04:00
Serge Logvinov
401e894112
feat: customize image size
Can possible to change boot image size.
Change the default image size for some cloud platform.

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-10-16 15:51:13 +04:00
Andrey Smirnov
c3e4182000
refactor: use COSI runtime with new controller runtime DB
See https://github.com/cosi-project/runtime/pull/336

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-10-12 19:44:44 +04:00
Andrey Smirnov
c1ee24465a
feat: update Kubernetes to v1.29.0-alpha.2
See https://github.com/kubernetes/kubernetes/releases/tag/v1.29.0-alpha.2

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-10-12 18:31:06 +04:00
Andrey Smirnov
675bada454
test: add config generation stability tests
These tests ensure that config generation for older versions of Talos is
stable as we move forward and introduce new features in the machine
configuration.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-10-12 17:30:14 +04:00
Andrey Smirnov
7bb205ebe2
fix: don't use runtime-specs Mount struct in machine config
First of all, it breaks our backwards compatibility promises and breaks
documentation generation. Upstream `specs.Mount` might change at any
time.

The issue was that containerd 1.7.x brings in new `specs.Mount` which
contains extra fields which don't have `omitempty` for YAML, so
machinery always generates them which confuses old Talos versions.

Use a copy of the upstream struct with proper YAML tags, and also
provide a special trick to make sure if the upstream struct changes, we
have a chance to update our copy of the struct.

Also this fixes docs and JSON schema.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-10-11 23:06:19 +04:00
Andrey Smirnov
d1b27926c2
feat: update Go to 1.21.3
Update related dependencies.

See [CVE-2023-44487](https://blog.cloudflare.com/technical-breakdown-http2-rapid-reset-ddos-attack/).

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-10-11 15:10:02 +04:00
Utku Ozdemir
c14a5d4f79
feat: support service account auth in cli
Move the common GRPC interceptor code for siderov1 auth into go-api-signature.

Refactor go-api-signature to attempt to read the known environment variables for service accounts.

Signed-off-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
2023-10-06 12:15:24 +02:00
Jacob McSwain
5fc60d2caa
feat: add Solarflare SFC9000 support
These cards are still relevant today at 10gbps and are cheaply available
for homelab use.

Signed-off-by: Jacob McSwain <jacob.a.mcswain@gmail.com>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2023-10-03 01:27:03 +05:30
Andrey Smirnov
0bd1bdd744
chore: allow insecure access to installer base image (imager)
This allows to force pull over insecure from non-local endpoints.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-09-29 14:43:19 +04:00
Andrey Smirnov
e7575ecaae
feat: support n-5 latest Kubernetes versions
For Talos 1.6 this means 1.24-1.29 Kubernetes.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-09-29 13:41:56 +04:00
Andrey Smirnov
e71508ec10
chore: update dependencies
Go modules, Cilium CLI, Helm, etc.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-09-28 19:48:02 +04:00
Andrey Smirnov
2b548ad0d9
feat: update containerd to 1.7.x
Also update Linux and other pkgs.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-09-28 16:33:57 +04:00
Andrey Smirnov
62dcfe81eb
fix: update kubernetes library to support 1.29 upgrades
Also add a unit-test to prevent issues like that (I upgraded to 1.29 but
forgot to update go-kubernetes).

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-09-27 22:45:48 +04:00
Andrey Smirnov
52caf07633
feat: update Kubernetes to 1.29.0-alpha.1
See https://github.com/kubernetes/kubernetes/releases/tag/v1.29.0-alpha.1

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-09-26 17:30:52 +04:00
Andrey Smirnov
390137447f
feat: enable KubePrism by default
Fixes #7787

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-09-25 23:12:33 +04:00
Andrey Smirnov
a52d3cda3b
chore: update gen and COSI runtime
No actual changes, adapting to use new APIs.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-09-22 12:13:13 +04:00
Noel Georgi
29b201d619
feat: enable common h/w sensors
Enable common h/w sensor modules.

Ref: https://github.com/siderolabs/pkgs/pull/815

Signed-off-by: Noel Georgi <git@frezbo.dev>
2023-09-22 00:15:53 +05:30
Andrey Smirnov
5ca4d58dc9
fix: generate of modules.dep when on the machine
When running on the machine, the extensionTreePath is not writeable, so
create and clean up a temporary directory to host `modules.dep`
extension.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-09-20 15:51:22 +04:00
Noel Georgi
5efcccb6b1
chore: bump kernel to 6.1.54
Bump kernel to 6.1.54.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2023-09-20 16:06:41 +05:30
Andrey Smirnov
f3a370acb2
feat: update Flannel to 0.22.3
See https://github.com/flannel-io/flannel/releases/tag/v0.22.3

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-09-18 23:05:18 +04:00
Andrey Smirnov
efdee69658
feat: update Kubernetes to 1.28.2
See https://github.com/kubernetes/kubernetes/releases/tag/v1.28.2

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-09-18 22:32:32 +04:00
Andrey Smirnov
e3b4940588
fix: build CPU ucode correctly for early loader
Closes #7729

This follows the steps described in
https://www.kernel.org/doc/html/v6.1/x86/microcode.html#early-load-microcode

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-09-18 14:03:41 +04:00
Andrey Smirnov
c5bd0ac5cf
refactor: reimplement the depmod extension rebuilder
Drop loop device/mounts completely, use userspace utilities to extract
and lay over module trees in the tmpfs.

Discover kernel version automatically instead of hardcoding it to be
current one (required for Image Service).

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-09-15 21:51:42 +04:00
Noel Georgi
3ef670a9e8
chore: pull in dm modules
Pull in dm-modules.

Ref: https://github.com/siderolabs/pkgs/pull/791

Diff:

```bash
❯ diff -r --color _out/kernel-a/lib/modules/6.1.51-talos/modules.dep _out/kernel-b/lib/modules/6.1.51-talos/modules.dep
100a101
> kernel/drivers/md/dm-bio-prison.ko:
102a104
> kernel/drivers/md/persistent-data/dm-persistent-data.ko:
103a106
> kernel/drivers/md/dm-thin-pool.ko: kernel/drivers/md/persistent-data/dm-persistent-data.ko kernel/drivers/md/dm-bio-prison.ko
```

Signed-off-by: Noel Georgi <git@frezbo.dev>
2023-09-15 15:16:02 +02:00
Andrey Smirnov
87c1b3ddd8
fix: calculate UKI ISO size dynamically
Fixes #7712

Instead of hardcoding a size, calculate the UKI and sd-boot size. UKI
has dynamic size, as it depends on number of system extensions
installed.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-09-15 14:20:38 +04:00
Andrey Smirnov
a096f05a56
chore: update gRPC library and enable shared write buffers
Fixes #7576

See https://github.com/grpc/grpc-go/pull/6309

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2023-09-13 21:27:46 +04:00
Artem Chernyshev
2960f93baa
feat: add readonly information to the disks API response
Forward device readonly info from `go-blockdevice` library.

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2023-09-12 18:09:59 +03:00