aboutsummaryrefslogtreecommitdiff
path: root/config.example.yaml
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-01-19 16:53:39 -0800
committerFuwn <[email protected]>2026-01-19 16:53:39 -0800
commitb83baaae6735eccca31a94e630fdeb67919733a0 (patch)
tree625deb2572ed2e8cefa607e88c764c7c21344802 /config.example.yaml
parentfeat: Add reset_on_next_check flag to wipe monitor history (diff)
downloadkaze-b83baaae6735eccca31a94e630fdeb67919733a0.tar.xz
kaze-b83baaae6735eccca31a94e630fdeb67919733a0.zip
feat: Add group defaults, content checking, SSL tracking for Gemini, hide/round options
Diffstat (limited to 'config.example.yaml')
-rw-r--r--config.example.yaml40
1 files changed, 32 insertions, 8 deletions
diff --git a/config.example.yaml b/config.example.yaml
index c3876a7..71c7e0c 100644
--- a/config.example.yaml
+++ b/config.example.yaml
@@ -56,16 +56,25 @@ groups:
- name: "Web Services"
# default_collapsed: false # Start collapsed (false = expanded by default)
# show_group_uptime: true # Show aggregate uptime percentage (true by default)
+ # Group-level defaults (optional - apply to all monitors in this group unless overridden)
+ # defaults:
+ # interval: 30s
+ # timeout: 10s
+ # retries: 2
+ # verify_ssl: true
monitors:
- name: "Website"
type: https
target: "https://example.com"
interval: 30s
timeout: 10s
- retries: 2 # Retry 2 times before marking as down (default: 0)
- # reset_on_next_check: true # Wipe all historical data on next check and flip to false
+ retries: 2 # Retry 2 times before marking as down (default: 0)
+ # reset_on_next_check: true # Wipe all historical data on next check and flip to false
expected_status: 200
+ # expected_content: "Welcome" # Check if response body contains this text
verify_ssl: true
+ # hide_ssl_days: false # Hide SSL certificate days left from display
+ # round_response_time: false # Round response time to nearest second
- name: "API"
type: https
@@ -73,6 +82,7 @@ groups:
interval: 30s
timeout: 10s
expected_status: 200
+ expected_content: '"status":"ok"' # Verify JSON response contains expected data
method: GET
# headers:
# Authorization: "Bearer token"
@@ -98,7 +108,8 @@ groups:
target: "gemini://example.com" # or example.com:1965
interval: 30s
timeout: 10s
- verify_ssl: true
+ verify_ssl: false # Often false for self-signed certs in Geminispace
+ # hide_ssl_days: false # Gemini also tracks TLS certificate expiration
# Incidents and maintenance (optional)
incidents:
@@ -131,27 +142,40 @@ incidents:
# Monitor Configuration Reference
# ================================
#
+# Group-level defaults (optional):
+# defaults:
+# interval: duration - Default check interval for all monitors in group
+# timeout: duration - Default timeout for all monitors in group
+# retries: int - Default retry attempts for all monitors in group
+# verify_ssl: bool - Default SSL verification for all monitors in group
+# Note: Individual monitors can override these defaults
+#
# Common fields for all monitor types:
# name: string (required) - Display name for the monitor
# type: string (required) - Monitor type: http, https, tcp, or gemini
# target: string (required) - URL or host:port to monitor
-# interval: duration - Check interval (default: 30s)
-# timeout: duration - Request timeout (default: 10s)
-# retries: int - Number of retry attempts before marking as down (default: 0)
+# interval: duration - Check interval (default: 30s, or group default)
+# timeout: duration - Request timeout (default: 10s, or group default)
+# retries: int - Number of retry attempts before marking as down (default: 0, or group default)
# Retries are attempted with a 500ms delay between attempts
# reset_on_next_check: bool - When true, wipes all historical data for this monitor on next check
# Automatically flips to false after reset completes
+# hide_ssl_days: bool - Hide SSL/TLS certificate days left from display (default: false)
+# round_response_time: bool - Round response time to nearest second (default: false)
#
# HTTP/HTTPS specific fields:
# expected_status: int - Expected HTTP status code (default: 200)
+# expected_content: string - Text that must be present in response body
# method: string - HTTP method (default: GET)
# headers: map[string]string - Custom headers to send
# body: string - Request body for POST/PUT/PATCH
-# verify_ssl: bool - Verify SSL certificate (default: true)
+# verify_ssl: bool - Verify SSL certificate (default: true, or group default)
#
# Gemini specific fields:
-# verify_ssl: bool - Verify TLS certificate (default: true)
+# verify_ssl: bool - Verify TLS certificate (default: true, or group default)
+# Often set to false for self-signed certs in Geminispace
# target format: gemini://host or host:port (default port: 1965)
+# Note: Gemini monitors track TLS certificate expiration like HTTPS
#
# TCP specific fields:
# (none - just needs host:port target)