-
Notifications
You must be signed in to change notification settings - Fork 23
Application Configuration Options
Trey Ivy edited this page Feb 11, 2025
·
14 revisions
At present, there are a few ways you can customize the application.
The front end of the application can be customized using environment variables. Here is a table with a brief explanation of what the environment variables do.
| ENVIRONMENT VARIABLE | Purpose | Optional? | Example Value |
|---|---|---|---|
NEXT_PUBLIC_BES_BACKEND_URL |
This configures the http/https graphql API endpoint that the frontend will use to fetch data from | No | http://localhost:8081 |
NEXT_PUBLIC_BES_GRPC_BACKEND_URL |
This configures the GRPC(s) endpoint that the frontend will use | No | grpc://localhost:8082 |
NEXT_PUBLIC_BROWSER_URL |
A link to your buildbarn-browser component URL | Yes | https://build.exampleco.io |
NEXT_PUBLIC_COMPANY_NAME |
The name displayed in the toolbar and on the main landing page for you company | Yes | "Example Co" |
NEXT_PUBLIC_COMPANY_SLACK_CHANNEL_NAME |
The name for the slack channel link to your internal slack channel | Yes | ExampleCoBuildTeamChannel |
NEXT_PUBLIC_COMPANY_SLACK_CHANNEL_URL |
The URL to your slack channel | Yes | https://exampleco.enterprise.slack.com/archives/CXX |
NEXT_PUBLIC_GITHUB_URL |
The URL to your Github instance | Yes | https://github.com |
The easiest way to inject these into your frontend container is via a .env file, but you can always use other mechanisms to manage these.
Presently you can configure the backend with a combination of command line flags and .jsonnet files.
| Option | Purpose | Example | Default Value |
|---|---|---|---|
| config-file | Path to load the jsonnet file | /app/config.jsonnet |
N/A |
| datasource-driver | The datasource driver for your application | No | sqlite3 |
| datasource-url | database connection string | postgresql://postgres_user:postgres_pass@bbportal.postgres.exampleco.io:5432/bbportal |
file:buildportal.db?_journal=WAL&_fk=1 |
| blob-archive-folder | Where blobs will be stored on the disk | /data/blobs | ./blob-archive/ |
You can also configure some options using a jsonnet file for things such as authentication, etc.
{
httpServers: [{
listenAddresses: [':8081'],
authenticationPolicy: { allow: {} },
}],
grpcServers: [{
listenAddresses: [':8082'],
authenticationPolicy: { allow: {} },
maximumReceivedMessageSizeBytes: 10*1024*1024
}],
}Some backend configuration options come from environment variables provided at run time.
TBD