Commit Graph

112 Commits

Author SHA1 Message Date
courtmanr@gmail.com b684ca9205 fix: improve configuration readiness detection in setup flow
- Add system info to health endpoint including configPlaceholder status
- Update setup page to check correct health properties
- Include hasData and clientsInitialized flags for better readiness detection

This ensures the 'Continue to Pulse' button appears when the server is actually ready with data, not just when it times out.
2025-05-30 11:49:11 +01:00
courtmanr@gmail.com 647cdaa625 fix: ensure API clients are properly reloaded after configuration save
- Make runDiscoveryCycle globally accessible for config reload
- Use global API clients in discovery and metrics cycles
- Trigger discovery cycle after configuration reload
- Fix issue where metrics cycle couldn't find reloaded API clients

This ensures the server properly initializes and starts collecting data after saving configuration through the web interface.
2025-05-30 11:45:08 +01:00
courtmanr@gmail.com 4ed73d71d0 feat: improve setup flow with health check and Continue button
- Add health endpoint polling after configuration save
- Show progress messages and loading spinner during initialization
- Display 'Continue to Pulse' button when server is ready
- Add explicit /setup.html route handler
- Improve error handling and logging in configApi
- Prevent form submission on button clicks
- Add percentage progress indicator during setup

This provides better user feedback during the configuration process and ensures users don't navigate to the dashboard before the server is ready.
2025-05-30 11:35:40 +01:00
courtmanr@gmail.com fcb075cbe5 fix: restore complete configApi.js with all features
- Restore advanced settings handling in getConfig and saveConfig
- Include self-signed certificate settings
- Add PBS node name support
- Fix alert configuration saving
- Restore global lastReloadTime update to prevent double reloads
- This fixes the .env file creation and configuration saving

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 11:06:35 +01:00
courtmanr@gmail.com 3e12a572ba fix: resolve configuration save and redirect issues
- Use current state for configuration status check in root route
- Prevent double reload when saving config through API
- Track reload times globally to avoid file watcher conflicts
- This fixes the issue where setup page doesn't redirect after save

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 10:57:57 +01:00
courtmanr@gmail.com ae665fc0a4 feat: add comprehensive configuration options to setup page
- Add advanced settings section with all .env.example options
- Include metric/discovery intervals configuration
- Add alert system configuration (enabled/thresholds)
- Add PBS node name field (required for non-Sys.Audit tokens)
- Update config API to handle all settings
- Group settings logically in generated .env file
- Load and save all configuration options properly

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 10:53:51 +01:00
courtmanr@gmail.com 85a1f2ccbe fix: handle self-signed SSL certificates in configuration
- Add allowSelfSignedCerts flag to test configuration endpoints
- Automatically set ALLOW_SELF_SIGNED_CERT=true when saving config
- Include self-signed cert settings in environment variable groups
- This fixes SSL certificate verification errors with Proxmox servers

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 10:48:57 +01:00
courtmanr@gmail.com 49eb3628e5 fix: correct API client initialization for test connection
- Fix apiClients object access (use bracket notation, not .get())
- Initialize apiClients as plain objects, not Maps, for consistency
- This fixes the "apiClients.get is not a function" error when testing connections

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 10:45:52 +01:00
courtmanr@gmail.com 8a4ef723db fix: allow server to start without configuration
- Change configuration loader to warn instead of throwing error when config is missing
- Allow server to start in setup mode with empty endpoints
- Skip API client initialization when no endpoints are configured
- This enables the web-based setup flow to work properly

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 10:40:52 +01:00
courtmanr@gmail.com d3a82d14df feat: add web-based configuration interface
- Create configuration setup page at /setup.html for entering Proxmox credentials
- Add configuration API endpoints for save, test, and reload operations
- Implement automatic .env file watching with hot reload on changes
- Add configuration warning banner when placeholder config detected
- Auto-redirect to setup page when configuration is missing
- Add WebSocket notifications for configuration reload events
- Update empty states with configuration required message
- No SSH or manual restarts needed - everything through web UI

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 10:35:25 +01:00
courtmanr@gmail.com cec6f9975b feat: add clickable host names in dashboard and PBS views
- Add endpoint configuration sharing between server and client
- Make Proxmox node group headers clickable using API-based mapping
- Make PBS instance names clickable in both desktop and mobile views
- Links open correct cluster endpoints based on node's actual endpointId
- Subtle hover styling without blue underlines for cleaner UI
- All links open in new tabs with security attributes

