tchoutri / control-plane

My own personal Jesus^WControl Plane

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Control Plane CI-badge simple-haskell

Description

This is the repository for the system that I use as my own control plane. It serves as a monitoring system, job queues control panel, notifications endpoint for webhooks, etc.

Build

The backend is implemented in Haskell. You will need the Nix package manager to handle external dependencies.

To build the backend without optimisations, run:

$ cabal build

or, to enable optimisations

$ cabal build -O2

Run

You will need a PostgreSQL 12 database or higher. Please configure the environment variables in the appropriate source file in ./deployment and source the file in your environment.

To launch the server, run

$ cabal run exe:control-plane-server start

To launch the job runner, run

$ cabal run exe:control-plane-jobs 

You can start both of them in a tmux shell by running start-tmux.sh

While the former and the latter do not need to reside on the same machine, they both need access to the database server.

Features

Notifications

Website monitoring

  • Cards with the domain name, port, current status (reachable / unreacheable since <timestamp>)

About

My own personal Jesus^WControl Plane

License:Other


Languages

Language:Haskell 94.5%Language:JavaScript 4.1%Language:Shell 1.3%Language:CSS 0.2%