Skip to content

ADR-109: Status page hosting

Context

The old https://status.torproject.org is currently hosted inside the static mirror infrastructure, but that's not good enough. Even though the infrastructure itself is highly available, the publishing pipeline is not.

So, during outages, we often have trouble posting updates to this critical site. This is particularly a problem during GitLab outages, which are relatively frequent.

Furthermore, the site is hosted on the same domain as our main domain, torproject.org. If we have an attack against that domain, either through DNS or the registry, we lose all way to post updates to our users.

Decision

Move to a different domain and site hosting infrastructure for the status site, independent of the current infrastructure, including:

  • domain name (torprojectstatus.org, torprojectstatus.net as an inactive backup)
  • registrar (Mythic Beasts)
  • DNS hosting (Mythic Beasts)
  • git hosting (Codeberg, mirrored from GitLab)
  • site hosting (Grebedoc, implemented with git-pages)

Consequences

We expect this setup to survive everything but a full and complete outage of the current infrastructure or compromise of TPA operators, which need access to the parallel infrastructure to complete updates anyways.

The Grebedoc setup is based on git-pages, which is particularly interesting, as it's an API that's actually independent of Codeberg. So even if Codeberg goes down (which, like our GitLab, does happen on a regular basis), we can still post updates to the status site by publishing directly to the Grebedoc backend.

Grebedoc is also highly available, with anycast servers distributed across the world with an object storage backend. Our tests showed equivalent or better performance to Codeberg pages and GitLab pages.

More Information

The costs of this project are close to none: we will need to pay for two more domain names, and there's labour involved in deploying the new infrastructure.

The experiments with git pages might inform our future work in reviewing how our websites are hosted. It will also be a good experiment in using an alternative DNS registrar.

Metadata