spad.drift-repair.gcp ​
Apply a SpadDriftPlan against a GCP-backed SPAD site
DAG-based GCP drift repair.
Overview ​
| Property | Value |
|---|---|
| Workflow type | Dag |
| Library | App-spad |
| Version | 1.0 |
Input Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
plan_uuid | uuid | Yes | — | — |
site_uuid | string | Yes | — | — |
organization_uuid | string | Yes | — | — |
actions_needed | list | No | — | — |
trace_ref | string | No | — | — |
Output Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
components_summary | dict | Yes | — | — |
repair_errors | list | Yes | — | — |
unapplied_components | list | Yes | — | — |
plan_uuid | uuid | No | — | Input field carried through workflow state |
site_uuid | string | No | — | Input field carried through workflow state |
organization_uuid | string | No | — | Input field carried through workflow state |
actions_needed | list | No | — | Input field carried through workflow state |
trace_ref | string | No | — | Input field carried through workflow state |
error | string | No | — | Engine-stamped failure metadata |
error_type | string | No | — | Engine-stamped failure metadata |
failed_at_state | json | No | — | Engine-stamped failure metadata |
failed_layer | json | No | — | Engine-stamped failure metadata |
failed_step | json | No | — | Engine-stamped failure metadata |
failure_reason | string | No | — | Engine-stamped failure metadata |
ensure_cdn_fill_sa | json | No | — | DAG step terminal state data |
ensure_gcs_bucket | json | No | — | DAG step terminal state data |
ensure_gcp_cdn | json | No | — | DAG step terminal state data |
ensure_gcp_dns | json | No | — | DAG step terminal state data |
ensure_origin_restriction | json | No | — | DAG step terminal state data |
verify_components | json | No | — | DAG step terminal state data |
finalize | json | No | — | DAG step terminal state data |
DAG Layers ​
| # | Layer | Steps | Compensation |
|---|---|---|---|
| 1 | ensure_prereqs | spad.drift-repair.gcp.ensure-cdn-fill-sa | spad.compensation.noop |
| 2 | ensure_independent | spad.drift-repair.gcp.ensure-gcs-bucket | spad.compensation.noop |
| 3 | ensure_cdn | spad.drift-repair.gcp.ensure-gcp-cdn | spad.compensation.noop |
| 4 | ensure_dependent | spad.drift-repair.gcp.ensure-gcp-dns, spad.drift-repair.gcp.ensure-origin-restriction | spad.compensation.noop |
| 5 | verify | spad.drift-repair.gcp.verify-components | spad.compensation.noop |
| 6 | finalize | spad.drift-repair.gcp.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-workflow | Step name |
|---|---|
spad.drift-repair.gcp.ensure-cdn-fill-sa | ensure_cdn_fill_sa |
spad.drift-repair.gcp.ensure-gcs-bucket | ensure_gcs_bucket |
spad.drift-repair.gcp.ensure-gcp-cdn | ensure_gcp_cdn |
spad.drift-repair.gcp.ensure-gcp-dns | ensure_gcp_dns |
spad.drift-repair.gcp.ensure-origin-restriction | ensure_origin_restriction |
spad.drift-repair.gcp.verify-components | verify_components |
spad.drift-repair.gcp.finalize | finalize |
spad.compensation.noop | ack_no_compensation_ensure_prereqs |
API Usage ​
bash
POST /api/workflows/start
Content-Type: application/json
{
"workflow_type": "spad.drift-repair.gcp",
"initial_data": {
"plan_uuid": "value",
"site_uuid": "value",
"organization_uuid": "value"
}
}