Skip to content
Vidya Akavoor edited this page Aug 28, 2021 · 11 revisions

Chamberlain is a server responsible for sending requests to initiate Congregation workflows. It has a database and few end points to interact with the database. Look at the Chamberlain API for more.

To get started with chamberlain, first you will need to host and populate the database you will be using. See the instructions at Hosting and Populating the Database to do that.

Once your database is ready, you will need to edit an environment file with the location and credentials of your database for chamberlain to use.

  1. Create a file called .env in the top level directory of the chamberlain repo if you do not already have one.
  2. Enter the following lines into the file:
MYSQL_HOST= "{endpoint}"
MYSQL_PORT= {port}
MYSQL_USER= "{username}"
MYSQL_PASSWORD= "{password}"
MYSQL_DB= "{database name}"

Now you are ready to run chamberlain. To run chamberlain locally:

  • Navigate to the top level directory of the chamberlain repo in your terminal
  • Make sure you are using Pyhton 3 and then run pip install -r requirements.txt to install the required packages/libraries
  • Run python3 wsgi.py

While running chamberlain locally is enough to get a workflow started, you will need to deploy chamberlain to receive profiling information back from cardinal servers when jobs are finished. This article provides instructions for how to deploy chamberlain onto an Amazon EC2 instance (instead of using their toy app, simply clone this repo and use the wsgi in it instead).

Once chamberlain is running, you can interact with it using the API, which exposes endpoints to view and alter the chamberlain database and to submit workflow requests. Alternatively you can run the chamberlain client provided in this repo. The current state of the client only allows the user to view the database contents and submit workflow requests. See Chamberlain UI to learn how to run the client locally.

Clone this wiki locally