/gsloc-api

contains api of GSLoC is a open source Global Server Load Balancing (GSLB) solution

Primary LanguageMakefileApache License 2.0Apache-2.0

⚠️WIP⚠️

GSLoC APi

GSLoC is a open source Global Server Load Balancing (GSLB) solution.

The API repository contains all protobuf and grpc related files and generation using buf.build.

You can see the api docs at docs/docs.md.

Structure

Generate code

  1. Download buf command line
  2. Set env var export BUF_CACHE_DIR="$(pwd)/.buf-cache"
  3. Run buf generate
  4. You can now see python generated code in ../gsloc-python-sdk and go code generated in ../gsloc-go-sdk

Schemas And architecture

You can find schemas in docs folder, doc in graphml format can be updated with yed.

Intended architecture is as follow (note that dnsdist is optional):

architecture

Other GSLoC repositories

  • gsloc: GSLoC server implementation.
  • gsloc-cli: GSLoC cli for interacting with server.
  • gsloc-api: Api definition in protobuf and grpc with code generation tools and architectural docs and doc api.
  • gsloc-go-sdk: Go sdk for gsloc api used in gsloc implementation.