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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.28+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

File metadata

  • Download URL: net_mesh_cli-0.27.7.tar.gz
  • Upload date:
  • Size: 6.5 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.7.tar.gz
Algorithm Hash digest
SHA256 5062c11bbae7f18f974cab1b378741453e3d4e84555b019a6fee59317b319641
MD5 8508dd9da227add32a2d7e17472039b8
BLAKE2b-256 464dfca8654599acf10a3593b78ffa010753aee3cd111ebb68a7322268f44374

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.7-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 d28bd9be0996ac598e4a2dbbf746441df4078c5e50085ae9bcf52a4b8ecfe979
MD5 9d678e7c34aa74317961cc6f5a6fa914
BLAKE2b-256 281681349530e352cd319606b11668c661434da8d4d81ab63127658c37023927

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.7-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 8e0203ef19056c30a25748e4f1afc1a81a477e9f935f2ecd700f984b1c6df7a8
MD5 999b32e02e295d59792b73c4e5f6bc05
BLAKE2b-256 828d921f1bcef9158182445cfa64119b0cd7b5c4beb89613d17dc97d8508ee3f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.7-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 867f43f4644658dedf2aae68271148da5546c9e04f7c80c818d1fda64aca6f82
MD5 f43dd623c00128c9d96add5e68801798
BLAKE2b-256 692547409e2a88b68f214d317209c986d7e9f8e9668f8b973bec8bf881acf624

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.7-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c326c721e33597555ddb30122d288f6cfb26128c4449af3e281016263af2d734
MD5 58dccdd1e246d0821c15203dc7821c52
BLAKE2b-256 6806cd8c9353dc86946c657ef8b8f8d1d3ff76d7ec3f14c9c9d955e0af2e5e6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.7-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2749588231329e8afcf86918b341954be9a7805fcae9b7b953d4fc5de02a8f99
MD5 42f224134c2b2cc3ca4b1a9701160f62
BLAKE2b-256 39bdd2af0543c8ccb1286239f8141fa585b177bc947dceaca6972b900a3f2bda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.7-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6f570beb64c177fe32178f06014c46676fbac5394d475f574dd95e4a13bdd18e
MD5 2471e06910c96e33b4a5273832411b95
BLAKE2b-256 183fd0c6b32a0ffc6b7bb47f1efd119837dd9551aa9531eaea7b1ee187c5e357

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.7-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f89af58145854fba9b4cab3d269cf2631f16d581f98624e7fa6abad1c465d3e8
MD5 4ff58b0bb94497a4bb9c424474a6d566
BLAKE2b-256 dae62d6454e2d623d99715bce1f0bc5f43e697452e8f4b89530784eb1938b4dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for net_mesh_cli-0.27.7-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e584302e88c589732f0858f14362afbfa59d2ca566f157c15f60efa132819766
MD5 64f0db2a50029b4798379cb7981d96c8
BLAKE2b-256 29f1d2494a85a1f7ef3607c823febf537af552f04b5a57cf90f6d3628cd8445f

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