You needed a status page (and now you have one)

Previously, on Observability stuff

A little while ago, I wrote a post about charming CI improvements for a smooth life, where I talked about how to improve your CI and why you need a status page to monitor your repos.

If you’re reading this, chances are you work with multiple repositories: some of them are charms, some aren’t; regardless, you currently have no way to glance at their collective status. There are a handful of implications stemming from this issue:

  • if you have CI that runs some tests, you can’t check the status for all of them;
  • if you have CI releasing your charms, you don’t know whether it’s failing on some repos;
  • if you’re promoting some charms (i.e., from edge to stable), you can’t know whether you forgot some.

All these issues currently have one (awful) solution: open your repositories one by one, and check all of them. If you deal with lots of repositories, this quickly becomes annoying and error-prone.

There must be a better way to do this, right?
Well, from today, there is.

Revamping the Charm Engineering Releases page

I expanded the Charm Engineering Releases page, so it can be used as a status page; if you look at the Observability team tab, you’ll see a couple new things:

  • the Status column contains the badges for the main CI workflows we run on our repositories;
  • each row referring to a charm repository can be expanded to show a CharmHub release table, displaying what revision is in which channel, when it was released, and linking to the related CharmHub page;
  • around the top, two toggles all you to only show Charms in the table, and to expand all rows at once;
  • some Quality-of-Life general changes to the page.

These new additions make the problems I laid out in the previous section very trivial to solve:

  • to check the test status on all your repos, just open the page and scroll through the badges;
  • to check if the CI is releasing charms, simply use the toggle to show only charms and scroll down;
  • to check the status of charm promotions, click both toggles, and you can scroll through all release tables for all of your charms.

This will make things easier for your operations, and you can even brag about all the green badges you have!

Now that I’ve convinced you of how cool the new page looks, you’ll be wondering how to have that for your team as well.

So how do I sign up?

The contents for this page are automatically generated every 15 minutes by scraping repositories; specifically, the new information you see is scraped from READMEs.

If you want some GitHub Badges to be shown, just add them in the README. In-depth instructions:

  • open your GitHub repository, go to Actions;
  • find the most relevant workflow you want to display, and click on it in the left sidebar;
  • next to the “Filter workflow runs” search bar, click the ... and then Create status badge;
  • copy-paste it in your README and you’re good to go! Alternatively, if you despise the GUI or need to repeat the process for many repos, you can adapt this: [![alt-text](<org>/<repository>/actions/workflows/<workflow>.yaml/badge.svg)](<org>/<repository>/actions/workflows/<workflow>.yaml).

If you want the CharmHub Releases dropdown, add the CharmHub Badge of your charm in the README. You can adapt the following skeleton: [![CharmHub Badge](<charm-name>/badge.svg)](<charm-name>).

Here’s an example of me doing this for the prometheus-k8s-operator README.

All you need to do is some one-minute copy-paste and the Release page will pick it up automatically in the next 15 minutes.
Have fun!