This directory contains the control-plane backend server for cloud deployments.
Running in development
Create a .env file at the root of the repo containing:
RILL_CLOUD_ENV=development
RILL_CLOUD_DATABASE_DRIVER=postgres
RILL_CLOUD_DATABASE_URL=postgres://postgres:postgres@localhost:5432/postgres
RILL_CLOUD_PORT=8080
RILL_CLOUD_SESSIONS_SECRET=secret
RILL_CLOUD_AUTH_DOMAIN=gorillio-stage.auth0.com
RILL_CLOUD_AUTH_CALLBACK_URL=http://localhost:8080/auth/callback
# Get these from https://auth0.com/ (or ask a colleague)
RILL_CLOUD_AUTH_CLIENT_ID=
RILL_CLOUD_AUTH_CLIENT_SECRET=
In a separate terminal, run Postgres in the background:
docker-compose -f server-cloud/docker-compose.yml up
Run the server:
go run server-cloud/cmd/main.go
Adding endpoints
We define endpoints using OpenAPI and generate Go handlers and types using oapi-codegen. To add a new endpoint:
Describe the new endpoint in server-cloud/api/openapi.yaml
Make sure you have oapi-codegen installed by running go mod tidy
Run: go generate ./server-cloud/api
Copy the new handler(s) from server-cloud/api/server.gen.go into server-cloud/server/handlers.go and implement it