pub struct UnitSpec {Show 13 fields
pub name: &'static str,
pub category: Option<Category>,
pub profiles: &'static [&'static str],
pub roles: &'static [&'static str],
pub install: Install,
pub start_on_install: bool,
pub health_check: bool,
pub api_restartable: bool,
pub drops_link: bool,
pub headless_keep: bool,
pub idle_ok: bool,
pub self_terminating: bool,
pub teardown: bool,
}Expand description
One shipped systemd unit.
Fields§
§name: &'static strThe unit file name, ados-<name>.service.
category: Option<Category>The supervisor tier, or None for a unit the supervisor does not
manage (the supervisor itself, boot oneshots, units pulled up by
WantedBy=).
profiles: &'static [&'static str]The agent profiles the unit applies to. Empty means every profile.
roles: &'static [&'static str]The ground-station roles that own the unit. Empty means any role.
install: InstallHow the installer enable-links it.
start_on_install: boolThe install’s start step kicks it with --no-block on its profiles.
health_check: boolThe install’s health gate requires it enabled on its profiles.
api_restartable: boolPOST /api/services/{name}/restart may restart it.
drops_link: boolRestarting it drops the command, telemetry, video, RC, mesh, access-point or cloud link, so the armed interlock refuses it.
headless_keep: boolIn the lean headless keep set: the minimal services a zero-Python flight node keeps running.
idle_ok: boolA clean exit 0 means “nothing to run on this node”, not a death (the
unit file carries RestartPreventExitStatus=0).
self_terminating: boolA Type=oneshot unit that exits on its own once its work is done.
teardown: boolAn install of a profile outside profiles stops and disables it.