doc/ci/runners/job_router/_index.md
{{< details >}}
{{< /details >}}
[!flag] The availability of this feature is controlled by a feature flag. For more information, see the history. This feature is available for testing, but not ready for production use.
{{< history >}}
job_router and job_router_instance_runners. Disabled by default.job_router_admission_control. Disabled by default.{{< /history >}}
The job router is a component of the GitLab Agent Server (KAS) that provides advanced job orchestration capabilities for GitLab CI/CD. Instead of runners that poll GitLab directly for jobs, runners connect to the job router, which manages job distribution and provides features like admission control.
GitLab Instance → Job Router (KAS) → Runner
↓
Runner Controller (optional)
The job router:
To use the job router, you must have:
true:
job_router: For group and project runnersjob_router_instance_runners: For instance runnersjob_router_admission_control: For admission control (optional)FF_USE_JOB_ROUTER environment variable set to true.Runners can discover the job router URL using the job router discovery API.
Runner controllers enable admission control for jobs routed through the job router. For more information, see runner controllers.