Change-source: pulse-maintainer
6.5 KiB
TrueNAS Integration
Pulse v6 includes first-class monitoring for TrueNAS SCALE and TrueNAS CORE systems. TrueNAS data flows through the unified resource model, appearing alongside Proxmox, Docker, Kubernetes, and host agent data throughout the UI.
Quick Start
- Go to Settings → TrueNAS.
- Click Add Connection.
- Enter the TrueNAS URL (e.g.,
https://truenas.local), the API key, and the username that owns the key. - Click Test Connection → Save.
- Data appears within one polling cycle (~30 seconds).
Creating a TrueNAS API Key
On your TrueNAS system:
- Navigate to Settings → API Keys (SCALE) or System → API Keys (CORE).
- Click Add and create a new key.
- Copy the key value and paste it into Pulse.
Tip
: Pulse uses the supported JSON-RPC WebSocket API on TrueNAS 25.04 and later. TrueNAS 26 removes the former REST API entirely. API keys inherit the linked user's roles, so enter the key owner's username and ensure that user can read the methods Pulse polls. Native app control actions require the corresponding TrueNAS app permissions. Recognized legacy SCALE and CORE releases continue to use the version-gated REST compatibility path.
What Gets Monitored
| Data | Unified Page | Details |
|---|---|---|
| System info (hostname, version, uptime) | Infrastructure | CPU, memory, health status |
| Virtual machines | TrueNAS Overview | State, CPU, memory, boot mode, devices, and security flags from the TrueNAS VM API |
| Apps | TrueNAS Overview | Native app state, image/version, ports, volumes, networks, and runtime container details |
| ZFS Pools | Storage | Total/used/free capacity, pool status (ONLINE/DEGRADED/FAULTED) |
| ZFS Datasets | Storage | Used/available space, mount status, read-only flag |
| Physical Disks | Storage | Model, serial, size, transport type, rotational flag, temperature, and native SMART failure/counter evidence when TrueNAS reports it |
| ZFS Snapshots | Recovery | Dataset, creation time, size, referenced data |
| Replication Tasks | Recovery | Source/target datasets, direction, last run status |
| TrueNAS Alerts | Alerts | Native TrueNAS alert messages and severity levels |
Unified Resource Mapping
TrueNAS resources are mapped into the unified resource model:
- TrueNAS host → appears as a resource with
source: truenason the Infrastructure page. - TrueNAS VMs → appear as canonical
vmworkloads on the TrueNAS page. - TrueNAS apps → appear as canonical
app-containerworkloads on the TrueNAS page. - ZFS pools and datasets → appear on the Storage page.
- ZFS snapshots and replication → appear on the Recovery page as recovery points.
- TrueNAS alerts → surfaced on the Alerts page alongside Proxmox and other platform alerts.
TrueNAS drive-health alerts that identify a specific disk remain disk-health evidence after they are dismissed in TrueNAS. Dismissal acknowledges the notification; Pulse continues to show the affected disk risk while TrueNAS continues to report the underlying SMART condition. Other dismissed TrueNAS alerts remain suppressed. When a supported SMART alert includes TrueNAS's typed uncorrectable-error or spare-reserve argument, Pulse also projects that value into the disk's SMART details. Pulse does not infer counters from alert text, and current TrueNAS APIs do not expose every raw SMART attribute.
Resources from TrueNAS can be filtered using the source filter on any page.
Multiple TrueNAS Systems
Add as many TrueNAS connections as needed. Each connection is polled independently. Resources from all connected systems are merged into the unified view.
Configuration
Environment Variables
| Variable | Description | Default |
|---|---|---|
PULSE_ENABLE_TRUENAS |
Enable/disable TrueNAS integration | true |
Storage
TrueNAS connection credentials are stored encrypted in truenas.enc in the Pulse data directory (/etc/pulse or /data).
API Reference
All endpoints require admin authentication.
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/truenas/connections |
List all configured TrueNAS connections |
POST |
/api/truenas/connections |
Add a new TrueNAS connection |
DELETE |
/api/truenas/connections/{id} |
Remove a TrueNAS connection |
POST |
/api/truenas/connections/test |
Test a connection before saving |
Adding a connection (API)
curl -X POST http://localhost:7655/api/truenas/connections \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"nas-1","host":"https://truenas.local","username":"key-owner","apiKey":"your-api-key"}'
Testing a connection (API)
curl -X POST http://localhost:7655/api/truenas/connections/test \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"nas-1","host":"https://truenas.local","username":"key-owner","apiKey":"your-api-key"}'
Troubleshooting
"TrueNAS service unavailable"
- Check that the TrueNAS system is reachable from the Pulse server.
- Verify the URL uses
https://. Current TrueNAS releases require TLS for remote API-key authentication. - Verify that the configured username owns the API key and has permission to read the monitored methods.
- Use Test Connection in Pulse. The connection's transport diagnostics
should report
jsonrpc-websocketfor TrueNAS 25.04 and later; do not test a current appliance through the removed/api/v2.0REST endpoints.
No data appearing after adding connection
- Wait at least 30 seconds for the first poll cycle.
- Check Pulse logs for TrueNAS-related errors:
journalctl -u pulse | grep -i truenas # or docker logs pulse | grep -i truenas
Stale TrueNAS data
- If TrueNAS data stops updating, the source status transitions to
staleafter ~120 seconds. - Check TrueNAS connectivity and API key validity.
- Verify with the API:
curl -H "Authorization: Bearer $TOKEN" http://localhost:7655/api/resources \ | jq '.resources[] | select(.platformType == "truenas")'
Disabling TrueNAS integration
Set PULSE_ENABLE_TRUENAS=false and restart Pulse. Existing connection data is preserved but polling stops.
See Also
- TrueNAS API Reference — current JSON-RPC transport, API-key, and TLS requirements
- Configuration Guide — environment variables and setup
- ZFS Monitoring — Proxmox-native ZFS pool monitoring
- Recovery — TrueNAS snapshots in the recovery view