Open-Source Wikis

/

GitLab

/

GitLab

/

Glossary

gitlab-org/gitlab

Glossary

Project-specific vocabulary. Common GitLab product terms (issue, merge request, pipeline, runner) are not redefined here — see https://docs.gitlab.com for those.

Architecture

  • Application layer — controllers, REST endpoints, GraphQL types, and views. Exempt from bounded-context naming rules.
  • Bounded context — a Ruby namespace that owns one or more feature categories. Defined in config/bounded_contexts.yml. New domain code must live inside a registered context.
  • Cell / Cells — proposed and partially implemented sharding model where each "cell" is a self-contained GitLab installation handling a subset of organizations. See app/services/cells/, app/models/cell.rb, lib/api/cells/.
  • Decomposed database — the split of one logical Postgres database into main + ci (and optionally sec, jh). Connection routing is handled by gitlab-database-load_balancing.
  • Domain layer — services, finders, models, and lib/ code. Must declare a feature category and live inside a bounded context.
  • EE / CE / FOSS — Enterprise Edition (proprietary ee/ tree), Community Edition (FOSS only), FOSS_ONLY=1 builds CE.
  • EE prepend — pattern where ee/app/services/foo_service.rb defines EE::FooService and is prepended via prepend_mod_with to extend FOSS classes.
  • Feature category — a tag declaring which product/engineering category code belongs to. ~155 are defined in config/feature_categories.yml. Required on every controller, service, worker, and gem.
  • Internal events — schemaful product analytics events (lib/gitlab/internal_events.rb). Replace older counter-based "usage data" tracking.
  • Monorepo gems — Ruby gems extracted under gems/. Loaded via path: in the Gemfile so they ship with the monolith.

Storage and persistence

  • Gitaly — gRPC service that owns Git repository storage. The monolith never touches .git directories directly; all reads/writes go through Gitlab::GitalyClient.
  • Object storage — S3-compatible storage for uploads, artifacts, LFS, packages. Configured in config/object_store_settings.rb.
  • Sidekiq jobs / workers — async jobs in app/workers/. Idempotent jobs declare idempotent!. See Sidekiq jobs.
  • EventStore (Gitlab::EventStore) — pub/sub built on Sidekiq, used to decouple domain events from subscribers.

Code organization

  • Concern — a Ruby module under app/models/concerns/, app/controllers/concerns/, etc. Mixed in via include.
  • Finder — read-only query object under app/finders/. Returns ActiveRecord relations filtered by user permissions.
  • Policy — authorization rule under app/policies/, defined with the declarative_policy DSL.
  • Service — business logic under app/services/. Almost always returns a ServiceResponse.
  • ServiceResponse — value object with :success/:error plus payload, message, reason (app/services/service_response.rb).
  • Hook data builder (lib/gitlab/data_builder/) — builds payloads for webhooks and system hooks.
  • Banzai — GitLab's HTML pipeline / Markdown rendering library (lib/banzai/). Used everywhere user-supplied markdown is rendered.

Auth

  • Devise — Rails auth library; user passwords and sessions live here.
  • Doorkeeper — OAuth2 provider for oauth/* and the /api/v4 token grants.
  • OmniAuth — third-party identity providers (LDAP, SAML, Google, GitHub, etc.) plumbed through app/controllers/omniauth_callbacks_controller.rb.
  • Personal access token (PAT) / Project access token / Group access token / CI Job token — different scoped tokens validated by Gitlab::Auth.
  • Internal API — endpoints under lib/api/internal/ callable only by other GitLab components (Shell, Workhorse, KAS, Pages). Authenticated with shared secrets.

CI / DevOps

  • Runner — external agent that executes CI jobs. Lives in https://gitlab.com/gitlab-org/gitlab-runner.
  • Pipeline — a graph of jobs across stages (Ci::Pipeline).
  • Trace — the live job log; chunked and streamed (Ci::BuildTraceChunk).
  • Artifact — file output of a job, stored in object storage (Ci::JobArtifact).
  • Catalog / Component — reusable pipeline components in the CI/CD Catalog.

AI / Duo

  • GitLab Duo — umbrella name for AI features (chat, code suggestions, code review, agents).
  • AI Gateway / AIGW — separate service that talks to LLM providers; the monolith proxies to it.
  • Duo Workflow / Duo Agent Platform — autonomous agent runtime; lib/gitlab/duo_agent_platform/.
  • Duo Workflow Service / Executor — companion services pinned via DUO_WORKFLOW_EXECUTOR_VERSION.
  • Active Context — embedding-based code search and retrieval (ee/lib/active_context/).

Geo and replication

  • Geo — EE feature for read replication across regions. The "primary" handles writes, "secondary" sites replicate.
  • Verifiable, replicable, selective sync — Geo concepts for ensuring secondaries are up to date.
  • Elasticsearch — backs full-text search for issues, MRs, comments, code (legacy code search).
  • Zoekt — Go-based code search engine; replacing Elasticsearch for code search at scale.
  • Active Context — newer LLM-friendly retrieval layer.

Observability

  • Application context — per-request metadata propagated through logs, traces, Sidekiq, and database queries.
  • Labkit — shared Ruby/Go observability gem (gitlab-labkit).
  • Application SLI — Service Level Indicator helper (Gitlab::Metrics::Sli).
  • User experience SLI — frontend SLI defined in config/user_experience_slis/.

Workflows and tools

  • Danger — Bot that comments on MRs (Dangerfile, danger/). Adds reviewer suggestions, lints, and warnings.
  • GDK — the GitLab Development Kit, the recommended local dev environment.
  • Lefthook — git hook manager (lefthook.yml).
  • Housekeeper — automated keeper that opens MRs to clean up code (gems/gitlab-housekeeper/, keeps/).
  • Glaz / GLAS rules — internal code-style governance system.

Other acronyms

Acronym Meaning
MR Merge Request
PAT Personal Access Token
PAT (also) Post-deploy migration timestamp
KAS Kubernetes Agent Server
FOSS Free and Open Source Software (= CE-only build)
LFS Large File Storage (Git LFS)
GDK GitLab Development Kit
SSO Single Sign-On
SAML Security Assertion Markup Language
SCIM System for Cross-domain Identity Management
UBI Universal Base Image (Red Hat container base)
FIPS Federal Information Processing Standards (compliance mode)
LSIF Language Server Index Format (code intelligence)
GLQL GitLab Query Language (saved searches)
SBOM Software Bill Of Materials
BOM Byte Order Mark / Bill of Materials (context-dependent)

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Glossary – GitLab wiki | Factory