wip: make work Services Status
This commit is contained in:
+56
-31
@@ -102,9 +102,9 @@ CORS(app)
|
||||
app.config['DEVELOPMENT_MODE'] = True # Set to True for development, False for production
|
||||
|
||||
# Initialize enhanced components
|
||||
config_manager = ConfigManager()
|
||||
config_manager = ConfigManager(config_file='./config/cell_config.json', data_dir='./data')
|
||||
service_bus = ServiceBus()
|
||||
log_manager = LogManager()
|
||||
log_manager = LogManager(log_dir='./data/logs')
|
||||
|
||||
# Initialize service loggers
|
||||
service_log_configs = {
|
||||
@@ -150,17 +150,17 @@ def log_request(response):
|
||||
def clear_log_context(exc):
|
||||
request_context.set({})
|
||||
|
||||
# Initialize managers
|
||||
network_manager = NetworkManager()
|
||||
wireguard_manager = WireGuardManager()
|
||||
peer_registry = PeerRegistry()
|
||||
email_manager = EmailManager()
|
||||
calendar_manager = CalendarManager()
|
||||
file_manager = FileManager()
|
||||
routing_manager = RoutingManager()
|
||||
cell_manager = CellManager()
|
||||
app.vault_manager = VaultManager()
|
||||
container_manager = ContainerManager()
|
||||
# Initialize managers with proper directories
|
||||
network_manager = NetworkManager(data_dir='./data', config_dir='./config')
|
||||
wireguard_manager = WireGuardManager(data_dir='./data', config_dir='./config')
|
||||
peer_registry = PeerRegistry(data_dir='./data', config_dir='./config')
|
||||
email_manager = EmailManager(data_dir='./data', config_dir='./config')
|
||||
calendar_manager = CalendarManager(data_dir='./data', config_dir='./config')
|
||||
file_manager = FileManager(data_dir='./data', config_dir='./config')
|
||||
routing_manager = RoutingManager(data_dir='./data', config_dir='./config')
|
||||
cell_manager = CellManager(data_dir='./data', config_dir='./config')
|
||||
app.vault_manager = VaultManager(data_dir='./data', config_dir='./config')
|
||||
container_manager = ContainerManager(data_dir='./data', config_dir='./config')
|
||||
|
||||
# Register services with service bus
|
||||
service_bus.register_service('network', network_manager)
|
||||
@@ -686,8 +686,8 @@ def test_network():
|
||||
def get_wireguard_keys():
|
||||
"""Get WireGuard keys."""
|
||||
try:
|
||||
keys = wireguard_manager.get_keys()
|
||||
return jsonify(keys)
|
||||
# For now, return empty keys - this would need to be implemented
|
||||
return jsonify({"error": "Not implemented yet"}), 501
|
||||
except Exception as e:
|
||||
logger.error(f"Error getting WireGuard keys: {e}")
|
||||
return jsonify({"error": str(e)}), 500
|
||||
@@ -697,7 +697,9 @@ def generate_peer_keys():
|
||||
"""Generate peer keys."""
|
||||
try:
|
||||
data = request.get_json(silent=True)
|
||||
result = wireguard_manager.generate_peer_keys(data)
|
||||
if data is None or 'peer_name' not in data:
|
||||
return jsonify({"error": "Missing peer_name"}), 400
|
||||
result = wireguard_manager.generate_peer_keys(data['peer_name'])
|
||||
return jsonify(result)
|
||||
except Exception as e:
|
||||
logger.error(f"Error generating peer keys: {e}")
|
||||
@@ -707,8 +709,8 @@ def generate_peer_keys():
|
||||
def get_wireguard_config():
|
||||
"""Get WireGuard configuration."""
|
||||
try:
|
||||
config = wireguard_manager.get_config()
|
||||
return jsonify(config)
|
||||
# For now, return empty config - this would need to be implemented
|
||||
return jsonify({"error": "Not implemented yet"}), 501
|
||||
except Exception as e:
|
||||
logger.error(f"Error getting WireGuard config: {e}")
|
||||
return jsonify({"error": str(e)}), 500
|
||||
@@ -717,7 +719,7 @@ def get_wireguard_config():
|
||||
def get_wireguard_peers():
|
||||
"""Get WireGuard peers."""
|
||||
try:
|
||||
peers = wireguard_manager.get_peers()
|
||||
peers = wireguard_manager.get_wireguard_peers()
|
||||
return jsonify(peers)
|
||||
except Exception as e:
|
||||
logger.error(f"Error getting WireGuard peers: {e}")
|
||||
@@ -728,8 +730,22 @@ def add_wireguard_peer():
|
||||
"""Add WireGuard peer."""
|
||||
try:
|
||||
data = request.get_json(silent=True)
|
||||
result = wireguard_manager.add_peer(data)
|
||||
return jsonify(result)
|
||||
if data is None:
|
||||
return jsonify({"error": "No data provided"}), 400
|
||||
|
||||
required_fields = ['name', 'public_key', 'allowed_ips']
|
||||
for field in required_fields:
|
||||
if field not in data:
|
||||
return jsonify({"error": f"Missing required field: {field}"}), 400
|
||||
|
||||
result = wireguard_manager.add_wireguard_peer(
|
||||
name=data['name'],
|
||||
public_key=data['public_key'],
|
||||
allowed_ips=data['allowed_ips'],
|
||||
endpoint=data.get('endpoint', ''),
|
||||
persistent_keepalive=data.get('persistent_keepalive', 25)
|
||||
)
|
||||
return jsonify({"success": result})
|
||||
except Exception as e:
|
||||
logger.error(f"Error adding WireGuard peer: {e}")
|
||||
return jsonify({"error": str(e)}), 500
|
||||
@@ -739,8 +755,11 @@ def remove_wireguard_peer():
|
||||
"""Remove WireGuard peer."""
|
||||
try:
|
||||
data = request.get_json(silent=True)
|
||||
result = wireguard_manager.remove_peer(data)
|
||||
return jsonify(result)
|
||||
if data is None or 'name' not in data:
|
||||
return jsonify({"error": "Missing peer name"}), 400
|
||||
|
||||
result = wireguard_manager.remove_wireguard_peer(data['name'])
|
||||
return jsonify({"success": result})
|
||||
except Exception as e:
|
||||
logger.error(f"Error removing WireGuard peer: {e}")
|
||||
return jsonify({"error": str(e)}), 500
|
||||
@@ -772,8 +791,11 @@ def update_peer_ip():
|
||||
"""Update peer IP."""
|
||||
try:
|
||||
data = request.get_json(silent=True)
|
||||
result = wireguard_manager.update_peer_ip(data)
|
||||
return jsonify(result)
|
||||
if data is None or 'name' not in data or 'ip' not in data:
|
||||
return jsonify({"error": "Missing peer name or IP"}), 400
|
||||
|
||||
# For now, return not implemented - this would need to be implemented
|
||||
return jsonify({"error": "Not implemented yet"}), 501
|
||||
except Exception as e:
|
||||
logger.error(f"Error updating peer IP: {e}")
|
||||
return jsonify({"error": str(e)}), 500
|
||||
@@ -782,10 +804,11 @@ def update_peer_ip():
|
||||
def get_peer_config():
|
||||
try:
|
||||
data = request.get_json(silent=True)
|
||||
if data is None:
|
||||
return jsonify({"error": "No data provided"}), 400
|
||||
result = wireguard_manager.get_peer_config(data)
|
||||
return jsonify(result)
|
||||
if data is None or 'name' not in data:
|
||||
return jsonify({"error": "Missing peer name"}), 400
|
||||
|
||||
# For now, return not implemented - this would need to be implemented
|
||||
return jsonify({"error": "Not implemented yet"}), 501
|
||||
except Exception as e:
|
||||
logger.error(f"Error getting peer config: {e}")
|
||||
return jsonify({"error": str(e)}), 500
|
||||
@@ -883,7 +906,8 @@ def update_peer_ip_registry(peer_name):
|
||||
except Exception as e:
|
||||
logger.warning(f"RoutingManager update_peer_ip failed: {e}")
|
||||
try:
|
||||
wireguard_manager.update_peer_ip(peer_name, new_ip)
|
||||
# For now, skip WireGuard update - method not implemented
|
||||
logger.warning(f"WireGuardManager update_peer_ip not implemented yet")
|
||||
except Exception as e:
|
||||
logger.warning(f"WireGuardManager update_peer_ip failed: {e}")
|
||||
return jsonify({"message": f"IP update received for {peer_name}"})
|
||||
@@ -912,7 +936,8 @@ def ip_update():
|
||||
except Exception as e:
|
||||
logger.warning(f"RoutingManager update_peer_ip failed: {e}")
|
||||
try:
|
||||
wireguard_manager.update_peer_ip(peer_name, new_ip)
|
||||
# For now, skip WireGuard update - method not implemented
|
||||
logger.warning(f"WireGuardManager update_peer_ip not implemented yet")
|
||||
except Exception as e:
|
||||
logger.warning(f"WireGuardManager update_peer_ip failed: {e}")
|
||||
return jsonify({"message": f"IP update received for {peer_name}"})
|
||||
|
||||
Reference in New Issue
Block a user