Properly support Job Router FF from runner config

What does this MR do?

Properly support Job Router FF from runner config

This change set drops support to set the job router FF via environment variable and instead supports setting it from the runner config. This aligns with how the rest of the feature flags work.

It also better supports rollout strategies for the job router.

What's the best way to test this MR?

Enable the FF in a config and test it with runners (and different tags for better control):

concurrent = 4

[[runners]]
  name = "development runner"
  # ...
  [runners.feature_flags]
    FF_USE_JOB_ROUTER = false

[[runners]]
  name = "development runner job-router"
  # ...
  [runners.feature_flags]
    FF_USE_JOB_ROUTER = true

When both [[runners]] set the FF to true - you'd still only ever see one Using Job Router ... log, because that happens during discovery of the job router endpoints which is cached.

What are the relevant issue numbers?

Closes gitlab#593830 (closed)

Closes #39280 (closed)

Edited by Timo Furrer

Merge request reports

Loading