Prerequisites
The Signaling API requires payloads to:
- Run a linux operating system
- Have an ethernet connection to the satellite bus
- Have an SSH daemon running
- Provision a user for the Signaling API to use for SSH commands
Filesystem Conventions
The Signaling API requires that certain conventions be followed when using the payload filesystem to place configuration files and/or find required executables.
Filesystem location | Description |
---|---|
/usr/bin/payload_exec | Executable used by the satellite bus when signal commands are executed. Signaling API user must have execute permissions |
/signaling/window_configs/ | Directory used by satellite bus to place window configuration .json files. Signaling API user must have write access |
The /signaling/window_configs/
directory must be created in the payload filesystem by the customer (or payload software owner) and it must be writeable. The bus will not attempt to create this directory and the window execution will fail if it's unable to place a window config file in that location.
The bus will no longer automatically place payload uploads in the /signaling/inbox/<user>
directory before the start of a payload window. The payload must interact with the Spire Linux Agent to query for and retrieve any available uploads.
Additional Permissions
The Signaling API user must also have root or sudo privileges to perform a number of operations, including but not limited to: altering the system clock for time synchronization, issuing halt/shutdown commands at the completion of a payload window.