Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/strmprivacy/api-definitions
Our small contribution to your next API: these are the gRPC/Proto definitions STRM Privacy uses for our internal management APIs. It is a *push-only mirror* of our api-definitions repo we keep in GitLab, but we hope this serves as inspiration and/or a quick way for you to get started with gRPC yourself!
https://github.com/strmprivacy/api-definitions
golang grpc grpc-go grpc-java grpc-kotlin grpc-python grpc-web kotlin protobuf protocol-buffers python3 typescript
Last synced: 6 days ago
JSON representation
Our small contribution to your next API: these are the gRPC/Proto definitions STRM Privacy uses for our internal management APIs. It is a *push-only mirror* of our api-definitions repo we keep in GitLab, but we hope this serves as inspiration and/or a quick way for you to get started with gRPC yourself!
- Host: GitHub
- URL: https://github.com/strmprivacy/api-definitions
- Owner: strmprivacy
- License: apache-2.0
- Created: 2022-04-14T13:14:21.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-12-17T03:14:40.000Z (11 months ago)
- Last Synced: 2023-12-17T04:53:32.465Z (11 months ago)
- Topics: golang, grpc, grpc-go, grpc-java, grpc-kotlin, grpc-python, grpc-web, kotlin, protobuf, protocol-buffers, python3, typescript
- Language: Makefile
- Homepage: https://strmprivacy.io
- Size: 1.8 MB
- Stars: 9
- Watchers: 6
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# STRM Privacy API definitions
This project contains all `proto` file definitions for the STRM Privacy APIs.
## Starting with STRM Privacy
Curious what we're building at STRM Privacy? See our [homepage](https://strmprivacy.io) or dive right into
our [documentation](https://docs.strmprivacy.io) to get started.## Developing API Definitions
For more developer information, see the `docs` directory.
### gRPC Guidelines
We try to adhere to the Google gRPC guidelines (the so
called `API Improvement Proposals`), which can be
found [here](https://google.aip.dev). Our idea is to use
the [Google API Linter](https://github.com/googleapis/api-linter) for checking
the adherence to the Google AIPs.### IntelliJ and Protobuf plugin configuration
Run `./setup-ide-protobuf-plugins.sh` to configure the following Protobuf
plugins:- [Protocol Buffers (official)](https://plugins.jetbrains.com/plugin/14004-protocol-buffers):
works fine for basic usage.
- [Protobuf (non official)](https://plugins.jetbrains.com/plugin/16422-protobuf):
has more functionality than the official plugin.### Install
Make sure [buf](https://buf.build) is installed. The `Makefile` is the
entrypoint
of this repository and should be used to generate code and build artifacts for
various languages.## Proto validations
This repository
uses [bufbuild/protoc-gen-validate](https://github.com/bufbuild/protoc-gen-validate)
to validate Protobuf messages.**Important!**
If validations are created for messages in `A.proto` and file `B.proto` contains
messages that use messages from `A.proto`, but `B.proto` does not
import `validate.proto`, no validators are generated for `B.proto`, and thus no
validations happen that are defined in `A.proto`, even though `B.proto` might
use messages from `A.proto` in its own messages.