Buf Schema Registry (BSR)

Optional Configuration

Maintenance mode

The BSR has a maintenance mode in which the BSR will start up, but API calls are prevented and users of the web interface are informed that maintenance is in progress, and no database/object storage writes will occur.

To enable the maintenance mode, set the maintenance Helm value and re-apply the helm chart:

maintenance: true

Feature flags

Certain BSR functionality is gated behind feature flags, which can be enabled through the featureFlags Helm value. The currently supported feature flags are:

featureFlags:
  # Prevent users from creating organizations in the BSR
  # Server admins can still create organizations when this flag is enabled
  disable_user_org_creation: true

Automatically adding members to organizations

To automatically add all members to an organization upon login, set the auth.autoProvisionedMembershipOrganizations Helm value:

auth:
  # Map of organizations which all members will be added to on login
  autoProvisionedMembershipOrganizations:
    exampleorg: ORGANIZATION_ROLE_MEMBER

SMTP server for email notification

To send email notifications for the review flow of breaking change policy enforcement via an SMTP server, set the notifications Helm value:

notifications:
  use: smtp
  smtp:
    hostname: "smtp.example.com"
    port: 25
    # The username for authenticating with the SMTP server
    username: example-user
    # The domain under which the sender's email for the email notification will be included
    fromDomain: "notification.example.com"

Then create a k8s secret containing the SMTP user's password:

$ kubectl create secret --namespace bsr generic bufd-smtp-password \
  --from-literal=password=<smtp password>

Maximum body size

By default, the BSR limits the body size of incoming requests to 256 MB. For some use cases, such as uploading large custom plugins, this may need to be increased. To increase the body size limit, set the maxBodySizeBytes Helm value:

maxBodySizeBytes: "2147483648" # 2 GB

Other configuration

There may be additional low-level values defined in the values.yaml chart or Helm templates that are subject to change. Please contact us before depending on these configuration values so we can better support your needs.