777 Commits

Author SHA1 Message Date
Serge Logvinov
dc70d892a3
fix: support setting KubeSpan link MTU
Kubespan creates package size more than MTU external interface size.

This PR adds capabilities to change MTU size through machine config.
And sets MTU of the default kubespan route.

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-10-17 14:39:15 +04:00
Andrey Smirnov
9c78b3aff4
feat: update Kubernetes to v1.26.0-alpha.2
See
https://github.com/kubernetes/kubernetes/releases/tag/v1.26.0-alpha.2

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-10-12 22:23:03 +04:00
Andrey Smirnov
b3c679d18e
chore: bump dependencies
go-mod-outdated

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-10-10 14:37:28 +04:00
Serge Logvinov
db076e7b5a
feat: pin interface by mac address in cmdline args
Example, set interface IP address by MAC:

```cmdline: ip=172.20.0.2::172.20.0.1:255.255.255.0::enx001122aabbcc```

Interface MAC is `00:11:22:aa:bb:cc`.

Source: https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-10-10 13:56:42 +04:00
Noel Georgi
49e9f808e7
chore: bump kernel and go
Bump kernel to [5.15.72](https://github.com/siderolabs/pkgs/pull/601)
Bump Go to 1.19.2
 - https://github.com/siderolabs/pkgs/pull/599
 - https://github.com/siderolabs/extras/pull/62

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-10-06 07:15:06 +05:30
Andrey Smirnov
06f76bfebb
chore: bump dependencies
Update to some dependencies moved to siderolabs/ path.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-10-04 14:47:27 +04:00
Noel Georgi
b1c421b9ad
chore: publish ami's with imds v2 enabled
Publish AMI's with IMDS v2 enabled.

Ref: https://aws.amazon.com/about-aws/whats-new/2022/10/amazon-machine-images-support-instance-metadata-service-version-2-default/

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-10-04 13:45:54 +05:30
Noel Georgi
48dee48057
feat: support mtu for routes
Support setting MTU for routes.

Fixes: #6324

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-09-30 16:38:22 +05:30
Andrey Smirnov
67cc45ae3f
release(v1.3.0-alpha.0): prepare release
This is the official v1.3.0-alpha.0 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-28 17:45:28 +04:00
Serge Logvinov
18c377a4d1
feat: customize audit policy
Add resource `AuditPolicyConfigs.kubernetes.talos.dev`.
It can be changed through machine config `cluster.apiServer.auditPolicy`

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-28 13:46:44 +04:00
Noel Georgi
6bd3cca1a8
chore: generic raspberry pi images
Use generic Raspberry Pi images. Deprecate the RPi4 specific image.

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

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-09-27 16:39:12 +05:30
Andrey Smirnov
30f851d093
chore: bump dependences
go-mod-outdated

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-26 18:37:38 +04:00
Noel Georgi
b3257ebb1c
chore: bump kernel to 5.15.70
Bump kernel to [5.15.70](https://github.com/siderolabs/pkgs/pull/594)

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-09-26 17:34:47 +05:30
Dmitriy Matrenichev
fc48849d00
chore: move maps/slices/ordered to gen module
Use github.com/siderolabs/gen

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2022-09-21 20:22:43 +03:00
Andrey Smirnov
8b09bd4b04
feat: update Kubernetes to v1.26.0-alpha.1
Talos 1.3.0 will ship with Kubernetes 1.26.0.

See https://github.com/kubernetes/kubernetes/releases/tag/v1.26.0-alpha.1

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-21 18:42:31 +04:00
Noel Georgi
1b435c0b36
chore: bump kernel + ice drivers
Bump kernel to [5.15.69](https://github.com/siderolabs/pkgs/pull/592)
Add Intel ice drivers

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-09-20 22:05:02 +05:30
Andrey Smirnov
0ad6452ca1
feat: update CoreDNS to v1.10.0
See https://github.com/coredns/coredns/blob/master/notes/coredns-1.10.0.md

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-19 18:29:54 +04:00
Andrey Smirnov
479f3f52ee
chore: bump dependencies
go-mod-outdated

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-19 18:02:50 +04:00
Andrey Smirnov
e07c6ae99e
feat: update Kubernetes to v1.25.1
See https://github.com/kubernetes/kubernetes/releases/tag/v1.25.1

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-19 16:23:00 +04:00
Andrey Smirnov
e5cabd42cc
feat: enable etcd consistency hashcheck
This will be only enabled for Talos v1.3.x.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-15 21:03:40 +04:00
Noel Georgi
d0c8e7699c
chore: bump kernel and go
Bump kernel to 5.15.68
Bump go to 1.19.1

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-09-15 21:22:55 +05:30
Andrey Smirnov
69124f1026
feat: update etcd to v3.5.5
See https://github.com/etcd-io/etcd/releases/tag/v3.5.5

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-15 17:09:02 +04:00
Dmitriy Matrenichev
12827b861c
chore: move "implements" checks to compile time
There is no need to use `assert.Implements` since we can express this check during compile time. Go will eliminate `_` variables and any accompanying allocations during dead-code elimination phase.

This commit also removes:

    tok := new(v1alpha1.ClusterConfig).Token()
	assert.Implements(t, (*config.Token)(nil), tok)

Code since it doesn't check anything - v1alpha1.ClusterConfig.Token() already returns a config.Token interface.

Also - run `go work sync` and `go mod tidy`.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2022-09-12 16:57:24 +03:00
Andrey Smirnov
14a79e325b
chore: bump dependencies
dependabot

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-12 16:38:21 +04:00
Andrey Smirnov
71bfd3e43c
feat: update CoreDNS to 1.9.4
See https://github.com/coredns/coredns/blob/master/notes/coredns-1.9.4.md

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-08 21:59:58 +04:00
Andrey Smirnov
f62d17125b
chore: update crypto to use new import path siderolabs/crypto
No functional changes in this PR, just updating import paths.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-07 23:02:50 +04:00
Andrey Smirnov
ef27dd8553
chore: bump dependencies
dependabot

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-06 14:48:50 +04:00
Noel Georgi
5e21cca52d
feat: support setting kernel parameters
Support setting kernel parameters via machine config.

Fixes: #6206

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-09-05 23:45:51 +05:30
Dmitriy Matrenichev
bd56621cdf
feat: add structprotogen tool
This commit adds structprotogen tool which is used to generate proto file from Go structs.

Closes #6078.

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2022-09-05 16:54:00 +03:00
Andrey Smirnov
cd6c53a979
docs: fork docs for v1.3
Now master docs are generate for v1.3.0.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-02 18:35:05 +04:00
Andrey Smirnov
7471d7f017
feat: update Flannel to v0.19.2
See https://github.com/flannel-io/flannel/releases/tag/v0.19.2

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-02 16:12:07 +04:00
Noel Georgi
4f37b668be
chore: remove capi hacks
Remove hacks used for CAPI tests

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-09-01 18:57:27 +05:30
Noel Georgi
8aa60a37a6
chore: bump kernel to 5.15.64
Bump kernel to [5.15.64](https://github.com/siderolabs/pkgs/pull/576)

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-09-01 00:01:03 +05:30
Andrey Smirnov
2e9be4af8b
chore: bump dependencies
go-mod-outdated + dependabot

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-08-30 15:26:22 +04:00
Utku Ozdemir
0b339a9dc5
feat: track progress of action API calls
Track the progress of the long-running actions `reboot`, `reset`, `upgrade` and `shutdown` on the client side by default, unless `--no-wait=true` is specified.

Use the events API to follow the events using the actor ID of the action and display it using an stderr reporter with a spinner.

Closes siderolabs/talos#5499.

Signed-off-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
2022-08-29 22:54:40 +02:00
Noel Georgi
446b0af58b
chore: bump kernel and runc
Bump kernel to [5.15.63](https://github.com/siderolabs/pkgs/pull/564)
Bump runc to [v1.1.4](https://github.com/siderolabs/pkgs/pull/568)

This PR also brings in the kernel build with NFSv4.2 [client support](https://github.com/siderolabs/pkgs/pull/567)

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-08-26 19:01:56 +05:30
Dmitriy Matrenichev
0310e20890
chore: bump github.com/siderolabs/protoenc to v0.1.5
Get improvements from the new version

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2022-08-24 19:57:56 +03:00
Noel Georgi
b500d0aa90
chore: bump k8s to v1.25.0
Bump k8s to
[v1.25.0](https://github.com/kubernetes/kubernetes/releases/tag/v1.25.0)

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-08-24 18:58:44 +05:30
Andrey Smirnov
26b549f2a1
chore: bump dependencies
dependabot + go-mod-outdated

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-08-24 16:02:02 +04:00
Andrey Smirnov
2f2d97b6b5
fix: don't wait for the hostname in maintenance mode
Fixes #6119

With new stable default hostname feature, any default hostname is
disabled until the machine config is available.

Talos enters maintenance mode when the default config source is empty,
so it doesn't have any machine config available at the moment
maintenance service is started.

Hostname might be set via different sources, e.g. kernel args or via
DHCP before the machine config is available, but if all these sources
are not available, hostname won't be set at all.

This stops waiting for the hostname, and skips setting any DNS names in
the maintenance mode certificate SANs if the hostname is not available.

Also adds a regression test via new `--disable-dhcp-hostname` flag to
`talosctl cluster create`.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-08-23 17:52:20 +04:00
Noel Georgi
b15a639246
chore: bump kernel to 5.15.62
Bump kernel to 5.15.62. Ref: https://github.com/siderolabs/pkgs/pull/559

This PR uses pkgs from https://github.com/siderolabs/pkgs/pull/562

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-08-23 18:12:27 +05:30
Andrey Smirnov
a0d94be30d
fix: stable default hostname bias
When converting to base36 a 256-bit number there's a bias in the
first character of the base36 encoding, as 256-bit number never fits
perfectly base 36 number.

To give an example, when converting 4-digit binary number to decimal,
the first digit of the decimal number will be [0..3], while the
second digit won't be biased:

```
0000 -> 00
0001 -> 01
...
0111 -> 15
1000 -> 16
...
1111 -> 31
```

Same issue happens when going from e.g. base16 to base36.

Stable hostnames were biased towards having a digit as the first
character.

The fix is to skip the first character of the base36 representation, and
also we don't need to convert all 256 bits to base36, if we use only 6
characters, we can save some CPU resources by taking only 8 bytes
instead of full 32 bytes.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-08-22 21:36:05 +04:00
Noel Georgi
faf92ce016
chore: bump kubernetes to v1.25.0-rc.1
Bump kubernetes to v1.25.0-rc.1

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-08-19 00:21:23 +05:30
Noel Georgi
52de919e34
chore: bump containerd to v1.6.8
Bump containerd to [v1.6.8](https://github.com/siderolabs/pkgs/pull/552)

Use the fixed [pkgs version](https://github.com/siderolabs/pkgs/pull/555)

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-08-18 21:31:50 +05:30
Andrey Smirnov
2c482936bb
chore: bump dependencies
dependabot + go-mod-tidy

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-08-15 15:03:07 +04:00
Andrey Smirnov
4c3485ae3f
feat: update Kubernetes to 1.25.0-rc.0
See https://github.com/kubernetes/kubernetes/releases/tag/v1.25.0-rc.0

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-08-12 00:17:45 +04:00
Noel Georgi
ea6ceab245
chore: bump kernel to 5.15.60
Bump kernel to [5.15.60](https://github.com/siderolabs/pkgs/pull/547)

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-08-12 00:34:29 +05:30
Noel Georgi
07cd0924ea
fix: recursive seccomp mounts
Since `/var/lib/kubelet` was mounted with `rbind` and `rshared`, the
seccomp profile mount from the host at `/var/lib/seccomp/profiles` when
mounted at `/var/lib/kubelet/seccomp/profiles` would create a mount back
to the host creating an extra mount everytime kubelet starts/restarts.

Fix the issue by using the same path for the seccomp profiles on both
host and kubelet.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-08-11 19:48:45 +05:30
Artem Chernyshev
13499fc302
feat: support patching the machine config in the apply-config cmd
Fixes: https://github.com/siderolabs/talos/issues/6045

`talosctl apply-config` now supports `--config-patch` flag that takes
machine config patches as the input.

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2022-08-11 13:56:23 +03:00
Andrey Smirnov
5dd1b40020
feat: disable Kubernetes discovery backend by default
Fixes #5827

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-08-10 22:25:31 +04:00