This directory contains the control-plane for multi-user, hosted deployments of Rill.
Running in development
Create a .env file at the root of the repo containing:
RILL_ADMIN_DATABASE_DRIVER=postgres
RILL_ADMIN_DATABASE_URL=postgres://postgres:postgres@localhost:5432/postgres
RILL_ADMIN_HTTP_PORT=8080
RILL_ADMIN_GRPC_PORT=9090
RILL_ADMIN_SESSION_SECRET=secret
RILL_ADMIN_AUTH_DOMAIN=gorillio-stage.auth0.com
RILL_ADMIN_AUTH_CALLBACK_URL=http://localhost:8080/auth/callback
# Get these from https://auth0.com/ (or ask a colleague)
RILL_ADMIN_AUTH_CLIENT_ID=
RILL_ADMIN_AUTH_CLIENT_SECRET=
In a separate terminal, run Postgres in the background:
docker-compose -f admin/docker-compose.yml up
Run the server:
go run ./cli admin start
Adding endpoints
We define our APIs using gRPC and use gRPC-Gateway to map the RPCs to a RESTful API. See proto/README.md for details.
To add a new endpoint:
Describe the endpoint in proto/rill/admin/v1/api.proto
Re-generate gRPC and OpenAPI interfaces by running make proto.generate
Copy the new handler signature from the AdminServiceServer interface in proto/gen/rill/admin/v1/api_grpc_pb.go
Paste the handler signature and implement it in a relevant file in admin/server/