diff options
| author | Fuwn <[email protected]> | 2026-01-17 23:17:49 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-01-17 23:17:49 -0800 |
| commit | 4bc6165258cd7b5b76ccb01aa75c7cefdc35d143 (patch) | |
| tree | e7c3bb335a1efd48f82d365169e8b4a66b7abe1d /config.example.yaml | |
| download | kaze-4bc6165258cd7b5b76ccb01aa75c7cefdc35d143.tar.xz kaze-4bc6165258cd7b5b76ccb01aa75c7cefdc35d143.zip | |
feat: Initial commit
Diffstat (limited to 'config.example.yaml')
| -rw-r--r-- | config.example.yaml | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/config.example.yaml b/config.example.yaml new file mode 100644 index 0000000..aca9c6a --- /dev/null +++ b/config.example.yaml @@ -0,0 +1,141 @@ +# Kaze Status Page Configuration +# Copy this file to config.yaml and customize for your needs + +# Site metadata +site: + name: "Kaze Status" + description: "Service Status Page" + # logo: "https://example.com/logo.svg" # Optional logo URL + # favicon: "https://example.com/favicon.ico" # Optional favicon URL + +# HTTP server settings +server: + host: "0.0.0.0" + port: 8080 + +# Storage settings +storage: + path: "./kaze.db" + history_days: 90 # How many days of history to retain (7, 30, or 90) + +# Display settings +display: + # Tick aggregation mode for history bar: + # ping - Show individual pings (most granular) + # minute - Aggregate by minute + # hour - Aggregate by hour (default) + # day - Aggregate by day (like OpenStatus) + tick_mode: hour + + # Number of ticks/bars to display in the history + tick_count: 45 + + # For 'ping' mode only: + # true = Show fixed slots (empty bars for missing data) + # false = Grow dynamically as pings come in + ping_fixed_slots: true + + # Timezone for display (e.g., "UTC", "America/New_York", "Local") + timezone: "Local" + + # Show the theme toggle button (true by default) + # Set to false to hide the light/dark mode toggle + show_theme_toggle: true + +# Monitor groups +groups: + - name: "Web Services" + # default_collapsed: false # Start collapsed (false = expanded by default) + # show_group_uptime: true # Show aggregate uptime percentage (true by default) + monitors: + - name: "Website" + type: https + target: "https://example.com" + interval: 30s + timeout: 10s + expected_status: 200 + verify_ssl: true + + - name: "API" + type: https + target: "https://api.example.com/health" + interval: 30s + timeout: 10s + expected_status: 200 + method: GET + # headers: + # Authorization: "Bearer token" + + - name: "Infrastructure" + # default_collapsed: false + # show_group_uptime: true + monitors: + - name: "Database" + type: tcp + target: "localhost:5432" + interval: 30s + timeout: 5s + + - name: "Redis" + type: tcp + target: "localhost:6379" + interval: 30s + timeout: 5s + +# Incidents and maintenance (optional) +incidents: + # Scheduled maintenance example + - title: "Scheduled Maintenance" + status: scheduled + message: "Database maintenance window - expect brief interruptions" + scheduled_start: "2026-02-01T02:00:00Z" + scheduled_end: "2026-02-01T04:00:00Z" + affected_monitors: + - "Database" + + # Past incident example (resolved) + # - title: "API Performance Degradation" + # status: resolved + # message: "Users experienced slow API response times" + # created_at: "2026-01-15T10:00:00Z" + # resolved_at: "2026-01-15T12:30:00Z" + # updates: + # - time: "2026-01-15T10:30:00Z" + # status: investigating + # message: "Investigating reports of slow API responses" + # - time: "2026-01-15T11:00:00Z" + # status: identified + # message: "Identified database connection pool exhaustion as root cause" + # - time: "2026-01-15T12:30:00Z" + # status: resolved + # message: "Increased connection pool size. Monitoring for stability." + +# Monitor Configuration Reference +# ================================ +# +# Common fields for all monitor types: +# name: string (required) - Display name for the monitor +# type: string (required) - Monitor type: http, https, or tcp +# target: string (required) - URL or host:port to monitor +# interval: duration - Check interval (default: 30s) +# timeout: duration - Request timeout (default: 10s) +# +# HTTP/HTTPS specific fields: +# expected_status: int - Expected HTTP status code (default: 200) +# 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) +# +# TCP specific fields: +# (none - just needs host:port target) +# +# Duration format: +# Use Go duration strings: 30s, 1m, 5m, 1h, etc. +# +# Incident statuses: +# scheduled - Planned maintenance +# investigating - Looking into the issue +# identified - Root cause found +# monitoring - Fix applied, monitoring +# resolved - Issue resolved |