What It Does
- fetches files from a GitLab project’s repository at a given branch, tag, or commit
- optionally limits ingestion to a sub-directory or a single file
- optionally ingests the project’s issues, with filtering by state, labels, assignee, author, milestone, and more
- runs ingestion on configurable schedules
Authentication
Authenticate with a GitLab Personal Access Token scoped toread_api. Supports both GitLab.com and self-hosted GitLab instances via gitlab_url.
Known Limitation
The underlying reader re-downloads all repository file content from the GitLab API on every scheduled run. The vector store’s checksum-based deduplication still prevents re-embedding unchanged files, but it does not reduce GitLab API calls for the files connector.Required Environment Variables
Set these in.env.rag:
GITLAB1_URL: base URL of your GitLab instance (example:https://gitlab.com)GITLAB1_TOKEN: Personal Access Token withread_apiscopeGITLAB1_SCHEDULES: ingestion interval in seconds (default:3600)
config.yaml Example
.env.rag Example
Configuration Reference
Multiple GitLab Sources
Add moresources entries (gitlab2, gitlab3, etc) with separate env vars per source.