FY26Q2 Dog fooding

GitLab is rebuilding how users and projects are organized to handle growth and support different customer needs better. Instead of everyone sharing one big system, we're moving to separate Organizations where users and their work stay contained within boundaries.

The dog fooding target lets GitLab employees test this new setup before customers see it. Our team members can work across multiple test organizations on the legacy cell, helping us find problems and validate that core features work correctly.

This work will deliver:

  1. GitLab Team members will be able to create their own Organizations.
  2. They will be able to switch into the Organization.
  3. The switch mechanism will define an Organization context.
  4. The Organization context will be pushed down into a Row Level Security (RLS) POC
  5. The RLS POC will:
    1. Implement an RLS Policy on one very small table
    2. Define the Organization ID through the application_name parameter
    3. Interoperate with PgBouncer
    4. Establish a process to continue RLS for more tables
      1. Define fail safe processes in case of runtime problems
      2. Define measurement procedures to validate performance

In this quarter there will also be ongoing sharding work.

There is the following critical path identified:

Isolating AJAX Queries

There's a very important path here where we can demonstrate an isolated experience to GitLab Team Members when they setup their new Organization. Implementation of these issues will prevent many important references from appearing outside the current Organization.

  1. Include current organization id with frontend r... (#541693 - closed)
  2. Set current Organization by header (#548319 - closed)
  3. Filter GraphQL results by Current.organization (#549472 - closed)

Finalizing Dog Fooding

Development

Roll out

For FF roll out, we will use gitlab-team-members via https://docs.gitlab.com/development/feature_flags/#feature-groups for dog food launch. Between now and then we will enable for GTS + friends by individual usernames. Here's a script to get GTS usernames - gitlab-tenant-scale-finder.rb

Summary

Total (██░░░░░░ 28%)
  ├─ Organization settings (░░░░░░░░ 0%)
  ├─ Organization Isolation Context (░░░░░░░░ 0%)
  ├─ Organization switching (░░░░░░░░ 0%)
  ├─ Organization Isolation Through RLS (░░░░░░░░ 0%)
  ├─ Restructure GitLab Schemas for Organization Isolation (░░░░░░░░ 0%)
  ├─ Features at Organization Level (░░░░░░░░ 0%)
  ├─ Organization groups (████░░░░ 50%)
  ├─ Minimize clusterwide tables (████░░░░ 50%)
  ├─ Database table sharding (██░░░░░░ 31%)
  └─ Organization backend essentials (████░░░░ 45%)

Issues

Period: May 10, 2025 - August 15, 2025


Generated by Target Tracker

Edited by Alex Pooley