a fast, self hosted remote build cache for bazel, buck and goma
bazel-remote is a fast, self hosted remote build cache that speaks the HTTP and gRPC Remote Cache protocols used by Bazel, Buck and Goma. When your build and CI machines share a remote cache they download previously compiled artifacts and action results instead of rebuilding them, so local and continuous integration builds get dramatically faster. It runs as a single static Go binary managed by systemd, storing content addressable blobs and action cache entries on disk with a configurable size cap and least recently used eviction.
The cloudimg image is secure by default: HTTP Basic Auth is enforced on both the HTTP and gRPC interfaces, and a unique username and password are generated on each instance's first boot and written to a root only file, so the cache is never open and no credential is baked in. A fail secure bootstrap gate stops the cache starting until that per instance credential exists. The cache store lives on its own dedicated data volume, separate from the operating system disk, and every launch refreshes itself to the newest release. It ships with a paired deployment guide and 24/7 cloudimg support.
This is a repackaged open source software product wherein additional charges apply for cloudimg support services.
bazel-remote is a fast, self-hosted remote build cache that speaks the HTTP and gRPC Remote Cache protocols used by Bazel, Buck and Goma, so your build and CI machines share compiled artifacts and action results instead of rebuilding them. This image delivers it fully installed and hardened as a single static Go binary managed by systemd, so a production ready cache is operational within minutes of launch, with no manual package installation and no configuration to write.
Unlike a bare deployment, this image is secure by default. bazel-remote normally starts unauthenticated on every interface; here HTTP Basic Auth is enforced on both the HTTP endpoint on port 8080 and the gRPC endpoint on port 9092, and there is no shared or default credential. A unique username and password are generated on each instance's first boot and written to a root only file, so every request is authenticated from the very first cache hit. A fail secure bootstrap gate ensures the cache server cannot start at all until that per-instance credential exists, so the image can never come up as an open cache. On first boot the appliance also refreshes itself to the newest bazel-remote release, so every launch runs current software.
The cache stores Content Addressable Storage blobs and Action Cache entries on disk with a configurable size cap and least recently used eviction, exposes Prometheus metrics and a status endpoint, and drops straight into an existing workflow by pointing your .bazelrc at the cache. The cache store lives on a dedicated data volume, separate from the operating system disk, so it can be resized and snapshotted independently and its size cap raised without touching root.
Key capabilities: a shared remote build cache served over both HTTP and gRPC for Bazel, Buck and Goma; HTTP Basic Auth enforced on both interfaces with a unique per instance credential and no baked login; a fail secure bootstrap gate that refuses to serve until a credential exists; a dedicated data volume for the cache store; automatic refresh to the newest release on first boot; and Prometheus metrics and a status endpoint for monitoring. Clients that share a cache see dramatically faster local and CI builds. Get started by reading the generated credential from the root only file, then point your build at the cache with build --remote_cache to start sharing artifacts.
This is a repackaged open source software product with additional charges for cloudimg support services. bazel-remote is distributed under the Apache License 2.0. Bazel is a trademark of its respective owner. All product and company names are trademarks or registered trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.