mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-02-18 00:17:39 +01:00
- Major updates to README.md and docs/README.md for Pulse v5 - Added technical deep-dives for Pulse Pro (docs/PULSE_PRO.md) and AI Patrol (docs/AI.md) - Updated Prometheus metrics documentation and Helm schema for metrics separation - Refreshed security, installation, and deployment documentation for unified agent models - Cleaned up legacy summary files
1.9 KiB
1.9 KiB
📡 Proxy Control Plane
The Control Plane synchronizes pulse-sensor-proxy instances with the Pulse server, ensuring they trust the correct nodes without manual configuration.
Deprecated in v5:
pulse-sensor-proxy(and its control-plane sync) is deprecated and not recommended for new deployments. New installs should usepulse-agent --enable-proxmoxfor temperature monitoring.
Important
: The control-plane endpoints are disabled by default. Set
PULSE_ENABLE_SENSOR_PROXY=trueon the Pulse server to enable legacy proxy support.
🏗️ Architecture
graph LR
Pulse[Pulse Server] -- HTTPS /api/temperature-proxy --> Proxy[Sensor Proxy]
Proxy -- SSH --> Nodes[Cluster Nodes]
- Registration: The proxy registers with Pulse on startup/install.
- Sync: The proxy periodically fetches the "Authorized Nodes" list from Pulse.
- Validation: The proxy only executes commands on nodes authorized by Pulse.
🔄 Workflow
- Install:
install-sensor-proxy.shcalls/api/temperature-proxy/register. - Token Exchange: Pulse returns a control-plane token which the proxy saves to
/etc/pulse-sensor-proxy/.pulse-control-token. - Polling: The proxy polls
/api/temperature-proxy/authorized-nodesevery 60s (configurable). - Update: If the node list changes (e.g., a new node is added to Pulse), the proxy updates its internal allowlist automatically.
⚙️ Configuration
The proxy configuration in /etc/pulse-sensor-proxy/config.yaml handles the sync:
pulse_control_plane:
url: https://pulse.example.com:7655
token_file: /etc/pulse-sensor-proxy/.pulse-control-token
refresh_interval: 60
🛡️ Security
- Tokens: The control-plane token is unique per proxy instance.
- Least Privilege: The proxy only knows about nodes explicitly added to Pulse.
- Fallback: If the control plane is unreachable, the proxy uses its last known good configuration.