
Backstage Apache Airflow Plugin
See Apache Airflow DAGs in Backstage
Created by Spotify
Get SaaS Backstage
Don't want to spend your time installing and upgrading Backstage plugins? Get managed Backstage from Roadie.
Self-hosted Backstage 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.