feat(talosctl,omni): forks of the MIT talos-node and omni extensions with a volumes method #1

Merged
beddari merged 2 commits from talos-omni into main 2026-09-19 13:28:49 +00:00
Owner

Two forks: dataverket/talosctl (from magistr/talos-node: typed, nodes as a target list, reset can wipe only named partitions, volumes) and dataverket/omni (from mccormick/omni, the same volumes method through the Omni proxy). Both MIT with upstream notices kept, quality 100, dry-run publish passes, verified end to end against dataverket-prod. The second commit folds in an adversarial code review. Not published to the registry yet.

Two forks: dataverket/talosctl (from magistr/talos-node: typed, nodes as a target list, reset can wipe only named partitions, volumes) and dataverket/omni (from mccormick/omni, the same volumes method through the Omni proxy). Both MIT with upstream notices kept, quality 100, dry-run publish passes, verified end to end against dataverket-prod. The second commit folds in an adversarial code review. Not published to the registry yet.
Both upstream extensions are MIT; the copyright notices stay in each
LICENSE.md. @dataverket/talosctl/node is @magistr/talos-node typed, with
nodes as a first-class target list, reset able to wipe only named
partitions (EPHEMERAL), and volumes: disks, partitions by label,
unallocated space and /var usage of every node. @dataverket/omni/inventory
is @mccormick/omni with the same volumes method through Omni's Talos proxy,
minting a temporary service-account talosconfig. Same volumeLayout shape on
both, so a lab cluster on plain talosctl and the Omni fleet are queried the
same way. Verified against dataverket-prod from source; not yet published.
Instance names are spec-prefixed and sanitized on both models (volume-,
etcd-, service-, version-), so methods no longer overwrite each other's
data and both extensions name a layout the same way. The omni logger call
is warning(), which is what the runtime provides. talosctl gains an
optional vault-fed serviceAccountKey for Omni-issued talosconfigs, passes it
through the environment and redacts it from errors; with an explicit nodes
list no --endpoints is emitted, so Omni's proxy is not bypassed. Retries
sleep abortably, are configurable (retryDelayMs, 0 in tests) and no longer
apply to health, whose own timeout text looked transient; every method
passes the cancellation signal. A node with no disk records, no STATE or no
usage row is skipped with a warning instead of written as an empty disk,
and unlabeled partitions count toward allocated space. Subprocesses get a
cleared environment plus an allow-list. omni reuses one JSON parser, labels
talosctl errors by subcommand, and a test fails when its layout copy drifts
from talosctl/layout.ts. License notices on separate lines; README counts
four reads.
beddari deleted branch talos-omni 2026-09-19 13:28:49 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
dataverket/swamp-extensions!1
No description provided.