Skip to content

Latest commit

 

History

History
45 lines (34 loc) · 1.91 KB

README.md

File metadata and controls

45 lines (34 loc) · 1.91 KB

Rollout dashboard

This application:

  • collects information from Airflow to display in a nice easy-to-use screen,
  • provides a REST endpoint for other programs to retrieve the data it collects,
  • provides a client library for those programs to use the retrieved data.

In production, it is composed of two distinct pieces:

  1. A Rust-based backend that periodically collects information to assemble in the right format, and serves it to clients via REST API.
  2. A collection of compiled TypeScript and CSS files that form the Web client, which (when loaded by the browser) polls the backend and displays the data returned by the backend. This collection of files is also served by the backend.

Find the live dashboard in production here

Production information

To upgrade the dashboard in production, consult the relevant document.

The backend server must have the following environment variables set to the correct value (though sometimes the defaults are OK):

  1. AIRFLOW_URL set to the complete (with user and password) URL of the Airflow server to use.
  2. FRONTEND_STATIC_DIR set to the path that contains the built dist frontend assets.
  3. BACKEND_HOST set to the host and port you want to serve on (the default only listens on localhost, which is not good for production -- only for development).
  4. RUST_LOG set to info ideally to observe at least log messages of info level and above.
  5. MAX_ROLLOUTS optionally set to a nonzero positive integer to limit the number of rollouts (default 15).
  6. REFRESH_INTERVAL optionally set to a nonzero positive integer as the number of seconds to wait between queries to Airflow.

Development