About Marlin

Marlin started as a weekend tool: I wanted a status page for a few side projects without standing up Prometheus, Grafana and a time-series database just to know whether four endpoints were up.

How it works

You describe checks in a YAML file:

checks:
  - name: api.internal
    url: https://api.internal/healthz
    expect: 200
    every: 30s
  - name: web frontend
    url: https://example.test/
    expect: 200
    timeout: 4s

Marlin polls each target, stores results in a small on-disk ring buffer, and renders a static board. There is no external service to depend on, which means the board keeps working even when half the internet does not.

Design goals

Contact

Marlin is a personal project maintained in spare time. Bug reports and patches are welcome through the usual channels.

← Back home