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.31.0.tar.gz (7.5 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.31.0-py3-none-win_arm64.whl (3.1 MB view details)

Uploaded Python 3Windows ARM64

net_mesh_cli-0.31.0-py3-none-win_amd64.whl (3.3 MB view details)

Uploaded Python 3Windows x86-64

net_mesh_cli-0.31.0-py3-none-musllinux_1_2_x86_64.whl (3.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

net_mesh_cli-0.31.0-py3-none-musllinux_1_2_aarch64.whl (3.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

net_mesh_cli-0.31.0-py3-none-manylinux_2_28_x86_64.whl (3.6 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

net_mesh_cli-0.31.0-py3-none-manylinux_2_28_aarch64.whl (3.3 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

net_mesh_cli-0.31.0-py3-none-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

net_mesh_cli-0.31.0-py3-none-macosx_10_12_x86_64.whl (3.4 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: net_mesh_cli-0.31.0.tar.gz
  • Upload date:
  • Size: 7.5 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.31.0.tar.gz
Algorithm Hash digest
SHA256 1f01147fefa72c951bdee34c9bd5fe67a8c0465555e67c4a8d0c0626fc13bd5a
MD5 39736926da70ceedb8de2e7558dcf30e
BLAKE2b-256 2772b1dc7038002151d39943ccf26fda2c265f86b49c27827a7e20f5385a721f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.31.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 0d177013d5d053aed57ec182f92574557173eb3fd54de371bc29ec91eb6ae2b7
MD5 6b6a4d1c878fb59c0935d424524c88f7
BLAKE2b-256 ac5255cc527b35fe06dc68c2a4a96eef8b42bef01d4585e0988c2b8fb98fb079

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.31.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 6eabcd3c822e04975438566508cf483edeb1daf630d196e4c817b3102fe06b34
MD5 14185b456dabfde916d780e76de7aeb2
BLAKE2b-256 1e2301f5dc2ac6a72961b487d6303ab3e22734266fe8ec4005996e0024f23125

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.31.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 926323df572ab56f483fc15cee3964f1c3f0a59a7fa73917d08b4b245ff0f33d
MD5 431018033410e8dc4e1b96f88767c407
BLAKE2b-256 e3a9cacb97dcd5f3640255702b0435908f4dc24b953ac029e5f6a5a75319b2d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.31.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9ceaa21b29fa51751819fe86ce5312088d22c3f194cf7024604bd2c661bddcad
MD5 2e95f73af3dc82071a1d0ddf2a414985
BLAKE2b-256 4caa815f970cda805b0377b219d0a4e35bf1ceb6bd607a6eda03bcf430a3ed95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.31.0-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 145b61db3d7f08f0d2438f3c384556781e0a53f58df5381ff8d229aa6a105fdb
MD5 67abe9bdfd5a0cb9927ae14f68091420
BLAKE2b-256 900f3b51aa228020a06553a0b8e9ca49e5d417e4b4d5b4a912e9d9dcd1fafd88

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.31.0-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 75fb4884f4d37babfabb12932a1408ad6d8b1bbbc6f4112fa0f33b630448bcd6
MD5 05d3efa845e436a060e89d9358519c1b
BLAKE2b-256 83b7902410d67dfd85b8dae7311ce1ba9c9462c0f243a334d2136687d5b9b2f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.31.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b943d5835ee9c024048c249fcc2cbe24acb6bc89b31677c6b85aa2e51fd36211
MD5 9b5b949535db3e28deb9f3da00ad861f
BLAKE2b-256 6b99f7c1e2b2292e23f4a4b3801a43d5d08822bd9dc62c4caebe75f7bcc6371f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.31.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1a9ba85cd68f1ddf85e221918554e3c9f2d64c765fbcd8b79209fe721312d9c7
MD5 8da0dc8d17eae2f911bb72df7072ef7e
BLAKE2b-256 84f783a379015710d216f54c85e32068ce201e4b122d4fa1db6abdb8e07ed2ef

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