gitlab-runner overwriting config toml file on startup
Version 15.9.0 of gitlab runner is overwriting the config toml file on start, altering indentation, removing comments and re-ordering keys. The input file gitlab is being given is valid TOML, it should not be altering the config file.
Example config file:
concurrent = 1
check_interval = 0
user = "gitlab-runner"
shutdown_timeout = 0
[session_server]
session_timeout = 1800
[[runners]]
# this is a comment
token = "xxxxyyyyyyzzzzzzz"
# this is another comment
name = "gitlab-runner"
request_concurrency = 2
url = "https://gitlab.test.com/"
id = 0
token_obtained_at = 0001-01-01T00:00:00Z
token_expires_at = 0001-01-01T00:00:00Z
executor = "docker"
This file is valid TOML. That If I start gitlab runner with that configuration then the file is overwritten with this:
concurrent = 1
check_interval = 0
user = "gitlab-runner"
shutdown_timeout = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "gitlab-runner"
request_concurrency = 2
url = "https://gitlab.test.com/"
id = 0
token = "xxxxyyyyyyzzzzzzz"
token_obtained_at = 0001-01-01T00:00:00Z
token_expires_at = 0001-01-01T00:00:00Z
executor = "docker"
The comment has been stripped out, the token line has been moved and additional whitespace has been added. There does not appear to be a way to prevent this modification to the file. This does not occur with previous versions of gitlab-runner and the release notes do not mention this as a behavioural change.