This is the unified Druid web console that servers as a data management layer for Druid.
web-console
directorynpm install
npm start
will start in development mode and will proxy druid requests to localhost:8888
Note: you can provide an environment variable to proxy to a different Druid host like so: druid_host=1.2.3.4:8888 npm start
Note: you can provide an environment variable use webpack-bundle-analyzer as a plugin in the build script or like so: BUNDLE_ANALYZER_PLUGIN='TRUE' npm start
To try the console in (say) coordinator mode you could run it as such:
druid_host=localhost:8081 npm start
A lot of the directory structure was created to preserve the existing console structure as much as possible.
As part of this repo:
assets/
- The images (and other assets) used within the consolee2e-tests/
- End-to-end tests for the consolelib/
- A place where some overrides to the react-table stylus files live, this is outside of the normal SCSS build system.public/
- The compiled destination of the file powering this consolescript/
- Some helper bash scripts for running this consolesrc/
- This directory (together with lib
) constitutes all the source code for this consoleGenerated/copied dynamically
index.html
- Entry file for the coordinator consolepages/
- The files for the older coordinator consolecoordinator-console/
- Files for the coordinator consoleGET /status GET /druid/indexer/v1/supervisor?full POST /druid/indexer/v1/worker GET /druid/indexer/v1/workers GET /druid/indexer/v1/tasks GET /druid/coordinator/v1/loadqueue?simple GET /druid/coordinator/v1/config GET /druid/coordinator/v1/metadata/datasources?includeUnused GET /druid/coordinator/v1/rules GET /druid/coordinator/v1/config/compaction GET /druid/coordinator/v1/tiers
From the web-console directory run script/licenses
From the web-console directory:
script/druid build
script/druid start
npm run test-e2e
script/druid stop
e2e-tests/util/debug.ts:saveScreenshotIfError()
is used to save a screenshot of the web console when the test fails. For example, if e2e-tests/tutotrial-batch.spec.ts
fails, it will create load-data-from-local-disk-error-screenshot.png
.
Disabling headless mode while running the tests can be helpful. One way of doing this is by using e2e-tests/util/playwright:createBrowserDebug()
. For example, the test can be modified to change
import { createBrowserNormal as createBrowser } from './util/playwright'
to
import { createBrowserDebug as createBrowser } from './util/playwright'`