From 23ae12e69c132dead5d302be700d9ba9dedc4961 Mon Sep 17 00:00:00 2001 From: Fusion Date: Wed, 20 May 2026 16:09:47 +0200 Subject: [PATCH] debug(cloudflare): add detailed logging for tunnel creation failures --- apps/api/src/api/tool_instances.py | 10 +++++++--- apps/api/src/services/cloudflare_tunnel.py | 8 ++++++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/apps/api/src/api/tool_instances.py b/apps/api/src/api/tool_instances.py index 0ae9b09..ce57425 100644 --- a/apps/api/src/api/tool_instances.py +++ b/apps/api/src/api/tool_instances.py @@ -440,10 +440,14 @@ async def start_instance( tunnel_info["public_url"], ) except Exception as exc: - logger.exception( - "Failed to create tunnel for instance %s: %s. Falling back to proxy URL.", + import traceback + error_msg = str(exc) + error_trace = traceback.format_exc() + logger.error( + "Failed to create tunnel for instance %s: %s\nTraceback:\n%s", instance.id, - exc, + error_msg, + error_trace, ) instance.url = f"/instances/{instance.id}/proxy/" await session.commit() diff --git a/apps/api/src/services/cloudflare_tunnel.py b/apps/api/src/services/cloudflare_tunnel.py index e446ef1..9d0a9a7 100644 --- a/apps/api/src/services/cloudflare_tunnel.py +++ b/apps/api/src/services/cloudflare_tunnel.py @@ -43,13 +43,17 @@ async def create_tunnel( if settings is None: settings = Settings() + logger.info("Settings loaded: api_token=%s, account_id=%s, zone_id=%s, base_domain=%s", + "set" if settings.cloudflare_api_token else "NOT SET", + settings.cloudflare_account_id or "NOT SET", + settings.cloudflare_zone_id or "NOT SET", + settings.cloudflare_base_domain or "NOT SET") + if not settings.cloudflare_api_token: raise ValueError("CLOUDFLARE_API_TOKEN not configured") logger.info("Creating Cloudflare tunnel for instance_name=%s, instance_id=%s, port=%d", instance_name, instance_id, instance_port) - logger.info("Cloudflare config: account_id=%s, zone_id=%s, base_domain=%s", - settings.cloudflare_account_id, settings.cloudflare_zone_id, settings.cloudflare_base_domain) headers = _get_headers(settings) account_id = settings.cloudflare_account_id