Skip to main content

Omnictl

@dataverket/omnictlv2026.09.20.1· 1d agoMODELS
01README

Sidero Omni for swamp, through omnictl. Two model types, two roles. @dataverket/omnictl/inventory reads: discover writes one node per managed machine (hardware, network, Talos version, cluster role, connection and readiness), one cluster per cluster and a summary; talosconfig mints one cluster's admin talosconfig for the service account and stores it with the cluster's node IPs, which is everything @dataverket/talosctl/node needs to reach the machines through Omni's proxy; joinTokens lists the join tokens by fingerprint, state and use. A Reader service account. @dataverket/omnictl/cluster writes: applyPatch creates or updates a ConfigPatch scoped to a machine, a machine set or a cluster; addMachine puts a machine into a machine set by its MachineSetNode; removeMachine is omnictl cluster machine delete, which drains, wipes and waits; forgetMachine deletes the machine's SideroLink Link once it is out of every cluster. Every apply takes dryRun. An Operator service account, on its own model instance with its own vault key. Forked from @mccormick/omni (MIT) as @dataverket/omni; renamed after the CLI it wraps. The key comes from a vault, is marked sensitive, and is redacted from logs and errors.

02Models2
@dataverket/omnictl/inventoryv2026.09.20.1inventory.ts
fn joinTokens()
List Omni's join tokens as joinToken resources: which is default, which are revoked or expired, and how many machines each has joined. The token itself is never stored, only a SHA-256 fingerprint. Read-only against Omni.
fn discover()
Query Omni for every managed Talos machine and cluster and write
fn talosconfig(cluster: string)
Mint one cluster's admin talosconfig for the service account and store it with the cluster's node IPs as a talosconfig resource. The config names an identity and Omni's proxy, no key; nothing is written to ~/.talos/config. Read-only against Omni.
ArgumentTypeDescription
clusterstringOmni cluster name

Resources

node(30d)— An Omni-managed Talos machine
cluster(30d)— A Talos cluster managed by Omni
summary(30d)— Roll-up of one Omni inventory run
talosconfig(30d)— How to reach one cluster: its admin talosconfig for the service account and its machines' node IPs; a talosctl model takes both by CEL. The config carries an identity, not a key
joinToken(30d)— One Omni join token: name, state, default flag, how many machines joined with it, expiry. A fingerprint stands in for the token
@dataverket/omnictl/clusterv2026.09.20.1cluster.ts
fn applyPatch(data: string, machineSet?: string, cluster?: string, dryRun: boolean)
Create or update a ConfigPatch scoped to one machine (before or after it joins), a machine set, or a cluster; read it back and store it. dryRun validates only.
ArgumentTypeDescription
datastringTalos machine config patch, YAML text
machineSet?stringScope the patch to a machine set; needs cluster
cluster?stringScope the patch to a cluster, or name the machine set's cluster
dryRunbooleanValidate with omnictl and change nothing
fn addMachine(cluster: string, machineSet: string, dryRun: boolean)
Add a machine to a machine set by creating its MachineSetNode, which is what the Omni UI does; Omni then installs Talos with every patch in scope. dryRun validates only.
ArgumentTypeDescription
clusterstringCluster name
machineSetstringMachine set id, e.g. <cluster>-workers
dryRunbooleanValidate with omnictl and change nothing
fn removeMachine(timeout: string)
Remove a machine from its cluster with omnictl cluster machine delete: Omni drains it, wipes it and returns it to the pool; waits up to timeout. Refuses a machine that is in no machine set. Never forces.
ArgumentTypeDescription
timeoutstringHow long omnictl waits for the drain and wipe
fn forgetMachine()
Delete a machine's SideroLink Link so Omni forgets it. Refuses while the machine is still in a cluster, and is a no-op when Omni already has no such machine. Do this after the machine itself is gone, or a running machine re-registers.

Resources

configPatch(infinite)— A Talos config patch in Omni, scoped to a machine, a machine set or a cluster
machineSetNode(infinite)— A machine's membership of an Omni machine set
03Stats
A
100 / 100
Downloads
0
Archive size
27.7 KB
  • 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
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License declared1/1earned
  • Verified public repository2/2earned
04Platforms
05Labels