propagation: single registry drives all node references

New bin/netvm-registry.py parses NODES.md (node -> cdp_port); every
consumer reads from it instead of hardcoding:
- onboard-driver.py: CDP_PORTS dict -> registry lookup (new nodes work)
- muse-signin.py: hardcoded 9410 -> --node/--cdp-port args
- muse-chat-api.py: hardcoded ACCOUNTS -> registry-built
- agent-health.sh: hardcoded muse/pip blocks -> loop over all active
  nodes (646 and opm now get health coverage too)
NODES.md: record opm node (9440).
This commit is contained in:
operator
2026-10-03 21:28:36 +00:00
parent 1191cbd86e
commit a7639e2341
6 changed files with 156 additions and 36 deletions
+13 -4
View File
@@ -16,13 +16,21 @@ VM->bl SSH stdin pipe.
Part of the cred onboarding module (front-door repo, docs/CRED-MODULE.md).
"""
import argparse
import importlib.util
import json
import subprocess
import sys
import urllib.request
SIGNIN = "/home/super/Projects/NetVM/bin/muse-signin.py"
CDP_PORTS = {"muse": "9410", "pip": "9420"}
def _load_registry():
path = "/home/super/Projects/NetVM/bin/netvm-registry.py"
spec = importlib.util.spec_from_file_location("netvm_registry", path)
mod = importlib.util.module_from_spec(spec)
spec.loader.exec_module(mod)
return mod
def cdp_ok(port):
@@ -51,9 +59,10 @@ def main():
print("ERROR: unsupported service/id_type "
"(muse+email only for now)", file=sys.stderr)
return 1
port = CDP_PORTS.get(args.node)
port = _load_registry().port_for(args.node)
if not port:
print("ERROR: unknown node", file=sys.stderr)
print("ERROR: unknown node '%s' (not in NODES.md registry)"
% args.node, file=sys.stderr)
return 1
if args.dry_run:
@@ -69,7 +78,7 @@ def main():
print("ERROR: no identifier on stdin", file=sys.stderr)
return 1
cmd = [sys.executable, SIGNIN, "--email", identifier]
cmd = [sys.executable, SIGNIN, "--node", args.node, "--email", identifier]
if args.step == "submit":
if not code:
print("ERROR: no code on stdin", file=sys.stderr)