martin-g commented on code in PR #2268: URL: https://github.com/apache/datafusion-ballista/pull/2268#discussion_r3757466310
########## README.md: ########## @@ -118,6 +118,16 @@ See the [architecture guide](docs/source/contributors-guide/architecture.md) for The easiest way to get started is to run one of the standalone or distributed [examples](./examples/README.md). After that, refer to the [Getting Started Guide](ballista/client/README.md). +## Web Terminal User Interface (Web TUI) + +Ballista provides a browser-based Web TUI for monitoring a running cluster. It exposes the TUI views for jobs, executors, metrics, and scheduler information directly in a web browser. + + + +When the scheduler HTTP endpoint is available, opening the scheduler address in a browser, for example `http://localhost:50050`, redirects to the hosted Web TUI. Review Comment: ```suggestion When the scheduler HTTP endpoint is available, opening the scheduler address in a browser, for example `http://localhost:50050`, redirects to a hosted Web TUI. ``` ########## docs/source/user-guide/cli.md: ########## @@ -328,3 +328,50 @@ BALLISTA__SCHEDULER__URL=http://localhost:50051 ballista-cli --tui Double underscores (`__`) are used to denote nesting in the configuration structure. In the above example, `BALLISTA__SCHEDULER__URL` overrides the `scheduler.url` setting in the YAML configuration. The TUI connects to the scheduler via HTTP and refreshes the data automatically every `data_reload_interval_ms` milliseconds. + +## Web Terminal User Interface (Web TUI) + +Ballista also provides a browser-based version of the TUI, compiled to WebAssembly, that allows cluster monitoring directly from a web browser. + +### Using the hosted Web TUI + +When the scheduler HTTP endpoint is available, open its root URL in a browser. For a scheduler using the default port: + +```text +http://localhost:50050 +``` + +The scheduler redirects the browser to the hosted Web TUI and passes the scheduler URL so that the Web TUI can connect to it. + +### Using the hosted Web TUI + +The Scheduler provides additional configuration options for the Web TUI redirect and CORS settings. See the [Scheduler documentation](./scheduler.md#web-tui-configuration) for details. + +### Running the Web TUI locally + +For local development, install the WebAssembly target and Trunk, then start the application from the `ballista-cli` directory: Review Comment: ```suggestion For local development, install the WebAssembly target and [Trunk](https://trunk-rs.github.io/trunk/), then start the application from the `ballista-cli` directory: ``` ########## docs/source/user-guide/scheduler.md: ########## @@ -35,3 +35,21 @@ The scheduler also provides a REST API that allows jobs to be monitored. | /api/job/{job_id}/config | GET | Get session configuration for a job. | | /api/job/{job_id}/stage/{stage_id}/dot | GET | Produces stage plan in DOT (graphviz) format | | /api/metrics | GET | Return current scheduler metric set | + +## Web TUI Configuration + +When the Scheduler is built with the `rest-api` feature, several command-line options control its integration with the Web TUI: + +| Option | Description | +| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | +| `--web-tui-route` | HTTP path that redirects to the hosted Web TUI. The default route is `/`. | +| `--cors-allowed-origins` | Comma-separated list of allowed CORS origins. By default, `http://localhost:8080` and `https://nightlies.apache.org` are allowed. | +| `--cors-allowed-methods` | Comma-separated list of allowed CORS methods. By default, `GET`, `PATCH`, and `OPTIONS` are allowed. | + +For example, to expose the Web TUI redirect at `/tui`: Review Comment: ```suggestion For example, to expose the Web TUI redirect at `http://localhost:50050/tui`: ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
