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

Uploaded Python 3Windows ARM64

net_mesh_cli-0.27.0b2-py3-none-win_amd64.whl (2.6 MB view details)

Uploaded Python 3Windows x86-64

net_mesh_cli-0.27.0b2-py3-none-musllinux_1_2_x86_64.whl (2.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

net_mesh_cli-0.27.0b2-py3-none-musllinux_1_2_aarch64.whl (2.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

net_mesh_cli-0.27.0b2-py3-none-manylinux_2_28_x86_64.whl (2.8 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

net_mesh_cli-0.27.0b2-py3-none-manylinux_2_28_aarch64.whl (2.6 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

net_mesh_cli-0.27.0b2-py3-none-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

net_mesh_cli-0.27.0b2-py3-none-macosx_10_12_x86_64.whl (2.7 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file net_mesh_cli-0.27.0b2.tar.gz.

File metadata

  • Download URL: net_mesh_cli-0.27.0b2.tar.gz
  • Upload date:
  • Size: 6.2 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.0b2.tar.gz
Algorithm Hash digest
SHA256 2a0e42faefd635faa43fd8a78ee5f36b0b2379c40af3ebad14bbcdccce450ccc
MD5 9590234ec6a9591f0cbf187f6d4317ab
BLAKE2b-256 e861ead3afd677675c87f6a26c316fc52f2f1c3a792162f2171b8bc369aa77c2

See more details on using hashes here.

File details

Details for the file net_mesh_cli-0.27.0b2-py3-none-win_arm64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0b2-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 e284c6e5addebe66d46218d593a497d59bff7202fa79883b7c1e4aaf190a4aa3
MD5 441d4a77ff39097cf304a683b10c3f96
BLAKE2b-256 d065422eb0cf54890806ba940c4756372842b80adc1d4f5b39b99e665fe9708e

See more details on using hashes here.

File details

Details for the file net_mesh_cli-0.27.0b2-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0b2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9a5524a3d02e5ffb1e3eec1e1d4210bd2d1c661472ec63b57d2654f4752b6f98
MD5 8540692d7cd9df169d56d2be2aa5cb18
BLAKE2b-256 ef26f67ab9c286427da1de219a01b8a7bd76521c56c8cf72c7981f6781c26168

See more details on using hashes here.

File details

Details for the file net_mesh_cli-0.27.0b2-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0b2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 da4203f645fda719d3ed12bb045af4996b66bd5debc0721e9726b795ca578d23
MD5 10b2783387a1d82211457736072973d0
BLAKE2b-256 35642cf11903ded3595932e28fda6a282d00d3a77aa896aab8107a9452b2d7f7

See more details on using hashes here.

File details

Details for the file net_mesh_cli-0.27.0b2-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0b2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 956cbdc063056644d518390b45cd0efc2ba815f0079d2624b38268757615357a
MD5 b1f595624a385484744b38c8dec8f2eb
BLAKE2b-256 ca2389fe59a84f5718ff7dde3f6e28c59aa890e7419c3a48ad9e83076e482240

See more details on using hashes here.

File details

Details for the file net_mesh_cli-0.27.0b2-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0b2-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 63183f9619496066fd0ef227326be16eeddf772c8f8bb42a083a7d37ed45ba3d
MD5 1e04b46147a48b518903605b177b9e35
BLAKE2b-256 cbdc26cccce2e2f17e15eb6a3fb27a8a46a23d576bbe8f4c733f2d92ccd87788

See more details on using hashes here.

File details

Details for the file net_mesh_cli-0.27.0b2-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0b2-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fb4151e7488f02b7d182512b1c5cd46fce21a3ea00dc2f3b2905fc26ea5352e2
MD5 c6080906c1bf1c3579f5b154a68ae115
BLAKE2b-256 e700a1c48e813452bfef5e1df05118e4cf8fbe5bf2fcdfb6fbf7bdc9c8ad5ad7

See more details on using hashes here.

File details

Details for the file net_mesh_cli-0.27.0b2-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0b2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 370e4ea7a64be423d271adc53d4323aaf26ee87bcd9601f49dd7967258adf214
MD5 ea28c121f5093d83121ba4aa4ce20eb1
BLAKE2b-256 1a4faf30d0979c04f00cf26f2c582555c8e56c76b5556af2eb47003e4c920034

See more details on using hashes here.

File details

Details for the file net_mesh_cli-0.27.0b2-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for net_mesh_cli-0.27.0b2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 225524f35b1179ff28e5367ce5a63155bff52b2c7619baffef732f101b8e87fb
MD5 e82d387075dbc79dbc3a344b1ad63321
BLAKE2b-256 e6a5326c68ffc1d2c1fc229a15e8d93714e1e1a77ec271deadc7789f2524b627

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