748 Commits

Author SHA1 Message Date
Noel Georgi
cf101e56fb
fix: add --force flag for talosctl gen
Error out if file(s) already exists and warn user to use
`--force` to overwrite.

Fixes: #6963

Signed-off-by: Noel Georgi <git@frezbo.dev>
2023-03-17 15:07:12 +05:30
Andrey Smirnov
442cb9c1b0
feat: implement APIs to write to META
This allows to put keys to META partition.

META contents can be viewed with `talosctl get metakeys`.

There is not real usecase for it yet, but the next PRs will introduce
two special keys which can be written:

* platform network config for `metal`
* `${code}` variable

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-03-15 22:17:52 +04:00
Utku Ozdemir
9e07832db9
feat: implement summary dashboard
Implement the new summary dashboard with node info and logs.
Replace the previous metrics dashboard with the new dashboard which has multiple screens for node summary, metrics and editing network config.

Port the old metrics dashboard to the tview library and assign it to be a screen in the new dashboard, accessible by F2 key.

Add a new resource, infos.cluster.talos.dev which contains the cluster name and id of a node.

Disable the network config editor screen in the new dashboard until it is fully implemented with its backend.

Closes siderolabs/talos#4790.

Signed-off-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
2023-03-15 13:13:28 +01:00
Andrey Smirnov
1df841bb54
refactor: change the interface of META
Use a global instance, handle loading/saving META in global context.

Deprecate legacy syslinux ADV, provide an easier interface for
consumers.

Expose META as resources.

Fix the bootloader revert process (it was completely broken for quite a
while :sad:).

This is a first step which mostly does preparation work, real changes
will come in the next PRs:

* add APIs to write to META
* consume META keys for platform network config for `metal`
* custom key for URL `${code}`

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-03-15 15:43:16 +04:00
Andrey Smirnov
6656d35eca
docs: fix Talos version to use template
Fixes #6944

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-03-13 15:28:27 +04:00
xyhhx
72a6d1d708
docs: update nocloud
Use the correct link to nocloud cloudinit docs.

Signed-off-by: xyhhx <xyhhx@disr.it>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-03-13 14:51:28 +04:00
Nico Berlee
97048f7c37
feat: netstat in API and client
Implements netstat in Talos API and client (talosctl).

Signed-off-by: Nico Berlee <nico.berlee@on2it.net>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-03-09 15:48:30 +04:00
Seán C McCord
b97e1abaa6
feat: set default image, validate empty image
Adds a default image URL and ensures that an empty image URL is not
sent when calling `talosctl upgrade`.

Fixes #6912

Signed-off-by: Seán C McCord <ulexus@gmail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-03-07 18:21:54 +04:00
Dmitriy Matrenichev
ebc92f3c1d
chore: add container id to talosctl -k containers and talosctl -k logs
This PR adds first 12 symbols from container ID and adds them to `talosctl -k containers` each container output.
That way we can ensure that we get the logs from proper container even if there is a newer one.

Closes #6886

Co-authored-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2023-03-07 13:20:44 +03:00
Dmitriy Matrenichev
22ef81c1e7
feat: add grub option to drop to maintenance mode
- [x] Support `talos.experimental.wipe=system:EPHEMERAL,STATE` boot kernel arg
- [x] GRUB option to wipe like above
- [x] update GRUB library to handle that

Closes #6842

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2023-03-07 12:37:59 +03:00
Noel Georgi
69cb414f01
docs: update cilium install instructions
Update cilium install instructions.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2023-03-06 22:57:39 +05:30
Steve Francis
81879fc0ca
docs: add how tos for workloads on control planes, and scaling up
First set of how-tos.

Signed-off-by: Steve Francis <steve.francis@talos-systems.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-03-06 14:02:45 +04:00
Noel Georgi
a78281214d
feat: add cilium e2e tests
Add cilium e2e tests. The existing cilium check was very old, update to
latest cilium version and also add a test for KPR strict mode.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2023-03-03 20:03:25 +05:30
Andrey Smirnov
dea17d7234
feat: update Kubernetes to v1.26.2
See https://github.com/kubernetes/kubernetes/releases/tag/v1.26.2

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-03-01 22:50:54 +04:00
Andrey Smirnov
337aaba7a7
feat: add 'os:operator' role
This introduces a new role for Talos API which fills the gap between
`os:reader` and `os:admin` roles.

Fixes #6898

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-03-01 16:12:25 +04:00
Andrey Smirnov
594f27d878
release(v1.4.0-alpha.2): prepare release
This is the official v1.4.0-alpha.2 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-02-28 18:03:05 +04:00
Artem Chernyshev
b520710810
feat: introduce new flag in reset API that makes Talos reset user disks
Fixes: https://github.com/siderolabs/talos/issues/6815

