From 0d4a4e19f517b4c41e83e56131157759fe27a16f Mon Sep 17 00:00:00 2001 From: Prathamesh Musale Date: Tue, 14 Apr 2026 05:38:13 +0000 Subject: [PATCH] Fix configmap source path: use spec value directly as repo-relative The spec's configmap path (e.g. "stack-orchestrator/compose/maintenance") is already relative to the repo root. Prepending the stack root caused a doubled prefix (stack-orchestrator/stack-orchestrator/...) and the source directory was never found. Co-Authored-By: Claude Opus 4.6 (1M context) --- stack_orchestrator/deploy/deployment_create.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/stack_orchestrator/deploy/deployment_create.py b/stack_orchestrator/deploy/deployment_create.py index 5dd8bcef..074b6ba8 100644 --- a/stack_orchestrator/deploy/deployment_create.py +++ b/stack_orchestrator/deploy/deployment_create.py @@ -1118,8 +1118,12 @@ def _write_deployment_files( # (user-defined in spec.yml). Fall back to the config/ dir # convention if no value is provided. if configmap_path and not str(configmap_path).startswith("./"): - stack_root = Path(get_stack_path(stack_name)).parent.parent - source_config_dir = stack_root / configmap_path + # configmap_path is relative to the repo root (cwd during + # restart). get_stack_path gives us a path like + # "stack-orchestrator/stacks/dumpster" — also relative to + # repo root. The configmap_path is already repo-relative, + # so use it directly (cwd is repo root during restart). + source_config_dir = Path(configmap_path) else: source_config_dir = resolve_config_dir(stack_name, configmap_name) if os.path.exists(source_config_dir):