[BuildStream] Proposal: Add 'remote-execution' project configuration



I'd like to add an option to the project and element YAML spec to control remote execution. In the code, the remote execution part of BuildStream takes the form of a third sandbox, but I don't think it makes sense for the user to consider remote execution as a type of sandbox. Hence, I think this needs a new top-level label. If anyone thinks it'd fit into an existing top-level label I'd be happy to change it. Does this look like a reasonable approach?


Problem Statement

=================

We need a means to tell Buildstream when to use remote execution and the connection details for the build server.


Proposal

========

Add a 'remote-execution' top level label for project.conf and elements. This would contain a single element, 'url', containing the hostname and port. For example:

----

remote-execution:
  url: buildgridserver.example.com:50051

----

This should be usable in element configuration as well as project.conf, to enable or disable remote execution per-element. To disable remote execution in an element when it's enabled by project.config, 'url: ', 'url: null' or 'url: ""' will be accepted.

We expect to add further options to specify SSL keys and certificates in the future and can raise a new proposal for that.


Implementation
==============

Very similar to current configuration options for the 'sandbox' label. The resulting value would be checked in element.__sandbox and used to select the remote sandbox object if present.

--
--
Codethink privacy policy: https://www.codethink.co.uk/privacy.html



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]