Buf Pro gives organizations complete control over their development environment through a private instance with a dedicated subdomain, providing an integrated and dependable developer experience. This reduces the amount of time spent on tedious and repetitive tasks, freeing up more time for developers to create value for their clients.
Our Pro tier gives organizations a private instance of the BSR with dedicated subdomain instead of the public instance at buf.build. When moving to your private instance, you'll need to complete a few basic tasks.
Create tokens
In order to access the BSR, you will need to provide login configuration details via the buf CLI.
buf registry login example.buf.dev
Machine users will need to have tokens from the new instance generated, see authentication for details.
Manage members
Organizations on the Pro tier have 2 options for managing team members:
- Set up custom SSO via OAuth2 OIDC, or SAML. See the SSO docs for more information.
- Use the public BSR as your identity provider (IdP). Instructions below.
Using the BSR as your IdP
- New organization members must sign up for the BSR.
- The organization admin must then add the member to the org on the public BSR via the https://buf.build/[org]/members page.
- The new member can then log in to the private BSR instance. You can organize members into teams on the private instance by creating Organizations there.
Copy community dependencies
Buf has made various modules available in the BSR for community use and regularly maintains them. These modules include
the popular googleapis and
protoc-gen-validate, which were added to support community
development with the BSR. The availability of these modules in the BSR alleviates the need to download and locally
manage these Protobuf files, especially those from googleapis/googleapis
.
To copy dependencies to your registry, this can be done easily using buf
and an admin token.
Begin by logging into your private registry.
buf registry login example.buf.dev
Create an organization and a registry for the community module you'd like to create, in this example, we will create
googleapis
.
buf beta registry organization create example.buf.dev/googleapis
buf beta registry repository create example.buf.dev/googleapis/googleapis --visibility public
Export the public repository and push it to your registry.
mkdir googleapis
cd googleapis
buf export buf.build/googleapis/googleapis
buf mod init example.buf.dev/googleapis/googleapis
buf push
With this, you will successfully:
- Authenticate with your BSR instance.
- Create the org and repository.
buf export
copies protos from buf.build.- Use
buf mod init
to create a module in the directory with the protos you exported. - Push the module you just created.
Rename and push modules
With your own dedicated instance of the Buf Schema Registry, all configured modules will need their name
changed to
reference your private subdomain.
- Get a token from the BSR, see authentication for details
- Login to your new instance
buf registry login example.buf.dev
- Rename all occurrences of
buf.build
in yourbuf.yaml
withexample.buf.dev
- Push all of your modules
buf push