Improved handling of legacy remotes
Description
This improves the handling of remotes, when a newer buildstream client tries to use an older artifact service. Previously it would connect to the remote service, and then through an error each time it tried to use it as the newer methods couldn't be found.
The status method can also be extended later to add information such as whether the server is configured to be push only (same as reference service).
Changes proposed in this merge request:
- Extend artifact service to have a
ArtifactStatus
method. This is very minimal but allows a client to check whether the new artifact proto service is present. - Introduce a new
ArtifactRemote
that builds on top ofCASRemote
, overriding the init command to also check the new status method. This will drop the remote if the status method isn't found.
This merge request, when approved, will close: #1025 (closed)
Edited by Raoul Hidalgo Charman