Skip to main content

net-mesh — unified command-line interface for the Net mesh

Project description

net-mesh-cli

net-mesh — the unified command-line interface for the NET mesh.

The non-interactive counterpart to net-deck: a one-shot tool for operator scripts, CI pipelines, daemon authoring, and ad-hoc cluster inspection. Same SDK underneath, same signed admin chain, no TUI.

net-mesh

Install

# pip
pip install net-mesh-cli

# uv
uv tool install net-mesh-cli

The wheel bundles the Rust net-mesh binary directly (built with maturin's bindings = "bin" mode) — pip install / uv tool install puts it on your $PATH with no compilation step and no Python shim layer.

Wheels are published for linux (glibc + musl, x86_64 + aarch64), macOS (x86_64 + aarch64), and Windows (x86_64 + aarch64). A source distribution is also published for any platform pip can't find a wheel for — that path needs a Rust toolchain.

Run

net-mesh --help

Subcommand surface

Subcommand What it does
version SDK version + build metadata.
identity Generate / inspect / fingerprint operator identity files.
admin Signed admin-chain commits — drain, cordon, maintenance, drop-replicas, etc.
ice Break-glass ICE — simulate then commit force-drain / evict / restart / cutover.
snapshot One-shot MeshOsSnapshot reads (and --watch for streaming).
audit Read-only queries against the RedEX-committed audit ledger.
log tail Substrate log stream (--follow, --daemon, --level).
failures tail Substrate failure stream — same shape as log tail.
cap Capability advertisement + discovery.
peer Peer + NAT-traversal helpers.
daemon Per-daemon listing from the local snapshot.
netdb NetDB local KV adapter — Cortex-backed tasks + memories.
subnet Hierarchical subnet inspection (show, ls, tree).
gateway SubnetGateway stats + export-table operator surface.
channel ChannelConfigRegistry inspection (visibility, ls).
aggregator AggregatorDaemon inspection + remote query.
completion Emit a shell-completion script (bash / zsh / fish / powershell).
man Emit the troff(1) man page on stdout.

Global flags

Applied to every subcommand; environment-variable fallbacks in brackets:

  • --config <path> [NET_MESH_CONFIG] — profile file (default $XDG_CONFIG_HOME/net-mesh/config.toml).
  • --profile <name> [NET_MESH_PROFILE] — named profile within the config file.
  • --output (json|yaml|ndjson|table|text) — auto-detects table/text on TTY and json/ndjson off-TTY.
  • --quiet / -q — suppress stderr diagnostics.
  • --verbose / -v-v info, -vv debug, -vvv trace. NET_MESH_LOG= env-filter overrides.
  • --no-color [NO_COLOR] — disable ANSI in table / text output.
  • --timeout <dur> — global per-call timeout (e.g. 500ms, 1h30m). Default 30s.

Config + identity

The profile file is optional — every flag has a sensible default. When present, it lives at $XDG_CONFIG_HOME/net-mesh/config.toml (or the platform equivalent) and looks like:

[default]
identity        = "~/.config/net-mesh/identity.toml"
endpoint        = "in-process"
default_timeout_ms = 30000

[profiles.prod]
identity   = "~/.config/net-mesh/ops-identity.toml"
node_addr  = "10.0.0.4:7700"
node_pubkey = "abcd…"      # 64 hex
psk_hex     = "1234…"      # 64 hex

Operator identity files are authored by net-mesh identity generate — ed25519 seed + public key + SHA-256 fingerprint, the same format the deck loads from the maintenance node. Every signed admin / ice command picks the identity up from the active profile (or --identity).

Exit codes

Typed via ExitCodeKind. Scripts can match on the discriminator:

  • 0 — success
  • 2 — usage / parse error
  • 3 — config / identity load failure
  • 4 — substrate refused the action (auth, ICE threshold, etc.)
  • 5 — timeout
  • 6 — transport error

License

Apache-2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

net_mesh_cli-0.26.0.tar.gz (5.8 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

net_mesh_cli-0.26.0-py3-none-win_arm64.whl (2.1 MB view details)

Uploaded Python 3Windows ARM64

net_mesh_cli-0.26.0-py3-none-win_amd64.whl (2.3 MB view details)

Uploaded Python 3Windows x86-64

net_mesh_cli-0.26.0-py3-none-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

net_mesh_cli-0.26.0-py3-none-musllinux_1_2_aarch64.whl (2.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

net_mesh_cli-0.26.0-py3-none-manylinux_2_28_x86_64.whl (2.4 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

net_mesh_cli-0.26.0-py3-none-manylinux_2_28_aarch64.whl (2.3 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

net_mesh_cli-0.26.0-py3-none-macosx_11_0_arm64.whl (2.1 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

net_mesh_cli-0.26.0-py3-none-macosx_10_12_x86_64.whl (2.3 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file net_mesh_cli-0.26.0.tar.gz.

File metadata

  • Download URL: net_mesh_cli-0.26.0.tar.gz
  • Upload date:
  • Size: 5.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for net_mesh_cli-0.26.0.tar.gz
Algorithm Hash digest
SHA256 f9bc6c42224927a0308c5f3d6b163d4960ca3ec71d40de33c1542fbc033d70a4
MD5 8c7a664d3bb704504f72fe2eac67bfac
BLAKE2b-256 2b1f4833fc8f8ad67a1a70358b3e8600107d3b5db45c2e423b5d2b614f6fb6fe

See more details on using hashes here.

File details

Details for the file net_mesh_cli-0.26.0-py3-none-win_arm64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.26.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 dcae94e07180ade647f9f4fc9bf579469e17229dff5e27b8f8df249e351a4de4
MD5 8606d5de8a371440faaa3640146fba2e
BLAKE2b-256 8e91c41126814343039bfedb5e93e8af94bf7a69b0139f017d6389ef1f37674f

See more details on using hashes here.

File details

Details for the file net_mesh_cli-0.26.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.26.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 0476d0ab62ad657442ae74dd5d1173056f25e044cf17efb693f78519a443f772
MD5 de43fdb8e06f796fc6fb0dc73049c5c7
BLAKE2b-256 d9accfe7c61db4aabcfc15db3b849ded6a7f066fed9adeccd2b8551182f03070

See more details on using hashes here.

File details

Details for the file net_mesh_cli-0.26.0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.26.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1b2d7092c3cfc7a08222ff1120f98fc435bebbd4f126b17d5fb4a650035e5d9b
MD5 308b1b042c060a07cc0757aefdf1a1c9
BLAKE2b-256 2e0170418ebfe8f0c60333a3f41b233b057f05019a067abc4bfb5e2f4c8840fb

See more details on using hashes here.

File details

Details for the file net_mesh_cli-0.26.0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.26.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 35c8fd12fce32e4c04e5943499190ec2cf874ea37dc872e56437444fd03b2115
MD5 d31ce4bb1c85bc0a10b28e492b4a83ad
BLAKE2b-256 c615301b279c68471da52a0262d7549d88ed5bd02b83c708299bd914da79d43d

See more details on using hashes here.

File details

Details for the file net_mesh_cli-0.26.0-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.26.0-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2fce108dcf585fd8c1b14d7955ab2aef9e98c409a6dba2b0e8ce19ee70748e1a
MD5 2e395501e9f6a8191f52a536a7c24a5b
BLAKE2b-256 f90901c910c3791986cb290d75fd85b357247f47a1bd05f82276c20729749d5c

See more details on using hashes here.

File details

Details for the file net_mesh_cli-0.26.0-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.26.0-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0c5478266b0486a14da5899af22b9588d5c51422ef711ad8afe9e401de32d45c
MD5 eddf37047bfb8936a05a4e37e03c961c
BLAKE2b-256 f4d1b821c9f97bf3d15be849c714e316b2a7b41b60419db51070067e825e17f3

See more details on using hashes here.

File details

Details for the file net_mesh_cli-0.26.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.26.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8f10c1b5c14c5d024ac3539aa47e62e239ebe43396e26135b932c2dd0c370388
MD5 5d8198e3ab49c87bbfc0d6a2b44bd02b
BLAKE2b-256 5339207372e989bc644006e1f6c39287a2cb25c0deb72e5be86597071c247e80

See more details on using hashes here.

File details

Details for the file net_mesh_cli-0.26.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.26.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2fe83b40edc8081b0e2dc20e2d2927f90cbcaefb74ec86f23e2bfb05f128f9e4
MD5 c3529f298ee661dae7a5578e7d710391
BLAKE2b-256 9d4a009c90c77812b2c695d29689e34549367da079761634cb006e08d4871375

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page