Skip to content

Roadmap

netbsduser edited this page May 15, 2021 · 4 revisions

For all BSD ports:

  • Support advanced process tracking by using the Proc filter for Kernel Queues. - mostly done
  • Make slices and scopes use the Proc filter, too. This adds one half of the CGroups functionality - the tracking of processes.
  • A tool to convert Mewburn RC scripts to unitfiles. - implemented in a basic way.
    • OpenBSD uses its own system and would probably need its own tool, as it doesn't have things like the REQUIRE/PROVIDE/BEFORE directives of Mewburn RC.
    • The remaining BSDs should hopefully be similar enough that this is no issue.

For NetBSD:

  • .device units using the drvctl(8) API.
    • /dev/drvctl is root-only access, so for this, we ought either to implement the subset of the Udev interface used by the manager, or to implement a simple daemon which lets anyone subscribe to events from drvctl, and lets anyone iterate over the devices.

For FreeBSD:

  • Let slices jail their member processes (possibly - need to investigate how hierarchical jails work.)

In general:

  • Decouple system manager mode from its intricate dependencies on Linux; ideally, make it possible to run some other program to do stage-1 initialisation of the lowest level before exec()'ing InitWare. - basically done, but shutdown/sleep needs fixing.
  • Split out System V compatibility into a generator.
  • Generally slim down the manager binary, e.g. by exporting parsing functionality elsewhere.
  • Allow unit types to be implemented by external processes, e.g. by exporting the unit v-table (or something like it) over the D-Bus.
  • Port to Illumos? EPoll and friends are available now. Only operation in user manager mode need be supported; SMF is already the gold standard for system management.

Clone this wiki locally