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.