druid/web-console
Chi Cao Minh 05b44e3467 Speedup Travis CI jobs (#8240)
Reorganize Travis CI jobs into smaller faster (and more) jobs. Add
various maven options to skip unnecessary work and refactored Travis CI
job definitions to follow DRY.

Detailed changes:

.travis.yml
- Refactor build logic to get rid of copy-and-paste logic
- Skip static checks and enable parallelism for maven install
- Split static analysis into different jobs to ease triage
- Use "name" attribute instead of NAME environment variable
- Split "indexing" and "web console" out of "other modules test"
- Split 2 integration test jobs into multiple smaller jobs

build.sh
- Enable parallelism
- Disable more static checks

travis_script_integration.sh
travis_script_integration_part2.sh
integration-tests/README.md
- Use TestNG groups instead of shell scripts and move definition of jobs
  into Travis CI yaml

integration-tests/pom.xml
- Show elapsed time of individual tests to aid in future rebalancing of
  Travis CI integration test jobs run time

TestNGGroup.java
- Use TestNG groups to make it easy to have multiple Travis CI
  integration test jobs. TestNG groups also make it easier to have an
  "other" integration test group and make it less likely a test will
  accidentally not be included in a CI job.

IT*Test.java
AbstractITBatchIndexTest.java
AbstractKafkaIndexerTest.java
- Add TestNG group
- Fix various IntelliJ inspection warnings
- Reduce scope of helper methods since the TestNG group annotation on
  the class makes TestNG consider all public methods as test methods

pom.xml
- Allow enforce plugin to be run from command-line
- Bump resources plugin version so that "[debug] execute contextualize"
  output is correctly suppressed by "mvn -q"
- Bump exec plugin version so that skip property is renamed from "skip"
  to "exec.skip"

web-console/pom.xml
- Add property to allow disabling javascript-related work. This property
  is overridden in Travis CI to speed up the jobs.
2019-08-07 09:52:42 -07:00
..
assets Web console: add reindex (ingestSegment firehose) to the data loader (#8181) 2019-07-29 14:41:27 -07:00
lib Adding a Unified web console. (#6923) 2019-01-31 17:26:41 -08:00
old-console use unminified jquery to be more friendly for source releases, fix license stuff (#7751) 2019-05-24 11:53:25 -07:00
script Web console: refactor home view, add tests (#8247) 2019-08-06 12:41:07 -07:00
src Web-Console: Add show and copy actions to column tree (#8251) 2019-08-06 23:58:00 -07:00
.gitignore Web console: update dependencies (#8007) 2019-07-16 09:22:12 -07:00
.stylelintrc.json Add scss linter in web console (#7365) 2019-03-28 17:32:01 -07:00
README.md Web console: cleanup build, check licenses in test (#8113) 2019-07-19 22:59:07 -07:00
babel.config.js Web console: update dependencies (#8007) 2019-07-16 09:22:12 -07:00
console-config.js Adding ability to pass configs in and fixing misc bugs (#7414) 2019-04-05 12:40:43 -07:00
console.html use unminified jquery to be more friendly for source releases, fix license stuff (#7751) 2019-05-24 11:53:25 -07:00
favicon.png [ImgBot] Optimize images (#7873) 2019-06-24 21:27:48 -07:00
package-lock.json Web-Console: Add show and copy actions to column tree (#8251) 2019-08-06 23:58:00 -07:00
package.json Web-Console: Add show and copy actions to column tree (#8251) 2019-08-06 23:58:00 -07:00
pom.xml Speedup Travis CI jobs (#8240) 2019-08-07 09:52:42 -07:00
sasslint.json Web-console: add Supervisor statistics table and show json query manager (#8176) 2019-07-30 12:53:46 -07:00
tsconfig.json Web console: code quality improvements (null tidy up) (#8162) 2019-07-27 01:46:37 -07:00
tslint.json Web console: Improve data loader styling, enforce stricter TS types (#8001) 2019-06-30 19:33:16 -07:00
unified-console.html Web Console: add Group by interval to segments view (#7986) 2019-07-19 11:25:25 -07:00
webpack.config.js Web Console: add Group by interval to segments view (#7986) 2019-07-19 11:25:25 -07:00

README.md

Apache Druid web console

This is the unified Druid web console that servers as a data management layer for Druid.

How to watch and run for development

  1. You need to be withing the web-console directory
  2. Install the modules with npm install
  3. Run 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

Description of the directory structure

A lot of the directory structure was created to preserve the existing console structure as much as possible.

As part of this repo:

  • console.html - Entry file for the overlord console
  • lib/ - A place where some overrides to the react-table stylus files live, this is outside of the normal SCSS build system.
  • old-console/ - Files for the overlord console
  • public/ - The compiled destination of the file powering this console
  • assets/ - The images (and other assets) used within the console
  • script/ - Some helper bash scripts for running this console
  • src/ - This directory (together with lib) constitutes all the source code for this console

Generated/copied dynamically

  • index.html - Entry file for the coordinator console
  • pages/ - The files for the older coordinator console
  • coordinator-console/ - Files for the coordinator console

List of non SQL data reading APIs used

GET /status
GET /druid/indexer/v1/supervisor?full
POST /druid/indexer/v1/worker
GET /druid/indexer/v1/workers
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

Updating the list of license files

From the web-console directory run script/licenses