Complete Configuration
Key Components
Stores
Fast-Slow Store Pattern: The
WORKER_FAST_SLOW_STORE uses a filesystem “fast” store with a “noop” slow store. This is appropriate for single-machine setups where the CAS and worker share the same storage.- AC_MAIN_STORE: Action Cache with 1GB capacity for storing build action results
- WORKER_FAST_SLOW_STORE: Primary CAS with 10GB capacity
- fast: Filesystem store that workers use for hardlinks to job directories
- slow: No-op store since there’s no shared remote storage in this config
Scheduler
Thesimple scheduler supports platform property matching:
- minimum: Select workers with at least the requested amount (cpu_count, memory_kb)
- priority: Prefer exact matches, fall back to available workers (OSFamily, container-image)
- exact: Require exact match (ISA architecture)
Worker Configuration
Platform Properties: These properties advertise worker capabilities to the scheduler. Jobs with matching platform requirements will be routed to this worker.
Server Endpoints
Two servers provide different API surfaces: Public Server (port 50051):- CAS, AC, Execution, Capabilities, ByteStream services
- Client-facing API for build tools
- Worker API for worker registration and communication
- Admin and health check endpoints
- Should be firewalled from public access
Usage
Save this configuration asbasic-cas.json5 and start NativeLink:
Production Considerations
This basic configuration is suitable for:
- Development and testing
- Single-machine deployments
- Learning NativeLink configuration
- S3 backend for durable storage
- Multi-worker setup for distributed execution
- Kubernetes deployment for high availability