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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

net_mesh_cli-0.27.6-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.6-py3-none-musllinux_1_2_aarch64.whl (2.8 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

net_mesh_cli-0.27.6-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.6-py3-none-manylinux_2_28_aarch64.whl (2.7 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

net_mesh_cli-0.27.6-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.6.tar.gz.

File metadata

  • Download URL: net_mesh_cli-0.27.6.tar.gz
  • Upload date:
  • Size: 6.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.27.6.tar.gz
Algorithm Hash digest
SHA256 40740bb1a2d3c715263d6a56990b15a22b30fec59e3f76649ff0d67a419bf650
MD5 155b37bd3e15eabf96389ed6140559c8
BLAKE2b-256 f8607bbc364e1befd1c61c25645f9b58c6e461236942df01449be409655b5048

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.6-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 81e2a41ff08136db8c2812743881809e33a92068f609ade42ff61558ea6eb2de
MD5 fa608badcb18e86a751ad2c7506aea06
BLAKE2b-256 a7dbcb3d17b0564e9f3efc4faffcbdc6ac5fe5781b2997e4e4fa5998bc95d70d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.6-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 c0ed6ed08923f5e3e1e2b4774ce53c320c3025cc803e1a9c1bcec3f0c46504cb
MD5 b6a1cf9a0693f2ebf3b41feb2be0222a
BLAKE2b-256 6797f8af9f67adc0082a3ae095187d077ed0bbef5b67ff4f1ec113aea4c05ce2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.6-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7e15f8a0e81c88522822c63599f2ca73084740d51386351789e12e708bbe3116
MD5 8e65a4bf6584ac1b552c045ab84cf6c9
BLAKE2b-256 234779c766441c56dbe15d48b88d549271b6fb54aa097a2b6393eaf94859646b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.6-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 737648699e108156561a58d6f931f68675c64ba53f38cac2a7b2971e200c4d08
MD5 797e277e9769a845801c1848c2c8df84
BLAKE2b-256 8c69afa11f7085b1886c422bf82c467cca61274b6243cd5fa16055fbdc524c25

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.6-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7de916dec7832b87de68ac4d06a4de14ccc90aad87f83af80d0a113c343b8183
MD5 8782bee1a70500e3a3b4fe4c56c2c037
BLAKE2b-256 103ade0e1aaae0e858b9521d579fb81123215fce0a20bebb56bdde7ea03df612

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.6-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 df8b4ef16ec01b792ced55af316ba166d72c09a9a82ee087dbfe1c33c213b6c4
MD5 395266d1e1f897a203a7483e28cca3d6
BLAKE2b-256 333ef4bf4fc888b32839bd691c7373caf0e5a6ec18dc95869014ffca2ad5d465

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.6-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6159ed0b82a2af2092835631ab32378bd59827d7fa722105e1ac3afe54c4c8fc
MD5 68b0342a5a6a15000d32255692a9e542
BLAKE2b-256 6af32b32d752a7f9b3252d875670295c350fcb32e19c000a82257a0ea50860c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.6-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4a00e93f37b58fb6cade3ff317b6c667a627f25acac67cf7ac1254bbf4167166
MD5 2c02063e74f6b24c179aaa57fcb0d518
BLAKE2b-256 5b7111edc528bf0ec4453d920f57a413259da4c93d626649aea1b7cb2198927d

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