Apache Airflow logo

Backstage Apache Airflow Plugin

See Apache Airflow DAGs in Backstage

Created by Spotify

Available on Roadie

Set up Backstage in minutes with Roadie

Installation steps

Install the plugin

yarn add @backstage/plugin-apache-airflow

Import it into your Backstage application

// packages/app/src/App.tsx
import { ApacheAirflowPage } from '@backstage/plugin-apache-airflow';

Add the plugin page as a route

// packages/app/src/App.tsx
    ...
    <Route path="/settings" element={<UserSettingsPage />} />
+    <Route path="/apache-airflow" element={<ApacheAirflowPage />} />
</FlatRoutes>

Or, if you want, embed the DAGs into an existing page

import { ApacheAirflowDagTable } from '@backstage/plugin-apache-airflow';

export function SomeEntityPage(): JSX.Element {
return (
    <Grid item md={6} xs={12}>
    <ApacheAirflowDagTable
        dagIds={[
        'example_bash_operator',
        'example_branch_datetime_operator_2',
        'example_branch_labels',
        ]}
    />
    </Grid>
);
}

Add proxy configuration

# app-config.yaml
proxy:
  '/airflow':
      target: https://your.airflow.instance.com/api/v1
      headers:
          Authorization: Basic ${APACHE_AIRFLOW_BASIC_AUTH_TOKEN}

Get and provide a APACHE_AIRFLOW_BASIC_AUTH_TOKEN as an environment variable. Where the basic authorization token is the base64 encoding of the username and password of your instance.

echo -n "airflow:airflow" | base64 -w0

Found a mistake? Update these instructions.

Set up Backstage in minutes with Roadie