Find a file
rcourtman a1f811cb9e test(ai): improve AI package test coverage from 59.7% to 69.5%
Add comprehensive tests for:
- alert_triggered.go: analysis functions (92%+ coverage)
- patrol_history_persistence.go: all store methods (100%)
- patrol.go: helper functions and getters (100%)
- findings.go: Add edge cases, severity escalation (100%)
- Export functions: all config/detector constructors (100%)

New test files created:
- patrol_history_persistence_test.go
- exports_test.go
- service_extended_test.go
- service_remediation_test.go
- service_tools_test.go
- mock_test.go

Also add coverage.html to .gitignore to exclude generated coverage reports.
2025-12-19 21:53:06 +00:00
.gemini/artifacts feat(thresholds): add collapsible accordion sections and UX improvements 2025-12-18 15:47:44 +00:00
.github fix(e2e): add debugging and container logging to diagnose CI failures 2025-12-19 15:48:35 +00:00
cmd fix: show Removed Docker Hosts section in UI for re-enrollment 2025-12-19 17:57:04 +00:00
deploy/helm/pulse feat: add --kube-include-all-deployments flag for Kubernetes agent 2025-12-18 20:58:30 +00:00
dev/oidc Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
docs fix(agent): support PULSE_AGENT_CONNECT_URL and improve detection 2025-12-19 17:01:58 +00:00
frontend-modern fix: show Removed Docker Hosts section in UI for re-enrollment 2025-12-19 17:57:04 +00:00
internal test(ai): improve AI package test coverage from 59.7% to 69.5% 2025-12-19 21:53:06 +00:00
pkg hostagent: avoid host ID collisions and prefer LAN IP 2025-12-17 16:29:59 +00:00
scripts fix(config): add PULSE_AGENT_CONNECT_URL and improve Docker detection 2025-12-19 16:43:14 +00:00
security security: complete Phase 1 sensor proxy hardening 2025-10-20 15:13:37 +00:00
testing-tools test: add soak test with runtime instrumentation (Phase 2 Task 9d) 2025-10-20 15:13:38 +00:00
tests/integration chore(e2e): reduce verbose logging in pretest health checks 2025-12-19 16:23:07 +00:00
.dockerignore Refactor: Code cleanup and localStorage consolidation 2025-11-04 21:50:46 +00:00
.env.example Adopt multi-token auth across docs, UI, and tooling 2025-10-14 15:47:49 +00:00
.gitattributes chore: optimize PNG images and add .gitattributes 2025-11-24 23:44:55 +00:00
.gitguardian.yaml Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
.gitignore test(ai): improve AI package test coverage from 59.7% to 69.5% 2025-12-19 21:53:06 +00:00
.golangci.yml Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
ARCHITECTURE.md Fix inaccurate architecture documentation 2025-12-02 23:32:14 +00:00
artifacthub-repo.yml Add Artifact Hub repository metadata for chart discoverability 2025-11-11 19:39:19 +00:00
CONTRIBUTING.md v5: gate legacy sensor-proxy and prune dev docs 2025-12-18 21:51:25 +00:00
cr.yaml Add GitHub Pages Helm repository distribution (#686) 2025-11-11 19:26:18 +00:00
docker-compose.yml v5: gate legacy sensor-proxy and prune dev docs 2025-12-18 21:51:25 +00:00
docker-entrypoint.sh Refactor: Code cleanup and localStorage consolidation 2025-11-04 21:50:46 +00:00
Dockerfile fix: remove references to deleted install-host-agent.sh script 2025-11-26 09:57:06 +00:00
go.mod support wildcards --kube-include-namespace/--kube-exclude-namespace 2025-12-18 00:00:30 +01:00
go.sum support wildcards --kube-include-namespace/--kube-exclude-namespace 2025-12-18 00:00:30 +01:00
install.sh fix: Skip deprecated pulse-sensor-proxy for v5+ installations 2025-12-17 12:20:03 +00:00
LICENSE Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
Makefile Add comprehensive AI test coverage 2025-12-16 12:33:06 +00:00
mock.env feat(kubernetes): Add Kubernetes mock data and UI 2025-12-12 23:13:40 +00:00
README.md feat: add --kube-include-all-deployments flag for Kubernetes agent 2025-12-18 20:58:30 +00:00
SECURITY.md v5: gate legacy sensor-proxy and prune dev docs 2025-12-18 21:51:25 +00:00
VERSION chore: bump version to 5.0.0-rc.4 2025-12-18 16:27:43 +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 monitoring your infrastructure across Proxmox, Docker, and Kubernetes. It consolidates metrics, alerts, and AI-powered insights from all your systems 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

Core Monitoring

  • Unified Monitoring: View health and metrics for PVE, PBS, PMG, Docker, and Kubernetes in one place
  • Smart Alerts: Get notified via Discord, Slack, Telegram, Email, and more
  • Auto-Discovery: Automatically finds Proxmox nodes on your network
  • Metrics History: Persistent storage with configurable retention
  • Backup Explorer: Visualize backup jobs and storage usage

Pulse AI (New in 5.0)

  • Chat Assistant: Ask questions about your infrastructure in natural language
  • Patrol: Background health checks that generate findings on a schedule
  • Alert Analysis: Optional AI analysis when alerts fire
  • Cost Tracking: Track usage and costs per provider/model

Multi-Platform

  • Proxmox VE/PBS/PMG: Full monitoring and management
  • Kubernetes: Complete K8s cluster monitoring via agents
  • Docker/Podman: Container and Swarm service monitoring
  • OCI Containers: Proxmox 9.1+ native container support

Security & Operations

  • Secure by Design: Credentials encrypted at rest, strict API scoping
  • One-Click Updates: Easy upgrades for supported deployments
  • OIDC/SSO: Enterprise authentication support
  • Privacy Focused: No telemetry, all data stays on your server

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