628 Commits

Author SHA1 Message Date
Utku Ozdemir
8d2be5e315
feat: extend node definition used in health checks
Introduce `cluster.NodeInfo` to represent the basic info about a node which can be used in the health checks. This information, where possible, will be populated by the discovery service in following PRs. Part of siderolabs#5554.

Signed-off-by: Utku Ozdemir <utku.ozdemir@siderolabs.com>
2022-06-13 14:13:42 +02:00
Philipp Sauter
7a11b4def7
fix: make talosctl bootstrap accept only single node
Previously talosctl would accept multiple nodes for the bootstrap
command which is a strictly single-node operation. Talosctl will abort
the bootstrap command if more than one node is specified either as a
command-line flag or in talosconfig.

Fixes #5636

Signed-off-by: Philipp Sauter <philipp.sauter@siderolabs.com>
2022-06-10 22:27:15 +02:00
Andrey Smirnov
da2985fe1b
fix: respect local API server port
It wasn't used when building an endpoint to the local API server, so
Talos couldn't talk to the local API server when port was changed from
the default one.

Fixes #5706

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-06-09 00:33:49 +04:00
Andrey Smirnov
e03266667f
fix: correctly validate reboot mode in CLI
This fixes an issue when invalid `--mode` option was treated as a
default mode.

Fixes #5712

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-06-08 23:45:04 +04:00
Dmitriy Matrenichev
70fc424099
chore: add generic methods and use them
Things like ToSet, Keys etc...

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2022-06-09 02:59:23 +08:00
Noel Georgi
3ae8bdd92e
chore: run xfs_repair on xfs filesystem returing EUCLEAN
Run `xfs_repair` on XFS filesystems that needs repairing indicated by
the `unix.EUCLEAN` error when mounting

Fixes #5319
Fixes #5437

Signed-off-by: Noel Georgi <git@frezbo.dev>
2022-06-08 23:59:15 +05:30
Andrey Smirnov
fe858041bd
feat: enable version API in maintenance mode
Version API is only available over SideroLink connection.

This is useful to find Talos version as it got booted (e.g. to generate
proper machine configuration).

There's a security concern that version API might return sensitive
information via public API. At the same time Talos version can be
guessed by looking at the output of other APIs, e.g. resource type list
(`talosctl get rd`), which changes with every minor version.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-05-26 21:47:10 +04:00
Andrey Smirnov
af5ac30a7b
feat: enable passing custom kernel args to the ISO creator
Instead of hardcoded `grub.cfg`, use common code to generate list of
kernel arguments and allow using `--extra-kernel-arg` as well.

Before the change:

```
linux /boot/vmlinuz init_on_alloc=1 slab_nomerge pti=on panic=0 consoleblank=0 printk.devkmsg=on earlyprintk=ttyS0 console=tty0 console=ttyS0 talos.platform=metal
```

New (default line):

```
linux /boot/vmlinuz talos.platform=metal earlyprintk=ttyS0 console=ttyS0 console=tty0 init_on_alloc=1 slab_nomerge pti=on consoleblank=0 nvme_core.io_timeout=4294967295 random.trust_cpu=on printk.devkmsg=on ima_template=ima-ng ima_appraise=fix ima_hash=sha512
```

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-05-25 18:26:44 +04:00
Andrey Smirnov
3f88030ca7
test: use use correct method to generate Wireguard private key
`GenerateKey` generates random 32 bytes vs. the key suitable for
Wireguard endpoint key.

This is the only place in code with this bug, and it is only used in
test code (`talosctl cluster create` with fixed Wireguard
configuration).

SideroLink and Kubespan are not affected.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-05-24 23:18:23 +04:00
Tim Jones
4551cbd7fc
fix: cluster creation error message formatting
Use "%w" to properly unwrap the error operand

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2022-05-24 18:12:33 +02:00
Tim Jones
bafa1f49d4
fix: improve error message when creating cluster
Add extra context to error message when unable to properly
open the talos config file when creating a cluster.

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2022-05-24 13:40:15 +02:00
Philipp Sauter
b52e0b9b9e
fix: talosctl throws error if gen option and --input-dir flags are combined
The user will get an error message and talosctl aborts if `talosctl cluster create` is called with gen options and the --input-dir flag.

