Homepage dashboard improvements #76

Merged
eblume merged 13 commits from feature/homepage-dashboard-updates into main 2026-01-30 15:05:03 -08:00
Owner

Summary

  • Fix ArgoCD icon (use argo-cd.png per Dashboard Icons naming)
  • Add Borgmatic backup metrics widget (time since last backup, archive size)
  • Add Sifaka NAS disk usage widget (used/total space)
  • Create [[grafana]] zk card with management notes

What didn't work

Attempted Grafana iframe embedding for a metrics panel but reverted:

  • Homepage iframe widget only supports height classes, not width
  • Some panels fail to load even with anonymous auth enabled
  • Documented in grafana zk card for future reference

Deployment and Testing

  • ArgoCD icon displays correctly
  • Borgmatic metrics show time since backup and archive size
  • NAS disk usage shows used/total bytes
  • Grafana reverted to authenticated-only access

🤖 Generated with Claude Code

## Summary - Fix ArgoCD icon (use `argo-cd.png` per Dashboard Icons naming) - Add Borgmatic backup metrics widget (time since last backup, archive size) - Add Sifaka NAS disk usage widget (used/total space) - Create `[[grafana]]` zk card with management notes ## What didn't work Attempted Grafana iframe embedding for a metrics panel but reverted: - Homepage iframe widget only supports height classes, not width - Some panels fail to load even with anonymous auth enabled - Documented in grafana zk card for future reference ## Deployment and Testing - [x] ArgoCD icon displays correctly - [x] Borgmatic metrics show time since backup and archive size - [x] NAS disk usage shows used/total bytes - [x] Grafana reverted to authenticated-only access 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Dashboard Icons uses argo-cd.png (with hyphen), not argocd.png

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Displays time since last backup using prometheusmetric widget
querying Prometheus for borgmatic_last_archive_timestamp

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Shows deduplicated repository size alongside time since last backup

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Shows used and total space from /Volumes/backups mount

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- allow_embedding: true - allows iframe embedding
- cookie_samesite: lax - fixes session cookies in iframes
- public_dashboards: enabled - per-dashboard public sharing via UI

Public dashboard settings persist in SQLite DB on PVC.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Public dashboards don't support template variables or PostgreSQL
datasources, so anonymous auth is required for Homepage embeds.

Security relies on Tailscale ACLs - see zk grafana card.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Test embed of TeslaMate charge level panel using anonymous auth

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Increase battery chart height to h-96
- Add outside temp gauge (panelId=8)
- Add inside temp gauge (panelId=9)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Iframe approach didn't work well:
- Homepage iframe widget only supports height, not width constraints
- Some panels fail to load even with anonymous auth
- Reverted to authenticated-only Grafana access

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- ExternalSecret pulls API key from 1Password
- Widget shows weather for Camano area
- Uses imperial units with 15min cache

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Allows ExternalSecrets and other manifests in the homepage directory

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
eblume merged commit e830a0f26b into main 2026-01-30 15:05:03 -08:00
eblume referenced this pull request from a commit 2026-01-30 15:05:03 -08:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
eblume/blumeops!76
No description provided.