Runstatus CLI

When you are responsible for the well-being of an online application, making that first status page update to announce a new incident is always a sign that you’ll have some troubled hours ahead. Something in the app is down and so your life will be all about troubleshooting, patching and fixing for the foreseeable future. In those tense minutes from the incident’s occurence to its complete resolution, you want to save every second you can.

That’s why we built Runstatus. A hosted status page means one less thing for you think about.

We launched Runstatus with a great web UI and an API. That API makes Runstatus scriptable, slotting neatly into your existing infrastructure. During an incident, you’re most likely working in a terminal and so that’s why we’ve built a CLI on top of the Runstatus API.

The tool is named Runstatus CLI and is available on Github. Written in Python, it is very simple to install on any operating system that supports Python 3 and newer (we recommend creating a virtual environment for a clean working set):

pip install runstatus-cli

Configuration

The Runstatus CLI requires very little configuration.

To get started, create a configuration file in your home directory with the name of your status page and your API details:

vi ~/.runstatus

Now you can insert your parameters in:

page = your-page-name
key = api-key
secret = secret-key

Then check all is working by first verifying the general information of your status page:

runstatus info

Usage

There are three main actions you will want to manage in the heat of an incident:

  • create: Open a new incident
  • update: Update an open incident
  • resolve: Resolve an open incident

All three are very explicit, and the Runstatus CLI will hint at the usage when called without parameters or with incomplete parameters.

Final words

Remember to keep calm in those stressful moments. Your customers will always be grateful if you provide full transparency so that they understand the problem.

That’s how we do it at Exoscale. It is OK to fail once in a while and with great communication on your hosted status page you can increase your customers' trust in your service.