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_id
A broadcast id of the format [random-uuid]:[commit]
app
The app name
archive_uri
URI to a tar.gz of the app
commit
The SHA1 commit of the app
update_message
A message about the update
release_version
The release version to use. 0 means the latest version
BroadcastMessage¶
Used for broadcasting messages to the client
Schema¶
type
The message type
Must be
output
orstatus
body
The message body
Must be data of type BroadcastOutputData or BroadcastStatusData Schema
BroadcastOutputData¶
type
Must be
line
orraw
data
(optional) output string
BroadcastStatusData Schema¶
type
Must 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_release
The current AppRelease
archive_uri
URI 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.