tree: b321fcb3f3ffad355f85e212ffba2cbfb2398100 [path history] [tgz]
  1. docs/
  2. src/
  3. test/
  4. .env.example
  5. .eslintrc.js
  6. .gitignore
  7. .neutrinorc.js
  8. jest.config.js
  9. package.json
  10. README.md
  11. tsconfig.json
  12. webpack.config.js
  13. yarn.lock
airflow/ui/README.md

Airflow UI

Warning This is the work-in-progress UI for AIP-38. The current UI can be found in www.

Built with:

  • React - a JavaScript library for building user interfaces
  • TypeScript - extends JavaScript by adding types.
  • Neutrino - lets you build web and Node.js applications with shared presets or configurations.
  • Chakra UI - a simple, modular and accessible component library that gives you all the building blocks you need to build your React applications.
  • React Testing Library - write tests that focus on functionality instead of implementation
  • React Query - powerful async data handler. all API calls go through this

Environment variables

To communicate with the API you need to adjust some environment variables for the webserver and this UI.

Be sure to allow CORS headers and set up an auth backend on your Airflow instance.

export AIRFLOW__API__AUTH_BACKENDS=airflow.api.auth.backend.basic_auth
export AIRFLOW__API__ACCESS_CONTROL_ALLOW_HEADERS=*
export AIRFLOW__API__ACCESS_CONTROL_ALLOW_METHODS=*
export AIRFLOW__API__ACCESS_CONTROL_ALLOW_ORIGIN=http://127.0.0.1:28080

Create your local environment and adjust the WEBSERVER_URL if needed.

cp .env.example .env

Installation

Clone the repository and use the package manager yarn to install dependencies and get the project running.

yarn install
yarn start

Other useful commands include:

yarn lint
yarn test

Contributing

Be sure to check out our contribution guide