diff --git a/README.md b/README.md index 6112dfe0..f1330776 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,19 @@ # Proton -This repository is home for the protocol buffer files which are used throughout ODPF ecosystem. +This repository is home for the [protocol buffer](https://developers.google.com/protocol-buffers) files which are used throughout ODPF ecosystem. ### Why a single protos repository? Following are the considerations for going with single repository: -- We want to keep proto files version independent of services that use them. This is to avoid the version of the proto gets incremented along with the service despite no changes to the proto. +- This repository contains protocol buffers that have common patterns and APIs that services can reuse instead of spending effort in writing these protobufs. Each subdirectory contains details of the respective protos. - Validation, generation, and other proto-related operations can be placed in one place. Thus, avoid duplication. - We also see good possibility to reuse proto schema. Have it in one place make it easy to import proto. ## Usage -Proton may not provide all the artifacts you need. There could be cases where you want to package the proto differently. For example, you may need only a set of proto files compiled using a custom plugin like [gogo](https://github.com/gogo/protobuf). For such cases, you can pull the proto and compile it yourself. +Proton does not provide compiled language specific proto files or the descriptor sets for the respective protos. It is upto the users to pull these protos and use `protoc` for language specific compiled files and have dependencies/imports in their code.

## Structure -Proton has flat structure where proto files are put under `/src/odpf/proton//`. +Proton has flat structure where proto files are put under /src/odpf/proton//. Each application's sub directory read me provides details on how to use the respective proto. ## Contribute Prerequisite: You need to have [buf](https://buf.build/) installed