Additionally, make it possible to run reset in maintenance mode: to
enable a way for resetting system disk and remove all traces of Talos
from it.

The new reset flow works in a separate sequence, changed disk probe
lookup to check the boot partition instead of the ephemeral one.

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2023-02-28 15:10:41 +03:00
Utku Ozdemir
f55f5df739
feat: move dashboard package & run it in tty2
Move dashboard package into a common location where both Talos and talosctl can use it.

Add support for overriding stdin, stdout, stderr and ctt in process runner.

Create a dashboard service which runs the dashboard on /dev/tty2.

Redirect kernel messages to tty1 and switch to tty2 after starting the dashboard on it.

Related to siderolabs/talos#6841, siderolabs/talos#4791.

Signed-off-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
2023-02-28 12:00:25 +01:00
Andrey Smirnov
609d3a8a69
feat: support strategic merge patches on VLAN configuration
Fixes #6884

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-02-27 14:03:11 +04:00
Andrey Smirnov
36ab414a1d
docs: fix the endpoints in the libvirt guide
See #6864

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-02-21 15:00:05 +04:00
Dmitriy Matrenichev
3d55bd80f4
fix: add --force flag to talosctl gen config
Only overwrite existing files if explicitly demanded.

Closes #6847

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2023-02-20 23:44:00 +03:00
Serge Logvinov
660b8874da
feat: cmdline integer netmask
Can set netmask as number.

Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-02-20 20:55:56 +04:00
Noel Georgi
1e3daacc48
docs: update nvidia component versions
Update NVIDIA component versions.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2023-02-17 20:03:17 +05:30
Andrey Smirnov
6e8f13529c
fix: add support for a fallback '*' mirror configuration
Talos always supported that, but CRI config lacked support for it.

Now with recent containerd the new `_default` host is used as a
fallback, so this re-enables the support and updates the docs.

See https://github.com/containerd/containerd/pull/8065

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-02-16 23:12:13 +04:00
Noel Georgi
ed5af3f780
chore: bump deps
Bump Go to 1.20.1
Bump containerd to 1.6.18
Bump kernel to 6.1.12
Bump go deps and enable renovate updates for markdown lint tools.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2023-02-16 19:08:57 +05:30
Andrey Smirnov
da2edb9de0
chore: bump dependencies
CoreDNS: v1.10.1

And many other small bumps.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-02-15 17:29:15 +04:00
budimanjojo
34ab0007a6
docs: port is needed for wireguard endpoint
Example of `wireguard.peers[].endpoint` is wrong

Signed-off-by: budimanjojo <budimanjojo@gmail.com>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2023-02-13 12:10:17 +05:30
Steffen Windoffer
0c6c888745
fix: trackable action flag usage text. --no-wait does not exist
--wait gets set to true

Signed-off-by: Steffen Windoffer <steffen@wind0r.de>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-02-06 15:26:38 +04:00
Sander Maijers
bdc53ac254
docs: add hyperlink to Docker API docs about config.json
This reduces time needed to navigate docs.

Signed-off-by: Sander Maijers <3374183+sanmai-NL@users.noreply.github.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-01-30 23:10:03 +04:00
Steve Francis
2b6b6deacd
docs: simplify and clarify digital ocean docs
Update Talos install guide for the Digital Ocean cloud platform.

Signed-off-by: Steve Francis <steve.francis@talos-systems.com>
Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2023-01-27 10:13:05 +01:00
Andrey Smirnov
92bc15f7f1
release(v1.4.0-alpha.1): prepare release
This is the official v1.4.0-alpha.1 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-01-25 22:16:25 +04:00
Utku Ozdemir
2d136f1879
feat: set markdown and html descriptions in config json schema
Set the additional description fields for vscode/monaco/jetbrains editors.

Strip the markdown formatting from the plain description.

Additionally, fix the description of the field `aescbcEncryptionSecret`.

Related to siderolabs/talos#6705.

Signed-off-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
2023-01-23 23:45:47 +01:00
Utku Ozdemir
ae83b10ae8
feat: create JSON schema for v1alpha1.Config
Extend `docgen` tool to generate a JSON schema for `v1alpha1.Config` if a new optional cli arg is provided.

Extend the YAML-structured code comments on config fields to allow overriding the generated schema.

Add custom schemas for complex types.

Related to siderolabs/talos#6705.

Signed-off-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
2023-01-20 15:39:46 +01:00
Andrey Smirnov
703d965951
feat: update Kubernetes to 1.26.1, etcd to 3.5.7
See:

