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§
- Unit
Spec - 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 incontracts.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 onprofile, 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
roleowns;Nonecounts every role-owned unit. - role_
unit_ names - The unit file names
roleowns, in table order (its start order);Nonelists every role-owned unit.Nmust berole_unit_countof 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.