Skip to content
Proud to collaborate with Microsoft for Startups

spad.infrastructure-reconciliation ​

Verifies and repairs site infrastructure components

Verifies and repairs site infrastructure components.

Input fields: site_id, organization_id, components (optional list), dry_run (optional bool)

Supports dry_run mode: checks and reports but doesn't fix.

Overview ​

PropertyValue
Workflow typeLinear
LibraryApp-spad
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
site_uuidstringYes—SpadSite.id whose infrastructure should be verified
organization_uuidstringNo—Organization that owns the site
componentslistNo—Subset of components to check (default: all for the site's provider)
dry_runbooleanNoFalseWhen true, report mismatches without repairing them
trace_refstringNo—Caller-supplied trace identifier for distributed tracing

Output Schema ​

FieldTypeRequiredDefaultDescription
site_uuidstringYes—Site that was reconciled
organization_uuidstringNo—Organization that owns the site
slugstringYes—Site slug
cloud_connection_uuidstringNo—CloudConnection.id used to inspect the infrastructure
components_to_checklistYes—Components that were inspected (provider-specific default or input subset)
dry_runbooleanYes—Whether reconciliation only reported mismatches
check_resultsdictYes—Per-component inspection results (status + provider snapshot)
actions_neededlistYes—Reconciliation actions the workflow identified as required
cloudfront_oac_refstringNo—CloudFront OAC id observed or (re)created during reconciliation
actions_executedlistNo—Actions actually executed (empty on the dry-run path)
dry_run_actionslistNo—Copy of actions_needed returned on the dry-run path
reconciliation_errorslistNo—Errors encountered while executing reconciliation actions
initiated_atstringYes—ISO8601 timestamp when the workflow was initiated
initiated_bystringNo—Actor id that initiated the workflow
checked_atstringYes—ISO8601 timestamp when the inspection step completed
reconciled_atstringNo—ISO8601 timestamp when the reconciliation step completed
completed_atstringNo—ISO8601 timestamp when the workflow reached COMPLETED
failed_atstringNo—ISO8601 timestamp when the workflow reached FAILED
failure_reasonstringNo—Reason recorded on the failure path
componentslistNo—Subset of components to check (default: all for the site's provider)
trace_refstringNo—Caller-supplied trace identifier for distributed tracing
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
deferred_componentslistNo—State data written by workflow action

States ​

StateInitialTerminalSuccessAuto-advanceDescription
initiatedYesNo—check_infrastructure—
awaiting_prereqsNoNo—recheck—
checkingNoNo—reconcile—
reconcilingNoNo—complete—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
initiatedcheck_infrastructurechecking—
checkingreconcilereconciling—
reconcilingcompletecompleted—
reconcilingdeferawaiting_prereqs—
awaiting_prereqsrecheckchecking—
awaiting_prereqsabandonfailed—
* (any state)failfailed—

API Usage ​

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

{
  "workflow_type": "spad.infrastructure-reconciliation",
  "initial_data": {
    "site_uuid": "value"
  }
}