Resolves issue with users wanting direct access to host web interfaces.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-30 00:16:08 +01:00
courtmanr@gmail.com c770c07671 chore: release v3.12.3
- Test tarball creation script to prevent macOS extended attribute warnings
- Minor improvements to data fetcher
2025-05-29 23:22:42 +01:00
courtmanr@gmail.com 8b1051a999 feat: enhance backup management with interactive calendar and improved failure tracking
- Add comprehensive PBS task failure detection and processing
- Implement interactive backup calendar heatmap with detail cards
- Enhance backup filtering with guest type and health status options
- Improve keyboard navigation and search functionality across tabs
- Add backup detail card component for granular backup information
- Update test coverage for enhanced backup data fetching
- Clean up debug logging and improve console output clarity

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-29 16:23:49 +01:00
courtmanr@gmail.com 649c034182 feat: enhance data fetching and update documentation
- Improve server data fetching capabilities
- Update README with latest features and instructions
- Enhance data processing for backup visualization

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-29 00:06:04 +01:00
courtmanr@gmail.com 1fe463db2b Enhance backup presentation with separate columns for each backup type
- Replace generic Source/Location columns with specific backup type columns
- Add PBS Backups column with purple indicator and detailed tooltips
- Add PVE Backups column with orange indicator and storage info
- Enhanced Snapshots column with blue indicator and clickable counts
- Clear visual distinction between backup storage locations
- Detailed tooltips show PBS instances, datastores, and storage names
- Improved user experience for mixed backup environments
2025-05-28 13:52:20 +01:00
courtmanr@gmail.com 30102a40cb feat: add PVE backup and snapshot support
- Add support for local PVE backups (vzdump tasks)
- Add support for backup files on PVE storage (including NFS)
- Add VM/CT snapshot display with modal view
- Update backup tab to show both PBS and PVE backups
- Change columns to Source/Location for clarity
- Update diagnostics to handle PVE-only setups

