git: 5c7f1e3b37a3 - main - www/gatus: New port: Automated developer-oriented status page
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 19 Sep 2025 17:03:49 UTC
The branch main has been updated by dtxdf:
URL: https://cgit.FreeBSD.org/ports/commit/?id=5c7f1e3b37a3946de90062a235a49818c614c284
commit 5c7f1e3b37a3946de90062a235a49818c614c284
Author: Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>
AuthorDate: 2025-09-19 16:36:59 +0000
Commit: Jesús Daniel Colmenares Oviedo <dtxdf@FreeBSD.org>
CommitDate: 2025-09-19 17:03:27 +0000
www/gatus: New port: Automated developer-oriented status page
Gatus is a developer-oriented health dashboard that gives you the
ability to monitor your services using HTTP, ICMP, TCP, and even
DNS queries as well as evaluate the result of said queries by using
a list of conditions on values like the status code, the response
time, the certificate expiration, the body and many others. The
icing on top is that each of these health checks can be paired with
alerting via Slack, Teams, PagerDuty, Discord, Twilio and many more.
---
www/Makefile | 1 +
www/gatus/Makefile | 36 ++++++++++++++++++++++++++++++++++++
www/gatus/distinfo | 5 +++++
www/gatus/files/gatus.in | 37 +++++++++++++++++++++++++++++++++++++
www/gatus/pkg-descr | 7 +++++++
5 files changed, 86 insertions(+)
diff --git a/www/Makefile b/www/Makefile
index 00d56aaac882..2c1dc21e6cdb 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -217,6 +217,7 @@
SUBDIR += gallery2
SUBDIR += garage
SUBDIR += gatling
+ SUBDIR += gatus
SUBDIR += gauche-makiki
SUBDIR += geckodriver
SUBDIR += geneweb
diff --git a/www/gatus/Makefile b/www/gatus/Makefile
new file mode 100644
index 000000000000..f74eaf42dc05
--- /dev/null
+++ b/www/gatus/Makefile
@@ -0,0 +1,36 @@
+PORTNAME= gatus
+DISTVERSIONPREFIX= v
+DISTVERSION= 5.24.0
+CATEGORIES= www
+MASTER_SITES= LOCAL/dtxdf/${PORTNAME}/
+DISTFILES= ${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}.vendor${EXTRACT_SUFX}
+
+MAINTAINER= dtxdf@FreeBSD.org
+COMMENT= Automated developer-oriented status page
+WWW= https://gatus.io
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= go:modules
+USE_GITHUB= yes
+GH_ACCOUNT= TwiN
+
+USE_RC_SUBR= ${PORTNAME}
+
+PLIST_FILES= bin/${PORTNAME} \
+ "@sample etc/${PORTNAME}.yaml.sample"
+
+SUB_LIST= USER=${GATUS_USER}
+
+GATUS_USER= www
+
+post-extract:
+ @${MKDIR} ${WRKSRC}/vendor
+ @cd ${WRKDIR}/${PORTNAME}-vendor && ${COPYTREE_SHARE} . ${WRKSRC}/vendor
+
+post-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/etc
+ ${INSTALL_DATA} ${WRKSRC}/config.yaml ${STAGEDIR}${PREFIX}/etc/${PORTNAME}.yaml.sample
+
+.include <bsd.port.mk>
diff --git a/www/gatus/distinfo b/www/gatus/distinfo
new file mode 100644
index 000000000000..2a501149b0f0
--- /dev/null
+++ b/www/gatus/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1758293804
+SHA256 (gatus-v5.24.0.vendor.tar.gz) = 0d4c5b2106323101cc3a3f0e3d7c130b236f88faea832419ddcb0422cbc3561d
+SIZE (gatus-v5.24.0.vendor.tar.gz) = 52326901
+SHA256 (TwiN-gatus-v5.24.0_GH0.tar.gz) = 2e6eebc227137cb9cd623bc5bd546122b4c880df073e71cee9a8d4f1021867b4
+SIZE (TwiN-gatus-v5.24.0_GH0.tar.gz) = 2870023
diff --git a/www/gatus/files/gatus.in b/www/gatus/files/gatus.in
new file mode 100644
index 000000000000..ea9cb6f136e0
--- /dev/null
+++ b/www/gatus/files/gatus.in
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+# PROVIDE: gatus
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Configuration settings for Gatus in /etc/rc.conf
+#
+# gatus_enable (bool): Enable Gatus. (default=NO)
+# gatus_log (str): Log output. (default=/var/log/gatus.log)
+# gatus_log_level (str): Log level. (default=INFO)
+# gatus_delay_start_seconds (int): Sleep on startup. (default=0)
+# gatus_runas (str): User to run Gatus as. (default=%%USER%%)
+# gatus_config (str): Configuration file. (default=%%PREFIX%%/etc/gatus.yaml)
+
+. /etc/rc.subr
+
+name="gatus"
+desc="Automated developer-oriented status page"
+rcvar="${name}_enable"
+
+load_rc_config $name
+
+: ${gatus_enable:="NO"}
+: ${gatus_log:="/var/log/${name}.log"}
+: ${gatus_log_level:="INFO"}
+: ${gatus_delay_start_seconds:="0"}
+: ${gatus_runas:="%%USER%%"}
+: ${gatus_config:="%%PREFIX%%/etc/${name}.yaml"}
+
+gatus_env="GATUS_CONFIG_PATH=${gatus_config} GATUS_LOG_LEVEL=${gatus_log_level} GATUS_DELAY_START_SECONDS=${gatus_delay_start_seconds}"
+pidfile="/var/run/${name}.pid"
+procname="%%LOCALBASE%%/bin/${name}"
+command="/usr/sbin/daemon"
+command_args="-c -u ${gatus_runas} -o ${gatus_log} -p ${pidfile} -t \"${desc}\" ${procname}"
+
+run_rc_command "$1"
diff --git a/www/gatus/pkg-descr b/www/gatus/pkg-descr
new file mode 100644
index 000000000000..e38edea7bdd4
--- /dev/null
+++ b/www/gatus/pkg-descr
@@ -0,0 +1,7 @@
+Gatus is a developer-oriented health dashboard that gives you the
+ability to monitor your services using HTTP, ICMP, TCP, and even
+DNS queries as well as evaluate the result of said queries by using
+a list of conditions on values like the status code, the response
+time, the certificate expiration, the body and many others. The
+icing on top is that each of these health checks can be paired with
+alerting via Slack, Teams, PagerDuty, Discord, Twilio and many more.