504 Commits

Author SHA1 Message Date
Seán C McCord
a5fb271ac8
feat: enable protectKernelDefaults in kubelet_spec
Enable the kubelet's builtin kernel configuration checks.
Also limits streaming connection timeout.

Fixes #5002
Fixes #4990

Signed-off-by: Seán C McCord <ulexus@gmail.com>
2022-02-18 11:03:06 -05:00
Andrey Smirnov
0fe34b3581
feat: update Kubernetes to 1.23.4
See https://github.com/kubernetes/kubernetes/releases/tag/v1.23.4

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-17 23:50:34 +03:00
Andrey Smirnov
00ccaf13fb
feat: update CoreDNS to 1.9.0
See https://github.com/coredns/coredns/blob/master/notes/coredns-1.9.0.md

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-16 18:12:33 +03:00
Andrey Smirnov
a9a47b7559
feat: update containerd to 1.6.0
See https://github.com/talos-systems/pkgs/pull/400

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-16 17:42:26 +03:00
Andrey Smirnov
bddd53fc4a
chore: bump dependencies
Some via dependabot, some via go-mod-outdated.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-15 21:22:53 +03:00
Andrey Smirnov
1e9f0ad4c6
feat: update Go to 1.17.7, Linux to 5.15.23
See:

* https://github.com/talos-systems/tools/pull/168
* https://github.com/talos-systems/pkgs/pull/395
* https://github.com/talos-systems/pkgs/pull/397
* https://github.com/talos-systems/extras/pull/37

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-11 17:40:12 +03:00
Charlie Haley
fef99892d5
chore: pin kubernetes version to talosctl gen config
Pin talos default k8s version to `talosctl gen config`

Signed-off-by: Charlie Haley <charlie.haley@hotmail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-11 16:47:49 +03:00
Andrey Smirnov
c6bca1b33b
docs: add guide on system extensions
This is very first guide, we can expand it as we get more details.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-10 22:04:36 +03:00
Andrey Smirnov
492b156dab
feat: implement static pods via machine configuration
Fixes #4727

On worker nodes, static pods are injected, but status can't be monitored
by Talos. On control plane nodes full status is available via
`StaticPodStatus`.

Pod definition is left as `Unstructured` in the machine configuration,
and no specific validation is performed to avoid pulling in Kubernetes
libraries into Talos machinery package.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-10 18:37:19 +03:00
Andrey Smirnov
0da370dfef
test: unlock CABPT/CACPPT provider versions
We should always test latest versions of our providers.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-10 00:14:15 +03:00
Noel Georgi
4f391cd5c5
chore: bump kernel to 5.15.22
Bump kernel to 5.15.22 stable

Ref: https://github.com/talos-systems/pkgs/pull/391

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-02-09 21:17:50 +05:30
Noel Georgi
9302058319
chore: update kernel to 5.15.21
Ump kernel to 5.15.21 stable

Ref: https://github.com/talos-systems/pkgs/pull/390

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-02-07 20:05:18 +05:30
Andrey Smirnov
c7186ed080
chore: bump dependencies
Dependabot + go-mod-outdated.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-07 16:26:15 +03:00
Philipp Sauter
9ee470f955
feat: set /etc/localtime to UTC
Adds a timezone file for UTC to the rootfs and create a symlink for it
at /etc/localtime

Fixes #4840

Signed-off-by: Philipp Sauter <sauterp@protonmail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-07 15:44:19 +03:00
Andrey Smirnov
e47387e419
chore: bump CAPI to 1.0.4
This release contains cert-manager download fix.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-03 18:19:42 +03:00
Andrey Smirnov
5462f5ed18
feat: update etcd to 3.5.2
See https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.5.md

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-03 17:25:08 +03:00
Noel Georgi
446972f211
chore: bump kernel to 5.15.19
Bump kernel to 5.15.19 stable

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-02-02 02:23:33 +05:30
Bernard Sébastien
7f0b3aae0a
feat: add multiple config patches, patches from files, YAML support
Include filename content if value begins with @ (see curl for example).

Add multiple config-path option on cmdline to apply them in order.

ex:

```
talosctl-linux-amd64 gen config talos1 https://127.0.0.1:6443 --config-patch-control-plan @cidrs.json --config-patch-worker @sysctls-workders.json --config-path @cluster-name.json
```

Load JSON patch from YAML.

This applies to all commands handling config patches.

Closes: https://github.com/talos-systems/talos/issues/4764

