Common Message and Data Structure Definitions¶
The following is a list of message and data schemas that are necessary for dploy. These structures are generally used to define communication protocols between various services. They should be language agnostic.
BuildRequest¶
Used to describe build jobs. These are sent to the DeployQueue.
Schema¶
broadcast_idA broadcast id of the format [random-uuid]:[commit]
appThe app name
archive_uriURI to a tar.gz of the app
commitThe SHA1 commit of the app
update_messageA message about the update
release_versionThe release version to use. 0 means the latest version
BroadcastMessage¶
Used for broadcasting messages to the client
Schema¶
typeThe message type
Must be
outputorstatus
bodyThe message body
Must be data of type BroadcastOutputData or BroadcastStatusData Schema
BroadcastOutputData¶
typeMust be
lineorraw
data(optional) output string
BroadcastStatusData Schema¶
typeMust be
info,error, orcompleted
data(optional) A status message
AppBuildRequest¶
Used to describe app build jobs. These are sent to the BuildCenter. They are created by processing DeployRequests.
Schema¶
app_releaseThe current AppRelease
archive_uriURI to a tar.gz file of the app’s repository
AppRelease¶
Used throughout different sections of the build process. It is also a major component of the cargo file. These snapshots are also used to track versions of a particular app.
EnvVars¶
Dictionary of services and their environment variables. This is meant to be persisted in some kind of database.