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.32.0.tar.gz (7.7 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.32.0-py3-none-win_arm64.whl (3.2 MB view details)

Uploaded Python 3Windows ARM64

net_mesh_cli-0.32.0-py3-none-win_amd64.whl (3.4 MB view details)

Uploaded Python 3Windows x86-64

net_mesh_cli-0.32.0-py3-none-musllinux_1_2_x86_64.whl (3.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

net_mesh_cli-0.32.0-py3-none-musllinux_1_2_aarch64.whl (3.4 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

net_mesh_cli-0.32.0-py3-none-manylinux_2_28_x86_64.whl (3.6 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

net_mesh_cli-0.32.0-py3-none-manylinux_2_28_aarch64.whl (3.4 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

net_mesh_cli-0.32.0-py3-none-macosx_11_0_arm64.whl (3.1 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

net_mesh_cli-0.32.0-py3-none-macosx_10_12_x86_64.whl (3.5 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: net_mesh_cli-0.32.0.tar.gz
  • Upload date:
  • Size: 7.7 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.32.0.tar.gz
Algorithm Hash digest
SHA256 0908e3eae00774c58da492383a4ece747b42a41b3591ab64c079ae7687228046
MD5 0864ee4ed181769ebe82f0f7a85e1b1e
BLAKE2b-256 ebf5729a7deeda241c95928c65c6646c4c07e9d1770bf6e99f2558efc6c7d87b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.32.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 a8eef54db7aea74c93da28dd2461a499576c58571ac5226527a0f24a2f4c969b
MD5 7e2fdbb29ebfe184b1aad262bb2285f1
BLAKE2b-256 2f7dd8a613bad64ba51007d0caad951c1b2e71b8c7d9d592cddcccf1d14b099b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.32.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 fc19d56d5634beee47fc5458ad8ae2c5abdaf5da3d920a4aacec42d3a7e750f3
MD5 9ea51a461257306ce6f6c217b5f50fa9
BLAKE2b-256 d38f236d3c257d1669ec470a8b5b02ef0eef527194a04cc2e5806795eeb29314

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.32.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dab7b594593f32a2da33d4da01e9edac11f116db50f0e13bb8479675184c1720
MD5 a4075489d64c9f542d558240d9470880
BLAKE2b-256 19aeb745a0bb6042a074931ef21016b0d47d5e2ff7b415b15eccd2dc17af445f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.32.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8ed89a6663aa44c66cf8f8903c0b60d083663b224d1f6d82d5522481566f4fb9
MD5 27e8752232573c37ecd3be38c91024ff
BLAKE2b-256 947dbca382715aa301449dd527df750717f7ec7bf2beb0f684dbb53c3cea10cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.32.0-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 26527dd69d383482842571fb098c5d75a04e57cfee5a6e46d5ee1056813f588d
MD5 62b3f0460a6e77bb59a120cd5944f479
BLAKE2b-256 458b67adf463e6fd6835e44c26156782ba8ccebf4d1bef929cbba0c5825bcdbe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.32.0-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b6898ea47998fa673d79ada5b09b4d440c9069c6c7bee4f2ed60c64b248c1699
MD5 004712a5e4074c029eb216754ff376f8
BLAKE2b-256 1c8119cda3e7a75a6771b56bd5c8730f6c46ccec4d69ee2234a5f9d6c17c428d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.32.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bec093691ee66326066ac4abe29b11f68c8be21c4e343b8046aa33feb463d26d
MD5 7088b11282ead26d950f4d650f3eefcc
BLAKE2b-256 6d825d822e4febf3022481a9dbab4ae23e014e82ae15746474cac60cb6ec8aa1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.32.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2c62fc54b94d7039a71def227215999b1e552ca94be29c9b35fc82718746274f
MD5 4bd29d419b167daa3423c6b49f6332ee
BLAKE2b-256 2f5af86db4ea779d5053465525ed68c33efc215b636482b4596dd50196102076

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