Overhaul configuration globals, refactor main.c/.h, avoid acting like a full webserver

This commit is contained in:
Kouya Heika
2026-04-24 23:29:31 -05:00
parent efcd340a3b
commit 31297f1c66
4 changed files with 348 additions and 375 deletions

View File

@@ -1,35 +1,38 @@
## STETHOSCOPE EXAMPLE CONFIG
# The name of this Stethoscope instance. This name is used for the page title. (default: "My Stethoscope")
service_name=My Stethoscope
# Port to listen on. This should be reverse proxied by something like httpd or nginx. (default: 7800)
listen=7800
# Path of the webroot server uses to load asset paths like the stylesheet. (default: )
webroot=
################################
## STETHOSCOPE EXAMPLE CONFIG ##
################################
# Name of this Stethoscope instance. This name is used for the page title. (default: "My Stethoscope")
name=My Stethoscope
# Text to show
description=
# Maximum time in seconds status history is shown on the status page. (default: 86400)
status_retention=86400
# Maximum time in seconds without change before fetching a new status peroid. (default: 60)
status_refresh=60
# Time in seconds to wait before attempting to reconnect to the endpoint. (default: 5)
backoff=5
# These are example services.
;[service.openssh]
;name=OpenSSH Daemon
;address=tcp://localhost:22
[web]
# Port to listen on. This should be reverse proxied by something like httpd or nginx. (default: 7800)
listen=7800
# Web path to stylesheet. If this is empty, the daemon will provide a barebones one.
stylesheet=
# Web path to image banner. If this is empty, the page will generate without a banner.
banner=
# Time in seconds between status page recaching. (default: 15)
recache_delay=15
;[service.nginx]
;name=Nginx
;address=tcp://localhost:80,tcp://localhost:443,process://nginx,pidfile:///run/nginx.pid
;backoff=1
;[service.email]
;name=Email
;address=tcp://localhost:25,tcp://localhost:143
;[service.tor]
;name=Tor
;address=tcp://127.0.0.1:9050
;[service.mumble]
;name=mumble
;address=tcp://localhost:64738,udp://localhost:64738
## SERVICE EXAMPLE
# Services are always defined in their own section with their name prepended by "service."
;[service.example]
# Display name for the service. This is publicly displayed on the status page.
;name=A Service
# Web path of the icon to use for this service. If empty, an icon will not be used.
;icon=
# Text to display below the service name.
;text=
# Comma-seperated list of endpoints to check the status of for this service
# Endpoints must be in SCHEME://ADDRESS:PORT format or SCHEME://PATH format
# Supported schemes include: tcp, udp, icmp, pid, proc
;endpoints=