Remove wrongly-specced opp-dm.py and dev-dm.py; dm.py is the headless DM tool
This commit is contained in:
Executable
+52
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
NetVM Docs HTTP Server (bl)
|
||||
|
||||
Serves markdown documentation for agents via HTTPS (tailnet).
|
||||
- Central repo: ~/Projects/NetVM/
|
||||
- Serves: *.md, docs/*.png
|
||||
- Read-only, no auth (tailnet is the auth boundary)
|
||||
|
||||
GOLDEN PATH: container -> VM (34.139.37.135) -> bl (100.123.153.75) -> this server
|
||||
|
||||
Usage:
|
||||
python3 netvm-docs-server.py [--port 8080]
|
||||
|
||||
Agents fetch via:
|
||||
curl http://0.0.0.0:8080/ACCOUNTS.md
|
||||
"""
|
||||
import http.server
|
||||
import socketserver
|
||||
import os
|
||||
import argparse
|
||||
from pathlib import Path
|
||||
|
||||
class DocsHandler(http.server.SimpleHTTPRequestHandler):
|
||||
def __init__(self, *args, **kwargs):
|
||||
# Serve from NetVM repo root
|
||||
self.base_dir = Path.home() / "Projects" / "NetVM"
|
||||
super().__init__(*args, directory=str(self.base_dir), **kwargs)
|
||||
|
||||
def log_message(self, format, *args):
|
||||
# Quiet logging
|
||||
pass
|
||||
|
||||
def end_headers(self):
|
||||
# Allow CORS for browser agents
|
||||
self.send_header('Access-Control-Allow-Origin', '*')
|
||||
super().end_headers()
|
||||
|
||||
def main():
|
||||
p = argparse.ArgumentParser()
|
||||
p.add_argument('--port', type=int, default=8080)
|
||||
args = p.parse_args()
|
||||
|
||||
# Only bind to tailnet interface (not public)
|
||||
# 100.123.153.75 is bl's tailnet IP
|
||||
with socketserver.TCPServer(("0.0.0.0", args.port), DocsHandler) as httpd:
|
||||
print(f"Serving NetVM docs on http://0.0.0.0:{args.port}/")
|
||||
print(f"Directory: {Path.home()}/Projects/NetVM/")
|
||||
httpd.serve_forever()
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in New Issue
Block a user