Signed-off-by: Sébastien Bernard <sbernard@nerim.net>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-31 22:50:46 +03:00
Noel Georgi
036644f7a0
chore: bump kernel to 5.15.18
Bump kernel to 5.15.18 stable

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-01-31 21:54:22 +05:30
Noel Georgi
65e64d425e
chore: update kernel to stable 5.15.17
Bump kernel to 5.15.17

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-01-27 23:10:27 +05:30
Noel Georgi
151c9df091
chore: add CSI tests for e2e-qemu
Add tests for using rook as CSI for e2e-qemu
Allow specifying cpu/memory for workers

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-01-27 20:06:10 +05:30
Andrey Smirnov
0bf161dffb
test: add integration test for system extensions
This verifies system extensions via the gVisor system extension.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-26 23:29:15 +03:00
Andrey Smirnov
85782faa24
feat: update Kubernetes to 1.23.3
Also bumps some dependencies and updates Talos version we use in the
upgrade tests.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-26 17:59:21 +03:00
Andrey Smirnov
c5e5922e53
chore: bump dependencies
dependabot + go-mod-outdated

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-26 17:07:11 +03:00
Florian Klink
a50c42980f
fix: use #!/usr/bin/env bash as shebang instead of #!/bin/bash
This will fix running these scripts on distros without /bin/bash, but
where bash is in $PATH, such as NixOS.

Currently, `make fmt` otherwise fails to run:

```
make[3]: Leaving directory '/home/flokli/dev/numtide/manifoldfinance/talos'
sh: ./hack/fix-artifacts.sh: /bin/bash: bad interpreter: No such file or directory
make[2]: *** [Makefile:163: local-fmt-protobuf] Error 126
make[2]: Leaving directory '/home/flokli/dev/numtide/manifoldfinance/talos'
make[1]: *** [Makefile:274: fmt-protobuf] Error 2
make[1]: Leaving directory '/home/flokli/dev/numtide/manifoldfinance/talos'
make: *** [Makefile:277: fmt] Error 2
```

