v05.00.01 � Grafana dashboard overhaul, library panels, monitoring fixes #6

Merged
jmiller merged 19 commits from dev into main 2026-05-12 05:20:45 +00:00

19 Commits

Author SHA1 Message Date
Jonathan Miller b5d65e8aa3 chore: rename dashboard to MokoWaaS, update description
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 00:19:51 -05:00
Jonathan Miller 4ecb70cdc6 feat: add 14 Grafana library panels and patch bump to v05.00.01
Add reusable library panel templates exported from Grafana:
- Server: CPU, Memory, Disk, Network Traffic
- Docker: Container CPU, Container Memory
- Services: Nginx Request Rate, Nginx Connections, MySQL Queries/s, MySQL Connections
- Monitoring: SSL Certificate Expiry, Service Health, Response Time, Uptime Availability

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 00:17:43 -05:00
jmiller d954b2373e chore: remove .gitea/workflows/sync-wikis.yml (moved to .mokogitea/) [skip ci] 2026-05-12 05:14:47 +00:00
jmiller 666e11e8dd chore: move .gitea/workflows/sync-wikis.yml to .mokogitea/sync-wikis.yml [skip ci] 2026-05-12 05:14:47 +00:00
jmiller a14002c327 chore: remove .gitea/workflows/renovate.yml (moved to .mokogitea/) [skip ci] 2026-05-12 05:14:46 +00:00
jmiller 624e64499a chore: move .gitea/workflows/renovate.yml to .mokogitea/renovate.yml [skip ci] 2026-05-12 05:14:46 +00:00
jmiller 61121252ca chore: remove .gitea/workflows/pr-branch-check.yml (moved to .mokogitea/) [skip ci] 2026-05-12 05:14:45 +00:00
jmiller 5dbb5aebcb chore: move .gitea/workflows/pr-branch-check.yml to .mokogitea/pr-branch-check.yml [skip ci] 2026-05-12 05:14:45 +00:00
jmiller 0ff2ae6f84 chore: remove .gitea/workflows/bulk-repo-sync.yml (moved to .mokogitea/) [skip ci] 2026-05-12 05:14:45 +00:00
jmiller ede5ae90a5 chore: move .gitea/workflows/bulk-repo-sync.yml to .mokogitea/bulk-repo-sync.yml [skip ci] 2026-05-12 05:14:44 +00:00
jmiller edf09ac744 chore: remove .gitea/workflows/branch-protection.yml (moved to .mokogitea/) [skip ci] 2026-05-12 05:14:44 +00:00
jmiller 63ae3bc9b0 chore: move .gitea/workflows/branch-protection.yml to .mokogitea/branch-protection.yml [skip ci] 2026-05-12 05:14:44 +00:00
jmiller ebb2f5891a chore: remove .gitea/.moko-platform (moved to .mokogitea/) [skip ci] 2026-05-12 05:14:43 +00:00
jmiller 2c7478a6f6 chore: move .gitea/.moko-platform to .mokogitea/.moko-platform [skip ci] 2026-05-12 05:14:43 +00:00
Jonathan Miller 63a21fe0c0 fix: force Site column first in Site Health table via indexByName
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 23:56:21 -05:00
Jonathan Miller 787d778e91 feat: rewrite dashboard tables with clean filterFieldsByName pattern
- Site Health: rewritten from scratch — site_url via label_replace on HTTP
  query (works for offline sites), filterFieldsByName to keep only needed
  fields, endpoint URL as clickable Site column
- Joomla Core & Extensions: rewritten — same pattern, Site links to /administrator/
- Backup Status: rewritten — same pattern, Site links to Akeeba Manage
- Combined SSL Days and Last Scrape into Site Health table
- Collapsed Joomla Core section by default
- Moved dashboard to Endpoints folder
- Added site-uptime-alert.sh for ntfy critical alerts on site downtime
- Split updates into System and Ext Updates columns

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 23:54:37 -05:00
Jonathan Miller 1c7de961c6 chore: migrate references from .gitea/ to .mokogitea/
- Update template-CONTRIBUTING.md: .github/workflows/ → .mokogitea/workflows/
- Update templates/gitea/README.md: .gitea/ → .mokogitea/
- .mokogitea/ is now the standard system folder

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 23:38:10 -05:00
Jonathan Miller c061338428 feat: full-width stat layout, filter non-Joomla sites, standardize noValue
- Switch all stat panels to w:24 full-width for natural 3-column wrapping
- Filter site variable to joomla.* site_type only (excludes git, grafana)
- Standardize all noValue to "—" for offline/unavailable endpoints
- Joomla Version panel uses table format with labelsToFields for xx.xx.xx display
- Remove wideLayout option (only applies to value_and_name textMode)

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 22:55:50 -05:00
Jonathan Miller 2e57e60335 feat: enhance WaaS Grafana dashboard with data links, backup monitoring, and layout improvements
- Add clickable links: Site Status → admin, API Reachable → endpoint, HTTP Status → Wikipedia reference, Last Backup/Records → Akeeba Manage
- Fix backup status doubling with max by() aggregation
- Show version as two-row display (site name + version string) using table format with labelsToFields
- Map 0 values to dash on Extensions, Enabled, Disabled panels
- Set minVizWidth for 3-column wrapping layout
- All links use dynamic Grafana variables, no hardcoded endpoints

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-11 22:41:41 -05:00