Freedom251 › Build Cache Software
Buildfarm

What Buildfarm is
Buildfarm is an open-source software stack that implements the Remote Execution API for remote content storage, action-result caching, and asynchronous action execution. It is compatible with Bazel, Buck2, Pants, and other build systems that support the API. Its Content Addressable Storage can retain content, and ActionResults can be cached for reuse. Buildfarm documents configurable instances, progressive and flow-controlled CAS reads and writes, pluggable external CAS endpoints, and RequestMetadata attribution. Workers can execute actions, serve as CAS shards, or do both, with either role configurable; each worker requires local filesystem storage. Documented storage options include in-memory, external gRPC, HTTP/1 proxy, persistent worker disk, and sharded CAS. A backplane is required to share information among cluster members, and the quick start uses Redis. Buildfarm documents Linux setup, container-based startup, and deployments that distribute server and worker processes across machines. Its authentication guide covers client/server authentication with self-signed TLS certificates. Configuration can require sandboxing, use an as-nobody wrapper, and apply Linux cgroups resource limits. A Prometheus metrics endpoint is documented for servers and workers. The project describes deployments for hundreds or thousands of developers or CI processes.
Who it suits
Buildfarm suits teams using Bazel, Buck2, Pants, or another Remote Execution API client that want remote caching and execution on infrastructure they operate. It is aimed at Linux and self-hosted deployments that can provide workers, local worker storage, and a backplane such as Redis.
What it does well
- Implements remote caching and asynchronous action execution.
- Compatible with Bazel, Buck2, and Pants.
- Workers can combine execution and CAS shard roles.
- Offers multiple documented CAS storage options.
- Supports sandbox controls and Linux cgroups.
- Apache-2.0 licensed and open source.
What to know first
- Requires a backplane for cluster-wide information.
- Each worker requires local filesystem storage.
- Cgroups resource limits require Linux support.
- FuseCAS is experimental and may be unreliable under substantial load.
Limits
The worker documentation describes FuseCAS as experimental and potentially unreliable over long periods or under substantial load. Linux cgroups resource limits require OS-specific cgroups support.
Getting started
- Open the project site at https://buildfarm.github.io/buildfarm/.
- Prepare a Linux environment or use the documented container-based startup option.
- Set up a backplane for cluster information; the quick start uses Redis.
- Configure server and worker processes, including worker local filesystem storage.
- Choose the CAS storage implementation and configure worker execution or shard roles.
- Configure authentication, sandboxing, and metrics as needed.
Verdict
Choose Buildfarm if you need a self-hosted Remote Execution API stack with configurable storage, workers, and execution controls. Its key operational requirements are a backplane and local worker storage; deployments considering FuseCAS should account for its experimental reliability limitation.
Questions
Does Buildfarm cost anything, and is it open source?
Buildfarm is listed as free and open source. The repository identifies its license as Apache-2.0.
Which build systems are compatible?
The project names Bazel, Buck2, and Pants, as well as other build systems that support the Remote Execution API.
Can Buildfarm be self-hosted?
Yes. It documents Linux setup, container-based startup, server and worker processes, and an OCI bundled Helm chart.
What does Buildfarm need to run a cluster?
It requires a backplane to share information between cluster members; the quick start uses Redis. Each worker also requires local filesystem storage.
What storage options are documented?
Options include in-memory storage, external gRPC, an HTTP/1 proxy, persistent worker disk, and sharded CAS.
Does Buildfarm support authentication and sandboxing?
Its authentication guide describes client/server authentication with self-signed TLS certificates. Configuration can require sandboxing and supports an as-nobody wrapper; workers can use Linux cgroups where supported.
Facts from Buildfarm's own pages
- Architecture
- Workers can perform execution and CAS shard roles, and either role can be disabled in configuration. · buildfarm.github.io, 5 Oct 2026
- Backplane dependency
- Buildfarm requires a backplane for information shared between cluster members, and its quick start uses Redis for that role. · buildfarm.github.io, 5 Oct 2026
- Backplane requirement
- Buildfarm requires a backplane for information shared between cluster members, and the quick start uses Redis. · buildfarm.github.io, 5 Oct 2026
- Build system compatibility
- The project says it is compatible with Bazel, Buck2, Pants, and other build systems that support the API. · github.com, 5 Oct 2026
- Build systems
- The project says it is compatible with Bazel, buck2, Pants, and other build systems that use the Remote Execution API. · github.com, 5 Oct 2026
- Caching and execution
- A Buildfarm cluster can provide Action Cache and Content Addressable Storage for remote caching, and workers can execute build actions remotely. · buildfarm.github.io, 5 Oct 2026
- CAS features
- Documented features include configurable instances, progressive and flow controlled CAS reads and writes, pluggable external CAS endpoints, and RequestMetadata attribution. · buildfarm.github.io, 5 Oct 2026
- CAS options
- Buildfarm documents in-memory storage, an external CAS proxy, an HTTP/1 proxy, and persistent worker disk storage as CAS implementations. · buildfarm.github.io, 5 Oct 2026
- Deployment
- The project documents running Buildfarm server and worker processes, using containers for a minimal cluster, and installing an OCI bundled Helm chart. · buildfarm.github.io, 5 Oct 2026
- Deployment scale
- The quick start says deployments can spread servers and workers across machines and describes use by hundreds or thousands of developers or CI processes. · buildfarm.github.io, 5 Oct 2026
- Execution controls
- Execution policies can modify or control worker actions, including wrapper policies such as running actions through the Linux sandbox or as the nobody user. · buildfarm.github.io, 5 Oct 2026
- Experimental limitation
- The worker documentation says FuseCAS is experimental and may not work reliably over long periods or under substantial load. · buildfarm.github.io, 5 Oct 2026
- Feature support
- The project lists configurable instances, progressive and flow-controlled CAS reads and writes, pluggable external CAS endpoints, and RequestMetadata behavior attribution among its supported features. · buildfarm.github.io, 5 Oct 2026
- License
- The project repository identifies its license as Apache-2.0. · github.com, 5 Oct 2026
- Metrics
- The quick start documents a Prometheus metrics endpoint configurable for the server and worker. · buildfarm.github.io, 5 Oct 2026
- Notable limitation
- The worker documentation says the Fuse execution filesystem is experimental and may be unreliable under substantial load. · buildfarm.github.io, 5 Oct 2026
- Product
- Buildfarm is a software stack implementing the Remote Execution API for remote content storage, action-result caching, and asynchronous action execution. · buildfarm.github.io, 5 Oct 2026
- Purpose
- Buildfarm implements the Remote Execution API for remote caching and execution. · buildfarm.github.io, 5 Oct 2026
- Resource limits
- Workers can use Linux cgroups to limit execution resources, and the documentation says this feature requires OS-specific cgroups support available in Linux. · buildfarm.github.io, 5 Oct 2026
- Sandboxing
- Configuration can require actions to use a sandbox, and supports settings for cgroups and an as-nobody wrapper. · buildfarm.github.io, 5 Oct 2026
- Scale
- The quick start says deployments can spread services across machines and may serve hundreds or thousands of developers or CI processes. · buildfarm.github.io, 5 Oct 2026
- Security
- The authentication guide describes configuring client/server authentication with self-signed TLS certificates. · buildfarm.github.io, 5 Oct 2026
- Setup
- The quick start demonstrates running the service on Linux and provides a container-based startup option. · buildfarm.github.io, 5 Oct 2026
- Storage options
- Buildfarm documents in-memory, external gRPC, HTTP/1 proxy, persistent worker disk, and sharded CAS implementations. · buildfarm.github.io, 5 Oct 2026
Where Buildfarm stands on Freedom251
- Build Cache Software#22 of 23