Fixes #81 - PBS token permission warnings for PVE-only users
Fixes #80 - Support for backups on NFS and other PVE storage

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 09:01:24 +01:00
courtmanr@gmail.com 056fccea3b fix: correct health endpoint method call to getEnhancedAlertStats 2025-05-28 00:39:02 +01:00
courtmanr@gmail.com fa450522a8 feat: add remaining updates from development
- Update alert manager functionality
- Update HTML structure and components
- Enhance main.js initialization
- Improve socket handler communication
- Update nodes UI component

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 00:20:31 +01:00
courtmanr@gmail.com 51c0d78bce Update UI components and JavaScript files for improved functionality 2025-05-27 19:52:49 +01:00
courtmanr@gmail.com 399da4435d feat: update diagnostics functionality and UI 2025-05-27 13:09:29 +01:00
courtmanr@gmail.com a483b7bcc4 feat: Add basic diagnostics functionality and integrate with server 2025-05-27 12:45:52 +01:00
courtmanr@gmail.com 43c4095cb1 Update server index.js and public index.html 2025-05-27 12:40:18 +01:00
courtmanr@gmail.com 3f3afaac5d fix: Resolve test failures and integrate recent UI/backend updates 2025-05-26 22:08:12 +01:00
courtmanr@gmail.com 46df0dab97 Update data fetching, metrics, and UI components 2025-05-26 18:25:59 +01:00
courtmanr@gmail.com 2609b242af test: improve test coverage for configLoader.js edge cases
- Add tests for placeholder detection with PROXMOX_TOKEN_ID edge cases
- Test scenarios where TOKEN_ID needs to be added to placeholder list
- Improve overall test coverage to ~90%

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-26 17:43:11 +01:00
courtmanr@gmail.com 6add9ca5f6 refactor: improve PBS integration with enhanced error handling, updated tests, and refined UI components
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-26 17:23:48 +01:00
courtmanr@gmail.com 7b2bea0647 chore: clean up logs and disable alert popups for release readiness 2025-05-25 09:52:45 +01:00
courtmanr@gmail.com d99272d665 Feat: Add new modules for server-side alerting, metrics history, and frontend chart/alert handling 2025-05-24 22:02:25 +01:00
courtmanr@gmail.com 02f384c849 Feat: Implement enhanced server monitoring, alerting, and performance tracking 2025-05-24 22:01:28 +01:00
courtmanr@gmail.com 298707627e fix: ensure all test adjustments are committed 2025-05-16 23:17:36 +01:00
courtmanr@gmail.com 7d06ac32ee fix: Revert PBS task fetch window to 7 days 2025-05-16 23:01:06 +01:00
courtmanr@gmail.com c83ade7f79 feat: Increase PBS task fetch window to 14 days 2025-05-16 22:26:49 +01:00
courtmanr@gmail.com f626915706 refactor(server): Improve error handling in dataFetcher and update tests 2025-05-10 16:04:45 +01:00
courtmanr@gmail.com 2295cd6ff5 Refactor: Update API client logic 2025-05-08 16:52:39 +01:00
courtmanr@gmail.com 9347ffa716 Fix: Correct syntax error and update tests 2025-05-08 16:52:36 +01:00
courtmanr@gmail.com 5ccfcee793 fix(dataFetcher): Use endpointId for consistent data association 2025-05-08 14:59:58 +01:00
courtmanr@gmail.com 9042721e1a Update dataFetcher and add pbsUtils tests 2025-05-08 11:55:56 +01:00
courtmanr@gmail.com e5f2d6c598 Refactor(state): Remove initialDataReceived flag from server state 2025-05-08 11:19:20 +01:00
courtmanr@gmail.com 873b28351f Refactor(pbsUtils): Extract task categorization and list creation to helpers 2025-05-08 11:19:06 +01:00
courtmanr@gmail.com b58169b30d Refactor(server): Extract socket state sending to sendCurrentStateToSocket helper 2025-05-08 11:18:46 +01:00
courtmanr@gmail.com af531c1524 Feat(dataFetcher): Add QEMU agent memory fetching & refactor node data retrieval 2025-05-08 11:18:28 +01:00
courtmanr@gmail.com 8f6ee0d279 Refactor(configLoader): Extract Proxmox endpoint loading to helper function 2025-05-08 11:17:57 +01:00
courtmanr@gmail.com 553ba5ae7a Refactor(apiClients): Centralize Axios client creation with generic helper function 2025-05-08 11:16:35 +01:00
courtmanr@gmail.com 73005a5a73 feat: Enhance VM memory reporting using QEMU guest agent 2025-05-06 14:24:25 +01:00
courtmanr@gmail.com 5fa4a4e1ad fix: Correct test failures in config and dataFetcher suites 2025-05-06 11:18:26 +01:00
courtmanr@gmail.com 0ad3706c14 chore: Remove debugging logs for placeholder flag 2025-05-05 08:58:53 +01:00
courtmanr@gmail.com 0c2c06419a fix: Align placeholder detection with install script values 2025-05-05 08:57:34 +01:00
courtmanr@gmail.com 5e0749f3b9 debug: Add logging for placeholder flag state 2025-05-05 08:55:30 +01:00
courtmanr@gmail.com ef97085aba fix: Ensure stateManager is required before configLoader 2025-05-05 08:52:51 +01:00
courtmanr@gmail.com f587a8876d fix: Correct stateManager initialization order 2025-05-05 08:52:02 +01:00