diff --git a/.travis.yml b/.travis.yml index 2db39b3b4249..3a871a3dca7b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,6 +22,10 @@ sudo: false dist: trusty group: deprecated-2017Q4 +language: node_js +node_js: + - "10" + jdk: - oraclejdk8 diff --git a/indexing-service/src/main/resources/indexer_static/console.html b/indexing-service/src/main/resources/indexer_static/console.html deleted file mode 100644 index 860668716204..000000000000 --- a/indexing-service/src/main/resources/indexer_static/console.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - Druid Overlord Console - - - - - - - - - - - - - - - - -
-
Druid Overlord Console
- - -

Running Tasks

-
Loading Running Tasks... this may take a few minutes
-
- -

Pending Tasks - Tasks waiting to be assigned to a worker

-
Loading Pending Tasks... this may take a few minutes
-
- -

Waiting Tasks - Tasks waiting on locks

-
Loading Waiting Tasks... this may take a few minutes
-
- -

Complete Tasks - Tasks recently completed

-
Loading Complete Tasks... this may take a few minutes
-
- -

Remote Workers

-
Loading Workers... this may take a few minutes
-
- -

Autoscaling Activity

-
Loading Autoscaling Activities... this may take a few minutes
-
-
- - diff --git a/pom.xml b/pom.xml index 668ba3e17702..114eb59bb0e7 100644 --- a/pom.xml +++ b/pom.xml @@ -123,6 +123,7 @@ aws-common extendedset hll + web-console extensions-core/avro-extensions extensions-core/datasketches @@ -1279,6 +1280,15 @@ ${maven.compiler.target} + + com.github.eirslett + frontend-maven-plugin + 1.6 + + v10.13.0 + 6.4.1 + + diff --git a/server/pom.xml b/server/pom.xml index 501d336893cd..b28013b614df 100644 --- a/server/pom.xml +++ b/server/pom.xml @@ -43,9 +43,9 @@ ${project.parent.version} - io.druid + org.apache.druid druid-console - 0.0.4 + ${project.parent.version} org.apache.druid diff --git a/server/src/main/resources/static/old-console/images/favicon.ico b/server/src/main/resources/static/old-console/images/favicon.ico deleted file mode 100644 index 6c56f00b53ab..000000000000 Binary files a/server/src/main/resources/static/old-console/images/favicon.ico and /dev/null differ diff --git a/services/src/main/java/org/apache/druid/cli/CliOverlord.java b/services/src/main/java/org/apache/druid/cli/CliOverlord.java index 1cd3954936af..4a1c22a92a61 100644 --- a/services/src/main/java/org/apache/druid/cli/CliOverlord.java +++ b/services/src/main/java/org/apache/druid/cli/CliOverlord.java @@ -114,6 +114,7 @@ import org.eclipse.jetty.servlet.FilterHolder; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; +import org.eclipse.jetty.util.resource.Resource; import org.eclipse.jetty.util.resource.ResourceCollection; import java.util.List; @@ -130,6 +131,7 @@ public class CliOverlord extends ServerRunnable protected static List UNSECURED_PATHS = ImmutableList.of( "/", + "/favicon.png", "/console.html", "/old-console/*", "/images/*", @@ -353,17 +355,14 @@ public void initialize(Server server, Injector injector) final ServletContextHandler root = new ServletContextHandler(ServletContextHandler.SESSIONS); root.setInitParameter("org.eclipse.jetty.servlet.Default.dirAllowed", "false"); root.setInitParameter("org.eclipse.jetty.servlet.Default.redirectWelcome", "true"); - root.setWelcomeFiles(new String[]{"index.html", "console.html"}); + root.setWelcomeFiles(new String[]{"console.html"}); ServletHolder holderPwd = new ServletHolder("default", DefaultServlet.class); root.addServlet(holderPwd, "/"); root.setBaseResource( new ResourceCollection( - new String[]{ - TaskMaster.class.getClassLoader().getResource("static").toExternalForm(), - TaskMaster.class.getClassLoader().getResource("indexer_static").toExternalForm() - } + Resource.newClassPathResource("org/apache/druid/console") ) ); diff --git a/services/src/main/java/org/apache/druid/cli/CliRouter.java b/services/src/main/java/org/apache/druid/cli/CliRouter.java index 64b588736499..43ab8b15fcd6 100644 --- a/services/src/main/java/org/apache/druid/cli/CliRouter.java +++ b/services/src/main/java/org/apache/druid/cli/CliRouter.java @@ -98,9 +98,7 @@ public void configure(Binder binder) binder.bind(TieredBrokerHostSelector.class).in(ManageLifecycle.class); binder.bind(QueryHostFinder.class).in(LazySingleton.class); - binder.bind(new TypeLiteral>() - { - }) + binder.bind(new TypeLiteral>() {}) .toProvider(TieredBrokerSelectorStrategiesProvider.class) .in(LazySingleton.class); diff --git a/services/src/main/java/org/apache/druid/cli/CoordinatorJettyServerInitializer.java b/services/src/main/java/org/apache/druid/cli/CoordinatorJettyServerInitializer.java index 64deddd89cec..91064f523484 100644 --- a/services/src/main/java/org/apache/druid/cli/CoordinatorJettyServerInitializer.java +++ b/services/src/main/java/org/apache/druid/cli/CoordinatorJettyServerInitializer.java @@ -26,7 +26,6 @@ import com.google.inject.Key; import com.google.inject.servlet.GuiceFilter; import org.apache.druid.guice.annotations.Json; -import org.apache.druid.java.util.common.logger.Logger; import org.apache.druid.server.coordinator.DruidCoordinatorConfig; import org.apache.druid.server.http.OverlordProxyServlet; import org.apache.druid.server.http.RedirectFilter; @@ -45,7 +44,6 @@ import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; import org.eclipse.jetty.util.resource.Resource; -import org.eclipse.jetty.util.resource.ResourceCollection; import java.util.List; import java.util.Properties; @@ -55,12 +53,10 @@ class CoordinatorJettyServerInitializer implements JettyServerInitializer { private static List UNSECURED_PATHS = Lists.newArrayList( - "/favicon.ico", - "/css/*", - "/druid.js", - "/druid.css", + "/favicon.png", "/pages/*", - "/fonts/*", + "/coordinator-console/*", + "/index.html", "/old-console/*", "/coordinator/false", "/overlord/false", @@ -68,19 +64,15 @@ class CoordinatorJettyServerInitializer implements JettyServerInitializer "/druid/coordinator/v1/isLeader" ); - private static Logger log = new Logger(CoordinatorJettyServerInitializer.class); - private final DruidCoordinatorConfig config; private final boolean beOverlord; - private final AuthConfig authConfig; private final ServerConfig serverConfig; @Inject - CoordinatorJettyServerInitializer(DruidCoordinatorConfig config, Properties properties, AuthConfig authConfig, ServerConfig serverConfig) + CoordinatorJettyServerInitializer(DruidCoordinatorConfig config, Properties properties, ServerConfig serverConfig) { this.config = config; this.beOverlord = CliCoordinator.isOverlord(properties); - this.authConfig = authConfig; this.serverConfig = serverConfig; } @@ -89,25 +81,15 @@ public void initialize(Server server, Injector injector) { final ServletContextHandler root = new ServletContextHandler(ServletContextHandler.SESSIONS); root.setInitParameter("org.eclipse.jetty.servlet.Default.dirAllowed", "false"); + root.setInitParameter("org.eclipse.jetty.servlet.Default.redirectWelcome", "true"); + // index.html is the welcome file for old-console + root.setWelcomeFiles(new String[]{"index.html"}); ServletHolder holderPwd = new ServletHolder("default", DefaultServlet.class); root.addServlet(holderPwd, "/"); if (config.getConsoleStatic() == null) { - ResourceCollection staticResources; - if (beOverlord) { - staticResources = new ResourceCollection( - Resource.newClassPathResource("io/druid/console"), - Resource.newClassPathResource("static"), - Resource.newClassPathResource("indexer_static") - ); - } else { - staticResources = new ResourceCollection( - Resource.newClassPathResource("io/druid/console"), - Resource.newClassPathResource("static") - ); - } - root.setBaseResource(staticResources); + root.setBaseResource(Resource.newClassPathResource("org/apache/druid/console")); } else { // used for console development root.setResourceBase(config.getConsoleStatic()); diff --git a/services/src/main/java/org/apache/druid/cli/RouterJettyServerInitializer.java b/services/src/main/java/org/apache/druid/cli/RouterJettyServerInitializer.java index 42b4b98c6bd2..57b6cbbd2e78 100644 --- a/services/src/main/java/org/apache/druid/cli/RouterJettyServerInitializer.java +++ b/services/src/main/java/org/apache/druid/cli/RouterJettyServerInitializer.java @@ -20,6 +20,7 @@ package org.apache.druid.cli; import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import com.google.inject.Inject; import com.google.inject.Injector; @@ -46,6 +47,7 @@ import org.eclipse.jetty.servlet.DefaultServlet; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; +import org.eclipse.jetty.util.resource.Resource; import javax.servlet.Servlet; import java.util.List; @@ -60,6 +62,18 @@ public class RouterJettyServerInitializer implements JettyServerInitializer DruidAvaticaHandler.AVATICA_PATH ); + protected static List UNSECURED_PATHS_FOR_UI = ImmutableList.of( + "/", + "/coordinator-console/*", + "/public/*", + "/old-console/*", + "/pages/*", + "/unified-console.html", + "/favicon.png", + "/console.html", + "/index.html" + ); + private final DruidHttpClientConfig routerHttpClientConfig; private final DruidHttpClientConfig globalHttpClientConfig; private final ManagementProxyConfig managementProxyConfig; @@ -92,6 +106,10 @@ public RouterJettyServerInitializer( public void initialize(Server server, Injector injector) { final ServletContextHandler root = new ServletContextHandler(ServletContextHandler.SESSIONS); + root.setInitParameter("org.eclipse.jetty.servlet.Default.dirAllowed", "false"); + root.setInitParameter("org.eclipse.jetty.servlet.Default.redirectWelcome", "true"); + // index.html is the welcome file for old-console + root.setWelcomeFiles(new String[]{"unified-console.html", "index.html"}); root.addServlet(new ServletHolder(new DefaultServlet()), "/*"); @@ -107,6 +125,10 @@ public void initialize(Server server, Injector injector) root.addServlet(managementForwardingServletHolder, "/proxy/*"); } + if (managementProxyConfig.isEnabled()) { + root.setBaseResource(Resource.newClassPathResource("org/apache/druid/console")); + } + final ObjectMapper jsonMapper = injector.getInstance(Key.get(ObjectMapper.class, Json.class)); final AuthenticatorMapper authenticatorMapper = injector.getInstance(AuthenticatorMapper.class); @@ -114,6 +136,9 @@ public void initialize(Server server, Injector injector) // perform no-op authorization for these resources AuthenticationUtils.addNoopAuthorizationFilters(root, UNSECURED_PATHS); + if (managementProxyConfig.isEnabled()) { + AuthenticationUtils.addNoopAuthorizationFilters(root, UNSECURED_PATHS_FOR_UI); + } AuthenticationUtils.addNoopAuthorizationFilters(root, authConfig.getUnsecuredPaths()); final List authenticators = authenticatorMapper.getAuthenticatorChain(); diff --git a/web-console/.gitignore b/web-console/.gitignore new file mode 100644 index 000000000000..540af4c32577 --- /dev/null +++ b/web-console/.gitignore @@ -0,0 +1,13 @@ +node/ +node_modules/ +resources/ +public/ +lib/*.css + +coordinator-console/ +pages/ +index.html + +.tscache +tscommand-*.tmp.txt + diff --git a/web-console/README.md b/web-console/README.md new file mode 100644 index 000000000000..ad02c1034316 --- /dev/null +++ b/web-console/README.md @@ -0,0 +1,65 @@ + + +# 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 +- `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 +GET /druid/indexer/v1/workers +GET /druid/coordinator/v1/loadqueue?simple +GET /druid/coordinator/v1/config +GET /druid/coordinator/v1/metadata/datasources?includeDisabled +GET /druid/coordinator/v1/rules +GET /druid/coordinator/v1/config/compaction +GET /druid/coordinator/v1/tiers +``` diff --git a/web-console/console.html b/web-console/console.html new file mode 100644 index 000000000000..884e4ccef3ba --- /dev/null +++ b/web-console/console.html @@ -0,0 +1,72 @@ + + + + + + Druid Overlord Console + + + + + + + + + + + + + + + + +
+
Druid Overlord Console
+ + +

Running Tasks

+
Loading Running Tasks... this may take a few minutes
+
+ +

Pending Tasks - Tasks waiting to be assigned to a worker

+
Loading Pending Tasks... this may take a few minutes
+
+ +

Waiting Tasks - Tasks waiting on locks

+
Loading Waiting Tasks... this may take a few minutes
+
+ +

Complete Tasks - Tasks recently completed

+
Loading Complete Tasks... this may take a few minutes
+
+ +

MiddleManagers

+
Loading Workers... this may take a few minutes
+
+ +

Autoscaling Activity

+
Loading Autoscaling Activities... this may take a few minutes
+
+
+ + diff --git a/web-console/favicon.png b/web-console/favicon.png new file mode 100644 index 000000000000..caf8e68bc923 Binary files /dev/null and b/web-console/favicon.png differ diff --git a/web-console/jest.config.js b/web-console/jest.config.js new file mode 100644 index 000000000000..146560f82252 --- /dev/null +++ b/web-console/jest.config.js @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +module.exports = { + moduleFileExtensions: [ + "ts", + "tsx", + "js" + ], + transform: { + "\\.(ts|tsx)$": "/node_modules/ts-jest/preprocessor.js" + }, + moduleNameMapper: { + "\\.scss$": "identity-obj-proxy" + }, + testRegex: "(\\.|/)(test|spec)\\.(tsx|ts)?$" +}; diff --git a/web-console/lib/react-table.styl b/web-console/lib/react-table.styl new file mode 100644 index 000000000000..372dc03405ce --- /dev/null +++ b/web-console/lib/react-table.styl @@ -0,0 +1,341 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// This is a heavily modified version of the style file originally distributed here: +// https://github.com/react-tools/react-table/blob/master/src/index.styl +// Released originally under the MIT License https://github.com/react-tools/react-table/blob/master/LICENSE + +$easeOutQuad = cubic-bezier(0.250, 0.460, 0.450, 0.940) +$easeOutBack = cubic-bezier(0.175, 0.885, 0.320, 1.275) +$expandSize = 7px + +input-select-style() + border: 1px solid rgba(0,0,0,0.1) + background: white + padding: 5px 7px + font-size: inherit + border-radius: 3px + font-weight: normal + outline:none + +.ReactTable + position:relative + display: flex + flex-direction: column + border: 1px solid alpha(black, .1) + * + box-sizing: border-box + .rt-table + flex: auto 1 + display: flex + flex-direction: column + align-items: stretch + width: 100% + border-collapse: collapse + overflow: auto + + .rt-thead + flex: 1 0 auto + display: flex + flex-direction: column + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + &.-headerGroups + background: alpha(black, .03) + border-bottom: 1px solid alpha(black, .05) + + &.-filters + border-bottom: 1px solid alpha(black, 0.05) + + //input + //select + // input-select-style(); + + .rt-th + border-right: 1px solid alpha(black, 0.02) + + &.-header + box-shadow: 0 2px 15px 0px alpha(black, .15) + + .rt-tr + text-align: left + + .rt-th + .rt-td + padding: 5px 5px + line-height: normal + position: relative + border-right: 1px solid alpha(black, .05) + transition box-shadow .3s $easeOutBack + box-shadow:inset 0 0 0 0 transparent + &.-sort-asc + box-shadow:inset 0 3px 0 0 alpha(white, .6) + &.-sort-desc + box-shadow:inset 0 -3px 0 0 alpha(white, .6) + &.-cursor-pointer + cursor: pointer + &:last-child + border-right: 0 + + .rt-resizable-header + overflow: visible + &:last-child + overflow: hidden + + .rt-resizable-header-content + overflow: hidden + text-overflow: ellipsis + + .rt-header-pivot + border-right-color: #f7f7f7 + + .rt-header-pivot:after, .rt-header-pivot:before + left: 100% + top: 50% + border: solid transparent + content: " " + height: 0 + width: 0 + position: absolute + pointer-events: none + + .rt-header-pivot:after + border-color: rgba(255, 255, 255, 0) + border-left-color: #FFF + border-width: 8px + margin-top: -8px + + .rt-header-pivot:before + border-color: rgba(102, 102, 102, 0) + border-left-color: #f7f7f7 + border-width: 10px + margin-top: -10px + + .rt-tbody + flex: 99999 1 auto + display: flex + flex-direction: column + overflow: auto + // z-index:0 + .rt-tr-group + border-bottom: solid 1px alpha(black, .05) + &:last-child + border-bottom: 0 + .rt-td + border-right:1px solid alpha(black, .02) + &:last-child + border-right:0 + .rt-expandable + cursor: pointer + text-overflow: clip + .rt-tr-group + flex: 1 0 auto + display: flex + flex-direction: column + align-items: stretch + .rt-tr + flex: 1 0 auto + display: inline-flex + .rt-th + .rt-td + flex: 1 0 0px + white-space: nowrap + text-overflow: ellipsis + padding: 7px 5px + overflow: hidden + transition: .3s ease + transition-property: width, min-width, padding, opacity + + &.-hidden + width: 0 !important + min-width: 0 !important + padding: 0 !important + border:0 !important + opacity: 0 !important + + .rt-expander + display: inline-block + position:relative + margin: 0 + color: transparent + margin: 0 10px + &:after + content: '' + position: absolute + width: 0 + height: 0 + top:50% + left:50% + transform: translate(-50%, -50%) rotate(-90deg) + border-left: ($expandSize * .72) solid transparent + border-right: ($expandSize * .72) solid transparent + border-top: $expandSize solid alpha(white, .8) + transition: all .3s $easeOutBack + cursor: pointer + &.-open:after + transform: translate(-50%, -50%) rotate(0deg) + + .rt-resizer + display: inline-block + position: absolute + width: 36px + top: 0 + bottom: 0 + right: -18px + cursor: col-resize + z-index: 10 + + .rt-tfoot + flex: 1 0 auto + display: flex + flex-direction: column + box-shadow: 0 0px 15px 0px alpha(black, .15) + + .rt-td + border-right:1px solid alpha(black, .05) + &:last-child + border-right:0 + + &.-striped + .rt-tr.-odd + background: alpha(white, .03) + &.-highlight + .rt-tbody + .rt-tr:not(.-padRow):hover + background: alpha(black, .05) + + .-pagination + z-index: 1 + display:flex + justify-content: space-between + align-items: stretch + flex-wrap: wrap + padding: 3px + box-shadow: 0 0px 15px 0px alpha(black, .1) + border-top: 2px solid alpha(black, .1) + + input + select + input-select-style() + + .-btn + appearance:none + display:block + width:100% + height:100% + border: 0 + border-radius: 3px + padding: 6px + font-size: 1em + color: alpha(black, .6) + background: alpha(black, .1) + transition: all .1s ease + cursor: pointer + outline:none + + &[disabled] + opacity: .5 + cursor: default + + &:not([disabled]):hover + background: alpha(black, .3) + color: white + + .-previous + .-next + flex: 1 + text-align: center + + .-center + flex: 1.5 + text-align:center + margin-bottom:0 + display: flex + flex-direction: row + flex-wrap: wrap + align-items: center + justify-content: space-around + + .-pageInfo + display: inline-block + margin: 3px 10px + white-space: nowrap + + .-pageJump + display:inline-block + input + width: 70px + text-align:center + + .-pageSizeOptions + margin: 3px 10px + + .rt-noData + display:block + position:absolute + left:50% + top:40% + transform: translate(-50%, -50%) + background: alpha(black, .4) + transition: all .3s ease + z-index: 1 + padding: 20px + color: alpha(white, .5) + border-radius: 5px + + .-loading + display:block + position:absolute + left:0 + right:0 + top:0 + bottom:0 + background: alpha(#4c4c4c, .8) + transition: all .3s ease + z-index: -1 + opacity: 0 + pointer-events: none + + > div + position:absolute + display: block + text-align:center + width:100% + top:50% + left: 0 + font-size: 15px + color: alpha(black, .6) + transform: translateY(-52%) + transition: all .3s $easeOutQuad + + &.-active + opacity: 1 + z-index: 2 + pointer-events: all + > div + transform: translateY(50%) + + .rt-resizing + .rt-th + .rt-td + transition: none!important + cursor: col-resize + user-select none diff --git a/server/src/main/resources/static/old-console/cluster.html b/web-console/old-console/cluster.html similarity index 97% rename from server/src/main/resources/static/old-console/cluster.html rename to web-console/old-console/cluster.html index 42e1446b4604..89b829631f31 100644 --- a/server/src/main/resources/static/old-console/cluster.html +++ b/web-console/old-console/cluster.html @@ -21,7 +21,7 @@ Druid Coordinator Console - + diff --git a/server/src/main/resources/static/old-console/config.html b/web-console/old-console/config.html similarity index 96% rename from server/src/main/resources/static/old-console/config.html rename to web-console/old-console/config.html index 0687c8d4f0f9..4e76245be0cc 100644 --- a/server/src/main/resources/static/old-console/config.html +++ b/web-console/old-console/config.html @@ -21,7 +21,7 @@ Druid Coordinator Console - Rule Configuration - + diff --git a/server/src/main/resources/static/old-console/css/config.css b/web-console/old-console/css/config.css similarity index 100% rename from server/src/main/resources/static/old-console/css/config.css rename to web-console/old-console/css/config.css diff --git a/server/src/main/resources/static/old-console/css/demo_table.css b/web-console/old-console/css/demo_table.css similarity index 100% rename from server/src/main/resources/static/old-console/css/demo_table.css rename to web-console/old-console/css/demo_table.css diff --git a/server/src/main/resources/static/old-console/css/enable.css b/web-console/old-console/css/enable.css similarity index 100% rename from server/src/main/resources/static/old-console/css/enable.css rename to web-console/old-console/css/enable.css diff --git a/server/src/main/resources/static/old-console/css/images/ui-bg_flat_0_aaaaaa_40x100.png b/web-console/old-console/css/images/ui-bg_flat_0_aaaaaa_40x100.png similarity index 100% rename from server/src/main/resources/static/old-console/css/images/ui-bg_flat_0_aaaaaa_40x100.png rename to web-console/old-console/css/images/ui-bg_flat_0_aaaaaa_40x100.png diff --git a/server/src/main/resources/static/old-console/css/images/ui-bg_flat_75_ffffff_40x100.png b/web-console/old-console/css/images/ui-bg_flat_75_ffffff_40x100.png similarity index 100% rename from server/src/main/resources/static/old-console/css/images/ui-bg_flat_75_ffffff_40x100.png rename to web-console/old-console/css/images/ui-bg_flat_75_ffffff_40x100.png diff --git a/server/src/main/resources/static/old-console/css/images/ui-bg_glass_55_fbf9ee_1x400.png b/web-console/old-console/css/images/ui-bg_glass_55_fbf9ee_1x400.png similarity index 100% rename from server/src/main/resources/static/old-console/css/images/ui-bg_glass_55_fbf9ee_1x400.png rename to web-console/old-console/css/images/ui-bg_glass_55_fbf9ee_1x400.png diff --git a/server/src/main/resources/static/old-console/css/images/ui-bg_glass_65_ffffff_1x400.png b/web-console/old-console/css/images/ui-bg_glass_65_ffffff_1x400.png similarity index 100% rename from server/src/main/resources/static/old-console/css/images/ui-bg_glass_65_ffffff_1x400.png rename to web-console/old-console/css/images/ui-bg_glass_65_ffffff_1x400.png diff --git a/server/src/main/resources/static/old-console/css/images/ui-bg_glass_75_dadada_1x400.png b/web-console/old-console/css/images/ui-bg_glass_75_dadada_1x400.png similarity index 100% rename from server/src/main/resources/static/old-console/css/images/ui-bg_glass_75_dadada_1x400.png rename to web-console/old-console/css/images/ui-bg_glass_75_dadada_1x400.png diff --git a/server/src/main/resources/static/old-console/css/images/ui-bg_glass_75_e6e6e6_1x400.png b/web-console/old-console/css/images/ui-bg_glass_75_e6e6e6_1x400.png similarity index 100% rename from server/src/main/resources/static/old-console/css/images/ui-bg_glass_75_e6e6e6_1x400.png rename to web-console/old-console/css/images/ui-bg_glass_75_e6e6e6_1x400.png diff --git a/server/src/main/resources/static/old-console/css/images/ui-bg_glass_95_fef1ec_1x400.png b/web-console/old-console/css/images/ui-bg_glass_95_fef1ec_1x400.png similarity index 100% rename from server/src/main/resources/static/old-console/css/images/ui-bg_glass_95_fef1ec_1x400.png rename to web-console/old-console/css/images/ui-bg_glass_95_fef1ec_1x400.png diff --git a/server/src/main/resources/static/old-console/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/web-console/old-console/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png similarity index 100% rename from server/src/main/resources/static/old-console/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png rename to web-console/old-console/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png diff --git a/server/src/main/resources/static/old-console/css/images/ui-icons_222222_256x240.png b/web-console/old-console/css/images/ui-icons_222222_256x240.png similarity index 100% rename from server/src/main/resources/static/old-console/css/images/ui-icons_222222_256x240.png rename to web-console/old-console/css/images/ui-icons_222222_256x240.png diff --git a/server/src/main/resources/static/old-console/css/images/ui-icons_2e83ff_256x240.png b/web-console/old-console/css/images/ui-icons_2e83ff_256x240.png similarity index 100% rename from server/src/main/resources/static/old-console/css/images/ui-icons_2e83ff_256x240.png rename to web-console/old-console/css/images/ui-icons_2e83ff_256x240.png diff --git a/server/src/main/resources/static/old-console/css/images/ui-icons_454545_256x240.png b/web-console/old-console/css/images/ui-icons_454545_256x240.png similarity index 100% rename from server/src/main/resources/static/old-console/css/images/ui-icons_454545_256x240.png rename to web-console/old-console/css/images/ui-icons_454545_256x240.png diff --git a/server/src/main/resources/static/old-console/css/images/ui-icons_888888_256x240.png b/web-console/old-console/css/images/ui-icons_888888_256x240.png similarity index 100% rename from server/src/main/resources/static/old-console/css/images/ui-icons_888888_256x240.png rename to web-console/old-console/css/images/ui-icons_888888_256x240.png diff --git a/server/src/main/resources/static/old-console/css/images/ui-icons_cd0a0a_256x240.png b/web-console/old-console/css/images/ui-icons_cd0a0a_256x240.png similarity index 100% rename from server/src/main/resources/static/old-console/css/images/ui-icons_cd0a0a_256x240.png rename to web-console/old-console/css/images/ui-icons_cd0a0a_256x240.png diff --git a/server/src/main/resources/static/old-console/css/index.css b/web-console/old-console/css/index.css similarity index 100% rename from server/src/main/resources/static/old-console/css/index.css rename to web-console/old-console/css/index.css diff --git a/server/src/main/resources/static/old-console/css/jquery-ui-1.9.2.css b/web-console/old-console/css/jquery-ui-1.9.2.css similarity index 100% rename from server/src/main/resources/static/old-console/css/jquery-ui-1.9.2.css rename to web-console/old-console/css/jquery-ui-1.9.2.css diff --git a/server/src/main/resources/static/old-console/css/rules.css b/web-console/old-console/css/rules.css similarity index 100% rename from server/src/main/resources/static/old-console/css/rules.css rename to web-console/old-console/css/rules.css diff --git a/server/src/main/resources/static/old-console/css/style.css b/web-console/old-console/css/style.css similarity index 100% rename from server/src/main/resources/static/old-console/css/style.css rename to web-console/old-console/css/style.css diff --git a/server/src/main/resources/static/old-console/enable.html b/web-console/old-console/enable.html similarity index 97% rename from server/src/main/resources/static/old-console/enable.html rename to web-console/old-console/enable.html index 139ba4a83fa0..eb10b8412b67 100644 --- a/server/src/main/resources/static/old-console/enable.html +++ b/web-console/old-console/enable.html @@ -21,7 +21,7 @@ Druid Coordinator Console - Enable/Disable Datasources - + diff --git a/server/src/main/resources/static/old-console/images/back_disabled.jpg b/web-console/old-console/images/back_disabled.jpg similarity index 100% rename from server/src/main/resources/static/old-console/images/back_disabled.jpg rename to web-console/old-console/images/back_disabled.jpg diff --git a/server/src/main/resources/static/old-console/images/back_enabled.jpg b/web-console/old-console/images/back_enabled.jpg similarity index 100% rename from server/src/main/resources/static/old-console/images/back_enabled.jpg rename to web-console/old-console/images/back_enabled.jpg diff --git a/server/src/main/resources/static/old-console/images/forward_disabled.jpg b/web-console/old-console/images/forward_disabled.jpg similarity index 100% rename from server/src/main/resources/static/old-console/images/forward_disabled.jpg rename to web-console/old-console/images/forward_disabled.jpg diff --git a/server/src/main/resources/static/old-console/images/forward_enabled.jpg b/web-console/old-console/images/forward_enabled.jpg similarity index 100% rename from server/src/main/resources/static/old-console/images/forward_enabled.jpg rename to web-console/old-console/images/forward_enabled.jpg diff --git a/server/src/main/resources/static/old-console/images/sort_asc.png b/web-console/old-console/images/sort_asc.png similarity index 100% rename from server/src/main/resources/static/old-console/images/sort_asc.png rename to web-console/old-console/images/sort_asc.png diff --git a/server/src/main/resources/static/old-console/images/sort_asc_disabled.png b/web-console/old-console/images/sort_asc_disabled.png similarity index 100% rename from server/src/main/resources/static/old-console/images/sort_asc_disabled.png rename to web-console/old-console/images/sort_asc_disabled.png diff --git a/server/src/main/resources/static/old-console/images/sort_both.png b/web-console/old-console/images/sort_both.png similarity index 100% rename from server/src/main/resources/static/old-console/images/sort_both.png rename to web-console/old-console/images/sort_both.png diff --git a/server/src/main/resources/static/old-console/images/sort_desc.png b/web-console/old-console/images/sort_desc.png similarity index 100% rename from server/src/main/resources/static/old-console/images/sort_desc.png rename to web-console/old-console/images/sort_desc.png diff --git a/server/src/main/resources/static/old-console/images/sort_desc_disabled.png b/web-console/old-console/images/sort_desc_disabled.png similarity index 100% rename from server/src/main/resources/static/old-console/images/sort_desc_disabled.png rename to web-console/old-console/images/sort_desc_disabled.png diff --git a/server/src/main/resources/static/old-console/index.html b/web-console/old-console/index.html similarity index 95% rename from server/src/main/resources/static/old-console/index.html rename to web-console/old-console/index.html index 738d404e79e5..2b9a8fe79b1f 100644 --- a/server/src/main/resources/static/old-console/index.html +++ b/web-console/old-console/index.html @@ -22,7 +22,7 @@ Druid Coordinator Console - + diff --git a/server/src/main/resources/static/old-console/js/config-0.0.2.js b/web-console/old-console/js/config-0.0.2.js similarity index 100% rename from server/src/main/resources/static/old-console/js/config-0.0.2.js rename to web-console/old-console/js/config-0.0.2.js diff --git a/indexing-service/src/main/resources/indexer_static/js/console-0.0.1.js b/web-console/old-console/js/console-0.0.1.js similarity index 91% rename from indexing-service/src/main/resources/indexer_static/js/console-0.0.1.js rename to web-console/old-console/js/console-0.0.1.js index db64b4f920b2..31a0aec97928 100644 --- a/indexing-service/src/main/resources/indexer_static/js/console-0.0.1.js +++ b/web-console/old-console/js/console-0.0.1.js @@ -45,8 +45,8 @@ var suspendSupervisor = function(supervisorId) { setTimeout(function() { location.reload(true) }, 750); }).fail(function(data) { var errMsg = data && data.responseJSON && data.responseJSON.error ? - data.responseJSON.error : - 'suspend request failed, please check overlord logs for details.'; + data.responseJSON.error : + 'suspend request failed, please check overlord logs for details.'; alert(errMsg); }) } @@ -63,8 +63,8 @@ var resumeSupervisor = function(supervisorId) { setTimeout(function() { location.reload(true) }, 750); }).fail(function(data) { var errMsg = data && data.responseJSON && data.responseJSON.error ? - data.responseJSON.error : - 'resume request failed, please check overlord logs for details.'; + data.responseJSON.error : + 'resume request failed, please check overlord logs for details.'; alert(errMsg); }) } @@ -120,8 +120,8 @@ $(document).ready(function() { var supervisorId = encodeURIComponent(dataList[i].id) var supervisorSpec = dataList[i].spec; var statusText = supervisorSpec && supervisorSpec.suspended ? - 'suspended' : - 'running'; + 'suspended' : + 'running'; data[i] = { "dataSource" : dataList[i].id, "more" : @@ -129,8 +129,8 @@ $(document).ready(function() { 'status' + 'history' + (supervisorSpec.suspended ? - 'resume' : - 'suspend' + 'resume' : + 'suspend' ) + 'reset' + 'terminate', diff --git a/server/src/main/resources/static/old-console/js/druidTable-0.0.1.js b/web-console/old-console/js/druidTable-0.0.1.js similarity index 100% rename from server/src/main/resources/static/old-console/js/druidTable-0.0.1.js rename to web-console/old-console/js/druidTable-0.0.1.js diff --git a/server/src/main/resources/static/old-console/js/enable-0.0.1.js b/web-console/old-console/js/enable-0.0.1.js similarity index 100% rename from server/src/main/resources/static/old-console/js/enable-0.0.1.js rename to web-console/old-console/js/enable-0.0.1.js diff --git a/server/src/main/resources/static/old-console/js/handlers-0.0.2.js b/web-console/old-console/js/handlers-0.0.2.js similarity index 100% rename from server/src/main/resources/static/old-console/js/handlers-0.0.2.js rename to web-console/old-console/js/handlers-0.0.2.js diff --git a/server/src/main/resources/static/old-console/js/init-0.0.2.js b/web-console/old-console/js/init-0.0.2.js similarity index 100% rename from server/src/main/resources/static/old-console/js/init-0.0.2.js rename to web-console/old-console/js/init-0.0.2.js diff --git a/server/src/main/resources/static/old-console/js/jquery-1.11.0.min.js b/web-console/old-console/js/jquery-1.11.0.min.js similarity index 100% rename from server/src/main/resources/static/old-console/js/jquery-1.11.0.min.js rename to web-console/old-console/js/jquery-1.11.0.min.js diff --git a/server/src/main/resources/static/old-console/js/jquery-ui-1.9.2.js b/web-console/old-console/js/jquery-ui-1.9.2.js similarity index 100% rename from server/src/main/resources/static/old-console/js/jquery-ui-1.9.2.js rename to web-console/old-console/js/jquery-ui-1.9.2.js diff --git a/server/src/main/resources/static/old-console/js/jquery.dataTables-1.8.2.js b/web-console/old-console/js/jquery.dataTables-1.8.2.js similarity index 100% rename from server/src/main/resources/static/old-console/js/jquery.dataTables-1.8.2.js rename to web-console/old-console/js/jquery.dataTables-1.8.2.js diff --git a/server/src/main/resources/static/old-console/js/kill-0.0.1.js b/web-console/old-console/js/kill-0.0.1.js similarity index 100% rename from server/src/main/resources/static/old-console/js/kill-0.0.1.js rename to web-console/old-console/js/kill-0.0.1.js diff --git a/server/src/main/resources/static/old-console/js/rules-0.0.2.js b/web-console/old-console/js/rules-0.0.2.js similarity index 100% rename from server/src/main/resources/static/old-console/js/rules-0.0.2.js rename to web-console/old-console/js/rules-0.0.2.js diff --git a/server/src/main/resources/static/old-console/js/tablehelper-0.0.2.js b/web-console/old-console/js/tablehelper-0.0.2.js similarity index 100% rename from server/src/main/resources/static/old-console/js/tablehelper-0.0.2.js rename to web-console/old-console/js/tablehelper-0.0.2.js diff --git a/server/src/main/resources/static/old-console/js/underscore-1.2.2.js b/web-console/old-console/js/underscore-1.2.2.js similarity index 100% rename from server/src/main/resources/static/old-console/js/underscore-1.2.2.js rename to web-console/old-console/js/underscore-1.2.2.js diff --git a/server/src/main/resources/static/old-console/kill.html b/web-console/old-console/kill.html similarity index 96% rename from server/src/main/resources/static/old-console/kill.html rename to web-console/old-console/kill.html index 12ebc2f25719..f78f14b95057 100644 --- a/server/src/main/resources/static/old-console/kill.html +++ b/web-console/old-console/kill.html @@ -21,7 +21,7 @@ Druid Coordinator Console - Enable/Disable Datasources - + diff --git a/server/src/main/resources/static/old-console/rules.html b/web-console/old-console/rules.html similarity index 97% rename from server/src/main/resources/static/old-console/rules.html rename to web-console/old-console/rules.html index ec3ae7940816..a671fe6d8592 100644 --- a/server/src/main/resources/static/old-console/rules.html +++ b/web-console/old-console/rules.html @@ -21,7 +21,7 @@ Druid Coordinator Console - Rule Configuration - + diff --git a/server/src/main/resources/static/old-console/view.html b/web-console/old-console/view.html similarity index 95% rename from server/src/main/resources/static/old-console/view.html rename to web-console/old-console/view.html index 621eb609115f..b3839034c6b2 100644 --- a/server/src/main/resources/static/old-console/view.html +++ b/web-console/old-console/view.html @@ -21,14 +21,14 @@ Druid Coordinator Console - + - + @@ -41,7 +41,7 @@
Select View
- Full Cluster View or + Full Cluster View or