smc

module
v0.0.0-...-19835a7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 3, 2021 License: MIT

README

smc

Service Management Central (aka smc) is a lookup service for your backend services (e.g. gRPC).

Not a lot to look at yet, and no documentation yet; specifications should give you some ideas of what it can do.

To do:

  • arbitrarily deep hierarchy of services so you can model e.g. cluster -> datacenter -> region -> global
  • support for multiple storage backends
    • etcd
  • health checking
  • gRPC service
    • CRUD
    • service query / resolution
    • CRUD CLI to invoke the gRPC API
    • OpenTelemetry support
    • Prometheus metrics
  • Kubernetes controller to automatically maintain the mapping of services -> endpoints
  • xDS control plane
    • Envoy setup
    • gRPC load balancing
  • more sophisticated load balancing

Contributing

Regenerating after .proto changes

Install as needed:

go get -u github.com/golang/protobuf/protoc-gen-go
go get -u google.golang.org/grpc/cmd/protoc-gen-go-grpc
export PATH=$PATH:~/go/bin

Then run:

protoc --go_out=. --go_opt=module=github.com/andreacampi/smc --go-grpc_out=. --go-grpc_opt=module=github.com/andreacampi/smc proto/*.proto

Testing with local etcd:

cd support
docker-compose up

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL