Skip to main content

Getting Started with DriftWise

DriftWise is an AI-powered Terraform plan analyzer that provides risk-scored, plain-English summaries of your infrastructure changes.

Quick Start

Add a step to your Atlantis workflow that converts the plan to JSON and sends it to DriftWise. The analyze endpoint enqueues the job and returns 202 immediately — poll GET /llm-jobs/{job_id} until status is done:

atlantis.yaml
workflows:
default:
plan:
steps:
- init
- plan
- run: |
terraform show -json $PLANFILE > /tmp/dw-plan.json
JOB_ID=$(curl -sfX POST https://api.driftwise.ai/api/v2/orgs/$ORG_ID/analyze \
-H "x-api-key: $DRIFTWISE_API_KEY" \
-H "Content-Type: application/json" \
-d "{\"plan_json\": $(cat /tmp/dw-plan.json | jq -Rs .)}" | jq -r '.job_id')

for i in $(seq 1 36); do
BODY=$(curl -sf https://api.driftwise.ai/api/v2/orgs/$ORG_ID/llm-jobs/$JOB_ID \
-H "x-api-key: $DRIFTWISE_API_KEY")
STATUS=$(echo "$BODY" | jq -r '.status')
if [ "$STATUS" = "done" ]; then echo "$BODY" | jq -r '.result.narrative'; break; fi
if [ "$STATUS" = "error" ]; then echo "analysis failed" >&2; exit 1; fi
sleep 5
done

DriftWise enqueues the analysis and returns a job handle; the poll loop prints the finished narrative, which Atlantis echoes as plan output. See the Atlantis guide for the full recipe with timeout handling.

What You Get

  • Risk scoring — Every change classified as None, Low, Medium, High, or Critical
  • Plain-English narratives — No more deciphering raw plan diffs
  • Callouts — Dangerous patterns (public ingress, IAM wildcards, stateful resource replacement) flagged automatically

Platform LLM quota & BYOK

Every plan gets platform-LLM analyses (see Plans & Billing):

  • Free: 5 per ISO-week. Configure BYOK for unlimited.
  • Team: unlimited with a 20/hour rate limit. Configure BYOK for unlimited.
  • Enterprise: unlimited with a contract-negotiated rate limit.

If you hit a platform limit you get a 402 plan_weekly_quota_exhausted or 429 plan_hourly_rate_limit with a pointer to the BYOK config endpoint — the fastest way to unblock is to configure BYOK, which bypasses both platform gates. See LLM Providers for the PUT flow.

Next Steps