03cbe283df
Rework the VHS demo so the README screenshots actually entice a download. Demo data / tooling: - seed.yaml: real, reachable service URLs (detail now shows nextcloud.com, not example.com); Auth Portal -> non-resolving home.arpa host so it reads as a believable, reliably-DOWN monitor - backfill: transient outages for Nextcloud/Jellyfin/Immich aligned with their state changes (uptime % now matches); log timestamps derived from now so the Logs view reads chronologically; real SSL warning; three probe nodes across regions; seeded alert send health - demo.tape: shorter warm-up, added Nodes + theme captures, ordered so every shot stays inside the 60s node-freshness window (consistent probe count) - vhs/crop: new tool to trim the empty terminal border around each screenshot - setup.sh: build backfill up front for deterministic timing; UPTOP_DEMO=1 Supporting code: - persist alert send health (new alert_health table, load on startup, best-effort save on send) so health/last-sent survive restarts - latency Min/Avg/Max ignore failed checks (no more "Min 0ms") - correct "probe"/"probes" pluralization - stable status dot instead of an animated spinner under UPTOP_DEMO
73 lines
1.4 KiB
VHS
73 lines
1.4 KiB
VHS
Set Shell "bash"
|
|
Set Width 1400
|
|
Set Height 800
|
|
Set FontSize 14
|
|
Set Padding 20
|
|
Set Framerate 15
|
|
Set TypingSpeed 50ms
|
|
|
|
# Seed demo data + start uptop (UPTOP_DEMO=1 → stable pulse dot for stills).
|
|
Hide
|
|
Type "bash vhs/setup.sh /tmp/uptop-vhs.db"
|
|
Enter
|
|
# Warm-up: push heartbeat lands (~10s) and initial checks settle. Kept short so every
|
|
# capture stays inside the 60s node-freshness window (consistent "3 probes" footer).
|
|
Sleep 18s
|
|
Show
|
|
Sleep 2s
|
|
|
|
# 1. Sites — hero shot: mixed states, history sparklines, SSL, retries.
|
|
Screenshot vhs/screenshots/monitors.png
|
|
Sleep 1s
|
|
|
|
# 2. Detail — drill into Nextcloud (6th row from the top).
|
|
Down
|
|
Sleep 150ms
|
|
Down
|
|
Sleep 150ms
|
|
Down
|
|
Sleep 150ms
|
|
Down
|
|
Sleep 150ms
|
|
Down
|
|
Sleep 300ms
|
|
Type "i"
|
|
Sleep 2s
|
|
Screenshot vhs/screenshots/detail.png
|
|
Sleep 500ms
|
|
Escape
|
|
Sleep 1s
|
|
|
|
# 3. Alerts — channels with health dots + recent "last sent".
|
|
Tab
|
|
Sleep 1500ms
|
|
Screenshot vhs/screenshots/alerts.png
|
|
Sleep 500ms
|
|
|
|
# 4. Logs — chronological, severity-coloured event stream.
|
|
Tab
|
|
Sleep 1500ms
|
|
Screenshot vhs/screenshots/logs.png
|
|
Sleep 500ms
|
|
|
|
# 5. Nodes — distributed probes across regions.
|
|
Tab
|
|
Sleep 1500ms
|
|
Screenshot vhs/screenshots/nodes.png
|
|
Sleep 500ms
|
|
|
|
# 6. Theme — cycle to the next theme, return to Sites for an alternate-palette hero.
|
|
Type "T"
|
|
Sleep 500ms
|
|
Tab
|
|
Sleep 200ms
|
|
Tab
|
|
Sleep 200ms
|
|
Tab
|
|
Sleep 1s
|
|
Screenshot vhs/screenshots/theme.png
|
|
Sleep 500ms
|
|
|
|
Type "q"
|
|
Sleep 1s
|