Skip to main content

Overview

Ask OpenSRE about a failing DAG and it queries your Airflow REST API for the failing DAG run, task instances, and logs — then correlates that evidence with metrics and logs from your other integrations. It supports:
  • DAG run inspection
  • Task instance retrieval
  • Failure detection

Prerequisites

  • A reachable Airflow REST API (Airflow 2.x /api/v1)
  • Network access from the OpenSRE environment
  • Auth: token (AIRFLOW_AUTH_TOKEN) or basic auth (AIRFLOW_USERNAME / AIRFLOW_PASSWORD)

Setup

There is no dedicated opensre integrations setup airflow wizard today. Configure via environment variables or the persistent store.

Option 1: Environment variables

Option 2: Persistent store

Local smoke setup

Start Airflow locally:
Create a failing DAG:
Trigger the DAG:
Then ask the agent about the failure:
Ask: Why did the test_fail_dag DAG fail?

Credentials

Provide either AIRFLOW_AUTH_TOKEN or AIRFLOW_USERNAME + AIRFLOW_PASSWORD. Prefer a dedicated read-only Airflow user.

Tools

These tools use the Airflow REST API via integrations/airflow. Tool selection is LLM-driven; there is no hard-coded Airflow bypass. Related (Tracer, not Airflow API): get_airflow_metrics pulls orchestration metrics from Tracer when a trace_id is available. See integration configuration for connection guidance.

Behavior notes

  • Per-run failures are isolated — one failing request does not break the loop
  • Network/API errors are handled defensively; partial evidence is preserved when possible

Verify

There is no dedicated opensre integrations verify airflow target today. Confirm auth by asking the agent about a DAG, or by calling the Airflow API (GET /dags) from the same environment.

Troubleshooting

Limitations

  • Requires a reachable Airflow instance
  • No CI-backed Airflow instance by default (local validation required)
  • No setup/verify CLI wiring yet

Security

  • Prefer a dedicated read-only Airflow account over admin credentials
  • Enable TLS verification in production (AIRFLOW_VERIFY_SSL=true)
  • Store tokens/passwords in .env or the integration store — not in source control