Signed-off-by: Florian Klink <flokli@flokli.de>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-25 23:11:39 +03:00
Andrey Smirnov
e7379c81b2
release(v0.15.0-alpha.1): prepare release
This is the official v0.15.0-alpha.1 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-24 16:08:38 +03:00
Andrey Smirnov
b1e61fa5b1
chore: update Linux to 5.15.16
See https://www.openwall.com/lists/oss-security/2022/01/18/7

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-20 23:28:59 +03:00
Andrey Smirnov
d4b8445935
feat: support CRI configuration merging and reimplement registry config
Containerd doesn't support merging plugin configuration from multiple
sources, and Talos has several pieces which configure CRI plugin:
(see https://github.com/containerd/containerd/issues/5837)

* base config
* registry mirror config
* system extensions
* ...

So we implement our own simple way of merging config parts (by simply
concatenating text files) to build a final `cri.toml`.

At the same time containerd migrated to a new format to specify registry
mirror configuration, while old way (via CRI config) is going to be
removed in 1.7.0. New way also allows to apply most of registry
configuration (except for auth) on the fly.

Also, containerd was updated to 1.6.0-rc.0 and runc to 1.1.0.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-20 23:05:20 +03:00
Andrey Smirnov
f94c8c6e1c
feat: update Kubernetes to 1.23.2
See https://github.com/kubernetes/kubernetes/releases/tag/v1.23.2

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-20 22:12:03 +03:00
Noel Georgi
3c0737027b
chore: update release notes
Release notes update from #4819

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-01-18 21:37:03 +05:30
Andrey Smirnov
1d8955ebe4
feat: update CoreDNS to 1.8.7
Drop the rewrite rule which seems to be causing issues for
`ingress-nginx` when Kubernetes IPv4-only cluster runs in the
IPv6-enabled environment.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-18 17:21:05 +03:00
Andrey Smirnov
43b2d81371
chore: bump dependencies
Dependabot + go-mod-outdated.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-17 16:25:18 +03:00
Serge Logvinov
2869b5eeac
feat: add oraclecloud.com platform support
* cloud-init for oraclecloud (IMDSv2)
* amd64/arm64 arch
* set DHCPv6 on if IPv6 subnet allocated

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-14 16:56:37 +03:00
Artem Chernyshev
2f2bdb26aa
feat: replace flags with --mode in apply, edit and patch commands
Fixes: https://github.com/talos-systems/talos/issues/4588

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2022-01-13 16:09:53 +03:00
Andrey Smirnov
194eaa6f22
chore: clean up /usr/bin from unneeded files
This removes all files but leaves `udevadm` which is actually used by
Talos.

Size reduction for `initramfs-amd64`: 54380024 -> 54228188

Files removed:

```
NODE         MODE         UID   GID   SIZE(B)   LASTMOD           NAME
172.20.0.2   drwxr-xr-x   0     0     107       Jan 10 23:46:33   .
172.20.0.2   Lrwxrwxrwx   0     0     26        Jan 10 23:46:33   iptables-xml -> /sbin/xtables-legacy-multi
172.20.0.2   -rwxr-xr-x   0     0     30496     Jan 10 23:46:33   ocspcheck
172.20.0.2   -rwxr-xr-x   0     0     442008    Jan 10 23:46:33   openssl
172.20.0.2   -rwxr-xr-x   0     0     14240     Jan 10 23:46:33   scmp_sys_resolver
```

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-11 23:33:12 +03:00
Andrey Smirnov
279a3fda7b
feat: update Go to 1.17.6, containerd to 1.5.9
See:

* https://github.com/talos-systems/tools/pull/166
* https://github.com/talos-systems/pkgs/pull/379
* https://github.com/talos-systems/extras/pull/36
* https://github.com/talos-systems/pkgs/pull/379

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-10 20:49:01 +03:00
Andrey Smirnov
3d30889412
chore: bump Go dependencies
dependabot + go-mod-outdated

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-10 17:27:42 +03:00
Spencer Smith
d8a2721e12
test: update CAPI components to latest
This PR updates to our latest point release for CACPPT to
ensure faster testing. It also pulls in a newer AWS provider.

Signed-off-by: Spencer Smith <spencer.smith@talos-systems.com>
2022-01-05 16:49:03 -05:00
Andrey Smirnov
f4516c7d84
chore: bump dependencies
Some via dependabot, some via go-mod-outdated.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-30 19:38:03 +03:00
Andrey Smirnov
cb548a368a
release(v0.15.0-alpha.0): prepare release
This is the official v0.15.0-alpha.0 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-30 16:27:19 +03:00
Artem Chernyshev
da0b36e616
feat: introduce talos.exp.wipe kernel param to wipe system disk
Fixes: https://github.com/talos-systems/talos/issues/4399

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2021-12-29 15:10:52 +03:00
Andrey Smirnov
83e8bec6b9
feat: update Linux to 5.15.11
Cleanup release.toml in preparation for 0.15-alpha.0 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-24 21:21:58 +03:00
Andrey Smirnov
dc9a0cfe94
chore: bump Go dependencies
Bump all dependencies, update `grpc.WithInsecure()` which is deprecated
now.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-20 23:05:32 +03:00
Andrey Smirnov
80350861a2
feat: update Kubernetes to 1.23.1
See https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.23.md#changelog-since-v1230

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-16 22:13:24 +03:00
Spencer Smith
3af56bd2e7
test: update capi templates to v1beta1
This PR uplifts our E2E tests to use the latest CAPI templates and
providers

Signed-off-by: Spencer Smith <spencer.smith@talos-systems.com>
2021-12-14 15:41:23 -05:00
Andrey Smirnov
2dd0b5b68a
chore: update Go to 1.17.5
See:

* https://github.com/talos-systems/tools/pull/163
* https://github.com/talos-systems/pkgs/pull/370
* https://github.com/talos-systems/extras/pull/34

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-09 23:48:31 +03:00
Andrey Smirnov
97ffa7a645
feat: upgrade kubelet version in talosctl upgrade-k8s
Fixes #4656

As now changes to kubelet configuration can be applied without a reboot,
`talosctl upgrade-k8s` can handle the kubelet upgrades as well.

The gist is simply modifying machine config and waiting for `Node`
version to be updated, rest of the code is required for reliability of
the process.

Also fixed a bug in the API while watching deleted items with
tombstones.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-08 21:12:17 +03:00
Andrey Smirnov
8e1d0bfb5f
feat: update Kubernetes to 1.23.0
See https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.23.md#changelog-since-v1220

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-08 18:51:11 +03:00
Andrey Smirnov
8f3e1a4ad6
fix: drop unpacked layers from containerd image store
See https://github.com/containerd/cri/pull/1543

Fixes #4274

Fix is applied on two levels:

* for Talos-initiated pulls, update API call
* for Kubernetes-initiated pulls, update CRI plugin config

Comparison of `/var` usage before/after, as reported by
`talosctl mounts` (in GiB):

|              | before | after |
|--------------|:------:|------:|
| controlplane |  1.98  |  1.74 |
| worker       |  1.17  |  1.01 |

It's hard to measure effect on pulls to system containerd, like
`installer` image, as it's ephemeral, but it should also reduce space
usage in `tmpfs`.

Also fixes output of `talosctl mounts`.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-06 20:41:48 +03:00
Andrey Smirnov
36c9a65ac0
feat: update deps and Kubernetes to 1.23.0-rc.1
Update Go modules to the latest versions including talos-systems/
released modules.

In preparation for 0.14-beta release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-06 18:43:26 +03:00