apphost.source.launch
Load a public GitHub repository, build from Dockerfile or package.json on platform ACR, and serve the image in the site's isolated namespace on the shared apphost pool. No customer kubeconfig or cloud connection.
Launch an AppHost process from a public GitHub repository.
Overview
| Property | Value |
|---|---|
| Workflow type | Dag |
| Library | App-apphost |
| Version | 1.0 |
Input Schema
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
site_uuid | uuid | Yes | — | — |
git_url | string | Yes | — | Public GitHub URL (https://github.com/owner/repo) |
ref | string | No | — | — |
dockerfile | string | No | — | — |
context_dir | string | No | — | — |
port | integer | No | 8080 | — |
replicas | integer | No | 1 | Replicas (1..8, default 1) |
sku | string | No | small | — |
Output Schema
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
site_uuid | uuid | No | — | — |
git_url | string | No | — | — |
ref | string | No | — | — |
dockerfile | string | No | — | — |
context_dir | string | No | — | — |
port | integer | No | — | — |
replicas | integer | No | — | — |
sku | string | No | — | — |
inspect | json | No | — | — |
build | json | No | — | — |
plan | json | No | — | — |
sync | json | No | — | — |
ack_inspect | json | No | — | — |
ack_build | json | No | — | — |
ack | json | No | — | — |
failure_reason | string | No | — | Engine-stamped failure reason |
failure_type | string | No | — | Stable failure classification |
failed_action | string | No | — | Action that failed |
failed_at_state | string | No | — | State when the workflow failed |
failed_step | json | No | — | Failed DAG step envelope |
failed_layer | json | No | — | Failed DAG layer envelope |
error | string | No | — | Engine-stamped exception message |
error_type | string | No | — | Engine-stamped exception class name |
compensation_trigger | json | No | — | — |
comp_queue | json | No | — | — |
comp_current_layer | json | No | — | — |
comp_retry_count | json | No | — | — |
DAG Layers
| # | Layer | Steps | Compensation |
|---|---|---|---|
| 1 | inspect | apphost.source.inspect | apphost.web.ack |
| 2 | build | apphost.image.build | apphost.web.ack |
| 3 | prepare | apphost.web.prepare | apphost.web.ack |
| 4 | apply | k8s.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-workflow | Step name |
|---|---|
apphost.source.inspect | inspect |
apphost.image.build | build |
apphost.web.prepare | plan |
k8s.manifest.sync | sync |
apphost.web.ack | ack_inspect |
Outcomes
| Outcome | Type | Description | State Data Keys |
|---|---|---|---|
launched | SUCCESS | Source built and process applied on the shared AppHost pool | inspect, build, plan, sync |
failed | FAILURE | Apphost workflow failed | failure_reason |
API Usage
bash
POST /api/workflows/start
Content-Type: application/json
{
"workflow_type": "apphost.source.launch",
"initial_data": {
"site_uuid": "value",
"git_url": "value"
}
}