We have introduced a fully-featured TypeDB Cluster runner, capable of instantiating a cluster with multiple servers, accepting arbitrary configurations and providing programmatic APIs to manage the servers.
These capabilities grant a great deal of flexibility in testing various kinds of scenarios, such as different failure conditions, TLS configurations, and Logstash configurations.
This new runner is intended to replace the old, feature-limited runner, capable only of creating a single TypeDB Cluster server.
What are the changes implemented in this PR?
Restructure the runners in order to simplify the class hierarchy
Implement the new TypeDB Cluster Runner
Cluster runner
can instantiate a cluster with arbitrary configurations
allows users to use either the default cluster server runner or a custom one
Cluster server runner
runner interface: allows creating additional cluster server implementations
default runner: a lightweight runner that can instantiate Cluster server processes in the local machine
What is the goal of this PR?
We have introduced a fully-featured TypeDB Cluster runner, capable of instantiating a cluster with multiple servers, accepting arbitrary configurations and providing programmatic APIs to manage the servers.
These capabilities grant a great deal of flexibility in testing various kinds of scenarios, such as different failure conditions, TLS configurations, and Logstash configurations.
This new runner is intended to replace the old, feature-limited runner, capable only of creating a single TypeDB Cluster server.
What are the changes implemented in this PR?