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