Pulse/internal/api
rcourtman bb312ed022 Add Docker monitoring integration with agent-based architecture
Implements comprehensive Docker monitoring with a dedicated agent that collects
container metrics and reports them to the main Pulse server. Adds Docker-specific
alert rules and threshold management with a redesigned UI.

Backend changes:
- Add Docker agent binary with container metrics collection
- Implement Docker host and container models with CPU/memory tracking
- Add Docker-specific alert types (offline, state, health)
- Extend threshold system to support Docker resources
- Add WebSocket message types for Docker agent communication
- Implement Docker agent API endpoints for registration and metrics

Frontend changes:
- Add Docker monitoring page with host/container views
- Add Docker agent settings panel for configuration
- Reorganize thresholds page with Proxmox/Docker tabs
- Add Docker-specific alert threshold management
- Improve layout consistency with vertical stacking
- Fix defensive null checks and TypeScript errors

This change enables monitoring of Docker containers across multiple hosts
with the same alerting and threshold capabilities as Proxmox resources.
2025-10-05 17:51:16 +00:00
..
alerts.go Add Docker monitoring integration with agent-based architecture 2025-10-05 17:51:16 +00:00
auth.go fix: resolve OIDC authentication issues with DISABLE_AUTH and improve UX 2025-10-01 10:53:19 +00:00
config_handlers.go Restrict temperature monitoring SSH key to sensors command 2025-10-04 15:38:34 +00:00
csrf_store.go chore: tidy repo formatting and linting 2025-09-29 20:19:18 +00:00
demo_middleware.go fix CI errors: remove unused imports and format Go code 2025-09-30 19:59:55 +00:00
diagnostics.go Resolve alert regressions and improve diagnostics 2025-10-03 14:56:27 +00:00
DO_NOT_EDIT_FRONTEND_HERE.md enhance: improve mock data realism and alert system 2025-09-02 21:11:01 +00:00
docker_agents.go Add Docker monitoring integration with agent-based architecture 2025-10-05 17:51:16 +00:00
frontend_embed.go feat: add OIDC single sign-on 2025-09-29 10:22:27 +00:00
guest_metadata.go chore: tidy repo formatting and linting 2025-09-29 20:19:18 +00:00
middleware.go chore: tidy repo formatting and linting 2025-09-29 20:19:18 +00:00
notifications.go Add Pushover webhook custom field handling 2025-10-01 19:09:06 +00:00
oidc_handlers.go feat: add OIDC logout URL support and improve UX 2025-10-01 10:59:22 +00:00
oidc_service.go improve: add comprehensive debug logging for OIDC troubleshooting 2025-09-30 18:45:30 +00:00
rate_limit_config.go chore: tidy repo formatting and linting 2025-09-29 20:19:18 +00:00
ratelimit.go chore: tidy repo formatting and linting 2025-09-29 20:19:18 +00:00
README.md enhance: improve mock data realism and alert system 2025-09-02 21:11:01 +00:00
recovery_tokens.go chore: tidy repo formatting and linting 2025-09-29 20:19:18 +00:00
router.go Add Docker monitoring integration with agent-based architecture 2025-10-05 17:51:16 +00:00
security.go fix: resolve OIDC authentication issues with DISABLE_AUTH and improve UX 2025-10-01 10:53:19 +00:00
security_oidc.go feat: add OIDC logout URL support and improve UX 2025-10-01 10:59:22 +00:00
security_setup_fix.go chore: tidy repo formatting and linting 2025-09-29 20:19:18 +00:00
session_store.go chore: tidy repo formatting and linting 2025-09-29 20:19:18 +00:00
settings.go chore: tidy repo formatting and linting 2025-09-29 20:19:18 +00:00
system_settings.go chore: tidy repo formatting and linting 2025-09-29 20:19:18 +00:00
types.go Add Docker monitoring integration with agent-based architecture 2025-10-05 17:51:16 +00:00
updates.go chore: tidy repo formatting and linting 2025-09-29 20:19:18 +00:00

Internal API Package

This directory contains the API server implementation for Pulse.

Important Note About frontend-modern/

The frontend-modern/ subdirectory that appears here is:

  • AUTO-GENERATED during builds
  • NOT the source code - just a build artifact
  • IN .gitignore - never committed
  • REQUIRED BY GO - The embed directive needs it here

Frontend Development Location

👉 Edit frontend files at: /opt/pulse/frontend-modern/src/

Why This Structure?

Go's //go:embed directive has limitations:

  1. Cannot use ../ paths to access parent directories
  2. Cannot follow symbolic links
  3. Must embed files within the Go module

This is a known Go limitation and our structure works around it.