Skip to content

runner-projects

GitLab’s hosted runners infrastructure consists of multiple interconnected repositories and services that work together to provide scalable CI/CD execution environments. This documentation covers the GitLab projects, their relationships, and where to find configuration details.

GitLab Runner Core Application: The main GitLab Runner application that executes CI/CD jobs.

Fleeting Plugin: Plugin system for dynamic runner provisioning.

Nesting: Basic and opinionated daemon that sits in front of virtualization platforms. Provides abstraction layer for managing virtual machines and containers.

Taskscaler: Autoscaler for provisioning instances via fleeting. Handles allocation and assignment of tasks to provisioned instances.

Docker Machine: A fork of the Docker Machine project, used for autoscaling.

Job Images: Builds and maintains macOS images for use with nesting on macOS Runners in AWS.

macOS Nesting Images: Specialized images for macOS runner host environments.

Macos Image Inventory: Creates a static site documenting notable software versions for each supported macos image.

Windows Containers: Images used by GitLab CI custom executor to run Jobs inside of Google Cloud Platform.

Linux COS: Customized build of Google COS image used by GitLab SaaS Linux runners.

Grit: Core tool for runner management and configuration.

Grit Images: Builds images used within grit configurations.

Grit E2E Testing: End-to-end testing for grit CI pipelines.

Chef Repository: Contains Chef cookbooks and configuration management.

Operations Config Management: Primary operations configuration and Terraform infrastructure management.

Windows CI Infrastructure: Hosted Runners on Windows configuration and management.

Base Runner Manager Definition

  • Path: roles/runners-manager.json

There are many more runner manager definitions in the same path with runners-manager.json. Their filenames all have the prefix of runners-manager.