Checkmate
Checkmate 2.1
Checkmate 2.1
  • Welcome to Checkmate 2.1
  • USER'S GUIDE
    • Installing Checkmate
    • Using Checkmate
    • Uptime monitor
    • Pagespeed monitor
    • Infrastructure monitor
    • Status pages
    • Viewing incidents
    • Maintenance mode
    • Server settings
    • User settings
    • Server monitoring agent
    • Troubleshooting
    • Server requirements
  • DEVELOPER'S GUIDE
    • Contributing to the code
    • General project structure
    • High level overview
Powered by GitBook
On this page
  • Typical auth request overview
  • Typical monitor request overview
  • JobQueue
  • SSL

Was this helpful?

Edit on GitHub
Export as PDF
  1. DEVELOPER'S GUIDE

High level overview

PreviousGeneral project structure

Was this helpful?

The figure below shows a high level architecture of the Uptime Manager.

Typical auth request overview

The following diagram describes a typical request to the /auth endpoints.

Typical monitor request overview

The following diagram describes a typical request to the /monitors endpoints.

JobQueue

The heart of this application is a JobQueue class that wraps a BullMQ Queue. A Monitor is considered a job, when one is created it is enqueued in the JobQueue. Jobs are handled by a pool of workers in the JobQueue and their tasks are executed in the order in which they are enqueued. Workers are scaled up and down based on the jobs/worker ratio as jobs are enqueued and dequeued.

High level overview of the JobQueue

SSL

SSL is handled by LetsEncrypt and Certbot. This works by Nginx and Certbot sharing the same volume where the certificates are held. The following snippet from the docker-compose.yaml file shows how this works.

Please see for more information on this setup.

this guide