cloudbase / garm

GitHub Actions Runner Manager
Apache License 2.0
136 stars 26 forks source link

Extend external provider API #213

Open gabriel-samfira opened 9 months ago

gabriel-samfira commented 9 months ago

The external provider API has suited us fine for the most part, but moving forward we'll need to extend it in order to permit more advanced features like:

To do that safely, we need to add versions to the provider interface. This should be doable via another GARM_COMMAND. This new command should return a json to stdout with version information (format TBD), where at the very least it states the external provider version it implements. GARM can then decide what capabilities this provider has and potentially adapt accordingly or return an error.

To ensure backwards compatibility, we can assume that any provider that returns an error for GARM_COMMAND=Version, implements the existing functionality for providers.