rcourtman f34c28f970 feat: Complete Unified Resource Architecture (Phases 1-3)
This commit implements the Unified Resource Architecture for AI-first
infrastructure management. Key features:

Phase 1 - Backend Unification:
- New unified Resource type with 9 resource types, 7 platforms, 7 statuses
- Resource store with identity-based deduplication (hostname, machineID, IP)
- 8 converter functions (FromNode, FromVM, FromContainer, etc.)
- REST API endpoints: /api/resources, /api/resources/stats, /api/resources/{id}
- 28 comprehensive unit tests

Phase 2 - AI Context Enhancement:
- Unified context builder for AI system prompts
- Cross-platform query methods: GetTopByCPU, GetTopByMemory, GetTopByDisk
- Resource correlation: GetRelated (parent, children, siblings, cluster)
- Infrastructure summary: GetResourceSummary with health status counts
- AI context now includes top consumers and infrastructure overview

Phase 3 - Agent Preference & Hybrid Mode:
- Polling optimization methods in resource store
- ResourceStoreInterface added to Monitor
- SetResourceStore() and shouldSkipNodeMetrics() helper methods
- Store automatically wired into Monitor via Router.SetMonitor()
- Foundation ready for reduced API polling when agents are active

Files added:
- internal/resources/resource.go - Core Resource type
- internal/resources/store.go - Store with deduplication
- internal/resources/converters.go - Type converters
- internal/resources/platform_data.go - Platform-specific data
- internal/resources/store_test.go - 28 tests
- internal/resources/converters_test.go - Converter tests
- internal/api/resource_handlers.go - REST API handlers
- internal/ai/resource_context.go - AI context builder
- .gemini/docs/unified-resource-architecture.md - Architecture docs

All tests pass.
2025-12-07 13:49:00 +00:00
2025-10-11 23:29:47 +00:00
2025-12-03 22:26:52 +00:00

Pulse Logo

Pulse

Real-time monitoring for Proxmox VE, Proxmox Mail Gateway, PBS, and Docker infrastructure.

GitHub release Docker Pulls License GitHub Sponsors

Live DemoDocumentationReport Bug


🚀 Overview

Pulse is a modern, unified dashboard for your Proxmox and Docker estate. It consolidates metrics, logs, and alerts from Proxmox VE, Proxmox Backup Server, Proxmox Mail Gateway, and standalone Docker hosts into a single, beautiful interface.

Designed for homelabs, sysadmins, and MSPs who need a "single pane of glass" without the complexity of enterprise monitoring stacks.

Pulse Dashboard

Features

  • Unified Monitoring: View health and metrics for PVE, PBS, PMG, and Docker containers in one place.
  • Smart Alerts: Get notified via Discord, Slack, Telegram, Email, and more when things go wrong (e.g., "VM down", "Storage full").
  • Auto-Discovery: Automatically finds Proxmox nodes on your network.
  • Secure by Design: Credentials encrypted at rest, no external dependencies, and strict API scoping.
  • Backup Explorer: Visualize backup jobs and storage usage across your entire infrastructure.
  • Privacy Focused: No telemetry, no phone-home, all data stays on your server.
  • Lightweight: Built with Go and React, running as a single binary or container.

Quick Start

Run this one-liner on your Proxmox host to create a lightweight LXC container:

curl -fsSL https://github.com/rcourtman/Pulse/releases/latest/download/install.sh | bash

Option 2: Docker

docker run -d \
  --name pulse \
  -p 7655:7655 \
  -v pulse_data:/data \
  --restart unless-stopped \
  rcourtman/pulse:latest

Access the dashboard at http://<your-ip>:7655.

📚 Documentation

🌐 Community Integrations

Community-maintained integrations and addons:

❤️ Support Pulse Development

Pulse is maintained by one person. Sponsorships help cover the costs of the demo server, development tools, and domains. If Pulse saves you time, please consider supporting the project!

GitHub Sponsors ko-fi

📄 License

MIT © Richard Courtman

S
Description
Monitoring for Proxmox, Docker, Kubernetes, TrueNAS, and vSphere that watches your infrastructure for you: smart alerts, AI patrols that catch silent failures, and verified fixes
Readme MIT 424 MiB
Languages
Go 61.4%
TypeScript 31.7%
Python 3.9%
Shell 1.8%
JavaScript 0.9%
Other 0.2%