rcourtman
53dec6010c
fix(sensor-proxy): eliminate allowed_nodes config corruption
...
Phase 1 hotfix to address recurring config file corruption that causes
99% of temperature monitoring failures. The root cause was the installer
oscillating between inline and file-based allowlist modes, creating
duplicate `allowed_nodes:` keys in config.yaml.
Changes:
- Force file-based allowlist mode exclusively (refuse versions < v4.31.1)
- Add automatic migration from inline to file-based config
- Remove inline mode code path from update_allowed_nodes()
- Migration runs on every install/self-heal to clean up existing corruption
The self-heal timer runs every 5 minutes and was the primary source of
corruption when version detection failed or encountered edge cases.
This eliminates the dual code paths and ensures config.yaml is never
edited for allowlist changes - only /etc/pulse-sensor-proxy/allowed_nodes.yaml
is modified.
Phase 2 (next release) will implement proper Go-based config management
with atomic writes, locking, and systemd validation to prevent corruption
by design.
Related to recurring temperature monitoring outages
2025-11-19 09:21:54 +00:00
rcourtman
f4fd4924d6
fix(hostmetrics): dedupe ZFS pools for usable storage
...
Related to #718
2025-11-18 23:38:11 +00:00
rcourtman
bf63515ff4
feat: avoid redundant PBS snapshot polling (Related to #717 )
2025-11-18 23:10:43 +00:00
rcourtman
999e4271a2
feat: surface LXC mountpoints in UI (related to #715 )
2025-11-18 22:57:20 +00:00
rcourtman
6b5ae18dfe
fix: sanitize sensor proxy config during self-heal
...
Related to #714 .
2025-11-18 22:51:40 +00:00
rcourtman
c5ef7684a7
fix: update js-yaml to address CVE-2025-64718 prototype pollution vulnerability
2025-11-18 22:50:07 +00:00
rcourtman
74c2dbfa15
Fix node modal form reset when toggling temperature ( #713 )
2025-11-18 22:28:49 +00:00
rcourtman
d93a2c1053
Improve host agent binary handling and docker installer purge (Related to #693 )
2025-11-18 22:11:44 +00:00
rcourtman
3f46d35a81
feat: make PVE polling interval configurable (related to #467 )
2025-11-18 21:30:04 +00:00
rcourtman
274c45799f
Add direct node fallback for storage polling
2025-11-18 19:58:38 +00:00
rcourtman
936894a5fe
Sanitize duplicate allowed_nodes blocks
2025-11-18 19:33:26 +00:00
rcourtman
2e7f693c8b
Improve installer temperature proxy and backup polling
2025-11-18 18:42:33 +00:00
rcourtman
5438a25682
Don't disable storages when cluster metadata omits flags
2025-11-18 17:18:23 +00:00
rcourtman
d9c0ddaae2
Allow PBS backup poll to finish after poller returns
2025-11-18 16:55:46 +00:00
rcourtman
2c3f197f63
Gate backups spinner on initial payload only
2025-11-18 16:43:02 +00:00
rcourtman
1d214a1c61
Stop showing indefinite backup spinner with no data
2025-11-18 16:37:10 +00:00
rcourtman
9fc7d9cbe1
Handle missing storage on cluster nodes
2025-11-18 15:57:29 +00:00
rcourtman
4a8f743d02
Deduplicate inline proxy allow list
2025-11-18 14:58:50 +00:00
rcourtman
32c2a267e9
Document proxy control-plane refresh
2025-11-18 14:31:08 +00:00
rcourtman
54c47fe2f5
Improve temperature proxy detection
2025-11-18 14:25:09 +00:00
rcourtman
91dbe31ea5
Include control-plane allow list in proxy config
2025-11-18 10:42:13 +00:00
rcourtman
b807fe8773
Allow temperature proxy to authorize standalone nodes
2025-11-18 10:30:41 +00:00
rcourtman
7fa39467c0
Fix setup-script tokens and proxy registration timing
2025-11-18 10:22:54 +00:00
rcourtman
527b7ceacc
Skip inactive storages during content scans
2025-11-18 09:46:48 +00:00
rcourtman
5a570c89a5
Fix auto-registration token parsing and hostname
2025-11-18 09:10:03 +00:00
rcourtman
f7261f3080
Harden turnkey install and proxy auto-registration
2025-11-18 00:24:50 +00:00
rcourtman
ce595b69fa
Avoid blocking self-heal start during install
2025-11-17 23:14:51 +00:00
rcourtman
3ca2bf308e
Break self-heal recursion when proxy unregistered
2025-11-17 23:01:57 +00:00
rcourtman
94a0c82439
Fix inline allowed_nodes cleanup
2025-11-17 22:50:25 +00:00
rcourtman
8bafc1449f
Refresh container sensor proxy installer
2025-11-17 22:41:17 +00:00
rcourtman
09ee968422
Improve temp proxy install UX
2025-11-17 22:30:32 +00:00
rcourtman
011c7094b2
Restore pending control-plane helpers
2025-11-17 22:04:30 +00:00
rcourtman
16bd34513e
Fix pending control-plane helpers
2025-11-17 22:01:11 +00:00
rcourtman
d08322e5f8
Speed up proxy self-heal reconciliation
2025-11-17 21:56:21 +00:00
rcourtman
75d231bf53
Add automatic control-plane reconciliation
2025-11-17 21:55:47 +00:00
rcourtman
2a3ee72b7f
Improve sensor proxy installer compatibility
2025-11-17 21:38:28 +00:00
rcourtman
f0f44231a1
Fix proxy install summary and allowed_nodes cleanup
2025-11-17 14:38:01 +00:00
rcourtman
a46ca5052b
Fix proxy UI type errors
2025-11-17 14:35:32 +00:00
rcourtman
a479040651
Improve temperature proxy workflow
2025-11-17 14:25:46 +00:00
rcourtman
430c98c5ef
Move allowed_nodes to managed file
2025-11-16 10:06:58 +00:00
rcourtman
5951a364f7
Auto-deploy proxy for standalone temp monitoring
2025-11-16 09:47:07 +00:00
rcourtman
aa7b7b0922
Set initialDataReceived on first websocket payload
2025-11-16 00:03:04 +00:00
rcourtman
26442beca1
Tie backup loading state to initial data flag
2025-11-15 23:46:20 +00:00
rcourtman
4e9572d5e3
Gate backups spinner on websocket connection
2025-11-15 23:41:38 +00:00
rcourtman
3c1f4c20ae
Stop backup page spinner after first state update
2025-11-15 23:31:36 +00:00
rcourtman
e375a21d4b
Fix backup UX and proxy config dedupe
2025-11-15 23:26:44 +00:00
rcourtman
3223a3a432
Fix allowed_nodes sanitizer indentation handling
2025-11-15 22:42:08 +00:00
rcourtman
2452674c3c
Rewrite proxy allowed_nodes sanitizer
2025-11-15 22:34:29 +00:00
rcourtman
daa70280f5
Gracefully handle missing PVE instance during proxy registration
2025-11-15 22:25:50 +00:00
rcourtman
3ffd79361d
Allow socket proxy registration without URL
2025-11-15 22:14:32 +00:00