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.30.0.tar.gz (6.8 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.30.0-py3-none-win_arm64.whl (2.6 MB view details)

Uploaded Python 3Windows ARM64

net_mesh_cli-0.30.0-py3-none-win_amd64.whl (2.8 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

net_mesh_cli-0.30.0-py3-none-manylinux_2_28_x86_64.whl (3.0 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

net_mesh_cli-0.30.0-py3-none-manylinux_2_28_aarch64.whl (2.8 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

net_mesh_cli-0.30.0-py3-none-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

net_mesh_cli-0.30.0-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.30.0.tar.gz.

File metadata

  • Download URL: net_mesh_cli-0.30.0.tar.gz
  • Upload date:
  • Size: 6.8 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.30.0.tar.gz
Algorithm Hash digest
SHA256 e3f7190ab6a702e17e8f7bcac96cefed5d92f1db87d376f90b6f6c583aef1969
MD5 d98ddaa5e8703e3e2fdd544eced082ac
BLAKE2b-256 d337eda67c5ea5fbbc04b6e841cf2b703b06ec4e96077c087036432cc67c60e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.30.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 819307f520e7394bf98d2b91ec4b6a5e952669179425ab61c17f0301d828f07d
MD5 40d3f58f4fea677c05458cc9b6a4a7ff
BLAKE2b-256 3c8b4c2aa75cf71a46f9a2736bcf97fa23019e1b26fb83c26044603b793f4acf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.30.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 7afb6f01ad24cdd8098352f49fdbac2244acdb2c1b9c163ab98ca2727f7e834e
MD5 33fbaaf23dc5f39e0072440b4757ff84
BLAKE2b-256 69a27470fb010e23496eee907721bd991a90cb3d407a34fbb086587cdbd4abda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.30.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4e4e87b0354118e388e12c4a210439bbfec6d8a75e430d5bcdb6ee4768fc47be
MD5 63a2aba8acffcf576d8bc9beb2a030c6
BLAKE2b-256 c6ba5c6fd483e0999d37b162f4b1cc679a091f041396ae18cc3d5cc49e3ff74a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.30.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 89bcc75feaf3c60d2f6e6ec22936ea0cdb94bd096f71595cc2b37ef3b60586d8
MD5 1547cdd0732940e049970b148d895c86
BLAKE2b-256 d7aa4dfeddeba8d86fe06fe7152c59290c38cad423d906c517e6cb87d4d835c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.30.0-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a7e2113e71015fbe09d9b24d409bca62ddb3a9c84bda59fc8c48f5027ecae3d3
MD5 e8084b5a13f037b2d750f2cca9e0b0d1
BLAKE2b-256 b4be0d3e459cdcae3f4163b3d715e06084cb37e2b5f23db5ae0bbbf632a0cfec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.30.0-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 779349d84c129af5916627686b1dcc68d3662a1698312ac86ecd9e10971b306a
MD5 41c25ba9998da95b1cedac712b5a7273
BLAKE2b-256 1ec2fa76dbeb3a276b66ace0d3df1e801cc1da0f91be8b34d4491857713c0fa1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.30.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d18ef700e899af44a93c4f1f97ac33312abe044cdb57bb60731e7281a4466aec
MD5 3fadfbd7cd129510dafa377519a4aaee
BLAKE2b-256 f8525f25ed3a44f6848025208d8e00b37ed98a4fa7686e212bb167b883474c08

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.30.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8fe0533ee6faeea53e3d944088a348bd2bc5838794da6aec6d92c60bed8a0b4e
MD5 1a496905d4fd179cad7dc9c8e5f8af4a
BLAKE2b-256 02ae60f116faf6ccfb767926bee2de67b4816237bfc5dd68c18374c45bec427e

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