This repository contains the EEBUS GRPC api. It is based on the enbility/eebus-go
library.
It works as a bridge between a generic EEBUS go application and application code in other languages.
It is designed to be started/stoped and configured via gRPC calls.
go run cmd/main.go \
-certificate-path <path_to_certificate> \
-private-key-path <path_to_private_key> \
-port <rpc-port>
To start the server, you need to provide the path to the certificate and the private key. The server will listen on the specified port.
Implements the eebus-go/service
interface.
Contains the generation instructions of the gRPC go glue code generated with protoc
.
The generation can be done with the following command:
go generate ./...
The generated code is checked in to the repository. So you don't need to run the generation command unless you change the .proto
files.
Contains the .proto
files that define the gRPC API. Which is as analogous as possible to the eebus-go
api.
Implements the gRPC server interfaces. There is the main server control_service
that is responsible for starting, stopping and configuring the eebus_service
.
Additionally, there is one server for each combinitation of eebus use case and actor.
Contains, the generated gRPC glue code. The code is generated with the protoc
command.
Contains utility functions.