|
|
|
## Installation
|
|
|
|
|
|
|
|
We are using [Pipenv](https://docs.pipenv.org) to make our lives easier:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
git clone https://gitea.faelix.net/FAELIX/incident_handler.git
|
|
|
|
cd incident_handler
|
|
|
|
pipenv install --three
|
|
|
|
```
|
|
|
|
|
|
|
|
## Configuration
|
|
|
|
|
|
|
|
Example `settings.cfg` file:
|
|
|
|
|
|
|
|
```python
|
|
|
|
FIH_ROOT = "/home/status/incident_handler"
|
|
|
|
STATUS_ROOT = "/home/status/status.example.com"
|
|
|
|
STATUS_EVENT_SCHEME = STATUS_ROOT + "/content/event/%(incident_number)s-%(slug)s.md"
|
|
|
|
STATUS_EVENT_GLOB = STATUS_ROOT + "/content/event/%(incident_number)s*.md"
|
|
|
|
STATUS_EVENT_INDEX = STATUS_ROOT + "/content/pages/index.md"
|
|
|
|
MERCURIAL_BIN = "/usr/bin/hg"
|
|
|
|
GROW_BIN = "/usr/local/bin/grow"
|
|
|
|
MERCURIAL_PUSH_TO = [ "c3", "c4" ]
|
|
|
|
GROW_DEPLOY_TO = [ "c3", "c4" ]
|
|
|
|
|
|
|
|
MATTERMOST_COMMAND_TOKENS = [ "XXXXXXXXXXXXXXXXXXXXXXXXXX" ]
|
|
|
|
MATTERMOST_USER_EMAIL = "mattermostuser@example.com"
|
|
|
|
MATTERMOST_USER_PASSWORD = "XXXXXXXXXXXXXXXX"
|
|
|
|
MATTERMOST_URL = "mattermost.example.com"
|
|
|
|
MATTERMOST_PORT = 443
|
|
|
|
|
|
|
|
MATTERMOST_INCIDENT_CHANNEL_PREFIX = "incident"
|
|
|
|
PUBLIC_INCIDENT_PREFIX = "FI#"
|
|
|
|
STATUS_PAGE_URL = "https://status.faelix.net/"
|
|
|
|
INCIDENT_URL_SCHEME = STATUS_PAGE_URL + "event/%s/"
|
|
|
|
```
|
|
|
|
|
|
|
|
## Running
|
|
|
|
|
|
|
|
```sh
|
|
|
|
export FIH_SETTINGS=~/incident_handler/settings.cfg
|
|
|
|
export FLASK_APP=fih.py
|
|
|
|
cd ~/incident_handler
|
|
|
|
|
|
|
|
# for development
|
|
|
|
flask run -p 3333
|
|
|
|
|
|
|
|
# for production
|
|
|
|
gunicorn -w 4 -b 127.0.0.1:3333 fih:app
|
|
|
|
```
|