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.0b1.tar.gz (6.1 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.0b1-py3-none-win_arm64.whl (2.1 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

net_mesh_cli-0.27.0b1-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.27.0b1-py3-none-musllinux_1_2_aarch64.whl (2.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.28+ x86-64

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

Uploaded Python 3manylinux: glibc 2.28+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: net_mesh_cli-0.27.0b1.tar.gz
  • Upload date:
  • Size: 6.1 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.0b1.tar.gz
Algorithm Hash digest
SHA256 7b30b4600ded5f03219c66ad175dc6531784739d572d9d9f102df3f7578f8c4b
MD5 75d26d720f30d824ef2481f3e213598b
BLAKE2b-256 f60037fcf116c61540c50ac73461fa2e535fe01032c5f7206b709b0979b11323

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0b1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 d5ca5a282cd8c1c61fce7a5f4bf8212bf79f75b16c253f3bb5c5bd40170e8541
MD5 d6484c8d590ba81f975b891b1fc61902
BLAKE2b-256 ff40007d34e8062f4dd0c7e1ebdd72a24266ab12464ffc22cdf788e1b201d503

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0b1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 1def4fb1dbf9362035ee284db8f143734565b6063d62e6afd5c695bde56f05b9
MD5 b38845a42b6fa9fbc67533b3af7e3917
BLAKE2b-256 9b13bb7ff611f74d3596e4a7e13aa702beebc21b4076ceb3a847a62221690f6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0b1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0e2bb9664bb79d1e54730c5c79e952b89dfa390285b1753491860d081a2d453b
MD5 c886a6af0826fd782dd3462b12455a0e
BLAKE2b-256 39bed7d3124b72cc1503ed7e1fe568336b41fae84aad224ef6ec2fd4a854b2dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0b1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e178814452d735baee07e86b52f1a962cda0eac305de2c337ca6a87f17c71bbb
MD5 31244e45d09fc5f498b2fdbd0cd7853e
BLAKE2b-256 af37bdc0e9e5147db214c76bbc72c6bc726f57eab481257544b2ab7305c73994

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0b1-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7df2eacf843a84f0348df2a2ace77791204fac1210f53a4819072e5b350f2362
MD5 6a114b3be03e6fb248f5eee872534621
BLAKE2b-256 81096e299d31459a011de8092e598211e3110fa8ad7ef1afba9faa91bc73368e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0b1-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a10290e2c252ffb7b3e496906162999159aa79b489440beaaa795e857fd25769
MD5 93b465092660a2fb7c9327365422a714
BLAKE2b-256 6933b13db164955776fcebdc94a2929fdc322dade6705e7bb905692d83f36ef3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0b1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 70383aaaa35c9e25f5dfd8961532c9293a697318cf99b687a1186369619db0c2
MD5 30bf4b906ff888b673db31ed58569253
BLAKE2b-256 7262d124885bfaff12e535cdb5b2499723f3d2a9f33eee1913166b6b00bd0154

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0b1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0a9e2ca46c06b10bd1f05a273b8d9e4eb7338ad80f613025757d27561fb3ce97
MD5 3216ec88dda181c66c65c9845748bbc6
BLAKE2b-256 2a74279aded95e1ef5c35161334ae5007ed375920887667a9d67e22f2c4cc78b

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