Runbook utilizes RethinkDB and Redis for data persistence, and several Python modules for communications and functionality. Before launching Runbook you will need to install several prerequisites.
We use rethinkDB for persistence. New to rethink? Install, then check out the QuickStart.
Make sure to follow these rules regarding the server vs. driver versions:
- IF driver < 1.13 THEN use server < 1.13
- IF driver >= 1.13 THEN use server > 1.13
Need to check your version?
$ rethinkdb --version
rethinkdb 1.16.2-1 (CLANG 6.0 (clang-600.0.56))
Once installed, start the server in a new terminal window:
$ rethinkdb
Then with the server running, run the following script to set the authentication key:
$ python src/bridge/mgmtscripts/set_rethink_auth_key.py
Download Redis (if necessary), then fire up the server in a new terminal window:
$ redis-server
Install required Python modules using pip
.
$ sudo pip install -r src/web/requirements.txt
$ sudo pip install -r src/bridge/requirements.txt
$ sudo pip install -r src/monitors/requirements.txt
$ sudo pip install -r src/actions/requirements.txt
Runbook consists of 7 components (Web, Bridge, Control, Monitor Broker, Monitor Worker, Action Broker, Actioner); these components are located within 4 main sections src/web
, src/monitors
, src/bridge
, and src/actions
.
Below is a list of configuration files, that can be used to launch a basic Runbook instance.
src/web/instance/web.cfg
- used by Websrc/bridge/config.yml
- used by Bridgesrc/monitors/config/control-<time>.yml
- used by Controlsrc/monitors/config/broker.yml
- used by Monitor Brokersrc/monitors/config/worker.yml
- used by Monitor Workersrc/actions/config/broker.yml
- used by Action Brokersrc/actions/config/actioner.yml
- used by Actioner
In order to initialize (creating db and tables) RethinkDB there is a create_db.py
script located at src/bridge/mgmscripts/create_db.py
.
Create the database and required tables:
$ python src/bridge/mgmtscripts/create_db.py src/bridge/config/config.yml.default
The top-level repository directory contains a Procfile
, use any Procfile
compatible process launcher.
$ foreman start
Alternatively, if you wish to launch each component without foreman
you can simply use the commands specified in the Procfile
.
Now you can launch your browser and point it to http://localhost:8000.