Skip to content
Proud to collaborate with Microsoft for Startups

spad.site-creation-azure ​

Provisions Azure Blob Storage + Front Door Standard infrastructure for a SPAD site

DAG-based site creation workflow for Azure-backed SPAD sites. Provisions Blob Storage + Azure Front Door Standard + RBAC restriction + Azure DNS CNAME.

Overview ​

PropertyValue
Workflow typeDag
LibraryApp-spad
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
site_uuidstringYes—ID of the SPAD site
organization_uuidstringNo—Organization ID
slugstringYes—Site slug/identifier
cloud_connection_uuidstringYes—Azure cloud connection ID
azure_custom_domainstringNo—Custom domain to attach to Front Door (e.g. cdn.example.com)
dns_zone_refstringNo—Azure DNS zone name (e.g. example.com)

Output Schema ​

FieldTypeRequiredDefaultDescription
site_uuidstringYes—Site marked active
slugstringNo—Site slug propagated from input
s3_bucket_namestringNo—Azure storage account name (stored in the cross-provider s3_bucket_name field)
cloudfront_domainstringNo—Front Door endpoint hostname (used as the cross-provider edge identifier)
resources_createdlistNo—Subset of azure_blob_storage / azure_front_door / azure_front_door_custom_domain / azure_dns_cname / azure_rbac_assignment that were provisioned
finalized_atstringNo—ISO8601 timestamp when the site was marked active
organization_uuidstringNo—Organization ID
cloud_connection_uuidstringNo—Azure cloud connection ID
azure_custom_domainstringNo—Custom domain to attach to Front Door (e.g. cdn.example.com)
dns_zone_refstringNo—Azure DNS zone name (e.g. example.com)
errorstringNo—Engine-stamped failure metadata
error_typestringNo—Engine-stamped failure metadata
failed_at_statejsonNo—Engine-stamped failure metadata
failed_layerjsonNo—Engine-stamped failure metadata
failed_stepjsonNo—Engine-stamped failure metadata
failure_reasonstringNo—Engine-stamped failure metadata
create_blob_storagejsonNo—DAG step terminal state data
configure_blob_storagejsonNo—DAG step terminal state data
create_front_doorjsonNo—DAG step terminal state data
create_custom_domainjsonNo—DAG step terminal state data
restrict_blob_to_front_doorjsonNo—DAG step terminal state data
create_dns_cnamejsonNo—DAG step terminal state data
finalizejsonNo—DAG step terminal state data

DAG Layers ​

#LayerStepsCompensation
1create_blob_storagespad.ltip.azure.create_blob_storagespad.compensation.noop
2configure_blob_storagespad.ltip.azure.configure_blob_storagespad.compensation.noop
3create_front_doorspad.ltip.azure.create_front_doorspad.compensation.noop
4create_custom_domainspad.ltip.azure.create_front_door_custom_domainspad.compensation.noop
5restrict_and_dnsspad.ltip.azure.restrict_blob_to_front_door, spad.ltip.azure.create_dns_cnamespad.compensation.noop
6finalizespad.ltip.site-creation-finalize—

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
spad.ltip.azure.create_blob_storagecreate_blob_storage
spad.ltip.azure.configure_blob_storageconfigure_blob_storage
spad.ltip.azure.create_front_doorcreate_front_door
spad.ltip.azure.create_front_door_custom_domaincreate_custom_domain
spad.ltip.azure.restrict_blob_to_front_doorrestrict_blob_to_front_door
spad.ltip.azure.create_dns_cnamecreate_dns_cname
spad.ltip.site-creation-finalizefinalize
spad.compensation.noopack_no_compensation_create_blob_storage

API Usage ​

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

{
  "workflow_type": "spad.site-creation-azure",
  "initial_data": {
    "site_uuid": "value",
    "slug": "value",
    "cloud_connection_uuid": "value"
  }
}