Fixes #2275

Signed-off-by: Philipp Sauter <philipp.sauter@siderolabs.com>
2022-05-04 16:18:03 +02:00
Artem Chernyshev
2b03057b91
feat: implement a new mode try in the config manipulation commands
The new mode allows changing the config for a period of time, which
allows trying the configuration and automatically rolling it back in case
if it doesn't work for example.

The mode can only be used with changes that can be applied without a
reboot.

When changed it doesn't write the configuration to disk, only changes it
in memory.
`--timeout` parameter can be used to customize the rollback delay.
The default timeout is 1 minute.

Any consequent configuration change will abort try mode and the last
applied configuration will be used.

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2022-04-21 20:31:45 +03:00
Andrey Smirnov
23984efcdf
fix: detect lingering mounts in the installer correctly
Not sure how and when it got broken, but we're looking for mounts for
the blockdevice (like `/dev/vda`), while the actual mount info contains
the partition device (like `/dev/vda6`).

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-19 21:18:40 +03:00
Andrey Smirnov
68dfdd3311
fix: provide logger to the etcd snapshot restore
With update of the client library to 3.5.3, etcd library started using
the logger, so using `nil` isn't fine anymore.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-19 15:16:33 +03:00
Artem Chernyshev
2b9722d1f5
feat: add dry-run flag in apply-config and edit commands
Dry run prints out config diff, selected application mode without
changing the configuration.

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2022-04-14 19:12:57 +03:00
Andrey Smirnov
8af50fcd27
fix: correct cri package import path
Containerd CRI plugin was merged into the main repo, but we were using
old import path, so our constants coming from the module were outdated.

This fixes the image version for the pause container.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-14 16:27:45 +03:00
Andrey Smirnov
19bf12af07
fix: enable IPv6 in Docker-based Talos clusters
Docker by default disable IPv6 completely in the containers which breaks
SideroLink on Docker-based clusters, as SideroLink is using IPv6
addresses for the Wiregurard tunnel.

This change might break `talosctl cluster create` on host systems which
have IPv6 disabled completely, so provide a flag to revert this
behavior.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-04-01 20:28:12 +03:00
Tim Jones
eeb756168f
feat: use kexec when resetting a node
In the case of a node being reset, using kexec greatly
speeds up the process. However, in the event the boot
partition is wiped, a full reboot is required.
Closes #4670

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2022-04-01 10:49:37 +02:00
Tim Jones
95d900de77
feat: use kubeconfig env var
When interating with the kubeconfig it can be
expected that a user may have the KUBECONFIG
environment variable set, so we need to use
it when appropriate.
Closes #5091

Signed-off-by: Tim Jones <tim.jones@siderolabs.com>
2022-03-31 15:30:26 +02:00
Andrey Smirnov
12931dcedd
fix: align partitions on 1M boundary
Potentially fixes: #4985

See siderolabs/go-blockdevice#58 for details.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-31 14:36:13 +03:00
Dmitriy Matrenichev
b315ed9532
chore: use go:embed instead of ldflags
Generate separate file for each variable and assign them during go build using go:embed instead of using ldflags -X.

Resolves #5138

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2022-03-30 18:15:48 +04:00
Andrey Smirnov
7283efd568
chore: update the talosctl CNI download url
There was hardcoded org/username.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-24 15:08:05 +03:00
Dmitriy Matrenichev
e06e1473b0
feat: update golangci-lint to 1.45.0 and gofumpt to 0.3.0
- Update golangci-lint to 1.45.0
- Update gofumpt to 0.3.0
- Fix gofumpt errors
- Add goimports and format imports since gofumports is removed
- Update Dockerfile
- Fix .golangci.yml configuration
- Fix linting errors

Signed-off-by: Dmitriy Matrenichev <dmitry.matrenichev@siderolabs.com>
2022-03-24 08:14:04 +04:00
Nico Berlee
6bec084299
feat: add talosctl completions to copy, usage, logs, restart and service
talosctl copy: path completion of src node path, dst client path was done by default
talosctl usage: directory completion of node path
talosctl logs: service completion
talosctl restart: running container/pod completion
talosctl service: service and action completion

