Overview
bazel-remote active on HTTP 8080 and gRPC 9092
The bazel-remote build cache running as a hardened systemd service and listening on the HTTP Remote Cache port 8080 and the gRPC Remote Cache port 9092, ready to serve Bazel, Buck and Goma clients.
bazel-remote active on HTTP 8080 and gRPC 9092
Authenticated cache round-trip on the data volume
Basic Auth enforced, no anonymous access
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.
Highlights
- bazel-remote, a fast self-hosted remote build cache for Bazel, Buck and Goma, installed and hardened as a single static Go binary managed by systemd. It serves the HTTP and gRPC Remote Cache protocols so your build and CI machines share compiled artifacts and action results, and the cache store lives on a dedicated data volume separate from the OS disk.
- Secure by default with no known bootstrap credential and no open cache: HTTP Basic Auth is enforced on both the HTTP and gRPC interfaces. On first boot a unique username and a long random password are generated for this specific instance and written to a root owned file, and a fail secure bootstrap gate ensures the cache cannot start at all until that credential exists, so the image can never come up as an open cache.
- 24/7 expert technical support from cloudimg with a one hour average response time for critical issues. Our engineers help with .bazelrc integration, sizing the cache and its data volume, HTTP and gRPC client configuration, restricting access with the security group, TLS termination, and bazel-remote version upgrades.
Details
Introducing multi-product solutions
You can now purchase comprehensive solutions tailored to use cases and industries.
Features and programs
Financing for AWS Marketplace purchases
Pricing
Free trial
- ...
Dimension | Description | Cost/hour |
|---|---|---|
m5.large Recommended | m5.large | $0.08 |
t2.micro | t2.micro instance type | $0.04 |
t3.micro | t3.micro instance type | $0.04 |
c5a.12xlarge | c5a.12xlarge instance type | $0.24 |
c5a.16xlarge | c5a.16xlarge instance type | $0.24 |
c5a.24xlarge | c5a.24xlarge instance type | $0.24 |
c5a.2xlarge | c5a.2xlarge instance type | $0.24 |
c5a.4xlarge | c5a.4xlarge instance type | $0.24 |
c5a.8xlarge | c5a.8xlarge instance type | $0.24 |
c5a.large | c5a.large instance type | $0.08 |
Vendor refund policy
Refunds available on request.
How can we make this page better?
Legal
Vendor terms and conditions
Content disclaimer
Delivery details
64-bit (x86) Amazon Machine Image (AMI)
Amazon Machine Image (AMI)
An AMI is a virtual image that provides the information required to launch an instance. Amazon EC2 (Elastic Compute Cloud) instances are virtual servers on which you can run your applications and workloads, offering varying combinations of CPU, memory, storage, and networking resources. You can launch as many instances from as many different AMIs as you need.
Version release notes
Initial release.
Additional details
Usage instructions
Connect via SSH on port 22 as the default login user for your operating system variant (the user guide lists it per variant; ubuntu on Ubuntu). bazel-remote serves the HTTP Remote Cache on TCP 8080 and the gRPC Remote Cache on TCP 9092, and HTTP Basic Auth is enforced on both. On first boot a unique username and a long random password are generated for this instance and written to /root/bazel-remote-info.txt (sudo cat). Read them with: sudo cat /root/bazel-remote-info.txt. Point Bazel at the cache by adding to your .bazelrc: build --remote_cache=http://USER:PASSWORD@INSTANCE_IP:8080 (or grpc://USER:PASSWORD@INSTANCE_IP:9092 for gRPC). Verify the cache with an authenticated status check: curl -u USER:PASSWORD http://INSTANCE_IP:8080/status. The cache store lives on a dedicated data volume at /var/lib/bazel-remote/cache; raise the size cap by editing BAZEL_REMOTE_MAX_SIZE_GIB in /etc/bazel-remote/bazel-remote.env then sudo systemctl restart bazel-remote. There is no anonymous access. Scope the instance security group so only your own CI and build hosts can reach TCP 8080 and 9092. Check the service with: systemctl status bazel-remote and confirm the listeners with: ss -ltn | grep -E '8080|9092'.
Resources
Vendor resources
Support
Vendor support
cloudimg provides 24/7 technical support for this bazel-remote build cache product by email (support@cloudimg.co.uk ) and live chat. We help with deployment and first boot configuration, retrieving the per instance username and password, integrating the cache into your .bazelrc over HTTP or gRPC, sizing the cache and its dedicated data volume, raising the cache size cap, restricting access with the instance security group, adding TLS termination, monitoring with the Prometheus metrics and status endpoints, and bazel-remote version upgrades and patch guidance. Critical issues receive a one hour average response time. For billing, subscription changes, or refund requests, contact support@cloudimg.co.uk .
AWS infrastructure support
AWS Support is a one-on-one, fast-response support channel that is staffed 24x7x365 with experienced and technical support engineers. The service helps customers of all sizes and technical abilities to successfully utilize the products and features provided by Amazon Web Services.