* https://github.com/etcd-io/etcd/releases/tag/v3.5.7
* https://github.com/kubernetes/kubernetes/releases/v1.26.1

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-01-20 15:41:55 +04:00
Steve Francis
965e645915
docs: update to use talosctl install script
Signed-off-by: Steve Francis <steve.francis@talos-systems.com>

Replaced multiple curl examples to get the correct talosctl with a curl that executes the install script.
2023-01-20 12:07:00 +01:00
Dmitriy Matrenichev
8e9fc13d7c
feat: implement enum generator for proto files
`structprotogen` now supports generating enums directly instead of using predeclared file and hardcoded types. To use this functionality, simply put `structprotogen:gen_enum` in the comment above const block, you want to have the proto definitions for.

Closes #6215

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2023-01-11 16:02:21 +03:00
Cees-Jan Kiewiet
771b0dc061
docs: update left over rpi_4 ref to rpi_generic
While following this guide I found that one reference to rpi_4 wasn't
updated to rpi_generic yet, this commit fixes that.

Signed-off-by: Cees-Jan Kiewiet <ceesjank@gmail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-01-11 15:57:55 +04:00
Andrey Smirnov
96629d5ba6
feat: implement etcd maintenance commands
This allows to safely recover out of space quota issues, and perform
degragmentation as needed.

`talosctl etcd status` command provides lots of information about the
cluster health.

See docs for more details.

Fixes #4889

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2023-01-03 23:25:28 +04:00
Tim Jones
c6cb36cc1f
docs: fix auditpolicy example typo
Fixes a simple typo in the Whats New auditPolicy example.

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2022-12-29 18:07:38 +01:00
Murtaza Udaipurwala
ba8265bc5c
feat: new talosctl config remove to remove context
Adds a new sub-command to talosctl config. It takes in the context to be
deleted as argument and supports glob matching.

A local flag --noconfirm|-y can be passed to bypass the confirmation
prompt.

It also supports dry run by passing the --dry-run flag similar to
apply-config and edit commands.

Example:

    $ talosctl config remove 'ctx-*'
    Remove context ctx-a? (y/N): y
    Remove context ctx-b? (y/N): y

Signed-off-by: Murtaza Udaipurwala <murtaza@murtazau.xyz>
Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2022-12-29 13:39:12 +03:00
Andrey Smirnov
89dbb0ecf0
release(v1.4.0-alpha.0): prepare release
This is the official v1.4.0-alpha.0 release.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-12-23 22:32:09 +04:00
Andrey Smirnov
3c6cce5fe4
docs: update last release for Talos 1.2.x
Update support matrix, as Talos 1.3.0 got released.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-12-20 22:43:16 +04:00
Noel Georgi
703624c43d
docs: fix the 1.3 release date
Fix 1.3 release date.

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-12-20 19:25:22 +05:30
Noel Georgi
386c9293a3
docs: update nvidia-container-runtime version
Update nvidia-container-runtime version to v1.11.0

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-12-19 21:21:46 +05:30
Rowan Smith
97bef7c47b
docs: vsphere.sh > vmware.sh
The docs at https://www.talos.dev/v1.3/talos-guides/install/virtualized-platforms/vmware/ mentions

>Download the vmware.sh script to your local machine. You can do this by issuing curl -fsSLO "https://raw.githubusercontent.com/siderolabs/talos/master/website/content/v1.3/talos-guides/install/virtualized-platforms/vmware/vmware.sh".

But the command example refers to it as `vsphere.sh`. This changes it to `vmware.sh`

Signed-off-by: Rowan Smith <86935689+rowansmithhc@users.noreply.github.com>
Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-12-19 18:52:18 +05:30
Steve Francis
b7763843af
feat: add install script that improves talosctl installation user experience
This install script detects the platform and architecture, and downloads the correct talosctl, and checks the gpg checksums.
It also installs and chmods the binary.

Signed-off-by: Andrew Rynhard <andrew@rynhard.io>
2022-12-15 11:13:13 -08:00
Andrey Smirnov
afc45ad632
docs: mark Talos 1.3 docs as default
Just in time for Talos 1.3.0.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-12-15 17:04:36 +04:00
Andrey Smirnov
40761e17db
docs: fork docs for Talos 1.4
Start new docs for v1.4.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-12-14 22:43:56 +04:00
Andrey Smirnov
474604cd27
docs: update documentation for Talos 1.3
This provides What's New, updates documentation with new features,
clarifications and fixes.

I added also simple bare-metal stubs for ISO and PXE methods.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-12-14 22:01:55 +04:00
Andrey Smirnov
63c17104c5
feat: update Kubernets to 1.26.0
See https://github.com/kubernetes/kubernetes/releases/tag/v1.26.0

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-12-09 18:13:35 +04:00