The OPNsense backend consists of several components (see Architecture for a full stack description).
Our core backend service (configd) is implemented using Python. and provides two main features:
- Service interaction (using configd actions)
- Generation of configuration data (using templates)
Because some of the codebase still integrates with our legacy codebase, we provide additional plugin options for the following components:
- Services (the services status)
- Syslog (define syslog targets)
- Interface (register interfaces, firewall use etc.)
- Service configuration (legacy service configuration, new style uses configd templates)
Services which need to be executed at system startup can use rc(8) or our syshook system.