Commit graph

987 commits

Author SHA1 Message Date
courtmanr@gmail.com
3dc2bc3f56 chore: update go.mod to make golang.org/x/sync a direct dependency 2025-11-25 17:26:44 +00:00
courtmanr@gmail.com
ebcafa1dac feat: adaptive node table layout, guest row fixes, and legacy agent detection
- Implemented adaptive layout for NodeSummaryTable with responsive columns and sticky name column.
- Fixed GuestRow background display issues.
- Added IsLegacy field to Host and DockerHost models to flag legacy agents (version < 1.0.0).
- Updated monitor to populate IsLegacy based on agent version.
2025-11-25 17:19:36 +00:00
courtmanr@gmail.com
b68bfa8696 feat: auto-remove legacy agents during unified installation 2025-11-25 12:56:31 +00:00
courtmanr@gmail.com
a8949dbfba feat: add managed agents list and cleanup legacy scripts 2025-11-25 12:54:13 +00:00
courtmanr@gmail.com
ceb5f1936a feat: unify agent installation UI and scripts 2025-11-25 12:23:22 +00:00
courtmanr@gmail.com
26ebd476da WIP: Save all pending changes including frontend updates and unified agent scaffolding 2025-11-25 11:27:07 +00:00
courtmanr@gmail.com
af2caa4b81 Register unified installer routes
Exposes /api/install/install.sh and /api/install/install.ps1 for the unified agent installer.
2025-11-25 11:25:10 +00:00
courtmanr@gmail.com
3599c6592e Improve installer UX with pauses and popups on failure
Fixes #755. Adds interactive pauses and graphical popups (where available) to installer scripts when critical errors occur, ensuring troubleshooting guides are readable. Also clarifies 'build from source' instructions.
2025-11-25 11:17:37 +00:00
courtmanr@gmail.com
ac747ddf11 Enhance UI responsiveness for tables: apply percentage-based widths and selective column hiding 2025-11-25 10:57:33 +00:00
courtmanr@gmail.com
809676cb4f Further reduce setup script verbosity: silence token checks and consolidate permission logs 2025-11-25 10:20:17 +00:00
courtmanr@gmail.com
005a878681 Suppress 'User already exists' message in setup script 2025-11-25 10:16:08 +00:00
courtmanr@gmail.com
1f57a8c77a Improve setup script clarity: reduce verbosity and fix confusing messages 2025-11-25 10:13:20 +00:00
courtmanr@gmail.com
6887773b45 Improve setup script output by hiding irrelevant Docker/proxy info 2025-11-25 10:01:41 +00:00
courtmanr@gmail.com
67e41f102b chore: ignore .agent directory 2025-11-25 09:36:25 +00:00
courtmanr@gmail.com
2d7d561bab Fix checksum verification on macOS by replacing awk with grep 2025-11-25 09:36:21 +00:00
courtmanr@gmail.com
ed06b0a1b6 Add issue triage rules 2025-11-25 09:13:44 +00:00
courtmanr@gmail.com
75a9929afc Refactor: Parallelize PVE node polling 2025-11-25 08:38:03 +00:00
courtmanr@gmail.com
afbfae5a6a refactor(scripts): replace legacy install-docker-agent.sh with bundled v2 script 2025-11-25 08:36:24 +00:00
courtmanr@gmail.com
be148d8990 fix(scripts): improve checksum verification robustness against whitespace 2025-11-25 08:24:26 +00:00
courtmanr@gmail.com
3acd29c3f3 Implement UI toggle for Hide Local Login (related to issue #750) 2025-11-25 08:14:19 +00:00
courtmanr@gmail.com
8b7ff2ad48 Relax container SSH check for temperature monitoring (ref #727) 2025-11-25 08:00:08 +00:00
courtmanr@gmail.com
15e96458e2 refactor: finalize documentation overhaul
- Refactor specialized docs for conciseness and clarity
- Rename files to UPPER_CASE.md convention
- Verify accuracy against codebase
- Fix broken links
2025-11-25 00:45:20 +00:00
courtmanr@gmail.com
53bfa2b2fd Refactor remaining docs and standardize naming 2025-11-25 00:28:33 +00:00
courtmanr@gmail.com
6bb11270a1 Refactor auth and monitoring docs to be concise 2025-11-25 00:26:00 +00:00
courtmanr@gmail.com
3da07c2c66 Refactor integration docs (K8s, Proxy, Webhooks) to be concise 2025-11-25 00:19:34 +00:00
courtmanr@gmail.com
25eaa2ca18 Refactor agent and troubleshooting docs to be modern and concise 2025-11-25 00:18:10 +00:00
courtmanr@gmail.com
f5c3955f3f Remove redundant docs (DOCKER_HUB_README, PORT_CONFIGURATION) and update index 2025-11-25 00:16:29 +00:00
courtmanr@gmail.com
191f9d3161 Refactor FAQ and API docs to be concise and modern 2025-11-25 00:14:22 +00:00
courtmanr@gmail.com
abeae45ebd Refactor core docs (INSTALL, CONFIGURATION, DOCKER) to be modern and concise 2025-11-25 00:13:07 +00:00
courtmanr@gmail.com
18a43ebcc4 Polish documentation: fix links, use local images, and beautify docs index 2025-11-25 00:11:30 +00:00
courtmanr@gmail.com
9bfc259d6b Refactor README.md to be more concise and modern 2025-11-25 00:07:33 +00:00
courtmanr@gmail.com
66e9c9c75e chore: optimize PNG images and add .gitattributes
- Optimize all documentation images with optipng -o7
  • 01-dashboard.png: 497KB → 372KB (25% reduction)
  • 02-storage.png: 408KB → 307KB (25% reduction)
  • 03-backups.png: 343KB → 261KB (24% reduction)
  • 04-alerts.png: 152KB → 118KB (22% reduction)
  • 05-alert-history.png: 324KB → 245KB (24% reduction)
  • 06-settings.png: 189KB → 146KB (23% reduction)
  • 08-mobile.png: 116KB → 85KB (27% reduction)
  Total savings: 2.0MB → 1.5MB (500KB saved, 25% reduction)

- Add .gitattributes file for proper binary file handling
  • Mark binary files (images, fonts, etc.) to skip diff
  • Mark lockfiles to skip diff generation
  • Enforce LF line endings for text files
2025-11-24 23:44:55 +00:00
courtmanr@gmail.com
c79fd4cb40 chore: remove mcp-server directory
Remove MCP (Model Context Protocol) server integration.
This was an AI assistant tool that doesn't belong in the main repository.
2025-11-24 23:13:42 +00:00
courtmanr@gmail.com
a17cd53111 chore: remove unnecessary development files and docs
- Remove CLEANUP_TODO.md and MIGRATION_SCAFFOLDING.md (internal notes)
- Remove temporary scripts: copy_and_run.sh, work.sh
- Remove AI assistant utility scripts: backup-claude-md.sh, codex-router.sh

These files were used during development but don't belong in the repository.
2025-11-24 23:09:22 +00:00
courtmanr@gmail.com
9fdea3c9cd fix: filter out qdevice from cluster node discovery 2025-11-24 22:54:58 +00:00
courtmanr@gmail.com
ea8ae63d70 Fix: Prevent unnecessary config reloads by checking file content hash 2025-11-24 22:42:24 +00:00
rcourtman
8175e36d60
Merge pull request #752 from olagrasli/patch-1
Update install-docker-agent.sh to handle log_error and calculated checksum new line
2025-11-24 22:40:25 +00:00
olagrasli
a3c36921e5
Update install-docker-agent.sh to handle log_error and calculated checksum containing linebreak
Added missing function log_error
Updated checksum check to handle \r at the end of calculated_checksum
2025-11-24 21:09:44 +01:00
courtmanr@gmail.com
30d2d4ecd3 chore: remove outdated docs, update cleanup script and release workflow 2025-11-24 19:14:54 +00:00
courtmanr@gmail.com
875c64ecbc Fix workflow name in trigger-release.sh 2025-11-24 18:10:13 +00:00
courtmanr@gmail.com
561db13f23 Bump version to 4.32.7 2025-11-24 18:06:14 +00:00
courtmanr@gmail.com
5031ba481b Fix: Allow double slashes in install script URLs 2025-11-24 17:58:00 +00:00
courtmanr@gmail.com
6b84b9a2bf Add PULSE_AUTH_HIDE_LOCAL_LOGIN option to hide password form
Implements #750 - allows hiding the username/password login form when
using OIDC SSO to avoid user confusion, while maintaining security.

- Added HideLocalLogin config option (env: PULSE_AUTH_HIDE_LOCAL_LOGIN)
- Exposed hideLocalLogin in /api/security/status endpoint
- Updated Login.tsx to conditionally hide local login form
- Added escape hatch via ?show_local=true URL parameter

This approach avoids the security and upgrade issues that led to
DISABLE_AUTH being removed (see #707, #678), while solving the UX
problem of users being confused by multiple login options.
2025-11-24 17:40:43 +00:00
courtmanr@gmail.com
9caba86389 Fix #735: Allow HEAD requests for download endpoints and fix routing
- Allow HEAD requests in addition to GET for all download handlers
  (install scripts, binaries, checksums) to prevent 405 errors
- Add /uninstall-host-agent.sh to special routes in ServeHTTP
- Add test coverage for HEAD request handling
- Resolves 'method not allowed' errors during agent installation
2025-11-24 15:16:14 +00:00
courtmanr@gmail.com
07d8381858 Fix host agent registration verification issues (#746)
- Change default server listen addresses to empty string (listen on all interfaces including IPv6)
- Add short hostname matching fallback in host lookup API to handle FQDN vs short name mismatches
- Implement retry loop (30s) in both Windows and Linux/macOS installers for registration verification
- Fix lint errors: remove unnecessary fmt.Sprintf and nil checks before len()

This resolves the 'Installer could not yet confirm host registration with Pulse' warning
by addressing timing issues, hostname matching, and network connectivity.
2025-11-24 14:28:09 +00:00
courtmanr@gmail.com
efad01b717 Fix dashboard layout on wide screens and remove wasted whitespace #643 2025-11-24 08:09:52 +00:00
courtmanr@gmail.com
08a83c9adb Add host agent checksum route and bump version to 4.32.6
- Add /download/pulse-host-agent.sha256 route to serve checksums
- Fixes 'Checksum not available' warning during host agent installation
- Bump version to 4.32.6

Related to #746
2025-11-24 07:57:17 +00:00
courtmanr@gmail.com
60721cbc22 Add mutex protection for config watcher reloads (re #748)
Introduced sync.RWMutex to protect concurrent access to configuration
fields (AuthUser, AuthPass, APITokens) that are modified by the
ConfigWatcher at runtime.

- Added global config.Mu RWMutex in internal/config/config.go
- Protected config updates in ConfigWatcher.reloadConfig() and reloadAPITokens()
- Protected config reads in CheckAuth and all API token handlers
- Protected Router.SetConfig() during full config reloads

This prevents race conditions when .env file changes trigger config
reloads while authentication handlers are reading the same fields.
2025-11-24 07:45:21 +00:00
courtmanr@gmail.com
0c7af34ad2 Implement status bars for Storage, Backups, and Hosts tabs #744 2025-11-23 22:53:33 +00:00
courtmanr@gmail.com
68ffa1bc0b Feat: Add support for Raspberry Pi RP1 ADC temperature sensor (Fixes #745)
- Added 'rp1_adc' to the list of recognized CPU temperature chips
2025-11-23 22:33:16 +00:00