Talosctl
Talos Linux machines for swamp, through talosctl, with or without Omni.
One model type, @dataverket/talosctl/node, targets one or many nodes: version, services, etcd members and status, service logs, top processes, the cluster kubeconfig, apply and patch machine config, bootstrap, reboot, shutdown, reset (whole system disk or only named partitions such as EPHEMERAL), upgrade, and the cluster health check. Every method but health takes nodes, a subset of the definition's targets, so a fleet definition can reboot one machine; etcd and health go only to control planes. volumes reads every node's disks, partitions by label, unallocated space on the system disk and how full EPHEMERAL is, in one execution, so a plan for user volumes starts from measured numbers.
Forked from @magistr/talos-node (MIT) and typed. For an Omni-managed fleet, @dataverket/omni supplies the node addresses and a minted talosconfig as data; this model takes the config as content (talosconfigContent) and speaks to the machines through Omni's proxy, so a lab cluster on plain talosctl and a managed one share one code path. A definition names its own context (talosContext) and its own Omni key, either as a file read at call time (serviceAccountKeyFile) or as a vaulted value (serviceAccountKey), so nothing depends on which context was selected last.
Global Arguments
| Argument | Type | Description |
|---|---|---|
| endpoint? | string | Talos API endpoint (--endpoints); also the default node. Leave unset with an Omni talosconfig |
| nodes? | array | Node addresses the methods target (--nodes); defaults to [endpoint] |
| talosconfig? | string | Path to a talosconfig; defaults to talosctl's own lookup |
| talosContext? | string | Context in the talosconfig to use (--context), e.g. the cluster's name; without it talosctl uses the config's current context, which is whatever was selected last |
| talosconfigContent? | string | A talosconfig\ |
| insecure? | boolean | Use --insecure (maintenance mode, no client certificate) |
| talosctlPath? | string | Path to the talosctl binary; override when it is not on PATH |
| serviceAccountKeyFile? | string | Path to a file holding the Omni service-account key, read at call time, e.g. ~/.talos/omni/<name>.key, for a key an operator's session writes and rotates; the path is not a secret, so the definition carries no value |
| serviceAccountKey? | string | Omni service-account key for an Omni-issued talosconfig (OMNI_SERVICE_ACCOUNT_KEY) as a value, for a key the process owns; supply via a vault expression. Mutually exclusive with serviceAccountKeyFile |
| retryDelayMs? | number | Pause between retries of transient API errors |
| Argument | Type | Description |
|---|---|---|
| service | string | Talos service or container log, e.g. etcd, kubelet, apid |
| tail? | number | How many of the newest lines to read |
| match? | string | Regular expression; only matching lines are counted as matched and kept |
| sinceSeconds? | number | Count only lines whose own timestamp is this recent; lines without one are counted |
| keep? | number | How many of the newest matching lines to store |
| Argument | Type | Description |
|---|---|---|
| sort? | enum | |
| top? | number |
| Argument | Type | Description |
|---|---|---|
| configFile | string | Path to the machine config YAML file |
| mode? | enum | |
| insecure? | boolean | Override the global insecure flag (maintenance mode) |
| Argument | Type | Description |
|---|---|---|
| mode? | enum |
| Argument | Type | Description |
|---|---|---|
| force? | boolean |
| Argument | Type | Description |
|---|---|---|
| graceful? | boolean | Cordon, drain and leave etcd first |
| reboot? | boolean | Reboot after the reset instead of shutting down |
| systemLabelsToWipe? | array | Wipe only these system partitions (e.g. [EPHEMERAL]); keeps STATE and the config |
| Argument | Type | Description |
|---|---|---|
| image | string | Installer image, e.g. ghcr.io/siderolabs/installer:v1.14.1 |
| preserve? | boolean | Preserve ephemeral data |
| Argument | Type | Description |
|---|---|---|
| patchFile | string | Path to the YAML patch file |
| mode? | enum |
| Argument | Type | Description |
|---|---|---|
| node? | string | The control plane to run the check from; must be one of the targets |
| waitTimeout? | string | How long to wait for the check to pass, e.g. 30s, 2m |
Resources
Modified 1 behaviors
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Docs keep secrets in a vault1/1earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License2/2earned
- Verified public repository2/2earned