deploy.domain.bind ​
Bind a deployed service or static target to a custom domain and DNS records.
Overview ​
| Property | Value |
|---|---|
| Workflow type | Dag |
| Library | App-deployments |
| Version | 1.0 |
Input Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
workflow_run_id | string | No | — | Engine-stamped DAG step run ID. |
organization_uuid | uuid | Yes | — | Organization UUID. |
deployment_target_uuid | uuid | Yes | — | Deployment target UUID. |
release_uuid | uuid | No | — | DeploymentRelease UUID. |
target_type | string | Yes | — | cloud_run_service or static_bucket. |
domain | string | Yes | — | Custom domain. |
gcp_connection_uuid | uuid | No | — | GCP connection UUID for Cloud Run mapping. |
dns_connection_uuid | uuid | No | — | DNS provider connection UUID. |
project_id | string | No | — | GCP project override. |
region | string | No | — | Cloud Run region. |
service_name | string | No | — | Cloud Run service name. |
static_origin | json | No | — | Static bucket/origin descriptor. |
dns_provider | string | No | — | DNS provider, e.g. cloudflare. |
dns_records | list | No | — | Explicit DNS records to apply when no provider mapping step returns records. |
Output Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
workflow_run_id | string | No | — | Engine-stamped DAG step run ID. |
organization_uuid | uuid | No | — | Echoed organization UUID. |
deployment_target_uuid | uuid | No | — | Target UUID. |
domain | string | No | — | Custom domain. |
target_type | string | No | — | Bound target type. |
mapping_name | string | No | — | Provider domain mapping resource. |
dns_records | list | No | — | DNS records required/applied. |
dns_provider | string | No | — | DNS provider used. |
status | string | No | — | Binding status. |
url | string | No | — | Public URL. |
upsert_cloudrun_domain | json | No | — | Result of upsert_cloudrun_domain DAG step. |
apply_dns_record | json | No | — | Result of apply_dns_record DAG step. |
failure_reason | string | No | — | Engine failure reason. |
failure_type | string | No | — | — |
failed_action | string | No | — | — |
failed_step | json | No | — | Failed DAG step envelope. |
failed_layer | json | No | — | Failed DAG layer envelope. |
failed_at_state | string | No | — | State where failure occurred. |
error | string | No | — | Error message. |
error_type | string | No | — | Error class. |
DAG Layers ​
| # | Layer | Steps | Compensation |
|---|---|---|---|
| 1 | provider_mapping | gcp.run.domain-mapping.upsert | — |
| 2 | dns_records | cloudflare.dns.update_record | — |
Execution Flow ​
Sub-workflows ​
| Sub-workflow | Step name |
|---|---|
gcp.run.domain-mapping.upsert | upsert_cloudrun_domain |
cloudflare.dns.update_record | apply_dns_record |
API Usage ​
bash
POST /api/workflows/start
Content-Type: application/json
{
"workflow_type": "deploy.domain.bind",
"initial_data": {
"organization_uuid": "value",
"deployment_target_uuid": "value",
"target_type": "value",
"domain": "value"
}
}