Skip to main content

Module units

Module units 

Source
Expand description

The systemd unit table: every unit the agent ships in data/systemd, with the facts each consumer needs about it.

The supervisor’s managed catalog, its ground-station role sets, the installer’s enable / start / teardown / health lists, the REST restart allowlist, the armed interlock’s link-dropping class and the published unit reference are all derived from UNITS. A shipped unit with no row here, or a row with no shipped unit file, fails the bijection test.

Row order is meaningful: the supervisor’s catalog (and so its start order within a tier) and every derived installer list follow it.

Structs§

UnitSpec
One shipped systemd unit.

Enums§

Category
Supervisor tier. Start order is core first, then hardware, then on-demand.
Install
How the installer enable-links a unit.

Constants§

ALL_PROFILES
Every agent profile, the expansion of an empty profiles. Generated from the [profiles] table in contracts.toml.
RETIRED
Units a prior release shipped and has since deleted. The installer prunes each on every run so an upgrade leaves no orphaned unit whose code is gone. An explicit list, not a “remove what is not shipped” sweep: the runtime plugin slice and the per-plugin units live outside data/systemd.
UNITS
Every unit in data/systemd, in canonical order.

Functions§

find
The row for name, given as the unit file name (ados-wfb.service) or its stem (ados-wfb).
net_daemon_owns_wifi
Whether the ados-net uplink daemon (ados-uplink-router) runs on profile, and so owns the Wi-Fi command socket. Accepts the underscore or the hyphen spelling. Every other node serves that socket from the control surface.
role_unit_count
How many units role owns; None counts every role-owned unit.
role_unit_names
The unit file names role owns, in table order (its start order); None lists every role-owned unit. N must be role_unit_count of the same argument, so the table and the array cannot disagree.
supervised
The rows the supervisor manages, in catalog order.
units_for_profile
The units installed on profile, in table order.