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.