Drush Aegir commands

Drush commands for backend -> frontend communication

We have a handful of Drush commands which allow for dispatcherd to send data back to the frontend. These are wrapped in relayd tasks which simply relay the information into the appropriate drush command to post data values (aegir:input), operation log data (aegir:log) or exit codes (aegir:exitcode) back to an Operation the backend has run:

aegir:input

The drush aegir:input command is used for updating field values on a given entity. The backend provides the type and uuid, as well as field name and data value, and this command will load the entity, set the value, and re-save.

This corresponds with the relayd aegir_input task, which dispatcherd calls by placing a task on the queue for relayd to run through drush aegir:input.

aegir:log

The drush aegir:log command allows the backend to send Operation log data back to the frontend while an Operation is running. The command requires a uuid for the operation, as well as timestamp, sequence (to be deprecated), and data values. These are posted as new values on the multi-value log fields attached to the Operation.

This corresponds to the relayd aegir_log task that dispatcherd calls by placing a task on the queue for relayd to run through drush aegir:log.

aegir:exitcode

The drush aegir:exitcode command is the mechanism for the backend to return a final status code for an Operation it has run. This is a simple numeric code, typically as returned by the shell command which was run, to indicate whether the Operation succeeded or not.

The corresponding relayd aegir_exitcode task is called from dispatcherd by placing a task on the queue for relayd to in turn pass to drush aegir:exitcode.