frouioui / tagenal

Tagenal is a playground app using Vitess, Redis, Traefik and Jaeger on Kubernetes
https://frouioui.github.io/tagenal/
MIT License
7 stars 0 forks source link

Basic implementation of the Users API #24

Closed frouioui closed 3 years ago

frouioui commented 3 years ago

A simple implementation of the Users API which will use both HTTP and gRPC. The API will handle all the users-related transactions. gRPC will mainly be used for intra-cluster communication, however the gRPC endpoint is made available through a Traefik TCP ingress route. Allowing better productivity when it comes to testing.

A simple way of using both HTTP and gRPC by only using protobuf's generated files has been found, by attaching some http endpoints to the protobuf's UserService. However, the implementation of such solution failed, which could be subject to the creation of a new issue in the future.

frouioui commented 3 years ago

In the future, Grpc-gateway could be used to greatly ease the http interface. (https://github.com/grpc-ecosystem/grpc-gateway)

frouioui commented 3 years ago

This API handles trivial operations: get pod info, get single user info from its _id. Additionally, the api is fully integrated in Kubernetes, and communicates well with Vitess. Finally, the whole API has been setup with Traefik's ingress routes, and uses both http and grpc protocols.