Signed-off-by: Nico Berlee <nico.berlee@on2it.net>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-16 13:33:06 +03:00
Andrey Smirnov
f448cb4f3c
feat: bump boot partition size to 1000 MiB
With system extensions, size of the `initramfs` might increase
significantly. With 1000 MiB `/boot`, as we store `A` and `B` boot
directories, we have 500 MiB for each Talos boot (size of the kernel and
initramfs).

Fixes #5096

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-10 16:52:07 +03:00
Andrey Smirnov
59681b8c9a
fix: backport fixes from release-1.0 branch
They were discovered as we tagged 1.0.0 version:

* wrong deprecated version
* incompatibility in extension compatibility checks

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-04 23:28:06 +03:00
Artem Chernyshev
a50747a64a
fix: align list and diskusage command flags with their Linux analogs
Fixes: https://github.com/talos-systems/talos/issues/3018

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2022-03-02 22:27:56 +03:00
Andrey Smirnov
09efa62f68
chore: re-enable kexec and default to UEFI booting in tests
Fixes #4947

It turns out there's something related to boot process in BIOS mode
which leads to initramfs corruption on later `kexec`.

Booting via GRUB is always successful.

Problem with kexec was confirmed with:

* direct boot via QEMU
* QEMU boot via iPXE (bundled with QEMU)

The root cause is not known, but the only visible difference is the
placement of RAMDISK with UEFI and BIOS boots:

```
[    0.005508] RAMDISK: [mem 0x312dd000-0x34965fff]
```

or:

```
[    0.003821] RAMDISK: [mem 0x711aa000-0x747a7fff]
```

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-03-02 21:52:18 +03:00
Andrey Smirnov
b7a1e04310
chore: don't append initrd= to the kernel command line
I believe it serves no purpose in GRUB config: GRUB pre-loads
`initramfs` into memory anyways, so kernel doesn't need to know, nor has
now way to load it from anywhere.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-18 17:04:16 +03:00
Utku Ozdemir
4d5cd66538
feat: add new grub parser and descriptive grub menu entries
Rewrite the grub config parser code, allow to have descriptive Grub entries.
Remove old syslinux bootloader.

Fixes talos-systems/talos#4914

Signed-off-by: Utku Ozdemir <uoz@protonmail.com>
2022-02-18 14:47:17 +03:00
Andrey Smirnov
6ccfdbaf1b
fix: avoid replacing default gRPC codec in machinery
Fixes #4987

As machinery is supposed to be widely used project, and gRPC lacks
proper support to override default codec easily, it might come into
conflict with other projects.

Instead, move codec to core talos, and register it explicitly in the
server code (which covers machined, apid, trustd) and client code
(talosctl).

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-18 00:39:41 +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
df0e388a4f
feat: extract firmware part of system extensions into initramfs
Fixes #4816

This changes the way system extensions are packaged into the squashfs
images: `/lib/firmware` is now moved out of the future squashfs images
and becomes part of `initramfs` to make firmware available in the early
boot.

Talos will bind-mount `/lib/firmware` into rootfs as well, so it will be
available in the rootfs as well.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-09 22:58:45 +03:00
Tim Jones
fe40e7b1b3
feat: drain node on shutdown
Cordon & drain a node when the Shutdown message is received.
Also adds a '--force' option to the shutdown command in case the control
plane is unresponsive.

Signed-off-by: Tim Jones <timniverse@gmail.com>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-02-01 00:06:32 +03:00
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
Florian Klink
4245f72d3f
feat: add --extra-uefi-search-paths option
This allows specifying additional paths to look for UEFI firmware.

Signed-off-by: Florian Klink <flokli@flokli.de>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-27 19:55:36 +03:00
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
Artem Chernyshev
ebec5d4a0c
feat: support full disk path in the diskSelector
Fixes: https://github.com/talos-systems/talos/issues/4788

Signed-off-by: Artem Chernyshev <artem.chernyshev@talos-systems.com>
2022-01-27 15:23:00 +03:00
Andrey Smirnov
b3c3ef29bd
feat: install system extensions
Fixes #4815

This implements the following steps:

* machine configuration updates
* pulling and unpacking system extension images
* validating, listing system extensions
* re-packing system extensions
* preserving installed extensions in `/etc/extensions.yaml`

