go-tinystatus

command module
v0.0.0-...-a58ecbe Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2022 License: MIT Imports: 20 Imported by: 0

README

go-tinystatus

go-tinystatus reimplements tinystatus - a shell script generating a html status page - in Golang.

Why ? I really love the concept on tinystatus; generates the smallest HTTP page as possible with minimal dependencies. But, because it still requires some dependencies (nc, curl, coreutils and ... an HTTP server), I wanted to remove all remaining dependencies.

Features

  • tinystatus Parallel checks
  • go-tinystatus Group several checks by category
  • tinystatus HTTP, ping, port checks
  • tinystatus HTTP expected status code (401, ...)
  • tinystatus Minimal dependencies (curl, nc and coreutils)
  • tinystatus Easy configuration and customisation
  • tinystatus Tiny (~1kb) optimized result page
  • tinystatus Incident history (manual)
  • go-tinystatus Self-embedded web server
  • go-tinystatus Automatic update of checks and incidents
Unavailable features
  • go-tinystatus cannot handle ping6 checks
    • But it is possible to use ping with an IPv6 target (cannot force IPv6).
  • go-tinystatus cannot be setup using environment variable
    • But it uses flags instead. See --help for more information.

Demo

Because go-tinystatus use the same HTML code that tinystatus, you can see a demo on its README.md : tinystatus

Setup

To install go-tinystatus:

  • Clone the repository and go to the created directory
  • Build the project with go build .
  • Edit the checks file checks.csv
  • To add incidents or maintenance, edit incidents.txt
  • Generate status page ./go-tinystatus > index.html and serve the page with your favorite web server
  • Or run the embedded web server with ./go-tinystatus --daemon

Configuration file

The syntax of checks.csv file is:

Command, Expected Code, Status Text, Host to check, Category

Command can be:

  • http - Check http status
  • ping - Check ping status
  • port or tcp - Check open port status

There are also http4, http6, ping4, ping6, port4, port6 for IPv4 or IPv6 only check. Note: ping6 is not available on go-tinystatus, but you can use ping with an IPv6 target.

Documentation

Overview

nolint

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL