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.27.0.tar.gz (6.2 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.27.0-py3-none-win_arm64.whl (2.5 MB view details)

Uploaded Python 3Windows ARM64

net_mesh_cli-0.27.0-py3-none-win_amd64.whl (2.6 MB view details)

Uploaded Python 3Windows x86-64

net_mesh_cli-0.27.0-py3-none-musllinux_1_2_x86_64.whl (2.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

net_mesh_cli-0.27.0-py3-none-musllinux_1_2_aarch64.whl (2.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

net_mesh_cli-0.27.0-py3-none-manylinux_2_28_x86_64.whl (2.8 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

net_mesh_cli-0.27.0-py3-none-manylinux_2_28_aarch64.whl (2.6 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

net_mesh_cli-0.27.0-py3-none-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

net_mesh_cli-0.27.0-py3-none-macosx_10_12_x86_64.whl (2.7 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: net_mesh_cli-0.27.0.tar.gz
  • Upload date:
  • Size: 6.2 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.27.0.tar.gz
Algorithm Hash digest
SHA256 21862fe69b48c5794e5c2fb70bf62b12f5e27b800b339bb83bf20de199d92899
MD5 b3528bc9436d141dc7dadd0e08a03e00
BLAKE2b-256 d061c57b7414759a8ea7db65b018be3e60afad2069dd02f66cc15524c93c25cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 a64fae14a2246dfa57dbec830446e7087223eb018c7364511ac781fd3473a459
MD5 ce55b9883109f74b92ef712b6c2b1b38
BLAKE2b-256 883f39b952866cdad56399b45db87cdd3ac060dc332f82904a34fc23ae13178e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 e83781d0a62ba52af902e5af99a10e73e099b7629fcfa5276f4a10970a4f5d80
MD5 41315fe95592030adbbff5a70129cbb5
BLAKE2b-256 c0f431956b4348bde7d9786030581bf593ee4aceb25d4effa90f04dfc1f37be0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 522b62a4217568c76de80208b3ca341b55489e742e32dc4e4e607c5d7bcac641
MD5 0582e16567ac2bbf65cf7089e1ef44dc
BLAKE2b-256 6ad81090bf96118efef9bfd4e2aef9ead2710871d5969740a5fd0636884030a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e93f521fedacd35ba0ca3e6094da41d390a27a3c639937b097322a65fc84b049
MD5 13679843eaf12f061622a5e459865b54
BLAKE2b-256 463bb64a9e910092d659abcc60c1ce4c176878db68ecce0bea177eef1ba3b476

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1c0384036659d88fc5e936f5d4ef6e1da78f23a02ba0d9264a48d7a515d92d37
MD5 b429f1318e69c737debcb05cd356edf3
BLAKE2b-256 ff397bc145e6160d903eb5355e601a663c4d1d7602e580e77a0d2590ef411334

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ba58df1caccd53f01d31364475bfe9e9a2999993030cefabed315f77caed1067
MD5 1724d378e8e5f0f6671281e3281b2c75
BLAKE2b-256 16d9f0c5b6f364a5ea156d083e4744901a0ecc3ddb3fccf736d6aa7d2ba7a943

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 931cd40644944ac4a1ef3593b73cecada09355ca96218dd0cb3fdd559d98701a
MD5 c3b188cae43f26d38386f719b29d798f
BLAKE2b-256 fd13756fa212df8e0246eddeeb0f812fe9bcfebb08ff586582be22e9550e74f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c3cca26a6ee08eaaa5e87077d3d6112739d7f4b709e812c4708be40cc4e83590
MD5 21bb819b6f51e9cd9864a8d233eba9c2
BLAKE2b-256 b3bdb284358cb445914afcd646b91942fe8b42800e39d8f776ed4202401aff83

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