An open API service indexing awesome lists of open source software.

https://github.com/evolutionary-algorithms-on-click/runner_controller_microservice

Go Implementation of the algorithm runner controller microservice of EvOC (Evolutionary algorithms On Click).
https://github.com/evolutionary-algorithms-on-click/runner_controller_microservice

cookie docker docker-compose golang grpc http json protobuf uuid

Last synced: 7 months ago
JSON representation

Go Implementation of the algorithm runner controller microservice of EvOC (Evolutionary algorithms On Click).

Awesome Lists containing this project

README

          

# Runner Controller Microservice

Go implementation of the Runner Controller.

## Setup

### Prerequisites

1. GoLang - Install GoLang.
2. MinIO - Start a MinIO server instance.
3. CockroachDB - Start a CockroachDB instance.

### Installation

1. Install the protobuf-grpc compiler.

```sh
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
export PATH="$PATH:$(go env GOPATH)/bin"
```

2. Export the following environment variables.

```sh
export DATABASE_URL=
export MINIO_ENDPOINT=
export MINIO_ACCESS_KEY_ID=
export MINIO_SECRET_KEY=
export RABBITMQ_URL=
export FRONTEND_URL=
export HTTP_PORT=
export AUTH_GRPC_ADDRESS=
export REDIS_URL=
```

3. Run the following command to start the server.

```sh
go run main.go
```

### Editing `.proto` files

1. Install protoc compiler
2. Run the following command to generate the go files from the proto files.

```sh
protoc --go_out=./ --go_opt=paths=source_relative \
--go-grpc_out=./ --go-grpc_opt=paths=source_relative \
./proto/authenticate.proto
```