918 Commits

Author SHA1 Message Date
Serge Logvinov
8bfa7ac1d6
feat: platform metadata resource
This resource stores common platform metadata information.
Such as:

* Hostname
* Region
* Zone
* InstanceType (SKU)
* InstanceID
* ProviderID (CCM cloud native magic string)

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-10-28 14:32:39 +04:00
Andrey Smirnov
6c3d11b49e
docs: admission control patch note
This shows how to patch Pod Security config.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-10-27 16:36:37 +04:00
Philipp Sauter
23842114f0
feat: support encryption with secretbox
We add support for encryption with secretbox. While AESCBC is still
supported secretbox will take precedence if both are configured.
Secretbox is not the default encryption for new clusters.

Fixes: #6362

Signed-off-by: Philipp Sauter <philipp.sauter@siderolabs.com>
2022-10-26 19:06:53 +02:00
Steve Francis
f6773c472c
docs: talos support on equinix metal
Update docs to reflect Talos is a supported OS on Equinix Metal.

Signed-off-by: Steve Francis <steve.francis@talos-systems.com>
Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2022-10-26 16:06:52 +02:00
Philipp Sauter
c6e1702eca
feat: use URL-based manifests to present static pods to the kubelet
Previously static pod manifests were written to and read from a folder
on the disk. We add a controller that cleans up the default static pod
manifests on the disk and serves them as a PodList manifest via HTTP.
The to the manifest is injected into the kubelet. File based static pod
manifests are still supported and may be enabled by setting the key
kubelet -> enableManifestsDirectory in the machine config.

Fixes #5494

Signed-off-by: Philipp Sauter <philipp.sauter@siderolabs.com>
2022-10-25 14:30:19 +02:00
Steve Francis
136a795e55
docs: update system requirements to mention dedicated disk usage
Mention minimum requirmeents.

Signed-off-by: Steve Francis <steve.francis@talos-systems.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-10-24 21:38:05 +04:00
Tim Jones
e6fba7d3bc
chore: update dependencies
Updates:
* pkgs v1.3.0-alpha.0-33-g8fe5cbc
* tools v1.3.0-alpha.0-20-g3b5f89a
* aws-sdk-go v1.44.120
* docker v20.10.20+incompatible
* fsnotify v1.6.0
* nftables v0.0.0-20221015190445-4f5cd5826fbd
* gen v0.4.0
* grpc-proxy v0.4.0
* spf13/cobra v1.6.0
* u-root v0.10.0
* x/net v0.1.0
* x/sync v0.1.0
* x/sys v0.1.0
* x/term v0.1.0
* x/time v0.1.0
* grpc v1.50.1
* genproto v0.0.0-20221018160656-63c7b68cfc55
* Linux kernel 5.15.74

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2022-10-21 15:20:01 +04:00
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
Andrew Rynhard
b7b1d4fd6a
feat: use readonly containers
Containers created with `talosctl cluster create` are ran with readonly
filesystem. This more accurately mimics standard Talos.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2022-10-11 15:24:38 +00:00
Andrey Smirnov
993743f634
fix: skip hostname via DHCP on OpenStack platform
Introduce new DHCP operator option to skip hostname request/response,
and use that in OpenStack platform.

OpenStack configures interface with DHCP, while providing dummy hostname
over DHCP and proper hostname over metadata. As operators override
platform settings, DHCP hostname takes over OpenStack hostname. As a
fix, ignore DHCP hostname while on OpenStack.

Fixes #6350

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-10-10 14:18:46 +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
Steve Francis
c7372144de
docs: add constraints to upgrade docs
This PR clarifies the upgrade docs a bit.

Signed-off-by: Steve Francis <steve.francis@talos-systems.com>
2022-10-05 21:12:59 -04:00
Steve Francis
c71c8ca18f
docs: consolidate, simplify and correct various docs
This PR updates various docs to clarify them.

Signed-off-by: Steve Francis <steve.francis@talos-systems.com>
2022-10-04 12:14:35 -04:00
Steve Francis
195c40ab59
docs: add information about applicable use cases of disk encryption
This PR clarifies the docs on disk encryption.

Signed-off-by: Steve Francis <steve.francis@talos-systems.com>
2022-10-03 21:17:07 -04:00
Steve Francis
54a687fb8e
docs: consolidate and expand on discovery service
This PR expands the explanation of the discover service.

Signed-off-by: Steve Francis <steve.francis@talos-systems.com>
2022-10-03 20:53:24 -04:00
Andrey Smirnov
139c62d762
feat: allow upgrades in maintenance mode (only over SideroLink)
This implements a simple way to upgrade Talos node running in
maintenance mode (only if Talos is installed, i.e. if `STATE` and
`EPHEMERAL` partitions are wiped).

Upgrade is only available over SideroLink for security reasons.

Upgrade in maintenance mode doesn't support any options, and it works
without machine configuration, so proxy environment variables are not
available, registry mirrors can't be used, and extensions are not
installed.

