Configuring BuildBuddy
BuildBuddy on-prem is configured using a yaml formatted configuration file.
Command line flag
On startup, BuildBuddy reads this config file which is specified using the --config_file
flag. The config file is periodically re-read, although some options like enabling or disabling a cache require a restart to take effect.
Docker
If you're running BuildBuddy in a Docker image - you can use Docker's -v flag to map a custom local config file to /config.yaml
in the Docker image.
Be sure to replace PATH_TO_YOUR_LOCAL_CONFIG
with the path to your custom config file:
docker pull gcr.io/flame-public/buildbuddy-app-onprem:latest && docker run -p 1985:1985 -p 8080:8080 -v /PATH_TO_YOUR_LOCAL_CONFIG/config.yaml:/config.yaml gcr.io/flame-public/buildbuddy-app-onprem:latest
Note: If you're using BuildBuddy's Docker image locally and a third party gRPC cache, you'll likely need to add the --network=host
flag to your docker run
command in order for BuildBuddy to be able to pull test logs and timing information from the external cache.
Option types
There are two types of config options: Required, and Optional.
- Required - BuildBuddy will not run without these.
- Optional - They configure optional functionality. BuildBuddy will happily run without them.
Sample configuration files
We maintain a list of sample configuration files that you can copy and paste to get up and running quickly.
Configuration options
Here's a full list of BuildBuddy's configuration sections:
Required
- App - basic app-level configuration options.
- Storage - options that determine where BuildBuddy stores build results.
- Database - options that determine where BuildBuddy stores build metadata.
Optional
- Cache - configuration options for BuildBuddy's built-in Remote Build Cache.
- Integrations - configure integrations with other services.
- SSL - configure SSL/TLS certificates and setup.
- Github - configure your Github integration.
- Misc - miscellaneous configuration options.
Enterprise only
- Auth - configure authentication providers.
- API - configure BuildBuddy API.
- Org - configure BuildBuddy Organization.
Flags
In addition to the config file, some BuildBuddy options (like port number) can only be configured via command line flags.
More information on these flags, see our flags documentation.
Environment variables
Environment variables in the config file are expanded at runtime.
You only need to reference your environment variables like this ${ENV_VARIABLE}
.