Pulse/internal/api
Pulse Monitor 2eb7589747 fix: prevent rate limiting on essential real-time endpoints (addresses #419)
The /api/state and /api/guests/metadata endpoints are now excluded from
rate limiting as they are polled frequently by the UI for real-time updates.
This prevents the "Loading..." issue when users with multiple nodes access
the application.

- Added skip list in UniversalRateLimitMiddleware for real-time endpoints
- Removed duplicate rate limiting logic from router's ServeHTTP
- Consolidated all rate limiting into the universal middleware
2025-09-04 20:22:56 +00:00
..
alerts.go fix: alert acknowledgment routing path mismatch (addresses #380) 2025-09-04 13:06:15 +00:00
auth.go fix: enforce admin privileges for proxy auth users on write operations 2025-08-30 22:30:59 +00:00
config_handlers.go fix: set Online status for mock cluster endpoints 2025-09-04 15:29:42 +00:00
csrf_store.go security: comprehensive security improvements 2025-08-25 11:28:55 +00:00
diagnostics.go feat: enhance diagnostics to show detailed VM disk monitoring issues 2025-08-28 12:48:42 +00:00
DO_NOT_EDIT_FRONTEND_HERE.md enhance: improve mock data realism and alert system 2025-09-02 21:11:01 +00:00
frontend_embed.go fix: node summary tables now appear on initial page load 2025-08-26 16:27:19 +00:00
guest_metadata.go fix: reload guest metadata after import 2025-08-14 09:51:40 +00:00
middleware.go fix: prevent 301 redirect to relative path (./) when accessing root without trailing slash (addresses #334) 2025-08-19 18:56:18 +00:00
notifications.go fix: resolve webhook JSON parsing errors for all services 2025-09-04 18:55:23 +00:00
rate_limit_config.go fix: prevent rate limiting on essential real-time endpoints (addresses #419) 2025-09-04 20:22:56 +00:00
ratelimit.go feat: add comprehensive security system for API protection 2025-08-06 21:39:52 +00:00
README.md enhance: improve mock data realism and alert system 2025-09-02 21:11:01 +00:00
recovery_tokens.go security: comprehensive security improvements 2025-08-25 11:28:55 +00:00
router.go fix: prevent rate limiting on essential real-time endpoints (addresses #419) 2025-09-04 20:22:56 +00:00
security.go fix: iframe embedding checkbox persistence and functionality (addresses #351) 2025-08-28 09:17:54 +00:00
security_setup_fix.go fix: enforce admin privileges for proxy auth users on write operations 2025-08-30 22:30:59 +00:00
session_store.go security: comprehensive security improvements 2025-08-25 11:28:55 +00:00
settings.go fix: ensure consistent CPU core display for all guests 2025-08-09 15:03:28 +00:00
system_settings.go fix: enforce admin privileges for proxy auth users on write operations 2025-08-30 22:30:59 +00:00
types.go improve: comprehensive type safety improvements across codebase 2025-08-19 21:32:44 +00:00
updates.go fix: complete update system improvements 2025-08-07 11:43:40 +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.