Skip to main content

Static status page generator that uses a Trello board as a data source

Project description

trestus
=======
Trestus is a static status page generator that uses a `Trello <https://trello.com/>`_ board as a data source.

It was inspired by the excellent `statuspage <https://github.com/jayfk/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 <https://changelog.com/weekly/>`_, who use `Trello as a CMS <https://changelog.com/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:

.. image:: images/trello1.png

Trestus output:

.. image:: images/status1.png
:scale: 50%


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:

.. image:: images/trello2.png

Trestus output:

.. image:: images/status2.png
:scale: 50%


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:

.. image:: images/trello3.png

Trestus output:

.. image:: images/status3.png
:scale: 50%

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:

.. code-block::

$ venv ./trestus-env
$ ./trestus-env/bin/pip install trestus


As a `snap package <https://snapcraft.io/>`_:

.. code-block::

$ sudo snap install trestus

Usage
-----

.. code-block::

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

trestus-1.0.1.tar.gz (151.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

trestus-1.0.1-py2.py3-none-any.whl (13.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file trestus-1.0.1.tar.gz.

File metadata

  • Download URL: trestus-1.0.1.tar.gz
  • Upload date:
  • Size: 151.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for trestus-1.0.1.tar.gz
Algorithm Hash digest
SHA256 e2b06b7f540dcd531383944a73c88183b182836eeba500ad9d6708f129c64fe1
MD5 239b7fd7c7c51391af995c6fca26160a
BLAKE2b-256 9f7b754434d7969c583e9cb8eeab0b0ccac2cc1f7b7f2ca3a5f90ef283caeac7

See more details on using hashes here.

File details

Details for the file trestus-1.0.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for trestus-1.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5dec90237c446d1da99555e5ab6b5cdf6c9ff3febb7f96ed57c3264ad1989ddb
MD5 8dcd912bc95fe2e417a003cd1548d352
BLAKE2b-256 7d7045f5e3e0066edc6606373d0020b84b20f94c130281c8eb67bbf4283bd070

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page