feat: network storage section — panel probes mounted shares itself
Backend: shares + share_samples tables, background probe loop
(os.statvfs every GHARD_SHARE_INTERVAL, 7-day retention, ok=0 when
the mount is unreachable), CRUD + samples API, instant first sample
on create/update, shares in MCP panel_overview.

Frontend: /storage page — share cards with status badge/progress/
used-free-total, 24h fill chart, add/delete via modal + confirm.
ChartLine shows a visible point while there are fewer than 3 samples.

README: CIFS/NFS mount + fstab examples, GHARD_SHARE_INTERVAL row.

Co-Authored-By: Claude Code <noreply@anthropic.com>
1 parent 5edd3ec commit edb6cffa9d27d77934e11b168f260adf7099fd16
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 3 hours ago
Showing 13 changed files
View
README.md
View
panel/backend/.env.example
View
panel/backend/app/api/shares.py 0 → 100644
View
panel/backend/app/config.py
View
panel/backend/app/main.py
View
panel/backend/app/mcp.py
View
panel/backend/app/schema.sql
View
panel/backend/app/shares_probe.py 0 → 100644
View
panel/frontend/src/App.vue
View
panel/frontend/src/api.js
View
panel/frontend/src/components/ChartLine.vue
View
panel/frontend/src/pages/StoragePage.vue 0 → 100644
View
panel/frontend/src/router.js