Commit graph

19 commits

Author SHA1 Message Date
1987d84637
fix: handle FileSystem :ignore in ProfileWatcher for CI 2026-03-07 16:02:32 -06:00
4cfab3b1ee
Reliability improvements: agent channel, polling, discovery, batch ops
- Add Task.Supervisor for supervised background tasks in agent channel
- Discovery worker retries transient failures (max 3 attempts)
- Log silent polling timeouts with named task identification
- Track errors in batch ARP/MAC upserts instead of silently ignoring
- Discovery gracefully degrades on interface/sensor timeout (partial results)
- Synchronous job dispatch on agent join to prevent race condition
- Surface SNMP result, monitoring check, and backup processing errors
- Atomic delete-stale + upsert for neighbors/ARP/MAC (transaction)
- Discovery transaction timeout (60s) with duration logging
- Heartbeat timeout detection (5min) closes stale agent channels
- Live poll timeout (60s) notifies waiting LiveView on expiry
- Disconnect agent channel when token is disabled or deleted
- Debounce rapid assignment changes to prevent redundant job dispatches
- Sensor index deduplication via YAML index template substitution
2026-02-09 16:28:12 -06:00
f8d2570bb3
no cluster unless in k8s, fix credo issues 2026-02-09 13:08:51 -06:00
95c6f53d15
fix: handle nil sys_descr in profile matching
Fixes FunctionClauseError when sys_descr is nil during device profile
matching. Added nil check before attempting String.contains? comparison.
2026-02-04 18:22:12 -06:00
dff9c26905
fix TOTP enrollment with recovery codes 2026-01-31 14:54:44 -06:00
b709ae9fbe fix prod crash with yaml parsing 2026-01-31 08:25:07 -06:00
b663d484cf nif ci fix complie in ci 2026-01-30 12:47:18 -06:00
836749ba6b complete overhaul of snmp engine 2026-01-30 10:41:07 -06:00
f350a9ade4 test cleanup 2026-01-28 10:31:22 -06:00
b8cb3e4f05 reduce log level 2026-01-28 09:22:11 -06:00
88c003d474 major snmp overhaul 2026-01-28 09:07:13 -06:00
9cd3d57433
live reload yaml in dev 2026-01-25 13:38:17 -06:00
639ffd4a2c
better discovery 2026-01-22 17:40:58 -06:00
96fc488023
sanitize snmp data and fix some cpu things 2026-01-22 16:53:01 -06:00
d401e0b036
mikrotik improvements 2026-01-22 13:05:28 -06:00
0a4482f974
feat: add 5 new vendor modules and fix dialyzer issues
Vendor modules added:
- Aviat (WTM microwave radios)
- Aruba (wireless controllers and APs)
- CiscoWLC (Cisco wireless LAN controllers)
- Teltonika (RUTOS LTE routers)
- Sub10 (mmWave backhaul radios)

Dialyzer fixes:
- Fix unknown type Devices.t/0 in alert.ex and device.ex
- Fix unmatched_return warnings across multiple files
- Add :exq to PLT for Exq function detection
- Remove dead code in base.ex, dynamic.ex, vendor.ex
- Fix Device.t() type spec to allow nil name field

Tests: 1437 tests, 0 failures
Dialyzer: 0 errors
Credo: no issues
2026-01-22 09:34:50 -06:00
74c9544688
feat: add wireless sensor discovery and fix YAML sensor parsing
- Add wireless sensor discovery for ePMP and AirOS devices
- Implement vendor-specific OIDs matching LibreNMS PHP discovery
- Fix table/state sensor discovery to handle map format from Client.walk
- Add discovered_sensors to debug data with values and state descriptions
- ePMP: frequency, clients, rssi, snr (rssi/snr for SM only)
- AirOS: frequency, capacity, ccq, clients, distance, noise-floor, power, quality, rate, rssi, utilization
2026-01-21 17:15:00 -06:00
7656ac7212
import yamls 2026-01-21 14:30:04 -06:00
9f59e7661a
add universoal import 2026-01-18 16:59:34 -06:00