4c11163bff
- Add git_mounts column to config_profiles table (JSONB) - Create GitMount Pydantic models with validation - Add repo validation in create/update endpoints - Update profile resolver to merge git mounts from includes - Implement auto-clone, branch checkout, and glob expansion - Add parallel processing for git mount resolution - Create GitMountEditor frontend component - Update TypeScript types and API clients - Add CSS styles for git mount UI - Frontend type check and build pass Implements tasks 1.1-7.9 of config-profile-git-mounts spec
1.8 KiB
1.8 KiB
Why
Config profiles currently only support inline file content, which is impractical for dotfiles and configuration repositories that users manage with git. Users need a way to include files from git repositories (similar to yadm) so they can version-control their dotfiles and mount them into containers at startup.
What Changes
- Add
git_mountsfield to config profiles, allowing references to git repositories - Mount specific paths from git repositories into containers at configurable target paths
- Support branch/tag selection for reproducible mounts
- Integrate with existing profile resolution and instance startup pipeline
- Update config profile UI to manage git repository mounts alongside existing mounts
- No breaking changes - existing profiles continue to work unchanged
Capabilities
New Capabilities
config-profile-git-mounts: Mounting files from git repositories into containers via config profiles, including repo selection, path mapping, and branch pinning
Modified Capabilities
tool-instances: Instance startup pipeline now processes git mounts from resolved profiles before container creationgit-repo: Repository model may need branch/tag listing for mount configuration
Impact
- Backend:
apps/api/src/models/config_profile.py- add git_mounts field - Backend:
apps/api/src/services/config_profile_resolver.py- resolve git mounts in profile resolution - Backend:
apps/api/src/services/docker.pyor instance startup - bind mount from repo path to container - Backend:
apps/api/src/api/config_profiles.py- CRUD for git mounts - Frontend:
apps/web/src/pages/config-profiles.tsx- UI for managing git mounts - Frontend:
apps/web/src/api/config_profiles.ts- API types for git mounts - Database: Migration to add git_mounts column to config_profiles table