Add remote ActionCache support
Context
BuildGrid configuration is modular and allows running services as separate processes. Some services are inter-dependant though:
- The
ActionCache
service requires access to theContentAddressableStorage
service. - The
Execute
service requires access to theActionCache
andContentAddressableStorage
services.
BuildGrid has support for remote ContentAddressableStorage
service, so an ActionCache
only service can rely on a remote ContentAddressableStorage
service, but not for remote ActionCache
service. Execute
service can still be run allone relying on a remote ContentAddressableStorage
service (that is mandatory) but will run without an ActionCache
service thus being unable of honouring build requests with ExecuteRequest.skip_cache_lookup = false
.
Task Description
- Abstract
ActionCache
access under a simple interface. - Implement a remote
ActionCache
access backend using the existingActionCache
client. - Allow configuring remote
ActionCache
access.