Orbit Service POC Demo & Vision

Watch the Full Demo

Demo Video

Note: The video is internal only until approved by PMM

This demo is not the final product

Proof-of-concept Demo: Knowledge Graph as a Service

This demo showcases the vision for the GitLab Knowledge Graph as a service. It demonstrates how connecting code with Software Development Life Cycle (SDLC) items into a unified data layer can unlock new capabilities for GitLab Duo and provide deep, cross-stage insights.

The demo runs on a hybrid architecture that combines a self-managed GitLab instance with a cloud-native Knowledge Graph service running on Google Kubernetes Engine (GKE).

Features & Use Cases

The Knowledge Graph enhances the GitLab Duo agent platform by providing complete SDLC context, allowing users and agents to ask questions and perform actions that were not previously possible.

Here are some of the features showcased in the demo:

  • Unified Developer Onboarding: A new developer can ask a broad question like, "Can you help me get up to speed?" The agent explores the Knowledge Graph to generate a comprehensive onboarding guide, discovering relevant groups, project members, active contributors, related issues, merge requests, and even pipeline statuses.
  • Intelligent Task Planning: The agent can identify a good first issue and create a concrete plan for a developer's first commit. By understanding both the codebase and related SDLC items, it can recognize missing API scaffolding, suggest a strategy that integrates with the existing project structure, and identify who to tag for code review.
  • Vulnerability Triage: When a zero-day exploit is reported (e.g., Log4j), the agent can create a complete audit trail. It combines data across stages to identify:
    • Who triggered the vulnerabilities.
    • Associated MRs and issues that previously fixed them.
    • Related pipeline jobs that detected them.
    • Specific code files across multiple projects that are affected.
  • Automated Workflows with Duo Agent: The demo features a "Vulnerability Triage Research Agent" that takes action based on the context it gathers. It can automatically:
    • Create a new epic to organize the triage work.
    • Generate a table with links to relevant pipelines.
    • Create individual issues for each vulnerability in the appropriate projects.
    • Tag users and suggest which vulnerabilities to prioritize.
  • Cross-Stage Analytics: The Knowledge Graph enables rich analytics questions that are difficult to answer today. For example, an agent can identify bottlenecks across multiple teams by analyzing their associated epics, issues, and pipelines, and then create a unified dashboard to highlight areas in need of focus.

How to use the Knowledge Graph Demo instance

This section provides a more detailed look at the features demonstrated and explains how to connect your own AI agent to the Knowledge Graph service using the Model Context Protocol (MCP).

Connecting an AI Agent via MCP

You can connect your own local AI agent to the Knowledge Graph demo instance using the Model Context Protocol (MCP). MCP allows your agent to discover and use the tools provided by the Knowledge Graph service.

⚠️ Security Warning: For security purposes, always run the AI agent you are using in a sandboxed environment.

1. Install an MCP Client

You will need an MCP-compatible client. The mcp-remote CLI tool is a simple way to connect.

2. Configure Your MCP Client

Please follow the MCP guide at the top right of the Software Architecture Map: https://kg-api.gitlab-knowledge-graph.michaelangelo.io/

Screenshot_2025-10-28_at_8.54.29_PM

Create or update your MCP configuration file to add the Knowledge Graph server. The location of this file depends on your specific AI agent or tool. For GitLab Duo, the file is typically located at ~/.gitlab/duo/mcp.json.

Add the following configuration:

{
  "mcpServers": {
    "knowledge-graph": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "mcp-remote@latest",
        "https://kg-api.gitlab-knowledge-graph.michaelangelo.io/mcp",
        "--header",
        "X-Skip-Auth: true"
      ]
    }
  }
}

3. Chat with the Agent

Once configured, you can start a chat session with your agent. It will now have access to the Knowledge Graph tools and can answer questions about the demo instance's data.

You can try prompts from the demo, such as:

  • "Can you help me get up to speed on the AI content moderation team?"
  • "Using the knowledge graph, can you identify a good first issue and help me create a simple plan for my first code commit?"
  • "We have a log4j zero-day exploit. Can you give me a full report on which projects are affected, who triggered the vulnerabilities, and any associated MRs, issues, and pipelines?"

Demo Setup & Architecture

The demo environment intentionally mixes a GitLab Omnibus VM with a cloud-native GKE cluster to evaluate a production-like topology.

For a detailed technical breakdown of the components, data flow, and operational workflows of this hybrid architecture, please see our deep-dive issue: Hybrid Architecture for Knowledge Graph as a Service.

  • GitLab VM: Hosts GitLab Rails, Workhorse, Gitaly, and PostgreSQL. The database uses logical replication to stream changes.
  • GKE Cluster: Runs the Knowledge Graph services, including Siphon (for CDC), NATS JetStream, the indexer, and the web API.

For the full cluster configuration and deployment details, see the gkg-cluster repository.

High-Level Data Flow

flowchart TD
    subgraph GitLab_VM["GitLab VM (Omnibus)"]
        PG[(PostgreSQL<br/>Logical Replication)]
        Rails[GitLab Rails & Workhorse]
        Gitaly[(Gitaly RPC)]
    end

    subgraph GKE["GKE gkg-system namespace"]
        SMain[siphon-main]
        SCI[siphon-ci]
        NATS[(NATS JetStream)]
        Indexer[gkg-indexer<br/>single writer]
        Web1[gkg-webserver pod A]
        Web2[gkg-webserver pod B]
        subgraph Storage["Persistent Disk gkg-delta-disk"]
            Delta[(Delta Lake & Kùzu files)]
        end
    end

    PG -->|publications + slots| SMain
    PG -->|CI publications| SCI
    SMain -->|CDC batches| NATS
    SCI -->|CI batches| NATS
    NATS -->|Delta writer jobs| Indexer
    Indexer -->|RW mount| Delta
    Delta -->|RO mount| Web1
    Delta -->|RO mount| Web2
    Web1 -->|HTTPS + MCP| Users
    Web2 -->|HTTPS + MCP| Users
    Rails -->|API + Git metadata| Indexer
    Gitaly -->|Repository RPC| Indexer
Edited by Michael Angelo Rivera