Skip to content

Sys

Sys manages host-level resources: network interfaces, GSM, DNS, mount slots, LEDs, files, and systemd-backed scripts and sandboxed apps.

Module id: sys.

Configuration

Config type Component ref Description
bridge sys.bridge.<iface> BridgeConfiguration is one algol-managed NetworkManager bridge connection (sys.bridge.<id>).
deviceinfo sys.deviceinfo.main DeviceInfoConfiguration is the device's read-only identity, mirrored from the files described in adr/rfc-003-configuration-provisioning.md section 9.
dns sys.dns.main DNSConfiguration is the singleton sys.dns.main resolver config.
dummyintf sys.dummyintf.<iface> DummyintfConfiguration is one algol-managed NetworkManager dummy connection (sys.dummyintf.<id>).
ethernet sys.ethernet.<iface> EthernetConfiguration is one algol-managed NetworkManager connection (sys.ethernet.<id>).
gsm sys.gsm.<iface> GSMConfiguration is one algol-managed NetworkManager modem connection (sys.gsm.<id>).
netprobe sys.netprobe.<id> NetprobeConfiguration is one active connectivity probe (sys.netprobe.<id>): a periodic reachability attempt over one path, whose outcomes feed the component's counters and recent-outcome mask so a trigger can act on sustained failure - for example resetting a modem when the LTE path stays dark (RFC-037).
systemdmount sys.systemdmount.<slot> SystemdMountConfiguration establishes a managed host mount at a pool slot (RFC-019).
systemdmountinfo sys.systemdmountinfo.<slot> SystemdMountInfoConfiguration is the read-only derived counterpart of SystemdMountConfiguration (file→fileinfo / props→propsinfo; config types systemdmount→systemdmountinfo).
systemdunit sys.systemdunit.<id> SystemdUnitConfiguration maps one host systemd unit that already exists into algol, so it can be observed and operated - started, stopped and restarted - through the component it is given.
wlan sys.wlan.<iface> WlanConfiguration is one algol-managed NetworkManager WiFi connection (sys.wlan.<id>).

sys also serves the types whose convention names no module - file / fileinfo, led, systemdscript and systemdapp - under its own id (sys.led.<id>).

Events

Event When
disk_mounted / disk_unmounted Mount slot transitions
led_state_changed LED accepted state changes
script_started / script_exited Script process lifecycle
sms_sent / sms_received GSM SMS

NATS endpoints

Command Request Description
sys.gsm.<id>.reset none Resets the modem of this gsm connection.
sys.gsm.<id>.send_sms JSON Sends an SMS over the modem of this gsm connection. Refused with 429 while the send queue is full.
sys.led.<id>.set JSON Sets this indicator: one pattern per element, keyed by element name; an element not named is set off. The element names and the patterns are the indicator's config's.
sys.systemd.<id>.restart text, text/plain Restarts the host unit named in the body, whatever it is. Never grantable to a configured role: the target is in the body, where no permission reaches.
sys.systemdapp.<id>.restart none Restarts this app.
sys.systemdapp.<id>.start none Runs this listen-mode app now: mounts its rootfs and starts it.
sys.systemdmount.<id>.release none Unmounts the medium in this slot and leaves the slot enabled, so the next medium mounts on its own; the unmount runs in the background and reports through the slot's status.
sys.systemdscript.<id>.restart none Restarts this script: a start-mode script is run again, a running one is bounced.
sys.systemdscript.<id>.start none Runs this listen-mode script now.
sys.systemdunit.<id>.restart none Restarts this host unit. Refused with 409 while the unit's config is disabled or systemd does not have the unit.
sys.systemdunit.<id>.start none Starts this host unit. Refused with 409 while the unit's config is disabled or systemd does not have the unit.
sys.systemdunit.<id>.stop none Stops this host unit. Refused with 409 while the unit's config is disabled or systemd does not have the unit.
sys.teapot.<id>.brew JSON Starts a brew on this teapot at the given strength.

Details: Messaging. Send them with algol command (e.g. algol command sys.systemdmount.usb0.release) or from a trigger action.