Fixes #6224

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-30 21:16:15 +04:00
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
Noel Georgi
1c43c72aeb
docs: fix talos required kernel params
Fix Talos required kernel parameters. `talos.config` is optional.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-09-29 01:53:55 +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
Philipp Sauter
f17cdee167
feat: jsonpath filter for talosctl get outputs
We add a filter to the `talosctl get` command that allows users to
specify a jsonpath filter. Now they can reduce the information that is
printed to only the parts they are interested in.

Fixes #6109

Signed-off-by: Philipp Sauter <philipp.sauter@siderolabs.com>
2022-09-27 20:47:11 +02: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
Kris Reeves
a0151aa13e
feat: add generic rpi u-boot support
This commit adds support for building Talos for the
Compute Module 4 and other generic Raspberry Pi
hardware.

Fixes: #6273

Signed-off-by: Kris Reeves <kris@pressbuttonllc.com>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-09-26 21:04:07 +05:30
Andrey Smirnov
0b2767c164
feat: implement 'permanent addr' in link statuses
Permanent address is only available for physical links, and it might be
different from the 'hardware address': when bonding, 'hardware address'
gets overridden from the bond master, while 'permanent address' still
shows MAC of the interface.

This part of the fix for incorrect bonding issue on Equinix Metal.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-26 14:45:46 +04: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
Andrey Smirnov
ce12c7b380
chore: update COSI runtime to v0.2.0-alpha.1
This adds metadata annotations and fixes some hanging watch loops.

There should be no functional changes for Talos.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-20 22:02:57 +04:00
Tim Jones
18e041f1ec
docs: fix typo in patching example
Fix missing 'mc' in talosctl patch example command.

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2022-09-20 15:03:31 +02:00
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
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
Sander Maijers
ef181321a5
docs: add component diagram; K8s & Talos Linux
- Provide editable component diagram
  (diagrams.net).
- Document for both 1.2 and 1.3.

Signed-off-by: Sander Maijers <3374183+sanmai-NL@users.noreply.github.com>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-09-19 12:08:11 +05:30
Andrey Smirnov
aade736435
docs: fix missing variable in OpenEBS docs
With misisng variable it rendered as empty creating confusion for our
users.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-15 22:24:13 +04:00
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
Pau Campana
1985a796c0
docs: update docs for pod security
Add new section to see how to disable admission control in control
plane.

Signed-off-by: Pau Campana <pau.campanya.soler@gmail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-15 14:41:26 +04:00
Noel Georgi
93809017c5
docs: cpu scaling governor knowledgebase
Add docs on setting cpu scaling governor across all CPUs.

Thanks to @nberlee for the [suggestion](https://github.com/siderolabs/talos/issues/4508#issuecomment-1245633679)

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-09-14 13:20:28 +05:30
Noel Georgi
4367491247
feat: environment vars for extension service
This allows setting environment variables for the extension service.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-09-13 14:06:55 +05:30
Andrey Smirnov
9beee92e71
docs: fix double vv in Kubernetes version
Fixes #6242

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-12 15:36:26 +04:00
Andrey Smirnov
161a52a9ef
feat: check apid client certificate extended key usage
This is enabled via a machine config feature/version contract, as
`talosconfig` certificate generated previously didn't have proper key
usage set, so we need to keep backwards compatibility on upgrades.

New v1.3+ clusters will include this check.

This check prevents even potential mis-use of server certificates as a
client certificate.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-09 16:37: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
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
Marvin Drees
cdb6bb2cc7
feat: add Nano Pi R4S support
This commit adds initial support for the Nano Pi
R4S from Friendlyelec. This device is a networking focused
rk3399 based SBC with two 1G ethernet interfaces,
making it perfect for edge or SOHO deployments.

Signed-off-by: Marvin Drees <marvin.drees@9elements.com>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-09-02 23:37:07 +05:30
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
Steve Francis
148c75cfb9
docs: consolidate the control-plane documentation
Also fix some typos.

Signed-off-by: Steve Francis <steve.francis@talos-systems.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-02 00:35:55 +04:00
Andrey Smirnov
1369afea85
docs: make 1.2.0 docs default ones
Update latest release to 1.2.0.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-01 15:26:53 +04:00
Andrey Smirnov
7627cb0e30
docs: add new talosctl gen secrets
I forgot to mention that in the docs update.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-09-01 00:51:04 +04:00
Andrey Smirnov
a798dbd5d2
docs: update docs for upcoming 1.2.0 release
Update what's new, upgrading docs.

Fix up instances of `master` leftover in the docs.

Fix the formatting of kernel params reference.

Fixes #6150

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-08-31 21:54:45 +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
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
Noel Georgi
29e574be74
docs: update to v1.2.0-beta.1
Update Talos version in docs to v1.2.0-beta.1

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-08-24 18:21:36 +05:30