19 Commits

Author SHA1 Message Date
Nico Berlee
852bf4a7de
feat: talosctl fish completion support
Generate talosctl completion for fish

Signed-off-by: Nico Berlee <nico.berlee@on2it.net>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-11-23 16:45:16 +03:00
Andrey Smirnov
f7d1e77769
feat: provide SideroLink client implementation
Related to #4448

The only remaining part is filtering out SideroLink addresses when Talos
looks for a node address.

See also https://github.com/talos-systems/siderolink/pull/2

The way to test it out:

```
$ talosctl cluster create ... --extra-boot-kernel-args
siderolink.api=172.20.0.1:4000
```

(where 172.20.0.1 is the bridge IP)

Run `siderolink-agent` (test implementation):

```
$ sudo _out/siderolink-agent-linux-amd64
```

Now on the host, there should be a `siderolink` Wireguard userspace
tunnel:

```
$ sudo wg
interface: siderolink
  public key: 2aq/V91QyrHAoH24RK0bldukgo2rWk+wqE5Eg6TArCM=
  private key: (hidden)
  listening port: 51821

peer: Tyr6C/F3FFLWtnzqq7Dsm54B40bOPq6++PTiD/zqn2Y=
  endpoint: 172.20.0.1:47857
  allowed ips: fdae:41e4:649b:9303:b6db:d99c:215e:dfc4/128
  latest handshake: 2 minutes, 2 seconds ago
  transfer: 3.62 KiB received, 1012 B sent

...
```

Each Talos node will be registered as a peer, tunnel is established.

You can now ping Talos nodes from the host over the tunnel:

```
$ ping fdae:41e4:649b:9303:b6db:d99c:215e:dfc4
PING fdae:41e4:649b:9303:b6db:d99c:215e:dfc4(fdae:41e4:649b:9303:b6db:d99c:215e:dfc4) 56 data bytes
64 bytes from fdae:41e4:649b:9303:b6db:d99c:215e:dfc4: icmp_seq=1 ttl=64 time=0.352 ms
64 bytes from fdae:41e4:649b:9303:b6db:d99c:215e:dfc4: icmp_seq=2 ttl=64 time=0.437 ms
```

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-11-22 16:44:35 +03:00
Artem Chernyshev
f730252579
feat: add new event types
Add config load + validation errors and address + hostnames events.

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2021-11-18 18:48:35 +03:00
Andrey Smirnov
7c9b082f74
feat: update Kubernetes to 1.23.0-beta.0
Go modules were not tagged this time: https://github.com/kubernetes/kubernetes/issues/106529

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-11-18 16:50:46 +03:00
Andrey Smirnov
695300dac4
release(v0.14.0-alpha.1): prepare release
This is the official v0.14.0-alpha.1 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-11-15 20:59:11 +03:00
Andrey Smirnov
a76f6d69db
feat: allow kubelet to be restarted and provide negative nodeIP subnets
Fixes #4407 fixes #4489

This PR started by enabling simple restart of the `kubelet` service via
services API, but it turned out there's a problem:

When kubelet restarts, CNI is already up, so there's an interface on the
host with CNI node IP, the code which picks kubelet node IP finds it and
tries to add it to the list of kubelet node IPs which completely breaks
kubelet.

Solution was easy: allow node IPs to be filtered out - e.g. we never
want kubelet node IP to be from the pod CIDR.

But this filtering feature is also useful in other cases, so I added
that as well.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-11-15 15:43:34 +03:00
Alexey Palazhchenko
785161d19f
feat: update k8s to 1.23.0-alpha.4
See https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.23.md#v1230-alpha4

Closes #4495.
Closes #4498.
Closes #4499.
Closes #4500.
Closes #4501.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@talos-systems.com>
2021-11-08 19:37:25 +00:00
Artem Chernyshev
261c497c71
feat: implement talosctl support command
Fixes: https://github.com/talos-systems/talos/issues/4406

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2021-11-08 16:20:50 +03:00
Andrey Smirnov
c97becdd95
chore: remove interfaces and routes APIs
Fixes #4279

These APIs were deprecated in 0.13, now it's time to drop them for 0.14.

They were not used anywhere in Talos, so no changes on Talos side.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-10-27 15:34:17 +03:00
Andrey Smirnov
01b0f0abb3
release(v0.14.0-alpha.0): prepare release
This is the official v0.14.0-alpha.0 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-10-25 22:44:31 +03:00
Andrey Smirnov
8b6206537a
fix: skip generating empty .machine.logging
This fixes backwards compatibility with previous versions of Talos.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-10-25 22:20:20 +03:00
Alexey Palazhchenko
4c76865d0e
feat: multiple logging improvements
Add JSON over TCP support.
Add support for multiple loggers.
Make logging configurable.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@talos-systems.com>
2021-10-25 16:52:24 +00:00
Andrey Smirnov
ae5af9d3fa
feat: update Kubernetes to 1.23.0-alpha.3
See https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.23.md#v1230-alpha3

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-10-22 14:59:41 +03:00
Andrey Smirnov
ad23891b1f
feat: update CoreDNS version 1.8.6
This updages CoreDNS from 1.8.4 which includes many fixes from upstream.

Also this seems to fix timeouts introduced in the change which added
`rewrite stop type AAAA A` rule to the `Corefile`.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-10-19 18:07:54 +03:00
Branden Cash
41299cae99
feat: udev rules support
Brings udev rules as first class citizens in the machine config

Allows for customizing how udev devices are presented in the system. My case in particular, I need to change the group and permissions for the Intel QuickSync renderer device to enable non-root containers to make use of the hardware transcoding capabilities of the Intel GPU.

Signed-off-by: Branden Cash <ammmze@gmail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-10-18 23:27:41 +03:00
Andrey Smirnov
89f3b9f8d4
feat: update etcd to 3.5.1
See https://github.com/etcd-io/etcd/releases/tag/v3.5.1

This version has a fix for member info getting out of sync:
https://github.com/etcd-io/etcd/issues/13119

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-10-18 15:34:00 +03:00
Alexey Palazhchenko
e60469a38c
feat: initial support for JSON logging
Hook into logging machinery.

Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@talos-systems.com>
2021-10-16 16:46:59 +00:00
Andrey Smirnov
68c420e3c9
feat: enable cluster discovery by default
This enables cluster discovery by default for Talos 0.14. KubeSpan is
not enabled by default.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-10-15 14:46:32 +03:00
Andrey Smirnov
d6309eed66
docs: create docs for Talos 0.14
Docs generation switched to v0.14 folder.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-10-14 15:42:24 +03:00