Skip to content

Repository files navigation

modules

Description

This repository contains first and third-party modules synced and published to the Buf Schema Registry.

If you'd like a common third-party module to be managed by Buf, open an issue using the Managed Module Request for Buf Schema Registry issue template and our team will follow up.

Managed modules

We currently sync automatically the following modules:

ModuleSource Community RepositoryDepends on
bufbuild/confluenthttps://github.com/bufbuild/confluent-proto
bufbuild/protovalidatehttps://github.com/bufbuild/protovalidate
bufbuild/protovalidate-testinghttps://github.com/bufbuild/protovalidate- bufbuild/protovalidate
bufbuild/reflecthttps://github.com/bufbuild/reflect
cncf/xdshttps://github.com/cncf/xds- envoyproxy/protoc-gen-validate
- google/cel-spec
- googleapis/googleapis
envoyproxy/envoyhttps://github.com/envoyproxy/envoy- cncf/xds
- envoyproxy/protoc-gen-validate
- googleapis/googleapis
- opencensus/opencensus
- opentelemetry/opentelemetry
- prometheus/client-model
envoyproxy/protoc-gen-validatehttps://github.com/envoyproxy/protoc-gen-validate
envoyproxy/ratelimithttps://github.com/envoyproxy/ratelimit- envoyproxy/envoy
gogo/protobufhttps://github.com/gogo/protobuf
google/cel-spechttps://github.com/google/cel-spec- googleapis/googleapis
googleapis/cloud-runhttps://github.com/googleapis/googleapis- googleapis/googleapis
googleapis/googleapishttps://github.com/googleapis/googleapis
googlechrome/lighthousehttps://github.com/GoogleChrome/lighthouse
googlecloudplatform/bq-schema-apihttps://github.com/GoogleCloudPlatform/protoc-gen-bq-schema
grpc/grpchttps://github.com/grpc/grpc-proto- googleapis/googleapis
grpc-ecosystem/grpc-gatewayhttps://github.com/grpc-ecosystem/grpc-gateway
opencensus/opencensushttps://github.com/census-instrumentation/opencensus-proto
opentelemetry/opentelemetryhttps://github.com/open-telemetry/opentelemetry-proto
prometheus/client-modelhttps://github.com/prometheus/client_model
protocolbuffers/wellknowntypeshttps://github.com/protocolbuffers/protobuf

How we handle dependencies

Dependencies are an essential part of these community modules as they help developers reuse well known Protobuf types, reduce errors and speed up the development process. We do not control the source of these modules, and managing and pinning dependencies to their exact commit can be difficult, especially when multiple module sources and build systems are involved.

To minimize issues with pinned dependencies on these modules, we sync them in the following order. First, we sync standalone modules. After they succeed, we then sync the modules that depend on them, which use the latest pushed dependency commit. As long as the dependencies don’t have any breaking change in the source code, this should be sufficient and stable for upstream modules.

For special cases, we can pin a dependency in the static buf.yaml that we control, to force a managed module depend on a specific synced reference from another managed module. To know if a managed module has pinned dependencies for a specific reference, take a look at the buf.yaml in that reference's manifest in the sync directory.

Community

For help and discussion regarding Protobuf managed modules, join us on Slack.

For feature requests, bugs, or technical questions, email us at dev@buf.build.

Legal

Offered under the Apache 2 license.

About

Collection of third-party modules managed and synced by Buf.

Topics

Resources

Code of conduct

Stars

36 stars

Watchers

4 watching

Forks

Releases

Used by

Contributors

Languages