Spad ​
| Workflow | Type | Description |
|---|---|---|
| spad.auto-deploy-push | Linear | Handles automatic deployments triggered by GitHub push webhooks |
| spad.auto-deploy-release | Linear | Handles automatic deployments triggered by GitHub release webhooks |
| spad.cloudflare.compensate_delete_r2 | Linear | Compensate R2 bucket creation (best-effort delete) |
| spad.cloudflare.compensate_delete_worker | Linear | Compensate Worker creation (best-effort delete) |
| spad.cloudflare.create_r2_bucket | Linear | Create Cloudflare R2 bucket for a SPAD site (DAG step) |
| spad.cloudflare.create_worker | Linear | Create Cloudflare Worker script for a SPAD site (DAG step) |
| spad.cloudflare.deploy_worker | Linear | Deploy Cloudflare Worker script to production (DAG step) |
| spad.cloudflare.site-creation-finalize | Linear | Finalize Cloudflare site creation - mark site active |
| spad.cloudflare.site-deletion-delete-domains | Linear | Delete custom domains (DNS records) for a Cloudflare SPAD site |
| spad.cloudflare.site-deletion-delete-r2 | Linear | Delete Cloudflare R2 bucket for a SPAD site (DAG step) |
| spad.cloudflare.site-deletion-delete-worker | Linear | Delete Cloudflare Worker script for a SPAD site (DAG step) |
| spad.cloudflare.site-deletion-finalize | Linear | Finalize Cloudflare site deletion - soft-delete the site |
| spad.cloudflare.site-deletion-init | Linear | Initialize Cloudflare site deletion - load site data and mark as deleting |
| spad.compensation.noop | Linear | Record an intentionally empty compensation action for a SPAD DAG layer |
| spad.configure_bucket | Linear | Configure bucket (DAG step) |
| spad.configure_bucket_policy | Linear | Configure bucket policy (DAG step) |
| spad.create_bucket | Linear | Create S3 bucket (DAG step) |
| spad.create_distribution | Linear | Create CloudFront distribution (DAG step) |
| spad.create_ecs_cluster | Linear | Create ECS cluster (DAG step) |
| spad.create_log_group | Linear | Create log group (DAG step) |
| spad.create_oac | Linear | Create OAC (DAG step) |
| spad.create_task_definition | Linear | Create task definition (DAG step) |
| spad.domain-configuration | Linear | Configures a custom domain with SSL certificate and DNS |
| spad.domain-deletion | Linear | Removes a custom domain configuration from a SPAD site |
| spad.drift-detect | Linear | Detect infrastructure drift for a SPAD site and persist a plan |
| spad.drift-plan.get | Atomic | Fetch a single SpadDriftPlan by uuid |
| spad.drift-plan.history | Atomic | Paginated event log for a specific SpadDriftPlan |
| spad.drift-plan.list | Atomic | List SpadDriftPlan rows for an organization, optionally filtered by site/status |
| spad.drift-repair | Linear | Apply a SpadDriftPlan by spawning a per-provider repair DAG |
| spad.drift-repair.gcp | Dag | Apply a SpadDriftPlan against a GCP-backed SPAD site |
| spad.drift-repair.gcp.ensure-cdn-fill-sa | Linear | Ensure the Cloud CDN fill service account is provisioned in the GCP project |
| spad.drift-repair.gcp.ensure-gcp-cdn | Linear | Create the GCP CDN backend bucket + URL map + forwarding rule |
| spad.drift-repair.gcp.ensure-gcp-dns | Linear | Create the DNS A record pointing to the CDN forwarding IP |
| spad.drift-repair.gcp.ensure-gcs-bucket | Linear | Create the GCS origin bucket if missing (idempotent) |
| spad.drift-repair.gcp.ensure-origin-restriction | Linear | Remove allUsers and bind the CDN fill SA on the GCS bucket |
| spad.drift-repair.gcp.finalize | Linear | Aggregate per-layer step outputs into the DAG's final state_data |
| spad.drift-repair.gcp.verify-components | Linear | Re-describe every GCP component and report drift-after-repair |
| spad.infrastructure-reconciliation | Linear | Verifies and repairs site infrastructure components |
| spad.infrastructure-reconciliation-cloudflare | Linear | Verifies Cloudflare R2 and Worker for a SPAD site |
| spad.ltip | Atomic | List SPAD LTIP drift plans for an organization (compatibility surface for spad.drift-plan.list) |
| spad.ltip.alibaba.attach_cdn_certificate | Linear | Attach managed SSL certificate to Alibaba CDN domain |
| spad.ltip.alibaba.configure_oss_bucket | Linear | Configure Alibaba OSS bucket for static website serving |
| spad.ltip.alibaba.create_cdn_domain | Linear | Create Alibaba CDN domain for OSS static site |
| spad.ltip.alibaba.create_dns_cname | Linear | Create Alibaba Cloud DNS CNAME record pointing to CDN CNAME domain |
| spad.ltip.alibaba.create_oss_bucket | Linear | Create Alibaba OSS bucket for SPAD static site |
| spad.ltip.alibaba.restrict_oss_to_cdn | Linear | Remove OSS public-read ACL and grant Alibaba CDN service account read access |
| spad.ltip.azure.configure_blob_storage | Linear | Configure Azure Blob Storage static website + CORS for SPAD site |
| spad.ltip.azure.create_blob_storage | Linear | Create Azure Blob Storage account for SPAD static site |
| spad.ltip.azure.create_dns_cname | Linear | Create Azure DNS CNAME record for SPAD site pointing to Front Door |
| spad.ltip.azure.create_front_door | Linear | Create Azure Front Door Standard profile for SPAD CDN delivery |
| spad.ltip.azure.create_front_door_custom_domain | Linear | Attach custom domain to Azure Front Door Standard profile (triggers managed cert) |
| spad.ltip.azure.restrict_blob_to_front_door | Linear | Grant Front Door managed identity Storage Blob Data Reader access on the storage account |
| spad.ltip.compensate_delete_bucket | Linear | Saga compensation: delete S3 bucket created by create_bucket |
| spad.ltip.compensate_delete_distribution | Linear | Saga compensation: delete CloudFront distribution created by create_distribution |
| spad.ltip.compensate_delete_oac | Linear | Saga compensation: delete CloudFront OAC created by create_oac |
| spad.ltip.configure_bucket | Linear | Configure S3 bucket using LTIP protocol |
| spad.ltip.create_bucket | Linear | Create S3 bucket using LTIP protocol |
| spad.ltip.create_distribution | Linear | Create CloudFront distribution using LTIP protocol |
| spad.ltip.create_oac | Linear | Create CloudFront OAC using LTIP protocol |
| spad.ltip.gcp.configure_bucket | Linear | Configure GCS bucket website settings and public IAM via LTIP |
| spad.ltip.gcp.create_cdn | Linear | Create GCP Cloud CDN edge stack for SPAD static delivery |
| spad.ltip.gcp.create_dns_record | Linear | Create Google Cloud DNS A record for SPAD site subdomain |
| spad.ltip.gcp.create_https_proxy | Linear | Create GCP HTTPS proxy and global forwarding rule for SPAD site |
| spad.ltip.gcp.create_managed_cert | Linear | Create Google-managed SSL certificate for the SPAD site FQDN |
| spad.ltip.gcp.restrict_bucket_to_cdn | Linear | Restrict GCS bucket IAM to Cloud CDN fill service account only |
| spad.ltip.list-plans | Atomic | List SPAD LTIP drift plans for an organization (compatibility surface for spad.drift-plan.list) |
| spad.ltip.site-creation-finalize | Linear | Finalize site creation after infrastructure provisioning |
| spad.manual-deployment | Linear | Executes a full deployment of a SPAD site using a generic runner |
| spad.redeploy | Linear | Creates a new deployment from an existing deployment |
| spad.rollback | Linear | Rolls back to a previous successful deployment |
| spad.site-creation | Dag | Provisions all infrastructure for a new SPAD site (DAG, LTIP) |
| spad.site-creation-alibaba | Dag | Provisions Alibaba Cloud OSS + CDN infrastructure for a SPAD site |
| spad.site-creation-azure | Dag | Provisions Azure Blob Storage + Front Door Standard infrastructure for a SPAD site |
| spad.site-creation-cloudflare | Dag | Provisions Cloudflare infrastructure for a new SPAD site (DAG) |
| spad.site-creation-finalize | Linear | Finalize SPAD site creation |
| spad.site-creation-gcp | Dag | Provisions GCS + GCP CDN + DNS + HTTPS + origin restriction for a SPAD site |
| spad.site-creation-ltip | Dag | Provisions all infrastructure for a new SPAD site using LTIP protocol |
| spad.site-deletion | Dag | Deletes all cloud resources for a SPAD site (parallel DAG) |
| spad.site-deletion-cloudflare | Dag | Delete Cloudflare infrastructure (domains, Worker, R2) and soft-delete site (parallel DAG) |
| spad.site-deletion-delete-domains | Linear | Delete custom domains (CF aliases, ACM certs, DNS records) |
| spad.site-deletion-delete-parallel-1 | Linear | Delete infrastructure (distribution, bucket) |
| spad.site-deletion-delete-parallel-1-gcp | Linear | Delete GCP infrastructure (GCS bucket + Cloud CDN stack) |
| spad.site-deletion-delete-parallel-2 | Linear | Delete infrastructure (OAC) |
| spad.site-deletion-finalize | Linear | Finalize site deletion - soft-delete the site |
| spad.site-deletion-init | Linear | Initialize site deletion - load site data and mark as deleting |
| spad.site-deletion-mark-failed | Linear | Mark site deletion as failed (saga compensation) |
| spad.site.create-from-repo | Dag | Create a SPAD site from a source repository by importing repo metadata, provisioning hosting, building assets, and binding deployment metadata. |
| spad.task-definition-update | Linear | Updates ECS task definition when build configuration changes |
