-
-
Notifications
You must be signed in to change notification settings - Fork 270
Description
Hi all,
In a new Komodo installation, I observe the following issue:
In a standard split Komodo deployment where komodo-core and komodo-periphery both run in Docker, Git-backed stacks fail during Pull.
Although the repository is cloned successfully into repo-cache and contains compose.yaml, the stack run directory is never populated, resulting in errors such as:
Failed to validate run directory on host after stack write (canonicalize error)
Missing compose file at compose.yaml
This occurs on fresh installations, with clean databases, correct permissions, and valid repositories.
Deployment Model
- Split deployment (core + periphery)
- Periphery running in Docker is supported and widely used
- The issue occurs in this standard configuration
Environment
- Komodo version: latest (tested Jan 2026)
- Deployment mode: split
- komodo-core in Docker
- komodo-periphery in Docker
Databases ### tested:
-
β PostgreSQL
-
β MongoDB-compatible backend
-
OS: Linux (Debian-based)
-
Filesystem: local ext filesystem (not NFS)
-
Git provider: Gitea
-
Repository:
-
organization-owned repo
-
compose.yaml at repository root
-
git installed inside periphery container (git version 2.30.2)
-
The issue reproduces independently of database backend.
Steps to Reproduce
Deploy Komodo using the standard split architecture:
- core container
- periphery container
- database container
- Configure PERIPHERY_ROOT_DIRECTORY (e.g. /var/lib/komodo-data)
Add a Git-backed stack:
- valid repository
- valid branch
- compose.yaml at repo root
- Click Pull
Expected Behavior
Komodo should:
- Clone/update repo
- Create stack run directory:
- $PERIPHERY_ROOT_DIRECTORY/stacks//
- Copy/render compose.yaml into the run directory
- Allow Deploy
Actual Behavior
- Repo is cloned correctly: /repo-cache////latest/compose.yaml
Stack run directory is either:
- not created at all, or
- created but empty
- compose.yaml is never written
Komodo errors with:
Failed to validate run directory on host after stack write (canonicalize error)
Missing compose file at compose.yaml
Diagnostics / What Was Ruled Out
- Permissions (chmod 777) β no effect
- Ownership (chown) β no effect
- Manual directory creation β no effect
- Fresh PostgreSQL database β no effect
- MongoDB/FerretDB backend β same behavior
- Repo naming (hyphens) β no effect
- Organization vs user repo β no effect
- Different filesystem paths (/var/lib, /opt, etc.) β no effect
- Missing git β ruled out (git installed)
Key Observation
- Repo cache is correct and complete
- Periphery resolves paths correctly
- The compose render/copy step is never executed
- The failure occurs before any filesystem write attempt
- This suggests a logic error in the split-Docker execution path, not a configuration or environment issue.
Appreciate your help!