Files
headquarter/openspec/changes/config-profile-git-mounts/proposal.md
Alex Blank 4c11163bff feat: implement config profile git mounts
- 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
2026-05-26 22:27:04 +02:00

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_mounts field 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 creation
  • git-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.py or 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