BuildBuddy RBE caches container images in the same remote cache that stores Bazel build artifacts. If an action needs to run inside a container image that is not already on the executor’s disk, the executor can download it from the remote cache.
Benefits
Faster Action Startup
Images are pulled from BuildBuddy’s remote cache instead of external registries, reducing startup time.
Reduced Egress Costs
Downloads from the remote cache count as Internal Download, saving you from paying for egress from your registry provider.
Improved Reliability
Cached images remain available even if the upstream registry experiences issues.
Automatic Management
BuildBuddy automatically manages the image cache lifecycle without manual intervention.
How it works
First run
When an action runs with a specific container image for the first time, the executor pulls the image from the upstream registry (e.g., Docker Hub, GCR, ECR).
Cache storage
After pulling the image, BuildBuddy stores it in both:
- The executor’s local disk for immediate reuse
- The remote cache for sharing across executors
Cache behavior
Cache invalidation
Cache invalidation
Container images are cached based on their digest (content hash). If you update an image with the same tag, BuildBuddy will detect the new digest and fetch the updated image.
Executor scaling
Executor scaling
When new executors are added to your pool, they automatically benefit from the shared image cache without needing to pull from external registries.
Cache eviction
Cache eviction
Images may be evicted from local disk when:
- Disk space is needed for other operations
- The image hasn’t been used recently
- The executor is restarted