Skip to content

Add CAS implementation

Carter Sande requested to merge bloomberg/buildgrid:csande/cas into master

Description

This MR adds a CAS implementation to BuildGrid that supports storing data in memory, the filesystem, an Amazon S3 bucket, or some combination of these.

By default, bgd server start will run a server without CAS, just like it did before this MR. The following new options have been added to allow users to enable/configure CAS:

  --cas [lru|s3|disk|with-cache]  CAS storage type to use.
  --cas-cache [lru|s3|disk]       For --cas=with-cache, the CAS storage to use
                                  as the cache.
  --cas-fallback [lru|s3|disk]    For --cas=with-cache, the CAS storage to use
                                  as the fallback.
  --cas-lru-size TEXT             For --cas=lru, the LRU cache's memory limit.
  --cas-s3-bucket TEXT            For --cas=s3, the bucket name.
  --cas-s3-endpoint TEXT          For --cas=s3, the endpoint URI.
  --cas-disk-directory DIRECTORY  For --cas=disk, the folder to store CAS
                                  blobs in.
Edited by Carter Sande

Merge request reports