Skip to content
Proud to collaborate with Microsoft for Startups

apphost.release.publish ​

Publish an uploaded apphost release bundle: verify bundle.zip against the byte quota, safely extract it into the immutable release prefix, point the CloudFront KVS slug entry at it, register the site's /callback on the identity app client, and prune published releases beyond the retention window.

Verify + extract an uploaded bundle, activate it in the KVS, prune old releases.

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-apphost
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
release_uuiduuidYes—UUID of the hosted_release to publish (must be pending_upload)

Output Schema ​

FieldTypeRequiredDefaultDescription
release_uuiduuidNo——
site_uuiduuidNo——
urlstringNo—Public serving URL: https://<slug>.app.orkestia.dev
slugstringNo——
prefixstringNo——
bundle_sha256stringNo——
bundle_bytesintegerNo——
uploaded_countintegerNo——
pruned_release_countintegerNo——
callback_registeredbooleanNo—True when the /callback redirect_uri was appended (False = already present)
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_at_statestringNo——
failed_stepjsonNo——
failed_layerjsonNo——
errorstringNo——
error_typestringNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—execute—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
pendingexecutecompleted—
* (any state)failfailed—

Outcomes ​

OutcomeTypeDescriptionState Data Keys
publishedSUCCESSRelease bundle verified, activated in KVS, and old releases prunedrelease_uuid, url, prefix
failedFAILUREApphost workflow failedfailure_reason

API Usage ​

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

{
  "workflow_type": "apphost.release.publish",
  "initial_data": {
    "release_uuid": "value"
  }
}