
Flowrs is a TUI application for [Apache Airflow](https://airflow.apache.org/). It allows you to monitor, inspect and manage Airflow DAGs from the comforts of your terminal. It is build with the [ratatui](https://ratatui.rs/) library.

## Installation
You can install `flowrs` via Homebrew if you're on macOS / Linux / WSL2:
```
brew tap jvanbuel/flowrs
brew install flowrs
```
or by downloading the binary directly from GitHub:
```bash
Alternatively, you can build `flowrs` from source with `cargo`:
```bash
cargo install flowrs-tui --locked
```
## Usage
### Managed Airflow services
The easiest way to user `flowrs` is with a managed Airflow service. The currently supported managed services are:
- [x] Conveyor
- [ ] Amazon Managed Workflows for Apache Airflow (MWAA)
- [ ] Google Cloud Composer
- [ ] Astronomer
To enable a managed service, run `flowrs config enable -m <service>`. This will add the configuration for the managed service to your configuration file, or prompt you for the necessary configuration details. On startup `flowrs` will then try to find and connect to all available managed service's Airflow instances.
### Custom Airflow instances
If you're self-hosting an Airflow instance, or your favorite managed service is not yet supported, you can register an Airflow server instance with the `flowrs config add` command:

This creates an entry in a `~/.flowrs` configuration file. If you have multiple Airflow servers configured, you can easily switch between them in `flowrs` configuration screen.
Only basic authentication and bearer token authentication are supported. When selecting the bearer token option, you can either provide a static token or a command that generates a token.