Gitpod ❤️ Statusfy

Jan 29, 2019

Gitpod ❤️ Statusfy

Avatar of Christian Weichel Christian Weichel

A core value at Gitpod is transparency: a lot of what we do is out in the open, because we believe that that’s the best way to earn the trust of our users. Until recently there was one point where we had some catching up to do in that regard: having a status page.

We had three main requirements for our status page:

  • It had to be rock solid because if your status page is not available, how am I going to trust your product?

  • It should present the status of our service, nothing else. We already have an extensive monitoring setup (based on Prometheus/Grafana/InfluxDB) that watches over our infrastructure. No need to introduce yet another monitoring solution. A surprising amount of status page projects also do monitoring/health checks on the side.

  • It had to integrate into our existing infrastructure. If we could use Git, our existing cloud infrastructure and Gitpod to update/manage our incident reports, all the better. We already have this infrastructure in place, so if we could avoid setting up a brand new website deployment, that is a plus.

Our documentation and website are statically generated from Markdown which we edit using Gitpod, push to GitHub and build/deploy using Jenkins. This pattern works well for us, it would be nice if we could use the same process for our status page.

Hello Statusfy

Enter Statusfy, an Open Source status page system that can render the status page statically or dynamically from Markdown files. It supports a wide range of deployment options, including pushing the statically generated files to a GCP bucket.

gitpod-status repository in Gitpod

Turns out that Gitpod and Statusfy are perfectly complementary. Say we just found an issue and want to update the status page, the steps are as simple as:

  1. Open the gitpod-status repository in Gitpod

  2. Create a new incident using yarn new-incident

  3. Preview the incident to make sure everything looks alright

  4. git commit && git push which has Jenkins pick up the changes, re-generate the status page and push it to the Google Bucket.

This setup ticks all boxes: it’s rather solid (GCP buckets have a decent track record), deals with incidents and incidents only, and fits well in our existing infrastructure.

Getting started

It took us only a couple of hours to build our status page using Statusfy. In part that’s because we had a few things in place already, but mainly because Gitpod and Statusfy make for a great team.

If you want to replicate this setup at home, create a repo on GitHub, open Gitpod on that repo and run npx statusfy init. The next steps and deployment options are described in Statusfy’s excellent Getting Started guide.

More recent articles

Blog post: Next Chapter for Gitpod

Next Chapter for Gitpod

Our focus has always been to remove friction from the developer experience. Today we announce a new funding round, our new brand, several product milestones, and DevX Conf.

Avatar of Sven Efftinge Avatar of Johannes Landgraf Apr 8, 2021

Blog post: Moving software development to the cloud ☁️

Moving software development to the cloud ☁️

Fully automated development environments will be the standard for professional developers in 5-10 years.

Avatar of Sven Efftinge Avatar of Johannes Landgraf Avatar of Christian Weichel Dec 9, 2020

Blog post: Root, Docker and VS Code

Root, Docker and VS Code

The team has been focussing on shipping some major new features, which mark important milestones on our goal to eliminate all friction.

Avatar of Sven Efftinge Dec 7, 2020