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.1.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.1-py3-none-win_arm64.whl (2.5 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

net_mesh_cli-0.27.1-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.1-py3-none-musllinux_1_2_aarch64.whl (2.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

net_mesh_cli-0.27.1-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.1-py3-none-manylinux_2_28_aarch64.whl (2.6 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

net_mesh_cli-0.27.1-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.1.tar.gz.

File metadata

  • Download URL: net_mesh_cli-0.27.1.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.1.tar.gz
Algorithm Hash digest
SHA256 1c10067a4de964c1f42d5c059932c56b8de1fc4e554ce752163a97fd107f6090
MD5 5b5f920af6b7fead3ebb1d6388b59fba
BLAKE2b-256 3d100c7a430a83f9aaa05e3e55171799c8834769b5fc5f83409bd64c54e8ae17

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 95c66b2c36640ebdd604f96f45200be9c4e4d587641cab4053410fea4b03263f
MD5 c629534a597952d94bd7e6de6e817ea3
BLAKE2b-256 d9a73b6e9846af73d259afdc6cf864b05e3a4ca1e0875e523c02852c5e24fa23

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 7ddae8b671eb89909029ecc890fad080072c52450e3c217db3cdcc2753e648e6
MD5 fda0c38a8295f0014afc574b5fc48547
BLAKE2b-256 31f7b8549ddbb465e539092d2adaca1bdb76c87dda5728aa5ee047d9eab08a13

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e9727e613e06fa5096cf65355e8142aee77068563da809e0b7bc809f08df6ea1
MD5 4a63308390b47e86891f6dc87550009f
BLAKE2b-256 b84520ff6b88772c15af9ffeb2e73059c859f797561c714a2630817617b9c055

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 06b4a57155ea2126f2b8830e138af40bce2be08ae8f043db3d6be0be016dc162
MD5 474e8c613797b42d1e6d7d31b1b67104
BLAKE2b-256 f92b58d07ca4b25055fb8900ae0b14d163fd082dc0eb80c244380e4a1f9bae7d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.1-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e4c002a0a9e1b87ad3c71627e4692e7fc68b52fcf503930f185371d22ebfd13e
MD5 c4bfc2f5df91c3ee44431178b8e5912e
BLAKE2b-256 dcc3771d5185f009700de4fb2ac770e6f94a2c9663e3f06325a98655ff3c8c9e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.1-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 90d751449bd1f1900bb1148b0c0d7aaed1746c4be7701e20e522431cffa772ac
MD5 05111a39baf00ddf8fa98c3fa47e8a6b
BLAKE2b-256 b5b55edf34945290b8e48f2ceb970e9cbd467ce59748247b91d873dac362a0d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 52c749c919b3e08bf60f2b28c2ca520962ceb403f7a873e759f149753e5167a5
MD5 cd2869a0b390c14d950de974af80e02e
BLAKE2b-256 58c1e5b3dbed709eb5d5fac8b31bf38153b68e4693c9cf78a898485dbf48dd30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c41201786cc80b07af7901942d232d10896b164aef13ad779b670d6d2f3cd146
MD5 291feb34678ad5311f6e774554064008
BLAKE2b-256 a378bd373ae4c77ceff9d1ddf1bf584aca935c12ce18ebe3da91f2a27f5dcf4a

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