Skip to content
Proud to collaborate with Microsoft for Startups

spad.site-deletion-cloudflare ​

Delete Cloudflare infrastructure (domains, Worker, R2) and soft-delete site (parallel DAG)

DAG-based site deletion for Cloudflare-backed SPAD sites.

Leaf workflow types are spad.cloudflare.site-deletion-* — see site_deletion_cloudflare_dag/steps/.

Overview ​

PropertyValue
Workflow typeDag
LibraryApp-spad
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
site_uuidstringYes—SpadSite.id to delete
organization_uuidstringNo—Organization that owns the site
delete_resourcesbooleanNoTrueWhen false, skip provider resource deletion (DB-only soft delete)

Output Schema ​

FieldTypeRequiredDefaultDescription
site_uuidstringYes—Site that was soft-deleted
organization_uuidstringNo—Organization that owned the site
cloud_connection_uuidstringNo—Cloudflare CloudConnection.id used to delete resources
worker_script_namestringNo—Worker script name snapshotted before deletion
r2_bucket_namestringNo—R2 bucket name snapshotted before deletion
delete_resourcesbooleanNo—Whether provider resources were deleted (False = soft delete only)
domains_deleted_countintegerNo—Number of custom domains DNS records were removed for
worker_deletedbooleanNo—True when the Worker script deletion was attempted and succeeded
r2_deletedbooleanNo—True when the R2 bucket deletion was attempted and succeeded
soft_deletedbooleanNo—True once site.cached_status was set to 'deleted'
failure_reasonstringNo—Reason recorded on the failure path
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
initjsonNo—DAG step terminal state data
delete_domainsjsonNo—DAG step terminal state data
delete_workerjsonNo—DAG step terminal state data
delete_r2jsonNo—DAG step terminal state data
finalizejsonNo—DAG step terminal state data

DAG Layers ​

#LayerStepsCompensation
1initspad.cloudflare.site-deletion-initspad.compensation.noop
2delete_domainsspad.cloudflare.site-deletion-delete-domainsspad.compensation.noop
3delete_parallelspad.cloudflare.site-deletion-delete-worker, spad.cloudflare.site-deletion-delete-r2spad.compensation.noop
4finalizespad.cloudflare.site-deletion-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.cloudflare.site-deletion-initinit
spad.cloudflare.site-deletion-delete-domainsdelete_domains
spad.cloudflare.site-deletion-delete-workerdelete_worker
spad.cloudflare.site-deletion-delete-r2delete_r2
spad.cloudflare.site-deletion-finalizefinalize
spad.compensation.noopack_no_compensation_init

API Usage ​

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

{
  "workflow_type": "spad.site-deletion-cloudflare",
  "initial_data": {
    "site_uuid": "value"
  }
}