Once extension is enabled, raw information can be queried with:

```
$ talosctl -n 172.20.0.2 cat /etc/extensions.yaml
layers:
    - image: 000.ghcr.io-smira-gvisor-c927b54-dirty.sqsh
      metadata:
        name: gvisor
        version: 20220117.0-v1.0.0
        author: Andrew Rynhard
        description: |
            This system extension provides gVisor using containerd's runtime handler.
        compatibility:
            talos:
                version: '> v0.15.0-alpha.1'
```

This was tested with the `gvisor` system extension.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2022-01-26 16:24:28 +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
2f4b9d8d6d
feat: make machine configuration read-only in Talos (almost)
Talos shouldn't try to re-encode the machine config it was provided
with.

So add a `ReadonlyWrapper` around `*v1alpha1.Config` which makes sure
that raw config object is not available anymore (it's a private field),
but config accessors are available for read-only access.

Another thing that `ReadonlyWrapper` does is that it preserves the
original `[]byte` encoding of the config keeping it exactly same way as
it was loaded from file or read over the network.

Improved `talosctl edit mc` to preserve the config as it was submitted,
and preserve the edits on error from Talos (previously edits were lost).

`ReadonlyWrapper` is not used on config generation path though - config
there is represented by `*v1alpha.Config` and can be freely modified.

Why almost? Some parts of Talos (platform code) patch the machine
configuration with new data. We need to fix platforms to provide
networking configuration in a different way, but this will come with
other PRs later.

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-28 20:12:55 +03:00
Andrey Smirnov
f235cfbaed
fix: multiple usability fixes
Add `cat` alias for `talosctl read`, I always end up writing
`talosctl cat`.

Improve error messages for APIs available only on control plane nodes:

was:

```
$ talosctl -n 172.20.0.5 kubeconfig
rpc error: code = Unknown desc = error getting Kubernetes CA: failed to parse PEM block
error initializing gzip: EOF

$ talosctl -n 172.20.0.5 etcd members
error getting members: 1 error occurred:
	* 172.20.0.5: rpc error: code = Unknown desc = error building etcd client TLS config: open /system/secrets/etcd/admin.crt: no such file or directory
```

now:

```
$ talosctl -n 172.20.0.6 kubeconfig
rpc error: code = Unimplemented desc = kubeconfig is only available on control plane nodes
error initializing gzip: EOF

$ talosctl -n 172.20.0.6 etcd remove-member foo
1 error occurred:
	* 172.20.0.6: rpc error: code = Unimplemented desc = etcd remove member is only available on control plane nodes
```

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-27 17:41:33 +03:00
Noel Georgi
cff1ff6d5c
feat: shell completion for list, read
Add shell completions for `list` and `read`

Signed-off-by: Noel Georgi <git@frezbo.dev>
2021-12-23 22:29:32 +05:30
Andrey Smirnov
acf1ac0f1a
feat: show human-readable aliases in talosctl get rd
Sample:

```
ID                                                ALIASES
addressspecs.net.talos.dev                        addressspec as
addressstatuses.net.talos.dev                     address addresses addressstatus as
affiliates.cluster.talos.dev                      affiliate
apicertificates.secrets.talos.dev                 apicertificate ac acs
certsans.secrets.talos.dev                        certsan csan csans
cpustats.perf.talos.dev                           cpustat cpus
discoveryconfigs.cluster.talos.dev                discoveryconfig dc dcs
endpoints.kubernetes.talos.dev                    endpoint
etcdrootsecrets.secrets.talos.dev                 etcdrootsecret ers
etcdsecrets.secrets.talos.dev                     etcdsecret es
etcfilespecs.files.talos.dev                      etcfilespec efs
etcfilestatuses.files.talos.dev                   etcfilestatus efs
hardwareaddresses.net.talos.dev                   hardwareaddress ha has
hostnamespecs.net.talos.dev                       hostnamespec hs
hostnamestatuses.net.talos.dev                    hostname hostnamestatus hs
identities.cluster.talos.dev                      identity
kernelparamdefaultspecs.runtime.talos.dev         kernelparamdefaultspec kpds
kernelparamspecs.runtime.talos.dev                kernelparamspec kps
kernelparamstatuses.runtime.talos.dev             sysctls kernelparameters kernelparams kernelparamstatus kps
kubeletconfigs.kubernetes.talos.dev               kubeletconfig kc kcs
kubeletsecrets.secrets.talos.dev                  kubeletsecret ks
kubeletspecs.kubernetes.talos.dev                 kubeletspec ks
kubernetescontrolplaneconfigs.config.talos.dev    kubernetescontrolplaneconfig kcpc kcpcs
kubernetesrootsecrets.secrets.talos.dev           kubernetesrootsecret krs
kubernetessecrets.secrets.talos.dev               kubernetessecret ks
kubespanconfigs.kubespan.talos.dev                kubespanconfig ksc kscs
kubespanendpoints.kubespan.talos.dev              kubespanendpoint kse kses
kubespanidentities.kubespan.talos.dev             kubespanidentity ksi ksis
kubespanpeerspecs.kubespan.talos.dev              kubespanpeerspec ksps
kubespanpeerstatuses.kubespan.talos.dev           kubespanpeerstatus ksps
linkrefreshes.net.talos.dev                       linkrefresh lr lrs
linkspecs.net.talos.dev                           linkspec ls
linkstatuses.net.talos.dev                        link links linkstatus ls
machineconfigs.config.talos.dev                   machineconfig mc mcs
machinetypes.config.talos.dev                     machinetype mt mts
manifests.kubernetes.talos.dev                    manifest
manifeststatuses.kubernetes.talos.dev             manifeststatus ms
members.cluster.talos.dev                         member
memorystats.perf.talos.dev                        memorystat ms
mountstatuses.runtime.talos.dev                   mounts mountstatus ms
namespaces.meta.cosi.dev                          ns namespace
networkstatuses.net.talos.dev                     netstatus netstatuses networkstatus ns
nodeaddresses.net.talos.dev                       nodeaddress na nas
nodeaddressfilters.net.talos.dev                  nodeaddressfilter naf nafs
nodeipconfigs.kubernetes.talos.dev                nodeipconfig nipc nipcs
nodeips.kubernetes.talos.dev                      nodeip nip nips
nodenames.kubernetes.talos.dev                    nodename
operatorspecs.net.talos.dev                       operatorspec os
osrootsecrets.secrets.talos.dev                   osrootsecret osrs
resolverspecs.net.talos.dev                       resolverspec rs
resolverstatuses.net.talos.dev                    resolvers resolverstatus rs
resourcedefinitions.meta.cosi.dev                 resourcedefinition rd rds
routespecs.net.talos.dev                          routespec rs
routestatuses.net.talos.dev                       route routes routestatus rs
secretstatuses.kubernetes.talos.dev               secretstatus ss
services.v1alpha1.talos.dev                       svc service
staticpods.kubernetes.talos.dev                   staticpod sp sps
staticpodstatuses.kubernetes.talos.dev            podstatus staticpodstatus sps
timeserverspecs.net.talos.dev                     timeserverspec tss
timeserverstatuses.net.talos.dev                  timeserver timeservers timeserverstatus tss
timestatuses.v1alpha1.talos.dev                   timestatus ts
```

Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-17 20:37:37 +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
Nico Berlee
dc9db21419
feat: autocomplete nodes, context and resource definitions
Makes `talosctl` autocomplete the most used dynamic positional parameters like resource definitions, IDs of resource definitions, and also values for arguments like `--nodes` and `--context`.

Signed-off-by: Nico Berlee <nico.berlee@on2it.net>
Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
2021-12-06 23:40:10 +03:00
Seán C McCord
1fc43619d2
docs: improve clarity for users
Improves documentation clarity for a few common sticking points.

Signed-off-by: Seán C McCord <ulexus@gmail.com>
2021-12-06 11:35:10 -05:00
Rohit Dandamudi
7f9922296a
feat: add powercycle mode in reboot
- Fixes #4569
- Updated reboot process sequence
- Updted api.descriptors to avoid proto type change linting error https://github.com/talos-systems/talos/pull/4612#discussion_r758599242
Signed-off-by: Rohit Dandamudi <rohit.dandamudi@siderolabs.com>

Signed-off-by: Rohit Dandamudi <rohit.dandamudi@siderolabs.com>
2021-12-02 22:40:04 +05:30