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.25.2.tar.gz (5.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.25.2-py3-none-win_arm64.whl (2.1 MB view details)

Uploaded Python 3Windows ARM64

net_mesh_cli-0.25.2-py3-none-win_amd64.whl (2.3 MB view details)

Uploaded Python 3Windows x86-64

net_mesh_cli-0.25.2-py3-none-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

net_mesh_cli-0.25.2-py3-none-musllinux_1_2_aarch64.whl (2.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

net_mesh_cli-0.25.2-py3-none-manylinux_2_28_x86_64.whl (2.4 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

net_mesh_cli-0.25.2-py3-none-manylinux_2_28_aarch64.whl (2.3 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

net_mesh_cli-0.25.2-py3-none-macosx_11_0_arm64.whl (2.1 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

net_mesh_cli-0.25.2-py3-none-macosx_10_12_x86_64.whl (2.3 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: net_mesh_cli-0.25.2.tar.gz
  • Upload date:
  • Size: 5.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.25.2.tar.gz
Algorithm Hash digest
SHA256 85bcca1b7141223e845ba95294b66b1728cffe2bae3052bfbfc18db486f4fbc5
MD5 68ab7d96cfdebd438e2a2ff9bd848311
BLAKE2b-256 e9a094965e20840424cad4f7de932ae525e5eecd930317001b8b523e2acf511b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.25.2-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 4bd18dee75daf86ba6540969a7e1128afc7db484c1dc9d4a6264df605b7d474d
MD5 8bd92c5837f75d5a7b57620aec75565b
BLAKE2b-256 02fd495f361b23be200c844751b389924fa54abb2c05afb09e4b977024c5b570

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.25.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 be7931c8d46b39de1f8d00a0d894874ec2992f709d2659aa1afedca896b913b4
MD5 c6c0bf2dd3c26eff527c3a0d080e03de
BLAKE2b-256 58decd3ca0ff917ee28d747a70b7e39abf7c22a7b2ae328ef887ee0573371e0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.25.2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e120de43748d2f9d65ef4e8b5ebb831859a0589fe36c410ee241658c6dbf7b09
MD5 445fb5a9d14b7fb46da19b787050991c
BLAKE2b-256 936272f9d10450f064735e3dd74317329c0189739d614583ab6b9b9837b8e858

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.25.2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 53cf04bb7e2e0220f1da57c348b1e9e2cee6e7c55200698da2cc8f3e27cabb57
MD5 f5b37fe6429a7fcf547be6c21e6bc9fb
BLAKE2b-256 54ed7d23449af9f091effd30e0f396914219fb8e9af3ccc146bdc2fbfc26f409

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.25.2-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4cf0021b0b901a3b91a20bebfa9fb87e8cfee2529abf9687e87c38b7790f8519
MD5 99dd9e2cc181c47d24d34bed825baeeb
BLAKE2b-256 389ba996910081ea608d925a35ff987bb88dd355bb43e9b95e76cbbd7e80668a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.25.2-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f493a469ff577bb029e2fc2327515749ed72d2d26d6863f87d5b644942816a0d
MD5 62986259c50092c2538b7359ba79be0e
BLAKE2b-256 91e3c82a65796c1a3dc274afcc2ba33529c24ce1555ea759b58b4b476c1254bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.25.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 46b2f279b47540aa07178f681ce1f07e8af4d777e18612e52ac6ab549e2bc038
MD5 c8f4b06db0de416cefad91a8e18c5ec1
BLAKE2b-256 548d48309ca6c52a943e0c0f73be2ab0b446968831931790b8e2ce947a75d17c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.25.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 01627c302f9a9a76bef738884c069d9133ce010ec83e8d1dd629916e0c846946
MD5 a6de5f45cc57177923beef94e8b59103
BLAKE2b-256 acc5e8bb15b2d28e723d74e6c90680a2995af8fc32fa48af8badb9f8e4832e1e

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