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

Uploaded Python 3Windows ARM64

net_mesh_cli-0.27.5-py3-none-win_amd64.whl (2.7 MB view details)

Uploaded Python 3Windows x86-64

net_mesh_cli-0.27.5-py3-none-musllinux_1_2_x86_64.whl (3.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

net_mesh_cli-0.27.5-py3-none-manylinux_2_28_x86_64.whl (2.9 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

net_mesh_cli-0.27.5-py3-none-manylinux_2_28_aarch64.whl (2.7 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

net_mesh_cli-0.27.5-py3-none-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

net_mesh_cli-0.27.5-py3-none-macosx_10_12_x86_64.whl (2.8 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: net_mesh_cli-0.27.5.tar.gz
  • Upload date:
  • Size: 6.4 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.5.tar.gz
Algorithm Hash digest
SHA256 1845579726a32444d91385b0e7f62eb7a8d82375db1e9dce58baaaf05efa776b
MD5 7b19f298882ffa54aaf2e354df1f6a38
BLAKE2b-256 92f0f045280272c51c53f295004e6779f7b76c3d2f36cecd9b16f7a7ed323d92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.5-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 41d114291c82b388b49e10f58090ebb883e0176393de719947366bc2b7b81ccd
MD5 4879b530bed19dd4b66d4d1d00d2f125
BLAKE2b-256 30b38dd609088d393c3b279dcaa2b74aa14fed797acb60859445e8f85b40da77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.5-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 d5f9f69a03fa30fe640992d436069374454d8caf53ed0907951fe905c76a32ee
MD5 03f4a46685f1eb8addb37473584f414e
BLAKE2b-256 942e2e4d97bc3e4bb9ae9818bb275729a879bb543c92ea0bfae40bb02dff9899

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.5-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5b065d850cfb1e812351a934c485ced2b3bd8ced43994ad09a2096f4df6073d2
MD5 848eb3d1e15ddb4cdd36fac50d248261
BLAKE2b-256 28a47afdca1977c5bff712232d8e687e82942e000d86bf4f35d2967b55ae4a2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.5-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 aba8b3485b37adfae4bbd5b9fff24f27d9c8162641962f092b4857b3a8a0615d
MD5 555ce2b7bfbbf7ca061958ea9990f917
BLAKE2b-256 d3e9220f63ca7f195e5b41cbf3446542a9e58626d7d37eb62c516be56efed878

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.5-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9229f8b21330219ec1d9eed06e813075a54a7ee6baca43ef04758c0617f8a770
MD5 3ad394a7bef4afd491501d8fb4a44e1d
BLAKE2b-256 ed2167a97a94320b9ead41b6fa97b6190d45354f4bc11211efbd8c68b4b1037b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.5-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0d751b4611c1d44379c13b827b19d94a5085ff24c56534a6f980de1e497322dc
MD5 38f9abeb09fb6ec4311171241ac11a15
BLAKE2b-256 7830d6ee7913d97e6037095625606b873f7e0ff1eefd855f2eae0aaf8ed421fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.5-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b02029f58529eb167e0cea463699ec0a0dc029533652cf6a815b59602afd2437
MD5 ad6c58d471d8baf7a15fe7e17205a6c9
BLAKE2b-256 f17a4c4a62f53bef059838d841c6fbea8a5204f940f18d8a13f603d35c4eafee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.5-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 05a2796c902eab25930b7e4848a7f64dda93c2e85f714253defa43edbdf7af90
MD5 d864f2c82ff354decb094aebf4aa742f
BLAKE2b-256 4c57bf2cc41e5e0ed724a3c8f8def896c9c04c140557a965fd292e3f0a1948a5

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