Sequence diagrams


Using Janitor

(edit diagram)

  • user: A registered user that wishes to contribute to a software project supported by Janitor (e.g. Firefox)
  • janitor: The main web app & server, which orchestrates Docker image updates across all Docker hosts, and allows signed-in users to create and manage developer containers.
  • moz1: A Docker host that serves Docker Remote API (TLS with Janitor) and that authenticates users with a transparent OAuth2 round-trip with Janitor (in order to verify container ownership and proxy container ports over HTTPS).


Registering a new Docker server

(edit diagram)

  • admin: A administrator user (or bot)
  • janitor: The main web app + server
  • moz1 (proxy): A Janitor host-level proxy server (join.js), responsible for automatically initializing/configuring a host, and registering it to the Janitor cluster. The proxy server is also responsible for authenticating web users, and routing their requests to their container ports (see diagram Using Janitor).
  • moz1 (docker): The Docker daemon on a Docker server, serving the Docker Remote API via TLS, allowing the Janitor main server to trigger Docker image pulls, and create/configure/delete containers on behalf of users.


Access a container port via the Janitor host proxy

(edit diagram)