Skip to content

gitlabhq/orbit-knowledge-graph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,608 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitLab Orbit logo

GitLab Orbit

Software lifecycle context graph for AI agents

pipeline status latest release Helm chart license Community fork

Docs · Quickstart · Orbit Local · Orbit Remote · AI coding agents

Index your GitLab SDLC and source code as one property graph, then query it from the GitLab UI, a CLI, MCP, or REST. Orbit ships in two shapes: Orbit Local, a single-binary CLI that builds a code-only graph from any repository on your machine, and Orbit Remote, the hosted graph that spans a top-level GitLab.com group.

Beta. The Query DSL and ontology may change. Orbit Remote is gated by the knowledge_graph feature flag and must be enabled on a top-level group.

Two ways to run Orbit

Orbit Local

Orbit Local runs on your machine. The orbit CLI parses a local repository, extracts definitions and cross-file references, and writes a code-only call graph to a single DuckDB file. No GitLab account is required at query time. The install step downloads a release artifact over HTTPS.

What it indexes: directories, files, function and class definitions, and cross-file import references. Same 11+ languages as Orbit Remote. Multiple repositories share one database at ~/.orbit/graph.duckdb, each scoped by repository and branch.

Access method Use for
orbit CLI Index, query, and inspect the local graph today
glab orbit local (planned) Drive Orbit Local through glab
MCP (planned) Expose the local graph to AI coding agents

Start with Orbit Local getting started.

Orbit Remote

Enable Orbit on a top-level GitLab.com group. Orbit indexes your SDLC and source code into a managed property graph.

What it indexes: SDLC objects (including groups, projects, users, notes, merge requests, pipelines, jobs, work items, milestones, labels, vulnerabilities, findings) and source code on the default branch across 11+ languages including Ruby, Java, Kotlin, Python, TypeScript, JavaScript, Rust, Go, C#, C, and C++.

Access method Use for
GitLab Duo Agent Platform Natural-language questions in the GitLab UI
MCP Claude Code, Codex, Cursor, opencode, Gemini CLI
glab orbit remote Typed CLI subcommands for scripts and discovery
REST API Pipelines, custom tooling, scripts

Start with Orbit Remote getting started.

flowchart LR
    subgraph GitLab["GitLab instance"]
        SDLC[SDLC data]
        Code[Source code]
    end

    SDLC -- CDC --> DIP[Data Insights Platform]
    DIP --> CH[(ClickHouse)]
    Code -- Rails API --> Orbit[Orbit service]
    CH <--> Orbit

    Orbit --> REST[REST API]
    Orbit --> MCP[MCP tools]
    Orbit --> DAP[GitLab Duo Agent Platform]
Loading

Quickstart

Quickstart: Orbit Local

# Install (macOS, Linux glibc, Linux musl; --libc musl forces the static build)
curl -fsSL "https://gitlab.com/gitlab-org/orbit/knowledge-graph/-/raw/main/install.sh" | bash

# Index the current repository, then query it
orbit index .
orbit sql 'SELECT count(*) FROM gl_definition'

Quickstart: Orbit Remote

# Requires glab 1.94+, authenticated (glab auth login), with Orbit enabled on your group.
# See docs/source/remote/getting-started.md. Replace your-group/ with your top-level group path.
glab orbit remote schema

echo '{"query":{"query_type":"traversal","node":{"id":"p","entity":"Project","filters":{"full_path":{"op":"starts_with","value":"your-group/"}}},"limit":5}}' \
  | glab orbit remote query -

The cookbook has blast-radius, dependency, pipeline-health, and vulnerability recipes.

Features

Capability Orbit Local Orbit Remote
Scope Code only SDLC and code
Query interface Raw DuckDB SQL Query DSL compiled to ClickHouse SQL
GitLab authorization Filesystem permissions only Enforced per query
Runs offline Yes (after install) No

Orbit Local exposes raw SQL, so traversals are expressed as joins. Orbit Remote supports aggregations, traversals, neighbors, and pathfinding at multi-billion-edge scale.

Architecture

Orbit is a single Rust binary backed by ClickHouse (Remote) or DuckDB (Local), driven by a YAML ontology. The server serves results over HTTP and gRPC, with MCP and REST surfaces layered on top. See the design documents and the data model for the full picture.

Documentation

User docs Developer docs
Orbit overview Local development
AI coding agents Domain glossary (CONTEXT.md)
Remote: how it works · indexing · schema · cookbook · Query DSL Design documents
Local: how it works · indexing · schema · orbit CLI Adding a language
MCP tool reference E2E testing
Configuration Indexer crate guide
Troubleshooting Runbooks

The published site is docs.gitlab.com/orbit.

Development

Build, test, and run from source

All tasks run through mise.

mise build            # Build the workspace
mise test:fast        # Unit + fast integration tests
mise test:integration # Full integration suite (requires Docker)
mise lint:code        # Clippy with warnings as errors
mise lint:code:fix    # Apply clippy fixes
mise server:start     # Run gkg-server locally

The product name is Orbit. The binary and config still use the engineering name GKG (binary gkg-server, config prefixes GKG_*, metrics).

Project and operations

Epics, related repositories, infrastructure, contacts, and SOX boundary

Epic landscape

Related repositories

Repository Role
orbit/knowledge-graph This repo. Server, indexer, CLI.
orbit/gkg-helm-charts Official Helm chart.
orbit/gkg-e2e-harness GKE bootstrap for end-to-end tests.
orbit/documentation/orbit-artifacts Offsite transcripts and session notes.
analytics-section/siphon External CDC pipeline that feeds the datalake.
analytics-section/platform-insights/siphon-helm-charts Production Siphon Helm chart.
gitlab-org/gitlab Rails monolith. Owns authorization and serves source code over the internal API.
gitlab-org/rust/build-images CI builder images.

Infrastructure

Pipeline operations

Billing and SOX

Billing emission is on the SOX audit boundary. Before touching billing code, read SOX billing boundary.

People

Role DRI
Engineering lead @michaelangeloio
Product Manager @mcorren
TPM @lyle
Siphon and DIP architecture @ahegyi

Cross-functional partners

Name Area
Nitin Singhal (@nitinsinghal74) ELT lead
Stephanie Jackson Infrastructure, SRE, PREP
Ankit Bhatnagar (@ankitbhatnagar) NATS, DIP
Gus Gray (@ggray-gitlab) Security, AuthZ design
Jason Plum (@WarheadsSE) Delivery, Self-Managed, Dedicated
Brian Greene (@bgreene1) Ontology standards
Dennis Tang (@dennis) Analytics stage, ClickHouse operations
Nick Leonard (@nickleonard) Design
Jerome Ng (@jeromezng) Usage billing system architect

GitLab stage: Analytics. Group: Knowledge Graph.

Maintainers and contributors

Orbit was founded by:

  • @michaelangeloio (Angelo Rivera). Overall engineering lead.
  • @michaelusa (Michael Usachenko). Code graph and query engine.
  • @jgdoyon1 (Jean-Gabriel Doyon). ETL engine and the overall indexing engine.
  • @bohdanpk (Bohdan Parkhomchuk). Infrastructure, web server, and security.

Orbit has received contributions from 75+ GitLab team members. See the contributors graph for the live list.

License

GitLab Enterprise Edition (EE) License. See LICENSE.md.

About

Orbit, aka the GitLab Knowledge Graph, is a project that aims to provide a unified context API for AI systems and human users. This project has both a local Knowledge Graph for your code and a backend service for the entire SDLC.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors