Expose LocalCAS protocol

Context

One of the main buildbox-casd functionality is to act as a local cache and proxy for one or more remote CAS servers. As described on the initial architecture documentation, buildbox-casd is expected to expose the LocalContentAddressableStorage service locally over a UNIX domain socket.

The Stage() mechanism can have different implementation depending on what the underlying platform supports. These implementations are tracked separately:

  • In-process, hardlink based staging support: #5 (closed)
  • Out-of-process, FUSE based staging support: #8 (closed)

This all depends on having the localCAS gRPC protocol defined.

Task Description

  • Expose the LocalContentAddressableStorage service at the local gRPC end-point.
  • Implement the CAS related bits of LocalContentAddressableStorage serving files from cache or remote CAS.
  • Write tests for the locally exposed service.

Acceptance Criteria

TBD

Edited by Martin Blanchard