BuildBarn Browser front-end
BuildBarn Browser is a “simple web service written in Go that can display objects stored in a Content Addressable Storage (CAS) and an Action Cache (AC) that are used by the remote execution API.” (REAPI). It originates from the Bazel Buildbarn project but has support for any REAPI v2 compatible CAS and AC backend and can thus be used together with BuildGrid in order to display web reports for build action execution.
Configuration
BuildBarn Browser
BuildBarn Browser uses a custom BlobstoreConfiguration protobuf message stored in text format as a regular file on disk for configuration. This message allows specifying theCAS and AC remote end-points to be used as data backend. Setup is described on the bb-browser repository homepage.
As an example, in order to access data from a CAS and AC remote execution server
available at storage.grid.build
on port 50052
with TLS encryption and
client auth. credential forwarding, your blobstore.conf
should be like:
content_addressable_storage {
grpc_metadata_forwarding {
grpc {
endpoint: "storage.grid.build:50052"
tls: {}
}
}
}
action_cache {
grpc_metadata_forwarding {
grpc {
endpoint: "storage.grid.build:50052"
tls: {}
}
}
}
BuildGrid
BuildGrid can be configured to generate URLs compatible with the BuildBarn Browser service. They get generated once a build job completes an are returned to the client along with the build results. It is then up to the client to present it to the user or not. RECC, for example, will print them on build failures.
In order to have BuildGrid to generate URL for a BuildBarn Browser service
available at https://browser.grid.build
on port 8080
, your BuildGrid
configuration should contain an execute
service instance with:
instances:
- name: local
services:
- !execution
storage: *data-store
action-cache: *build-cache
action-browser-url: https://browser.grid.build:8080