Skip to content
Proud to collaborate with Microsoft for Startups

apphost.web.deploy ​

Launch an app on a claimed AppHost site from a container image (or registry repo). No customer connection. Pins the Deployment to the shared apphost pool and serves https://<slug>.app.orkestia.dev.

Launch a process on a claimed AppHost site from a container image.

Overview ​

PropertyValue
Workflow typeDag
LibraryApp-apphost
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
site_uuiduuidYes—Claimed AppHost site (the project)
imagestringNo—Container image registry/name:tag
repostringNo—Container repository ref (same as image). Git URLs are rejected
portintegerNo8080Container listen port (default 8080)
replicasintegerNo1Replicas (1..8, default 1)
skustringNosmallShared size class small

Output Schema ​

FieldTypeRequiredDefaultDescription
site_uuiduuidNo——
imagestringNo——
repostringNo——
portintegerNo——
replicasintegerNo——
skustringNo——
planjsonNo——
syncjsonNo——
ackjsonNo——
failure_reasonstringNo—Engine-stamped failure reason
failure_typestringNo—Stable failure classification
failed_actionstringNo—Action that failed
failed_at_statestringNo—State when the workflow failed
failed_stepjsonNo—Failed DAG step envelope
failed_layerjsonNo—Failed DAG layer envelope
errorstringNo—Engine-stamped exception message
error_typestringNo—Engine-stamped exception class name
compensation_triggerjsonNo——
comp_queuejsonNo——
comp_current_layerjsonNo——
comp_retry_countjsonNo——

DAG Layers ​

#LayerStepsCompensation
1prepareapphost.web.prepareapphost.web.ack
2applyk8s.manifest.sync—

Execution Flow ​

Compensation ​

When any layer fails, its compensation steps run in reverse order to roll back the work completed so far.

Sub-workflows ​

Sub-workflowStep name
apphost.web.prepareplan
k8s.manifest.syncsync
apphost.web.ackack

Outcomes ​

OutcomeTypeDescriptionState Data Keys
deployedSUCCESSProcess applied on the shared AppHost poolplan, sync
failedFAILUREApphost workflow failedfailure_reason

API Usage ​

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

{
  "workflow_type": "apphost.web.deploy",
  "initial_data": {
    "site_uuid": "value"
  }
}