Commit Graph

109 Commits

Author SHA1 Message Date
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
courtmanr@gmail.com eddcd20d28 refactor: Store placeholder flag in state manager 2025-05-05 08:50:36 +01:00
courtmanr@gmail.com 432fa9c5b6 feat: Improve initial load experience with placeholder config 2025-05-05 08:42:17 +01:00
courtmanr@gmail.com ba3230cdfc build: Consolidate dependencies and optimize Dockerfile
Consolidate server dependencies into root package.json.

Refactor Dockerfile to use multi-stage build, build CSS,

run as non-root user, and install production dependencies only.

Update .gitignore and docker-compose.yml build context.
2025-05-04 14:38:32 +01:00