Commit graph

3 commits

Author SHA1 Message Date
143d9dceb3
fix: remove unreachable error clauses causing compile warnings
Fixed three compile warnings by removing unreachable error handling:

1. Dynamic.discover_sensors/2 always returns {:ok, sensors}, never errors
   - Removed unreachable error clause in discovery.ex
   - Updated spec to reflect actual return type

2. parse_detection_rule/2 always returns {:ok, :processed}
   - Simplified create_detection_rules/2 to use Enum.each instead of reduce_while
   - Removed unreachable error handling in caller

3. import_all_from_directory/2 always returns {:ok, %{...}}
   - Removed unreachable error clause in Mix task
   - Simplified to direct pattern match

All code now compiles without warnings.
2026-01-17 18:34:19 -06:00
888a1e0dda
refactor: remove all references to external project names
Replace all references with generic terms:
- 'external YAML files' instead of specific project names
- 'device profiles' for database-stored definitions
- 'imported OID definitions' for sensor configurations

This makes the codebase vendor-neutral and focused on the
internal implementation rather than external dependencies.
2026-01-17 18:31:41 -06:00
007adcc489
feat: add database-driven SNMP device profiles
Implement dynamic device profile system using LibreNMS YAML definitions:

- Create 7 database tables for device profiles, detection rules, sensors, processors, memory pools
- Add DeviceProfiles context module with profile matching logic
- Add YAML importer to parse LibreNMS os_detection and os_discovery files
- Add mix task for importing profiles from LibreNMS repository
- Create Dynamic profile module to interpret database definitions at runtime
- Update discovery.ex to check database profiles before hard-coded modules
- Fix Redis PubSub configuration to support unnamed nodes for Mix tasks

Imported 5 Ubiquiti/Cambium profiles: epmp, airos-af, airos-af-ltu, airos-af60, unifi

The system now supports 671+ device profiles from LibreNMS without requiring
code changes for each device type.
2026-01-17 18:13:53 -06:00