Prerequisites
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.
RethinkDB Setup
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
Redis Setup
Download Redis (if necessary), then fire up the server in a new terminal window:
$ redis-server
Python Module Installation
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
Launching Runbook
Configuration
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
Initialize database
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
Run all processes
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.