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.2.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.2-py3-none-win_arm64.whl (2.5 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.28+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

net_mesh_cli-0.27.2-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.2.tar.gz.

File metadata

  • Download URL: net_mesh_cli-0.27.2.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.2.tar.gz
Algorithm Hash digest
SHA256 b34c38e705a8664060c5cb019022e071f3ea25ae47b98b4e5f84fab879598fec
MD5 f587445f3a0be02a56cc5ee22967a289
BLAKE2b-256 be3a3e299c05a6e06916741bf8a18a84491f24e8197a7b44061814e9ebcadac6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.2-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 5f970b8835aaf5d0f522201136639215121390120fd3606a62810078ee55e2a3
MD5 b3b6d4703d72cbba2cea16961d1cc3d7
BLAKE2b-256 c25722b0d2a6e27f0cd14fa8ce40780ed64e3ae421a7270b5096a7dc4090dd24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 c1bae7bdf5c2b204dd237ab00e7a7acdc3bdb4817c728ce2953f17e1277847b1
MD5 a06f1e83c1a0defb1ee51d9f572149ba
BLAKE2b-256 78aa74e3ae99bb34ea9f1a75b3009c4fec1c40583e976c258208d3eea9725d04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a838c63a557e3a1580ec314a70889050963656d73da25c7ad5da8500369c42d1
MD5 bbb5a0b75affc81da83b0b99e85dd4d9
BLAKE2b-256 36b3bc689ece6dd2631d20ee9647ad2073ee0e625028db9d4046fd6a31022d97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 146c42300e1ebcc9696e5e74066ead806ca046e45b659b0480b20c9358acd935
MD5 0f4d5f295abacd58ec9bfe33453454e4
BLAKE2b-256 6b87f761f9752de4462d13c319abb62e22294016f82beb1da66a46ef9d3ba419

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.2-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ab6823d71306bbb0810d6c4a69794a1d80344dd28767dc35af8cdee978413c0d
MD5 1cd5eb8d40d70c1b0527afb8d1b67b45
BLAKE2b-256 55353261feee73b03d1d94ba194120bba2a18edacd207cf304486dc1edc36979

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.2-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 11c3b83a4612cdfed1728c142c16ae41e26e7e386bdf81cdcf26e67a8d771c8c
MD5 82a52c230bd7a7cdf420a6002d5c962d
BLAKE2b-256 b9173e587650c29db6b582a161d9985791638eba6f3203dbd82c4f7776b2b9ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4af81b0beefff91ed0ed304f03f4e8ae741c68cf2dd2ca8c51cc6ec21bd28c06
MD5 f16ac5c1a1b75fd5ff65ae681d617f7a
BLAKE2b-256 1608caef014847f82c344c4c8fd70d7ac47806100cdef63e521e08bb28295ca6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 56dad048b068437974ee1fdce72534c371fc1245a7b6ec0a72dbfe237a95a674
MD5 d0f5dbba51ec3fdf4a07475035993e42
BLAKE2b-256 f78dd8d49d245854d613cea1cbb8d2dd4ce843dc22915bb859fdc64e97703b43

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