Skip to content

Commit

Permalink
refactor: enhance readme
Browse files Browse the repository at this point in the history
Co-authored-by: Chakravarthyvp <chakravarthyvp@users.noreply.github.com>
  • Loading branch information
NNcrawler and chakravarthyvp authored Mar 29, 2021
1 parent 185b5be commit e72dda1
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -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.

<p align="center"><img src="./docs/assets/usage.svg" /></p>

## Structure
Proton has flat structure where proto files are put under `/src/odpf/proton/<application>/`.
Proton has flat structure where proto files are put under /src/odpf/proton/<application>/. 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
Expand Down

0 comments on commit e72dda1

Please sign in to comment.