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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.28+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

net_mesh_cli-0.27.4-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.4.tar.gz.

File metadata

  • Download URL: net_mesh_cli-0.27.4.tar.gz
  • Upload date:
  • Size: 6.4 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.4.tar.gz
Algorithm Hash digest
SHA256 8974e0850d23464b748e7f7e860b3df607e2d253a5d79804baae778f913acc22
MD5 07a0dd0f183878aaf0e99d43091b73ab
BLAKE2b-256 c28d39ab8e0cc8a1e7de0c2ae5cccc873943cc0e57be2ee144db981cbaa0bac2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.4-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 4796f54ae43b5aaa3cf71a4c061ad0729dcfc23178ee105aec6778ee4f975f7b
MD5 d2d40c73725dd99de1814d48c5d3ea8a
BLAKE2b-256 2e27498f318b2db51643caa36f4a57a8e26fb124d835ad7fe56199074ce3a6a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.4-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 fa7c1e4dd9129e2a9bc7b39695af3e673effc868776a9cb339ae14eb1d2c5271
MD5 03f7123776f48186e6bbbe36d76222f4
BLAKE2b-256 554bdfab76a4c309e3b701ac0fe281062fd3ac2de021d9fc3f2036902516c9ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.4-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d8fa5d46d7c28cb7a287ea14e06f20bac484eb900e6fe6cb2560ac36f96f5781
MD5 066a63fd364bcc22a20ce0ee4f3ca525
BLAKE2b-256 a48e3bde75103b87d852c63c16d942dc97b403ecbd35a19b830b0cd694eb2827

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.4-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 66212764439dcc2a17f01e3588bd877fa4789b094a6b1ee7b45ffb5ad97cde89
MD5 d07c71547da30dce276446a4413d7d9f
BLAKE2b-256 95f20f5f1d79ea3d0262c4cf6091e78e3fba68d9d676e0cdf083f8f4aab76736

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.4-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5fc0c7bee07d9e1074cc3d9aa8e966b165e0e6d72390e2d403a8da8f70ae31c6
MD5 747bb16b2183eb0887248a18ee543a87
BLAKE2b-256 af3142b9813f4241600698104fb362b2b9b4820abd9d80656e082f1af30b902a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.4-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 17c2d77829275dc459c839094898c21ab7e3cb71586ad5138f67199357b66d0b
MD5 36b1a04585e174a3d21455cc04f4c13c
BLAKE2b-256 41df56701c7368b28f2c0792afd9dd2f02555f847e018fbd342ec03a5e63d30d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.4-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5cbc08c46e9c5768d595df43586104c0710f34a399dad1b8ad29dc94adb2fbe1
MD5 d0b6c98397b8ebd60a1e8507a227a16f
BLAKE2b-256 c0177d001cae4633bb41341c217b5a7a6274da35f3c2d4925d6f17fa6009be7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.4-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 11c569ad9475866a45452b57e21bba5ffcd69abb1e3300bbb485c27aad7de202
MD5 213b18ea0f6c1cfb1fba19f2595ab6ea
BLAKE2b-256 65262ccb8b1e8b24ddeb19ce25670d2457a57296550bbb44d6e39acc9c0db15a

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