Problem Statement
Home labs and small businesses often use pfSense and OPNsense routers/firewalls, which are based on FreeBSD. Currently, DaemonEye has no planned support for FreeBSD-based systems, limiting its usefulness for monitoring these critical network infrastructure components.
Proposed Solution
Implement basic FreeBSD support in the procmond component by leveraging existing capabilities:
Technical Approach
- Leverage sysinfo crate: The
sysinfo crate already provides cross-platform system information gathering with FreeBSD support
- Extend platform detection: Add FreeBSD target detection using
cfg(target_os = "freebsd") conditionals
- Process monitoring foundation: Build upon existing process monitoring patterns used for Linux/Windows
Implementation Plan
Phase 1: Basic Process Monitoring
Phase 2: Enhanced Capabilities
Phase 3: pfSense/OPNsense Optimization
Use Cases
- Router Monitoring: Monitor pfSense/OPNsense router performance and processes
- Firewall Health: Track critical firewall services and resource usage
- Network Infrastructure: Comprehensive monitoring of FreeBSD-based network appliances
- Home Lab Environments: Support for popular open-source router/firewall platforms
Technical Considerations
- Dependency Compatibility: Verify all current dependencies support FreeBSD
- Testing Environment: Need access to FreeBSD test systems
- Documentation: Update installation and configuration docs for FreeBSD
Alternative Solutions
- Container-based approach: Run DaemonEye in a FreeBSD jail
- Remote monitoring: Use existing Linux/Windows agents with remote FreeBSD monitoring
- Third-party integration: Integrate with existing FreeBSD monitoring tools
Acceptance Criteria
Implementation Notes
- Start with the sysinfo crate's existing FreeBSD support
- Consider FreeBSD version compatibility (minimum supported version)
- Plan for testing on actual pfSense/OPNsense hardware or VMs
Contribution
Problem Statement
Home labs and small businesses often use pfSense and OPNsense routers/firewalls, which are based on FreeBSD. Currently, DaemonEye has no planned support for FreeBSD-based systems, limiting its usefulness for monitoring these critical network infrastructure components.
Proposed Solution
Implement basic FreeBSD support in the procmond component by leveraging existing capabilities:
Technical Approach
sysinfocrate already provides cross-platform system information gathering with FreeBSD supportcfg(target_os = "freebsd")conditionalsImplementation Plan
Phase 1: Basic Process Monitoring
Phase 2: Enhanced Capabilities
freebsdcrate for system callskvmbindings for kernel virtual memory accessPhase 3: pfSense/OPNsense Optimization
Use Cases
Technical Considerations
Alternative Solutions
Acceptance Criteria
Implementation Notes
Contribution