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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.28+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

net_mesh_cli-0.29.1-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.29.1.tar.gz.

File metadata

  • Download URL: net_mesh_cli-0.29.1.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.29.1.tar.gz
Algorithm Hash digest
SHA256 13612c692f94883e85601511d587cdde33d1822a4a32ff6e065ba79769390c95
MD5 ab13dbce4596b7bad1bbb44ed0176605
BLAKE2b-256 a73a27a8b592386d5299f1d4c301434cdd90fdbc7d4b7dd39d81ca4df407cc29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.29.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 c2d1e014707b3c07846441d23d5a1e32d08d687bfa49721412ad9a64b13d6c3c
MD5 f600c90751e073467ce5ab473f3d396d
BLAKE2b-256 bbc6ca475856bfa377c69223c95d096294d2cc4f1c43b0945eabc6402278d3c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.29.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 f18a0f44a7b5f882101e08b4c216465e97cb3a6639ccb3775d37a2c2822b741a
MD5 bd1aa9550fe0f616d4415d2464c4be8b
BLAKE2b-256 d1f9489c460b490ec477e0fbffa8ab90bcd7451bb10014ef7498559807b8aa38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.29.1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c89c4c108a4bc3e55be3c28316aa1c2fe8a240d97519541a8ca565f4b6d4b75e
MD5 842fdc1ba52059342dda04bf14284bfc
BLAKE2b-256 6d906715f89ec5b303bf07fd9185ab9123d770aeb86e880ea35ddd4b905796f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.29.1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b87bb4416dbaa44f521701ecdc1ff5a31266a879c428e1285969dc50f1466775
MD5 c4f4b09070cd8a6ce16f6af47a65742d
BLAKE2b-256 fc435b001f9f492d429d1784af678f8efb24baad0b09b33ffef37a7985b8a13c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.29.1-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fec9d8b92d1251d153816a1e916f1fc84a3c596c025477311acc93c5e7f08da5
MD5 2f71380747f4aa3bc11cf6a56ca1489a
BLAKE2b-256 ecaf0448935151d623bc44b2edee09c2dc0235cec7333fd1b4004f5df4a1410d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.29.1-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ff81a8ab164e695cf5f3933fa25763884f346c4ef54631efe6f59b77de3def81
MD5 de68833ce3e076359942c53499ba8e62
BLAKE2b-256 5303f7828c67dd4f6d42727732d84b388bf6ea3a3ef1878bc61cf982e63bfe84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.29.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3e8f727bb2b7d8b24494b3824b2570c957adbfbaea2c3fbacea2553b868fdf8d
MD5 95c667943485cb91127e3b95b9f4abd7
BLAKE2b-256 2362c3d74b303be888d440a69f311c93e18fae45f928f99759d33ddb6d509f46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.29.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d8653d5aaa97e2e85e3bb201e7e24eff18e7e26d108323f78dc34762e71f6c35
MD5 88780cc21dfb839108e93f6d1aa7192a
BLAKE2b-256 83d27c4bbac7ef879d3c1e2abfc5f3a6b05818ec84222b2af98f7c729861eaf7

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