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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.28+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

net_mesh_cli-0.28.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.28.0.tar.gz.

File metadata

  • Download URL: net_mesh_cli-0.28.0.tar.gz
  • Upload date:
  • Size: 6.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.28.0.tar.gz
Algorithm Hash digest
SHA256 c1bff255607fdf6e242627c5587ee9edf5f28c78abb953f3c21052868cd88f68
MD5 bea187076335c19c896b9b72648d4c0a
BLAKE2b-256 c7dca0e8c76adda1422dcbf471a9046958040166b50e18c237d6bff078d29c07

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.28.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 e6fc245b20b4168142255bd1b8cb72becd09d41b83ff88c147f55114878dddbe
MD5 a55c21eec7751fdca9cd1e934a2f6142
BLAKE2b-256 03ce3db3fb8f9e9325ab09d32b1f7420c5c26601f7557c9dea66ce9988a44f19

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.28.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 946747031f2c549604e5951fa877cdf78f4280a26c64cd9d3b5f3d10f5d28b9a
MD5 20ca57dc1d23810587938f901293b66a
BLAKE2b-256 61d945b7f158c40d27c54926aa504061313f1436904cffb65fdc16abe7794841

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.28.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3b7749e6216ec16b245ca288c25411d29ce497ddb359e5587c8bdbf1d6a097be
MD5 01cd66ce367da7e61d97ea87ac3ed6c6
BLAKE2b-256 98a99f8acaf2344314dec8b0c424c51b7df9d7994c205643906423c66c99f44c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.28.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 aae02c7ad0a77d23446f839ce9bd32a3661f28bef24128088666011e85487801
MD5 da0db04a71c16706e1ecf0eb070db4b7
BLAKE2b-256 16d84042183b9c130f69dff653232bc3a852edf8e1e4fd09e1f5d57e138813e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.28.0-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7791b6fb60cc96e5dc89b6876e1f5d1915c80957808cd551b3f7e693eb694b5f
MD5 cc3863cdd37f155596d18a6a301ecabc
BLAKE2b-256 9fd7b91dcc8022a72f22ecf6de4fb7fde0b1e9e387624cd10e55d2dd018b2de1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.28.0-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8d060681c616bb0c76061f1122c92d06f04bc376999978ce992aee5a45dd4a50
MD5 1d470e7145b15a408196e254ff94d30b
BLAKE2b-256 6b823718536eaeeba51d0475978aea14b6f2c1dce3ae2854d2c067efeeb13441

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.28.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c6e54a69d036180807afba607800df3a2f34c5ce874dfc9fb029f9bf64d64fbf
MD5 636503c4b28c72079c06d71f5bdb8344
BLAKE2b-256 1bfa4dc1851bae9e24a7a3038e0f24ecfb2a9b3566274554f20e6a5f20dec22b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.28.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cac718c819187d553dc2bf4fb7facd654efb4dd015e138f74fa43b20c2f79dbc
MD5 6d88a98b46d080548885356011434352
BLAKE2b-256 2fd85b19c2c91eda99ee0929609e03de1e64827441f0dacdd82745b96fff33b8

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