# Future Work The present version establishes the new IT framework. Work completed to date includes: * Restructure the Docker images to use the Druid produced from the Maven build. Use "official" images for dependencies. * Restructure the Docker compose files. * Create the cluster configuration mechanisms. * Convert one "test group" to a sub-module: "high-availability". * Create the `pom.xml`, scripts and other knick-knacks needed to tie everything together. * Create the initial test without using security settings to aid debugging. However, *much* work remains: * Convert remaining tests. * Decide when we need full security. Convert the many certificate setup scripts. * Support cluster types other than Docker. ## Open Tasks The following detail items are open: * Disable a test if the `disabled` type is set in the test configuration file. Apply it to disable the HA tests for all but Docker. * Handle missing config files: generate a "dummy" that is disabled. * When launching a container build or test run from Maven, write environment variables to a `target/env.sh` file so that the user doesn't have to find them manually to run the helper scripts. * There is some redundancy in each test group project. Figure out solutions: * The `cluster.sh` script * Boilerplate in the `pom.xml` file. * Move test data from `/resources` to `/shared/data`. Build up the data directory from multiple sources during cluster launch. * Sort out which data and spec files are actually used. Remove those which are not used. Sort the files by test-specific and shared across tests by moving them into different directories. ## Later Tasks The "public" and "integration test" versions of the Docker images have diverged significantly, which makes it harder to "test what we ship." Differences include: * Different base image * Different ways to set up dependencies. * Different paths within the container. * Different launch scripts. * The test images place Druid in `/usr/local`, the public images in `/opt`. The tests do want to do things beyond what the "public" image does. However, this should not require a fork of the builds. To address this issue: * Extend this project to create a base common to the "public" and integration test images. * Extend the integration test image to build on top of the public image.