runner-projects
GitLab Runner Projects Overview
Section titled “GitLab Runner Projects Overview”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.
Core Runner Infrastructure
Section titled “Core Runner Infrastructure”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.
Image Management
Section titled “Image Management”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 Ecosystem
Section titled “Grit Ecosystem”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.
Infrastructure Configuration
Section titled “Infrastructure Configuration”Operations Repositories
Section titled “Operations Repositories”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.
Chef Configuration
Section titled “Chef Configuration”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
.