Skip to content
Proud to collaborate with Microsoft for Startups

apphost.release.rollback ​

Roll a hosted site back to a previously published release: verify the immutable S3 prefix is still servable, repoint active_release_uuid, and flip the CloudFront KVS routing entry.

Roll a hosted site back to a previously published release.

Inputs:

  • site_uuid: the HostedSite (required)
  • release_uuid: target HostedRelease; default = most recent published release older than the active one

Outputs: site_uuid, release_uuid, url, rolled_back_from_release_uuid

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-apphost
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
site_uuiduuidYes—HostedSite UUID.
release_uuiduuidNo—Target HostedRelease UUID. Default: the most recent published release older than the currently active one.

Output Schema ​

FieldTypeRequiredDefaultDescription
site_uuiduuidNo—HostedSite UUID.
release_uuiduuidNo—Release now being served.
urlstringNo—Public serving URL for the site.
rolled_back_from_release_uuiduuidNo—Release that was active before the rollback (if any).
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_at_statestringNo——
failed_stepjsonNo——
failed_layerjsonNo——
reasonstringNo——
errorstringNo——
error_typestringNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—executeRollback request accepted; will validate and repoint
completedNoYesYes—Site repointed; KVS routing flipped to the target release prefix
failedNoYesNo—Rollback rejected or an AWS call failed; nothing committed

State Diagram ​

Transitions ​

FromActionToDescription
pendingexecutecompletedValidate target release, repoint active_release_uuid, flip KVS routing
* (any state)failfailedRollback moves to failed

Outcomes ​

OutcomeTypeDescriptionState Data Keys
rolled_backSUCCESSSite repointed to a previously published releasesite_uuid, release_uuid, url
failedFAILUREApphost workflow failedfailure_reason

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "apphost.release.rollback",
  "initial_data": {
    "site_uuid": "value"
  }
}