Apache Airflow logo

Backstage Apache Airflow Plugin

See Apache Airflow DAGs in Backstage

Created by Spotify

Available on Roadie

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.

Don't want to spend your time installing and manually upgrading each Backstage plugin?

Become a Backstage expert

To get the latest news, deep dives into Backstage features, and a roundup of recent open-source action, sign up for Roadie's Backstage Weekly. See recent editions.

We will never sell or share your email address.