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!

Home Page:https://strmprivacy.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 or dive right into our documentation 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. Our idea is to use the Google 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:

Install

Make sure buf 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 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.

About

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://strmprivacy.io

License:Apache License 2.0


Languages

Language:Makefile 56.8%Language:Shell 23.0%Language:Python 7.7%Language:Go 6.9%Language:Dockerfile 5.6%