The config.proto file contains the messages and methods to be used by the grpc server and client for exchange of config info. To add updates, just change the file and run in webconsole folder the following command : make -f Makefile_docker docker-build
The Dockerfile contains the commands to generate the golang files from this config.proto. Run following commands in the proto folder The commands are as follows :
protoc -I ./ --go_out=. config.proto # This generates the messages
protoc -I ./ --go-grpc_out=. config.proto # This generates the services
To run the above commands, we install the protoc compiler and the protobuf go based plugin. The commands for installing are as follows :
curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v3.14.0/protoc-3.14.0-linux-x86_64.zip
unzip -o protoc-3.14.0-linux-x86_64.zip -d ./proto
chmod 755 -R ./proto/bin
cp ./proto/bin/protoc /usr/bin/
cp -R ./proto/include/* /usr/include/
go get -u google.golang.org/protobuf/cmd/protoc-gen-go
go install google.golang.org/protobuf/cmd/protoc-gen-go
go get -u google.golang.org/grpc/cmd/protoc-gen-go-grpc
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc
The protoc compiler generates two files in the sdcoreConfig directory which contain the messages and methods to be used by the server and client : config.pb.go config_grpc.pb.go
The gClient.go file under client folder is not a generated file. It exposes the client APIs to be used by any application which will behave as the grpc client.