From 04cd9ff4725c21b4777b46b20273f738e81baaaa Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Tue, 2 Jun 2026 00:00:33 +0200 Subject: [PATCH] chore: add diagnostic logging for manifest mount resolution - Log REPO_PATH, SSH_PATH, EXTRA_VOLUMES, manifest mounts, and resolved volumes in compile_compose() to trace why mounts may be missing - Log repo_path and generated compose content in _prepare_manifest_instance() to verify the full compose YAML at start time --- apps/api/src/api/tool_instances.py | 12 ++++++++++++ apps/api/src/services/manifest_compiler.py | 16 +++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/apps/api/src/api/tool_instances.py b/apps/api/src/api/tool_instances.py index 490be03..e9d68d4 100644 --- a/apps/api/src/api/tool_instances.py +++ b/apps/api/src/api/tool_instances.py @@ -1430,6 +1430,18 @@ async def _prepare_manifest_instance( compose_content = compile_compose(manifest, variables) + logger.debug( + "_prepare_manifest_instance for %s: repo_path=%s compose_volumes=%s", + instance.id, + repo_path or "", + manifest.get("mounts", []), + ) + logger.debug( + "Generated compose for %s:\n%s", + instance.id, + compose_content, + ) + # Cache instance.image_tag = image_tag instance.manifest_compiled_at = datetime.now() diff --git a/apps/api/src/services/manifest_compiler.py b/apps/api/src/services/manifest_compiler.py index 04f924e..6538d55 100644 --- a/apps/api/src/services/manifest_compiler.py +++ b/apps/api/src/services/manifest_compiler.py @@ -329,7 +329,21 @@ def compile_compose(manifest: dict, variables: dict[str, Any]) -> str: service["volumes"] = sort_volumes_by_specificity(volumes) compose = {"services": {"app": service}} - return yaml.dump(compose, default_flow_style=False) + result = yaml.dump(compose, default_flow_style=False) + + # Debug: log mount resolution so we can diagnose missing mounts + import logging + logger = logging.getLogger(__name__) + logger.debug( + "compile_compose: REPO_PATH=%s SSH_PATH=%s EXTRA_VOLUMES=%s mounts=%s volumes=%s", + variables.get("REPO_PATH", ""), + variables.get("SSH_PATH", ""), + variables.get("EXTRA_VOLUMES", []), + manifest.get("mounts", []), + volumes, + ) + + return result def resolve_mount_source(mount: dict, variables: dict[str, Any]) -> str: