Support environment variable expansion in runner token and URL
What does this MR do?
Allow using $VAR or ${VAR} syntax in the token and url fields of
runner configuration. This enables storing sensitive values in
environment variables instead of hardcoding them in config.toml.
Why was this MR needed?
This is useful for:
- Kubernetes deployments where tokens are mounted from secrets
- Docker deployments where tokens are passed as environment variables
- Avoiding secrets in version-controlled configuration files
What's the best way to test this MR?
Example config.toml:
[[runners]]
name = "runner-1"
url = "$GITLAB_URL"
token = "${RUNNER_TOKEN_1}"
[[runners]]
name = "runner-2"
url = "$GITLAB_URL"
token = "${RUNNER_TOKEN_2}"
What are the relevant issue numbers?
Edited by Igor