Commit Graph

381 Commits

Author SHA1 Message Date
rcourtman 72f0596500 Extract patrol intelligence runtime owner 2026-03-21 15:04:31 +00:00
rcourtman d1f05f873e Own settings shell dialog and shell state 2026-03-21 14:52:25 +00:00
rcourtman 12e01a5b7c Consolidate settings navigation owners 2026-03-21 14:44:24 +00:00
rcourtman 6ee9a1783c Split settings tab coordination owners 2026-03-21 14:32:27 +00:00
rcourtman 79fa2f6891 Split settings panel registry loaders 2026-03-21 14:22:50 +00:00
rcourtman 88bdac466f Split settings panel registry context owner 2026-03-21 14:17:56 +00:00
rcourtman 5c9149122b Extract settings infrastructure panel props owner 2026-03-21 14:12:03 +00:00
rcourtman 2bb7bd8c47 Split infrastructure settings runtime owners 2026-03-21 13:39:59 +00:00
rcourtman 8daa761c12 Split infrastructure operations state owners 2026-03-21 13:21:46 +00:00
rcourtman fdf844f4d7 Retire UnifiedAgents compatibility shim 2026-03-21 13:09:08 +00:00
rcourtman 8699969592 Extract Proxmox direct workspace owners 2026-03-21 12:55:59 +00:00
rcourtman b00e1dc681 Split node modal section owners 2026-03-21 12:27:39 +00:00
rcourtman 80a5fded28 Split AI settings section owners 2026-03-21 12:14:46 +00:00
rcourtman 5a638644b1 Own settings registry plumbing and system panel props 2026-03-21 12:04:07 +00:00
rcourtman 808b6904c7 Split network settings section owners 2026-03-21 11:48:25 +00:00
rcourtman 0531a00ce8 Split system logs runtime owner 2026-03-21 11:33:02 +00:00
rcourtman ca6ae3bf33 Split hosted billing admin runtime owners 2026-03-21 11:28:49 +00:00
rcourtman 5c96a36deb Split Pro license runtime owners 2026-03-21 11:20:13 +00:00
rcourtman 38aebe666a Split relay settings runtime owners 2026-03-21 10:39:28 +00:00
rcourtman 2c1a89402b Split organization billing runtime owners 2026-03-21 01:53:17 +00:00
rcourtman 7b7adb07d4 Split organization overview runtime owners 2026-03-21 01:46:11 +00:00
rcourtman 9b94d75786 Split organization access runtime owners 2026-03-21 01:40:10 +00:00
rcourtman 7252902cdd Split organization sharing runtime owners 2026-03-21 01:32:31 +00:00
rcourtman b486ac05cd Split RBAC settings runtime owners 2026-03-21 01:20:44 +00:00
rcourtman c6f627dc2f Split infrastructure operations render owners 2026-03-21 01:01:07 +00:00
rcourtman 0986f46fab Extract Proxmox settings panel owners 2026-03-21 00:40:18 +00:00
rcourtman 446677f636 Extract infrastructure reporting summary owner 2026-03-21 00:24:38 +00:00
rcourtman 70c03a0c15 Model infrastructure workspace routing 2026-03-20 23:56:00 +00:00
rcourtman 274f109dff Split direct Proxmox settings surface owners 2026-03-20 23:40:02 +00:00
rcourtman dcd88e2f64 Extract API token manager state owner 2026-03-20 23:08:43 +00:00
rcourtman 47eb1316b3 Normalize storage route shell 2026-03-20 21:05:48 +00:00
rcourtman d209180af6 Extract node modal state owners 2026-03-20 19:35:44 +00:00
rcourtman 56bca4001f Extract infrastructure operations model owner 2026-03-20 18:02:29 +00:00
rcourtman 42e472e9f7 Clarify canonical timeline ownership 2026-03-20 11:05:08 +00:00
rcourtman a4e2de310c Add canonical agent preflight gate 2026-03-20 10:23:29 +00:00
rcourtman 229b19fa25 Simplify resource drawer change history 2026-03-19 21:37:59 +00:00
rcourtman 6476708fe6 Rename release control lookup fixture IDs 2026-03-19 14:55:14 +00:00
rcourtman c826707f60 Rename contract graph helper 2026-03-19 14:46:35 +00:00
rcourtman a80fbf4eca Normalize release control resource wording 2026-03-19 14:43:17 +00:00
rcourtman 2c0217ecfc Refocus v6 resource history on investigation timeline 2026-03-19 10:58:59 +00:00
rcourtman 11c50eb7a0 Align v6 release branch governance 2026-03-19 10:18:45 +00:00
rcourtman 43cdc30f9b Add governed work-claim tooling 2026-03-19 10:06:39 +00:00
rcourtman 8354fcbc40 Promote lane expansion as active v6 target 2026-03-19 09:45:43 +00:00
rcourtman 778a2577b6 feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
rcourtman c0b3a0e665 Restart Pulse service after failed auto-update (#1323)
The auto-update flow stops the Pulse service before applying updates.
If the update fails, the rollback path restored files but never
restarted the service. Since the main unit was explicitly stopped
(not crashed), systemd's Restart=always didn't rescue it.

Add restart-on-failure guards to both pulse-auto-update.sh and
install.sh so Pulse is always restarted after a failed update attempt.
2026-03-07 10:46:19 +00:00
rcourtman 01bf637d0d Fix QNAP agent duplicate processes during upgrades (#1317)
Add singleton watchdog with lock dir, pidfile tracking, and signal
traps to prevent multiple pulse-agent instances spawning on QNAP.
Tighten procfs matching to avoid killing unrelated processes.
2026-03-06 11:40:53 +00:00
rcourtman 499ab812e3 Fix post-release regressions and lock v5 to single-tenant runtime 2026-03-05 23:46:35 +00:00
rcourtman cdceccef05 fix(agent): kill old QNAP agent processes during upgrade (#1317)
Add stop_qnap_agents() helper that kills wrapper scripts before binaries
to prevent watchdog respawn, and uses path-based pkill patterns that work
with BusyBox and match agents at both old and new install paths.
2026-03-05 10:01:43 +00:00
rcourtman aae6035e66 fix(docs): audit and fix agent docs vs install script discrepancies (#1299)
- Split configuration table into "Installer flags" and "Agent-only flags"
  so users know which flags work with `curl | bash` vs the binary directly
- Add missing --cacert and --env flags to installer docs
- Fix --disable-auto-update example (install script doesn't accept it;
  use --env PULSE_DISABLE_AUTO_UPDATE=true instead)
- Add --disable-docker/kubernetes/proxmox and --proxmox-type to
  install.sh show_help()
- Fix --enable-docker=false in CENTRALIZED_MANAGEMENT.md
2026-02-27 21:20:54 +00:00
rcourtman b1d58fc8aa fix(installer): avoid "No space left on device" on QNAP by writing binary to persistent storage
On QNAP, /usr/local/bin is a tiny RAM disk. The installer was downloading
the binary then mv'ing it there, which failed when the RAM disk was full.
The QNAP-specific logic that copies to the persistent data volume only
ran after that mv.

Move QNAP detection before the download step so INSTALL_DIR points to the
persistent data volume (e.g. /share/CACHEDEV1_DATA/.pulse-agent) directly.
The wrapper script still attempts to copy to /usr/local/bin at boot but
falls back to running from persistent storage if that fails.

Also fixes:
- pkill -f pattern in wrapper could match and kill the wrapper itself
  (path contains "pulse-agent"); switched to pkill -x for exact match
- Upgrade detection now checks /usr/local/bin for legacy QNAP installs
- Uninstall cleans up /usr/local/bin runtime copy
2026-02-27 20:41:32 +00:00