Skip to main content

Actions

Mosaico implements its own administrative protocols directly on top of Apache Arrow Flight. Rather than relying on a separate control channel abstraction, Mosaico leverages the Flight DoAction RPC mechanism to handle discrete lifecycle events, administrative interfaces, and resource management.

Unlike streaming endpoints designed for continuous data throughput, these custom actions manage the platform's overarching state. While individual calls are synchronous, they often initiate or conclude multi-step processes, such as topic upload, that govern the long-term integrity of data within the platform.

All custom actions follow a standardized pattern: they expect a JSON-serialized payload defining the request parameters and return a JSON-serialized response containing the result.

Sequence Management

Sequences are the fundamental containers for data recordings in Mosaico. These custom actions enforce a strict lifecycle state machine to guarantee data integrity.

ActionDescriptionPermission
sequence_createInitializes a new, empty sequence.write
sequence_deletePermanently removes a sequence from the platform.delete

Topic Management

Topics represent the individual sensor streams (e.g., camera/front, gps) contained within a sequence.

ActionDescriptionPermission
topic_createRegisters a new topic.write
topic_deleteRemoves a specific topic from a sequence.delete

Session Management

Uploading data to the platform is made through sessions. Within a session it is possible to load one or more topics. Once closed, it becomes immutable.

ActionDescriptionPermission
session_createStart a new upload session.write
session_finalizeMoves the session status from uploading to archived. This action locks the session, marking it as immutable. Once finalized, no further data can be added or modified.write
session_deleteRemoves a specific session and all its data.delete

Notification System

The platform includes a tagging mechanism to attach alerts or informational messages to resources. For example, if an exception is raised during an upload, the notification system automatically registers the event, ensuring the failure is logged and visible for troubleshooting.

ActionDescriptionPermission
*_notification_createAttaches a notification to a Sequence or Topic, such as logging an error or status update.write
*_notification_listRetrieves the history of active notifications for a resource, allowing clients to review alerts.read
*_notification_purgeClears the notification history for a resource, useful for cleanup after resolution.delete

Here, * can be either sequence or topic.

Query

ActionDescriptionPermission
queryThis action serves as the gateway to the query system. It accepts a complex filter object and returns a list of resources that match the criteria.read

Misc

ActionDescriptionPermission
versionRetrieves the current daemon version.read