Skip to content

Add control server

James Ribe requested to merge jribe/gitlab-runner:add-control-server into master

What does this MR do?

This MR adds an optional http server that can be used to control the runner. The control server can perform all the operations currently supported via OS signals. The control server can optionally authorize requests with an API key.

Why was this MR needed?

Windows does not support OS signals, so the functionality exposed via signals (e.g. graceful shutdown) is inaccessible on Windows.

Are there points in the code the reviewer needs to double check?

I'm not certain whether this should be supported with single runners. I'm only using multi-runners, but I added support for single runners anyway.

I'm not sure how to approach testing for this feature. I'd welcome any suggestions.

Does this MR meet the acceptance criteria?

  • Documentation created/updated
  • Tests
    • Added for this feature/bug
    • All builds are passing
  • Branch has no merge conflicts with master (if you do - rebase it please)

What are the relevant issue numbers?

#2061 (closed)

Merge request reports