Apache Airflow logo

Backstage Apache Airflow Plugin

See Apache Airflow DAGs in Backstage

Created by Spotify

Getting started is simple

Don't want to spend your time installing and upgrading Backstage plugins? Get managed Backstage from 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.

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.