Static status page generator that uses a Trello board as a data source
Project description
Trestus is a static status page generator that uses a Trello board as a data source.
It was inspired by the excellent statuspage project, which uses Github issues to drive a status page, and then stores on the same repo to be served via Github Pages, and The Changelog Weekly, who use Trello as a CMS to generate their insanely useful newsletter.
Why?
Because you should be informing your customers of outages and issues affecting the services they use, and Trello is a very fast and easy to use interface for defining outages and investigations through kanban cards/lanes.
How does it work?
Trestus expects the board you tell it about to be setup on Trello with some specific lanes and labels available.
When you add a card to the Reported or Investigating lane, label it with a severity and at least one service name, the card will show up in any one of those states on the generated status page.
Trello:
Trestus output:
Your card can include markdown like any other Trello card and that will be converted to HTML on the generated status page, and any comments to the card will show up as updates to the status (and yes, markdown works in these too).
Trello:
Trestus output:
When the outage has been solved, moving the card to the Fixed lane will resolve it (putting the status back into the green but keeping any descriptions/comments as historical backlog underneath).
Trello:
Trestus output:
Lanes
Reported
Investigating
Fixed
Labels
status:degraded performance
status:major outage
Any other label you add (without the ‘status:’ prefix) will be a service name.
Installation
From PyPI with pip:
$ venv ./trestus-env
$ ./trestus-env/bin/pip install trestus
As a snap package:
$ sudo snap install trestus
Usage
usage: trestus [-h] [-k KEY] [-s SECRET] [-t TOKEN] [-S TOKEN_SECRET] [-b BOARD] [-T TEMPLATE] [-d TEMPLATE_DATA] output_path
Generate a status page from a Trello board
positional arguments:
output_path Path to output rendered HTML to
optional arguments:
-h, --help show this help message and exit
-k KEY, --key KEY Trello API key
-s SECRET, --secret SECRET
Trello API secret
-t TOKEN, --token TOKEN
Trello API auth token
-S TOKEN_SECRET, --token-secret TOKEN_SECRET
Trello API auth token secret
-b BOARD, --board-id BOARD
Trello board ID
-T TEMPLATE, --custom-template TEMPLATE
Custom jinja2 template to use instead of default
-d TEMPLATE_DATA, --template-data TEMPLATE_DATA
If using --custom-template, you can provide a YAML file to load in data that would be available in the template the template
Example usage
How do I hook it up to Trello?
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for trestus-1.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a9531f757ac1f5180c608adc25f9b6b3e7de117d36ddfd6e14fccef9dfe40e2 |
|
MD5 | 62c1c4c6f558e39048bbf7667ec8e82a |
|
BLAKE2b-256 | 4a40a8fc373682d1b4e212d3148457cbf03b67c73c97d29b305aceb3fcf6a443 |