Fix SSH port to 2222; add HTTP validation server as alternative
This commit is contained in:
Executable
+56
@@ -0,0 +1,56 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Simple HTTP server to expose validation script for n8n
|
||||
Usage: python3 validation-server.py
|
||||
Access: http://localhost:8080/validate
|
||||
"""
|
||||
|
||||
import http.server
|
||||
import socketserver
|
||||
import subprocess
|
||||
import json
|
||||
import os
|
||||
|
||||
PORT = 8080
|
||||
REPO_DIR = "/home/garfield/mql-trading-bots"
|
||||
|
||||
class ValidationHandler(http.server.SimpleHTTPRequestHandler):
|
||||
def do_GET(self):
|
||||
if self.path == '/validate':
|
||||
# Run validation script
|
||||
os.chdir(REPO_DIR)
|
||||
result = subprocess.run(
|
||||
['./scripts/validate-settings.sh'],
|
||||
capture_output=True,
|
||||
text=True
|
||||
)
|
||||
|
||||
# Build response
|
||||
response = {
|
||||
'status': 'ok' if result.returncode == 0 else 'error',
|
||||
'code': result.returncode,
|
||||
'stdout': result.stdout,
|
||||
'stderr': result.stderr
|
||||
}
|
||||
|
||||
# Send response
|
||||
self.send_response(200)
|
||||
self.send_header('Content-Type', 'application/json')
|
||||
self.end_headers()
|
||||
self.wfile.write(json.dumps(response).encode())
|
||||
elif self.path == '/health':
|
||||
self.send_response(200)
|
||||
self.send_header('Content-Type', 'application/json')
|
||||
self.end_headers()
|
||||
self.wfile.write(json.dumps({'status': 'healthy'}).encode())
|
||||
else:
|
||||
self.send_error(404)
|
||||
|
||||
def log_message(self, format, *args):
|
||||
# Suppress logs
|
||||
pass
|
||||
|
||||
if __name__ == '__main__':
|
||||
with socketserver.TCPServer(("127.0.0.1", PORT), ValidationHandler) as httpd:
|
||||
print(f"Validation server running at http://127.0.0.1:{PORT}/validate")
|
||||
httpd.serve_forever()
|
||||
Reference in New Issue
Block a user