[MVC] Allow project maintainers to set a default image for their Agent Platform Flows
Problem
Any flow in remote execution is executed in the same Docker image. Even if we allow agents in CI to run terminal commands it will make it very unlikely that agents can set up a suitable environment for a complex project reliably, and even if they'd be able to, it would be highly inefficient.
We already give the option to pass a custom docker image to remote execution through #549763 (closed), but we don't give users an option yet to define that on the project level.
Desired Outcome
Project maintainers can somehow define which image should be used when a flow is run in remote execution.
Proposed Solution
Config YAML
The main place for defining the image should be in a yaml file, such as .gitlab-duo.yml
to match naming we use for CI. We should define a structure for this file in such a way, that we can easily add new fields in the future.
Processing the config
We should process the config file and overwrite the default IMAGE if one is defined in the config.
Update documentation
We need to update the documentation to explain this new feature and how to implement it.