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.