From b06e6734d63fe869a4390c5ea4e0b8ebc821e88d Mon Sep 17 00:00:00 2001
From: Marcel Becker <stu117960@mail.uni-kiel.de>
Date: Mon, 21 Mar 2022 15:23:04 +0100
Subject: [PATCH] Removed Benchmark, Execution, K8s and ResourceSet subpackages

---
 .../kubernetes/{benchmark => }/Action.kt      |  4 +--
 .../{benchmark => }/ActionCommand.kt          |  4 +--
 .../ActionCommandFailedException.kt           |  2 +-
 .../{benchmark => }/BenchmarkDeployment.kt    |  2 +-
 .../BenchmarkDeploymentBuilder.kt             |  2 +-
 .../{resourceSet => }/ConfigMapResourceSet.kt |  3 +--
 .../kubernetes/{util => }/Configuration.kt    |  4 +--
 .../DeploymentFailedException.kt              |  2 +-
 .../ExecutionFailedException.kt               |  2 +-
 .../{execution => }/ExecutionModes.kt         |  2 +-
 .../{execution => }/ExperimentRunnerImpl.kt   |  6 +----
 .../FileSystemResourceSet.kt                  |  3 +--
 .../kubernetes/{k8s => }/K8sContextFactory.kt |  2 +-
 .../kubernetes/{k8s => }/K8sManager.kt        |  5 +---
 .../KubernetesBenchmarkDeployment.kt          | 26 +++++++++----------
 .../KubernetesBenchmarkDeploymentBuilder.kt   |  3 +--
 .../rocks/theodolite/kubernetes/Main.kt       |  2 --
 .../{k8s => }/ResourceByLabelHandler.kt       |  2 +-
 .../{resourceSet => }/ResourceSet.kt          |  2 +-
 .../{resourceSet => }/ResourceSets.kt         |  3 +--
 .../rocks/theodolite/kubernetes/Shutdown.kt   |  1 -
 .../exception => }/TheodoliteException.kt     |  2 +-
 .../{execution => }/TheodoliteExecutor.kt     |  5 +---
 .../kubernetes/model/KubernetesBenchmark.kt   |  4 +--
 .../operator/BenchmarkStateChecker.kt         |  8 +++---
 .../kubernetes/operator/ClusterSetup.kt       |  4 +--
 .../kubernetes/operator/EventCreator.kt       |  2 +-
 .../operator/TheodoliteController.kt          |  4 +--
 .../kubernetes/operator/TheodoliteOperator.kt |  2 +-
 .../InvalidPatcherConfigurationException.kt   |  4 ++-
 .../kubernetes/patcher/PatcherFactory.kt      |  1 -
 .../patcher/ResourceLimitPatcher.kt           |  1 -
 .../patcher/ResourceRequestPatcher.kt         |  1 -
 .../kubernetes/slo/AnalysisExecutor.kt        |  1 -
 .../EvaluationFailedException.kt              |  4 ++-
 .../{util => slo}/PrometheusResponse.kt       |  0
 .../kubernetes/slo/SloConfigHandler.kt        |  2 +-
 .../standalone/TheodoliteStandalone.kt        |  6 ++---
 .../InitialGuessSearchStrategyTest.kt         |  4 +--
 .../searchstrategy/RestrictionSearchTest.kt   |  4 +--
 .../{benchmark => }/ActionCommandTest.kt      |  3 +--
 .../ConfigMapResourceSetTest.kt               |  3 +--
 .../{benchmark => }/ErrorChannelMessage.kt    |  2 +-
 .../FileSystemResourceSetTest.kt              |  3 +--
 .../kubernetes/{k8s => }/K8sManagerTest.kt    |  2 +-
 .../TestBenchmarkDeployment.kt                |  4 +--
 .../TestBenchmarkDeploymentBuilder.kt         |  2 +-
 .../TestExperimentRunnerImpl.kt               |  3 +--
 .../operator/BenchmarkStateCheckerTest.kt     |  7 ++---
 .../kubernetes/operator/StateHandlerTest.kt   |  2 +-
 50 files changed, 72 insertions(+), 100 deletions(-)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{benchmark => }/Action.kt (87%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{benchmark => }/ActionCommand.kt (97%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{util/exception => }/ActionCommandFailedException.kt (69%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{benchmark => }/BenchmarkDeployment.kt (92%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{benchmark => }/BenchmarkDeploymentBuilder.kt (93%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{resourceSet => }/ConfigMapResourceSet.kt (94%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{util => }/Configuration.kt (85%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{util/exception => }/DeploymentFailedException.kt (68%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{util/exception => }/ExecutionFailedException.kt (68%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{execution => }/ExecutionModes.kt (69%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{execution => }/ExperimentRunnerImpl.kt (94%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{resourceSet => }/FileSystemResourceSet.kt (94%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{k8s => }/K8sContextFactory.kt (95%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{k8s => }/K8sManager.kt (90%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{benchmark => }/KubernetesBenchmarkDeployment.kt (81%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{benchmark => }/KubernetesBenchmarkDeploymentBuilder.kt (96%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{k8s => }/ResourceByLabelHandler.kt (98%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{resourceSet => }/ResourceSet.kt (90%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{resourceSet => }/ResourceSets.kt (92%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{util/exception => }/TheodoliteException.kt (64%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{execution => }/TheodoliteExecutor.kt (96%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{util/exception => patcher}/InvalidPatcherConfigurationException.kt (53%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{util/exception => slo}/EvaluationFailedException.kt (52%)
 rename theodolite/src/main/kotlin/rocks/theodolite/kubernetes/{util => slo}/PrometheusResponse.kt (100%)
 rename theodolite/src/test/kotlin/rocks/theodolite/kubernetes/{benchmark => }/ActionCommandTest.kt (96%)
 rename theodolite/src/test/kotlin/rocks/theodolite/kubernetes/{resourceSet => }/ConfigMapResourceSetTest.kt (98%)
 rename theodolite/src/test/kotlin/rocks/theodolite/kubernetes/{benchmark => }/ErrorChannelMessage.kt (93%)
 rename theodolite/src/test/kotlin/rocks/theodolite/kubernetes/{resourceSet => }/FileSystemResourceSetTest.kt (98%)
 rename theodolite/src/test/kotlin/rocks/theodolite/kubernetes/{k8s => }/K8sManagerTest.kt (99%)
 rename theodolite/src/test/kotlin/rocks/theodolite/kubernetes/{benchmark => }/TestBenchmarkDeployment.kt (51%)
 rename theodolite/src/test/kotlin/rocks/theodolite/kubernetes/{benchmark => }/TestBenchmarkDeploymentBuilder.kt (93%)
 rename theodolite/src/test/kotlin/rocks/theodolite/kubernetes/{execution => }/TestExperimentRunnerImpl.kt (86%)

diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/benchmark/Action.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Action.kt
similarity index 87%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/benchmark/Action.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Action.kt
index ea4a94eb4..773de8d43 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/benchmark/Action.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Action.kt
@@ -1,11 +1,9 @@
-package rocks.theodolite.kubernetes.benchmark
+package rocks.theodolite.kubernetes
 
 import com.fasterxml.jackson.annotation.JsonInclude
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize
 import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import io.quarkus.runtime.annotations.RegisterForReflection
-import rocks.theodolite.kubernetes.util.Configuration
-import rocks.theodolite.kubernetes.util.exception.ActionCommandFailedException
 
 
 @JsonDeserialize
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/benchmark/ActionCommand.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ActionCommand.kt
similarity index 97%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/benchmark/ActionCommand.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ActionCommand.kt
index b46b2bc3f..72cfd30a2 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/benchmark/ActionCommand.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ActionCommand.kt
@@ -1,4 +1,4 @@
-package rocks.theodolite.kubernetes.benchmark
+package rocks.theodolite.kubernetes
 
 import io.fabric8.kubernetes.api.model.Status
 import io.fabric8.kubernetes.client.KubernetesClientException
@@ -7,8 +7,6 @@ import io.fabric8.kubernetes.client.dsl.ExecListener
 import io.fabric8.kubernetes.client.dsl.ExecWatch
 import io.fabric8.kubernetes.client.utils.Serialization
 import mu.KotlinLogging
-import rocks.theodolite.kubernetes.util.Configuration
-import rocks.theodolite.kubernetes.util.exception.ActionCommandFailedException
 import java.io.ByteArrayOutputStream
 import java.time.Duration
 import java.util.concurrent.CountDownLatch
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/exception/ActionCommandFailedException.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ActionCommandFailedException.kt
similarity index 69%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/exception/ActionCommandFailedException.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ActionCommandFailedException.kt
index a22928378..8472b0cc9 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/exception/ActionCommandFailedException.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ActionCommandFailedException.kt
@@ -1,4 +1,4 @@
-package rocks.theodolite.kubernetes.util.exception
+package rocks.theodolite.kubernetes
 
 class ActionCommandFailedException(message: String, e: Exception? = null) : DeploymentFailedException(message,e) {
 }
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/benchmark/BenchmarkDeployment.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/BenchmarkDeployment.kt
similarity index 92%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/benchmark/BenchmarkDeployment.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/BenchmarkDeployment.kt
index 0281726b9..df303b3b8 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/benchmark/BenchmarkDeployment.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/BenchmarkDeployment.kt
@@ -1,4 +1,4 @@
-package rocks.theodolite.kubernetes.benchmark
+package rocks.theodolite.kubernetes
 
 /**
  *  A BenchmarkDeployment contains the necessary infrastructure to execute a benchmark.
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/benchmark/BenchmarkDeploymentBuilder.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/BenchmarkDeploymentBuilder.kt
similarity index 93%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/benchmark/BenchmarkDeploymentBuilder.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/BenchmarkDeploymentBuilder.kt
index c0d7871cb..89475965d 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/benchmark/BenchmarkDeploymentBuilder.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/BenchmarkDeploymentBuilder.kt
@@ -1,4 +1,4 @@
-package rocks.theodolite.kubernetes.benchmark
+package rocks.theodolite.kubernetes
 
 import rocks.theodolite.kubernetes.patcher.PatcherDefinition
 import rocks.theodolite.kubernetes.util.ConfigurationOverride
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/resourceSet/ConfigMapResourceSet.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ConfigMapResourceSet.kt
similarity index 94%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/resourceSet/ConfigMapResourceSet.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ConfigMapResourceSet.kt
index ccf7d95f5..43c478b98 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/resourceSet/ConfigMapResourceSet.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ConfigMapResourceSet.kt
@@ -1,4 +1,4 @@
-package rocks.theodolite.kubernetes.resourceSet
+package rocks.theodolite.kubernetes
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize
 import io.fabric8.kubernetes.api.model.HasMetadata
@@ -6,7 +6,6 @@ import io.fabric8.kubernetes.api.model.KubernetesResource
 import io.fabric8.kubernetes.client.KubernetesClientException
 import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import io.quarkus.runtime.annotations.RegisterForReflection
-import rocks.theodolite.kubernetes.util.exception.DeploymentFailedException
 import java.lang.IllegalArgumentException
 
 @RegisterForReflection
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/Configuration.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Configuration.kt
similarity index 85%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/Configuration.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Configuration.kt
index f172b07df..e28e2a2a7 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/Configuration.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Configuration.kt
@@ -1,6 +1,4 @@
-package rocks.theodolite.kubernetes.util
-
-import rocks.theodolite.kubernetes.execution.ExecutionModes
+package rocks.theodolite.kubernetes
 
 // Defaults
 private const val DEFAULT_NAMESPACE = "default"
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/exception/DeploymentFailedException.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/DeploymentFailedException.kt
similarity index 68%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/exception/DeploymentFailedException.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/DeploymentFailedException.kt
index be577bd9d..cde002125 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/exception/DeploymentFailedException.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/DeploymentFailedException.kt
@@ -1,4 +1,4 @@
-package rocks.theodolite.kubernetes.util.exception
+package rocks.theodolite.kubernetes
 
 
 open class DeploymentFailedException(message: String, e: Exception? = null) : TheodoliteException(message,e)
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/exception/ExecutionFailedException.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExecutionFailedException.kt
similarity index 68%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/exception/ExecutionFailedException.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExecutionFailedException.kt
index efbd8fd0c..8924dd181 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/exception/ExecutionFailedException.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExecutionFailedException.kt
@@ -1,3 +1,3 @@
-package rocks.theodolite.kubernetes.util.exception
+package rocks.theodolite.kubernetes
 
 open class ExecutionFailedException(message: String, e: Exception? = null) : TheodoliteException(message,e)
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/execution/ExecutionModes.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExecutionModes.kt
similarity index 69%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/execution/ExecutionModes.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExecutionModes.kt
index 5c3f77e58..e8e4b6426 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/execution/ExecutionModes.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExecutionModes.kt
@@ -1,4 +1,4 @@
-package rocks.theodolite.kubernetes.execution
+package rocks.theodolite.kubernetes
 
 enum class ExecutionModes(val value: String) {
     OPERATOR("operator"),
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/execution/ExperimentRunnerImpl.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExperimentRunnerImpl.kt
similarity index 94%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/execution/ExperimentRunnerImpl.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExperimentRunnerImpl.kt
index d139eb88e..9cad1ccf4 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/execution/ExperimentRunnerImpl.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ExperimentRunnerImpl.kt
@@ -1,18 +1,14 @@
-package rocks.theodolite.kubernetes.execution
+package rocks.theodolite.kubernetes
 
 import io.quarkus.runtime.annotations.RegisterForReflection
 import mu.KotlinLogging
 import rocks.theodolite.core.ExperimentRunner
 import rocks.theodolite.core.Results
-import rocks.theodolite.kubernetes.benchmark.BenchmarkDeploymentBuilder
-import rocks.theodolite.kubernetes.benchmark.KubernetesBenchmarkDeploymentBuilder
 import rocks.theodolite.kubernetes.model.KubernetesBenchmark.Slo
 import rocks.theodolite.kubernetes.util.ConfigurationOverride
 import rocks.theodolite.kubernetes.operator.EventCreator
 import rocks.theodolite.kubernetes.slo.AnalysisExecutor
-import rocks.theodolite.kubernetes.util.Configuration
 import rocks.theodolite.kubernetes.patcher.PatcherDefinition
-import rocks.theodolite.kubernetes.util.exception.ExecutionFailedException
 import java.time.Duration
 import java.time.Instant
 
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/resourceSet/FileSystemResourceSet.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/FileSystemResourceSet.kt
similarity index 94%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/resourceSet/FileSystemResourceSet.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/FileSystemResourceSet.kt
index 39d09761a..44dacc044 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/resourceSet/FileSystemResourceSet.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/FileSystemResourceSet.kt
@@ -1,11 +1,10 @@
-package rocks.theodolite.kubernetes.resourceSet
+package rocks.theodolite.kubernetes
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize
 import io.fabric8.kubernetes.api.model.HasMetadata
 import io.fabric8.kubernetes.api.model.KubernetesResource
 import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import io.quarkus.runtime.annotations.RegisterForReflection
-import rocks.theodolite.kubernetes.util.exception.DeploymentFailedException
 import java.io.BufferedReader
 import java.io.FileInputStream
 import java.io.FileNotFoundException
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/k8s/K8sContextFactory.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/K8sContextFactory.kt
similarity index 95%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/k8s/K8sContextFactory.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/K8sContextFactory.kt
index adef75821..880449d19 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/k8s/K8sContextFactory.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/K8sContextFactory.kt
@@ -1,4 +1,4 @@
-package rocks.theodolite.kubernetes.k8s
+package rocks.theodolite.kubernetes
 
 import io.fabric8.kubernetes.client.dsl.base.CustomResourceDefinitionContext
 
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/k8s/K8sManager.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/K8sManager.kt
similarity index 90%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/k8s/K8sManager.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/K8sManager.kt
index 0c1f24c1b..66bfb2572 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/k8s/K8sManager.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/K8sManager.kt
@@ -1,9 +1,6 @@
-package rocks.theodolite.kubernetes.k8s
+package rocks.theodolite.kubernetes
 
-import io.fabric8.kubernetes.api.model.ConfigMap
 import io.fabric8.kubernetes.api.model.HasMetadata
-import io.fabric8.kubernetes.api.model.KubernetesResource
-import io.fabric8.kubernetes.api.model.Service
 import io.fabric8.kubernetes.api.model.apps.Deployment
 import io.fabric8.kubernetes.api.model.apps.StatefulSet
 import io.fabric8.kubernetes.client.NamespacedKubernetesClient
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/benchmark/KubernetesBenchmarkDeployment.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/KubernetesBenchmarkDeployment.kt
similarity index 81%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/benchmark/KubernetesBenchmarkDeployment.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/KubernetesBenchmarkDeployment.kt
index 2e0f447cf..5bff6b375 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/benchmark/KubernetesBenchmarkDeployment.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/KubernetesBenchmarkDeployment.kt
@@ -1,4 +1,4 @@
-package rocks.theodolite.kubernetes.benchmark
+package rocks.theodolite.kubernetes
 
 import io.fabric8.kubernetes.api.model.HasMetadata
 import io.fabric8.kubernetes.api.model.KubernetesResource
@@ -6,8 +6,6 @@ import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import io.quarkus.runtime.annotations.RegisterForReflection
 import mu.KotlinLogging
 import org.apache.kafka.clients.admin.NewTopic
-import rocks.theodolite.kubernetes.k8s.K8sManager
-import rocks.theodolite.kubernetes.k8s.ResourceByLabelHandler
 import rocks.theodolite.kubernetes.kafka.TopicManager
 import rocks.theodolite.kubernetes.model.crd.KafkaConfig
 import java.time.Duration
@@ -24,17 +22,17 @@ private val logger = KotlinLogging.logger {}
  */
 @RegisterForReflection
 class KubernetesBenchmarkDeployment(
-    private val sutBeforeActions: List<Action>,
-    private val sutAfterActions: List<Action>,
-    private val loadGenBeforeActions: List<Action>,
-    private val loadGenAfterActions: List<Action>,
-    val appResources: List<HasMetadata>,
-    val loadGenResources: List<HasMetadata>,
-    private val loadGenerationDelay: Long,
-    private val afterTeardownDelay: Long,
-    private val kafkaConfig: Map<String, Any>,
-    private val topics: List<KafkaConfig.TopicWrapper>,
-    private val client: NamespacedKubernetesClient
+        private val sutBeforeActions: List<Action>,
+        private val sutAfterActions: List<Action>,
+        private val loadGenBeforeActions: List<Action>,
+        private val loadGenAfterActions: List<Action>,
+        val appResources: List<HasMetadata>,
+        val loadGenResources: List<HasMetadata>,
+        private val loadGenerationDelay: Long,
+        private val afterTeardownDelay: Long,
+        private val kafkaConfig: Map<String, Any>,
+        private val topics: List<KafkaConfig.TopicWrapper>,
+        private val client: NamespacedKubernetesClient
 ) : BenchmarkDeployment {
     private val kafkaController = TopicManager(this.kafkaConfig)
     private val kubernetesManager = K8sManager(client)
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/benchmark/KubernetesBenchmarkDeploymentBuilder.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/KubernetesBenchmarkDeploymentBuilder.kt
similarity index 96%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/benchmark/KubernetesBenchmarkDeploymentBuilder.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/KubernetesBenchmarkDeploymentBuilder.kt
index 19f7ad052..44b60b345 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/benchmark/KubernetesBenchmarkDeploymentBuilder.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/KubernetesBenchmarkDeploymentBuilder.kt
@@ -1,4 +1,4 @@
-package rocks.theodolite.kubernetes.benchmark
+package rocks.theodolite.kubernetes
 
 import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import mu.KotlinLogging
@@ -6,7 +6,6 @@ import rocks.theodolite.kubernetes.model.KubernetesBenchmark
 import rocks.theodolite.kubernetes.patcher.PatcherFactory
 import rocks.theodolite.kubernetes.util.ConfigurationOverride
 import rocks.theodolite.kubernetes.patcher.PatcherDefinition
-import rocks.theodolite.kubernetes.resourceSet.loadKubernetesResources
 
 private val logger = KotlinLogging.logger {}
 
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Main.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Main.kt
index 7a21b580a..cbd7c3106 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Main.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Main.kt
@@ -4,10 +4,8 @@ import io.fabric8.kubernetes.client.DefaultKubernetesClient
 import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import io.quarkus.runtime.annotations.QuarkusMain
 import mu.KotlinLogging
-import rocks.theodolite.kubernetes.execution.ExecutionModes
 import rocks.theodolite.kubernetes.operator.TheodoliteOperator
 import rocks.theodolite.kubernetes.standalone.TheodoliteStandalone
-import rocks.theodolite.kubernetes.util.Configuration
 import kotlin.system.exitProcess
 
 private val logger = KotlinLogging.logger {}
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/k8s/ResourceByLabelHandler.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ResourceByLabelHandler.kt
similarity index 98%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/k8s/ResourceByLabelHandler.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ResourceByLabelHandler.kt
index ef3d56d0b..c65235f5f 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/k8s/ResourceByLabelHandler.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ResourceByLabelHandler.kt
@@ -1,4 +1,4 @@
-package rocks.theodolite.kubernetes.k8s
+package rocks.theodolite.kubernetes
 
 import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import io.fabric8.kubernetes.client.dsl.base.CustomResourceDefinitionContext
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/resourceSet/ResourceSet.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ResourceSet.kt
similarity index 90%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/resourceSet/ResourceSet.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ResourceSet.kt
index 09dfa7749..9910d0ac8 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/resourceSet/ResourceSet.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ResourceSet.kt
@@ -1,4 +1,4 @@
-package rocks.theodolite.kubernetes.resourceSet
+package rocks.theodolite.kubernetes
 
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize
 import io.fabric8.kubernetes.api.model.KubernetesResource
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/resourceSet/ResourceSets.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ResourceSets.kt
similarity index 92%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/resourceSet/ResourceSets.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ResourceSets.kt
index 986ab5224..cc9d82f38 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/resourceSet/ResourceSets.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/ResourceSets.kt
@@ -1,4 +1,4 @@
-package rocks.theodolite.kubernetes.resourceSet
+package rocks.theodolite.kubernetes
 
 import com.fasterxml.jackson.annotation.JsonInclude
 import com.fasterxml.jackson.annotation.JsonProperty
@@ -7,7 +7,6 @@ import io.fabric8.kubernetes.api.model.HasMetadata
 import io.fabric8.kubernetes.api.model.KubernetesResource
 import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import io.quarkus.runtime.annotations.RegisterForReflection
-import rocks.theodolite.kubernetes.util.exception.DeploymentFailedException
 
 /**
  * Loads [KubernetesResource]s.
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Shutdown.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Shutdown.kt
index 68a5f8142..221039f76 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Shutdown.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/Shutdown.kt
@@ -2,7 +2,6 @@ package rocks.theodolite.kubernetes
 
 import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import mu.KotlinLogging
-import rocks.theodolite.kubernetes.benchmark.KubernetesBenchmarkDeploymentBuilder
 import rocks.theodolite.kubernetes.model.BenchmarkExecution
 import rocks.theodolite.kubernetes.model.KubernetesBenchmark
 
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/exception/TheodoliteException.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/TheodoliteException.kt
similarity index 64%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/exception/TheodoliteException.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/TheodoliteException.kt
index bb9b4e29c..6a4374c3e 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/exception/TheodoliteException.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/TheodoliteException.kt
@@ -1,3 +1,3 @@
-package rocks.theodolite.kubernetes.util.exception
+package rocks.theodolite.kubernetes
 
 open class TheodoliteException (message: String, e: Exception? = null) : Exception(message,e)
\ No newline at end of file
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/execution/TheodoliteExecutor.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/TheodoliteExecutor.kt
similarity index 96%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/execution/TheodoliteExecutor.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/TheodoliteExecutor.kt
index 157ecf655..6371a0243 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/execution/TheodoliteExecutor.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/TheodoliteExecutor.kt
@@ -1,4 +1,4 @@
-package rocks.theodolite.kubernetes.execution
+package rocks.theodolite.kubernetes
 
 import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import mu.KotlinLogging
@@ -11,10 +11,7 @@ import rocks.theodolite.core.strategies.StrategyFactory
 import rocks.theodolite.core.Config
 import rocks.theodolite.core.IOHandler
 import rocks.theodolite.core.Results
-import rocks.theodolite.kubernetes.benchmark.KubernetesBenchmarkDeploymentBuilder
-import rocks.theodolite.kubernetes.k8s.K8sManager
 import rocks.theodolite.kubernetes.model.KubernetesBenchmark
-import rocks.theodolite.kubernetes.resourceSet.loadKubernetesResources
 import rocks.theodolite.kubernetes.slo.SloFactory
 import java.io.File
 import java.time.Duration
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/KubernetesBenchmark.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/KubernetesBenchmark.kt
index 9498374e1..8f109444e 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/KubernetesBenchmark.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/model/KubernetesBenchmark.kt
@@ -3,8 +3,8 @@ package rocks.theodolite.kubernetes.model
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize
 import io.fabric8.kubernetes.api.model.KubernetesResource
 import io.quarkus.runtime.annotations.RegisterForReflection
-import rocks.theodolite.kubernetes.benchmark.Action
-import rocks.theodolite.kubernetes.resourceSet.ResourceSets
+import rocks.theodolite.kubernetes.Action
+import rocks.theodolite.kubernetes.ResourceSets
 import rocks.theodolite.kubernetes.model.crd.KafkaConfig
 import rocks.theodolite.kubernetes.patcher.PatcherDefinition
 import kotlin.properties.Delegates
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/BenchmarkStateChecker.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/BenchmarkStateChecker.kt
index c9588b576..ac56403a0 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/BenchmarkStateChecker.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/BenchmarkStateChecker.kt
@@ -5,14 +5,14 @@ import io.fabric8.kubernetes.api.model.apps.StatefulSet
 import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import io.fabric8.kubernetes.client.dsl.MixedOperation
 import io.fabric8.kubernetes.client.dsl.Resource
-import rocks.theodolite.kubernetes.benchmark.Action
-import rocks.theodolite.kubernetes.benchmark.ActionSelector
+import rocks.theodolite.kubernetes.Action
+import rocks.theodolite.kubernetes.ActionSelector
 import rocks.theodolite.kubernetes.model.KubernetesBenchmark
-import rocks.theodolite.kubernetes.resourceSet.ResourceSets
+import rocks.theodolite.kubernetes.ResourceSets
 import rocks.theodolite.kubernetes.model.crd.BenchmarkCRD
 import rocks.theodolite.kubernetes.model.crd.BenchmarkState
 import rocks.theodolite.kubernetes.model.crd.KubernetesBenchmarkList
-import rocks.theodolite.kubernetes.resourceSet.loadKubernetesResources
+import rocks.theodolite.kubernetes.loadKubernetesResources
 
 class BenchmarkStateChecker(
         private val benchmarkCRDClient: MixedOperation<BenchmarkCRD, KubernetesBenchmarkList, Resource<BenchmarkCRD>>,
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/ClusterSetup.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/ClusterSetup.kt
index db95659f0..4cfa87224 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/ClusterSetup.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/ClusterSetup.kt
@@ -3,8 +3,8 @@ package rocks.theodolite.kubernetes.operator
 import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import io.fabric8.kubernetes.client.dsl.MixedOperation
 import io.fabric8.kubernetes.client.dsl.Resource
-import rocks.theodolite.kubernetes.k8s.K8sContextFactory
-import rocks.theodolite.kubernetes.k8s.ResourceByLabelHandler
+import rocks.theodolite.kubernetes.K8sContextFactory
+import rocks.theodolite.kubernetes.ResourceByLabelHandler
 import rocks.theodolite.kubernetes.model.crd.*
 import rocks.theodolite.kubernetes.Shutdown
 
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/EventCreator.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/EventCreator.kt
index cb23f8791..6803da62f 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/EventCreator.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/EventCreator.kt
@@ -6,7 +6,7 @@ import io.fabric8.kubernetes.api.model.ObjectReference
 import io.fabric8.kubernetes.client.DefaultKubernetesClient
 import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import mu.KotlinLogging
-import rocks.theodolite.kubernetes.util.Configuration
+import rocks.theodolite.kubernetes.Configuration
 import java.time.Instant
 import java.util.*
 import kotlin.NoSuchElementException
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/TheodoliteController.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/TheodoliteController.kt
index ddb081b83..9fdc409e1 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/TheodoliteController.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/TheodoliteController.kt
@@ -9,11 +9,11 @@ import rocks.theodolite.kubernetes.model.crd.BenchmarkCRD
 import rocks.theodolite.kubernetes.model.crd.ExecutionState
 import rocks.theodolite.kubernetes.model.crd.KubernetesBenchmarkList
 import rocks.theodolite.kubernetes.model.KubernetesBenchmark
-import rocks.theodolite.kubernetes.execution.TheodoliteExecutor
+import rocks.theodolite.kubernetes.TheodoliteExecutor
 import rocks.theodolite.kubernetes.model.crd.*
 import rocks.theodolite.kubernetes.patcher.ConfigOverrideModifier
 import rocks.theodolite.kubernetes.model.crd.ExecutionStateComparator
-import rocks.theodolite.kubernetes.resourceSet.loadKubernetesResources
+import rocks.theodolite.kubernetes.loadKubernetesResources
 import java.lang.Thread.sleep
 
 private val logger = KotlinLogging.logger {}
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/TheodoliteOperator.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/TheodoliteOperator.kt
index 83420b55a..0d0b1533e 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/TheodoliteOperator.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/operator/TheodoliteOperator.kt
@@ -6,11 +6,11 @@ import io.fabric8.kubernetes.client.dsl.Resource
 import io.fabric8.kubernetes.client.informers.SharedInformerFactory
 import io.fabric8.kubernetes.internal.KubernetesDeserializer
 import mu.KotlinLogging
+import rocks.theodolite.kubernetes.Configuration
 import rocks.theodolite.kubernetes.model.crd.BenchmarkCRD
 import rocks.theodolite.kubernetes.model.crd.BenchmarkExecutionList
 import rocks.theodolite.kubernetes.model.crd.ExecutionCRD
 import rocks.theodolite.kubernetes.model.crd.KubernetesBenchmarkList
-import rocks.theodolite.kubernetes.util.Configuration
 
 
 private const val EXECUTION_SINGULAR = "execution"
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/exception/InvalidPatcherConfigurationException.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/InvalidPatcherConfigurationException.kt
similarity index 53%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/exception/InvalidPatcherConfigurationException.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/InvalidPatcherConfigurationException.kt
index 895d83dce..88ad707ec 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/exception/InvalidPatcherConfigurationException.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/InvalidPatcherConfigurationException.kt
@@ -1,3 +1,5 @@
-package rocks.theodolite.kubernetes.util.exception
+package rocks.theodolite.kubernetes.patcher
+
+import rocks.theodolite.kubernetes.DeploymentFailedException
 
 class InvalidPatcherConfigurationException(message: String, e: Exception? = null) : DeploymentFailedException(message,e)
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/PatcherFactory.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/PatcherFactory.kt
index ce54b1b83..ce4bd525c 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/PatcherFactory.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/PatcherFactory.kt
@@ -1,7 +1,6 @@
 package rocks.theodolite.kubernetes.patcher
 
 import io.fabric8.kubernetes.api.model.KubernetesResource
-import rocks.theodolite.kubernetes.util.exception.InvalidPatcherConfigurationException
 
 /**
  * The Patcher factory creates [Patcher]s
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ResourceLimitPatcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ResourceLimitPatcher.kt
index 340236dfb..e389f461a 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ResourceLimitPatcher.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ResourceLimitPatcher.kt
@@ -6,7 +6,6 @@ import io.fabric8.kubernetes.api.model.Quantity
 import io.fabric8.kubernetes.api.model.ResourceRequirements
 import io.fabric8.kubernetes.api.model.apps.Deployment
 import io.fabric8.kubernetes.api.model.apps.StatefulSet
-import rocks.theodolite.kubernetes.util.exception.InvalidPatcherConfigurationException
 
 /**
  * The Resource limit [Patcher] set resource limits for deployments and statefulSets.
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ResourceRequestPatcher.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ResourceRequestPatcher.kt
index d461a0f86..89d4004fe 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ResourceRequestPatcher.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/patcher/ResourceRequestPatcher.kt
@@ -6,7 +6,6 @@ import io.fabric8.kubernetes.api.model.Quantity
 import io.fabric8.kubernetes.api.model.ResourceRequirements
 import io.fabric8.kubernetes.api.model.apps.Deployment
 import io.fabric8.kubernetes.api.model.apps.StatefulSet
-import rocks.theodolite.kubernetes.util.exception.InvalidPatcherConfigurationException
 
 /**
  * The Resource request [Patcher] set resource limits for deployments and statefulSets.
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/AnalysisExecutor.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/AnalysisExecutor.kt
index d5a1bfa87..d5b675de4 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/AnalysisExecutor.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/AnalysisExecutor.kt
@@ -3,7 +3,6 @@ package rocks.theodolite.kubernetes.slo
 import rocks.theodolite.core.strategies.Metric
 import rocks.theodolite.core.IOHandler
 import rocks.theodolite.kubernetes.model.KubernetesBenchmark.Slo
-import rocks.theodolite.kubernetes.util.exception.EvaluationFailedException
 import java.text.Normalizer
 import java.time.Duration
 import java.time.Instant
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/exception/EvaluationFailedException.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/EvaluationFailedException.kt
similarity index 52%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/exception/EvaluationFailedException.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/EvaluationFailedException.kt
index 05a552cb8..564ec926a 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/exception/EvaluationFailedException.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/EvaluationFailedException.kt
@@ -1,3 +1,5 @@
-package rocks.theodolite.kubernetes.util.exception
+package rocks.theodolite.kubernetes.slo
+
+import rocks.theodolite.kubernetes.ExecutionFailedException
 
 class EvaluationFailedException(message: String, e: Exception? = null) : ExecutionFailedException(message,e)
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/PrometheusResponse.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/PrometheusResponse.kt
similarity index 100%
rename from theodolite/src/main/kotlin/rocks/theodolite/kubernetes/util/PrometheusResponse.kt
rename to theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/PrometheusResponse.kt
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloConfigHandler.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloConfigHandler.kt
index 4d9db9808..e7b0d8b8e 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloConfigHandler.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/slo/SloConfigHandler.kt
@@ -1,7 +1,7 @@
 package rocks.theodolite.kubernetes.slo
 
 import rocks.theodolite.kubernetes.model.KubernetesBenchmark.Slo
-import rocks.theodolite.kubernetes.util.exception.InvalidPatcherConfigurationException
+import rocks.theodolite.kubernetes.patcher.InvalidPatcherConfigurationException
 import javax.enterprise.context.ApplicationScoped
 
 private const val CONSUMER_LAG_QUERY = "sum by(consumergroup) (kafka_consumergroup_lag >= 0)"
diff --git a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/standalone/TheodoliteStandalone.kt b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/standalone/TheodoliteStandalone.kt
index bddbee80f..8cf3959b9 100644
--- a/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/standalone/TheodoliteStandalone.kt
+++ b/theodolite/src/main/kotlin/rocks/theodolite/kubernetes/standalone/TheodoliteStandalone.kt
@@ -4,10 +4,10 @@ import io.fabric8.kubernetes.client.NamespacedKubernetesClient
 import mu.KotlinLogging
 import rocks.theodolite.kubernetes.model.BenchmarkExecution
 import rocks.theodolite.kubernetes.model.KubernetesBenchmark
-import rocks.theodolite.kubernetes.execution.TheodoliteExecutor
+import rocks.theodolite.kubernetes.TheodoliteExecutor
 import rocks.theodolite.kubernetes.util.YamlParserFromFile
-import rocks.theodolite.kubernetes.util.exception.EvaluationFailedException
-import rocks.theodolite.kubernetes.util.exception.ExecutionFailedException
+import rocks.theodolite.kubernetes.slo.EvaluationFailedException
+import rocks.theodolite.kubernetes.ExecutionFailedException
 import rocks.theodolite.kubernetes.Shutdown
 import kotlin.concurrent.thread
 import kotlin.system.exitProcess
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/InitialGuessSearchStrategyTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/InitialGuessSearchStrategyTest.kt
index 2439d3301..2c47ab9a9 100644
--- a/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/InitialGuessSearchStrategyTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/InitialGuessSearchStrategyTest.kt
@@ -5,8 +5,8 @@ import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Test
 import rocks.theodolite.core.strategies.Metric
 import mu.KotlinLogging
-import rocks.theodolite.kubernetes.benchmark.TestBenchmarkDeploymentBuilder
-import rocks.theodolite.kubernetes.execution.TestExperimentRunnerImpl
+import rocks.theodolite.kubernetes.TestBenchmarkDeploymentBuilder
+import rocks.theodolite.kubernetes.TestExperimentRunnerImpl
 import rocks.theodolite.core.strategies.guessstrategy.PrevInstanceOptGuess
 import rocks.theodolite.core.Results
 import rocks.theodolite.kubernetes.model.KubernetesBenchmark.Slo
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/RestrictionSearchTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/RestrictionSearchTest.kt
index afb934a3d..77a33c8d3 100644
--- a/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/RestrictionSearchTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/RestrictionSearchTest.kt
@@ -3,8 +3,8 @@ package rocks.theodolite.core.strategies.searchstrategy
 import io.quarkus.test.junit.QuarkusTest
 import org.junit.jupiter.api.Assertions.assertEquals
 import org.junit.jupiter.api.Test
-import rocks.theodolite.kubernetes.benchmark.TestBenchmarkDeploymentBuilder
-import rocks.theodolite.kubernetes.execution.TestExperimentRunnerImpl
+import rocks.theodolite.kubernetes.TestBenchmarkDeploymentBuilder
+import rocks.theodolite.kubernetes.TestExperimentRunnerImpl
 
 import rocks.theodolite.core.strategies.Metric
 import rocks.theodolite.core.strategies.restrictionstrategy.LowerBoundRestriction
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/benchmark/ActionCommandTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ActionCommandTest.kt
similarity index 96%
rename from theodolite/src/test/kotlin/rocks/theodolite/kubernetes/benchmark/ActionCommandTest.kt
rename to theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ActionCommandTest.kt
index 92f7d27ae..274a112ec 100644
--- a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/benchmark/ActionCommandTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ActionCommandTest.kt
@@ -1,4 +1,4 @@
-package rocks.theodolite.kubernetes.benchmark
+package rocks.theodolite.kubernetes
 
 import io.fabric8.kubernetes.api.model.Pod
 import io.fabric8.kubernetes.api.model.PodBuilder
@@ -10,7 +10,6 @@ import org.junit.jupiter.api.*
 import org.junit.jupiter.api.Assertions.assertEquals
 import rocks.theodolite.kubernetes.operator.TheodoliteController
 import rocks.theodolite.kubernetes.operator.TheodoliteOperator
-import rocks.theodolite.kubernetes.util.exception.ActionCommandFailedException
 
 
 @QuarkusTest
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/resourceSet/ConfigMapResourceSetTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ConfigMapResourceSetTest.kt
similarity index 98%
rename from theodolite/src/test/kotlin/rocks/theodolite/kubernetes/resourceSet/ConfigMapResourceSetTest.kt
rename to theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ConfigMapResourceSetTest.kt
index ad856ca7a..87058706c 100644
--- a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/resourceSet/ConfigMapResourceSetTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ConfigMapResourceSetTest.kt
@@ -1,4 +1,4 @@
-package rocks.theodolite.kubernetes.resourceSet
+package rocks.theodolite.kubernetes
 
 import com.fasterxml.jackson.databind.ObjectMapper
 import io.fabric8.kubernetes.api.model.*
@@ -24,7 +24,6 @@ import rocks.theodolite.kubernetes.model.crd.BenchmarkCRDummy
 import rocks.theodolite.kubernetes.operator.ExecutionClient
 import rocks.theodolite.kubernetes.model.crd.BenchmarkCRD
 import rocks.theodolite.kubernetes.model.crd.ExecutionCRD
-import rocks.theodolite.kubernetes.util.exception.DeploymentFailedException
 import java.io.FileInputStream
 
 // TODO move somewhere else
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/benchmark/ErrorChannelMessage.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ErrorChannelMessage.kt
similarity index 93%
rename from theodolite/src/test/kotlin/rocks/theodolite/kubernetes/benchmark/ErrorChannelMessage.kt
rename to theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ErrorChannelMessage.kt
index e920776ae..4181b7cbb 100644
--- a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/benchmark/ErrorChannelMessage.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/ErrorChannelMessage.kt
@@ -1,4 +1,4 @@
-package rocks.theodolite.kubernetes.benchmark
+package rocks.theodolite.kubernetes
 
 import io.fabric8.mockwebserver.internal.WebSocketMessage
 import java.nio.charset.StandardCharsets
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/resourceSet/FileSystemResourceSetTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/FileSystemResourceSetTest.kt
similarity index 98%
rename from theodolite/src/test/kotlin/rocks/theodolite/kubernetes/resourceSet/FileSystemResourceSetTest.kt
rename to theodolite/src/test/kotlin/rocks/theodolite/kubernetes/FileSystemResourceSetTest.kt
index a9a57d8cf..1c5f32159 100644
--- a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/resourceSet/FileSystemResourceSetTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/FileSystemResourceSetTest.kt
@@ -1,4 +1,4 @@
-package rocks.theodolite.kubernetes.resourceSet
+package rocks.theodolite.kubernetes
 
 import io.fabric8.kubernetes.api.model.*
 import io.fabric8.kubernetes.api.model.apps.Deployment
@@ -15,7 +15,6 @@ import org.junit.jupiter.api.io.TempDir
 import registerResource
 import rocks.theodolite.kubernetes.model.crd.BenchmarkCRD
 import rocks.theodolite.kubernetes.model.crd.ExecutionCRD
-import rocks.theodolite.kubernetes.util.exception.DeploymentFailedException
 import java.io.FileInputStream
 import java.nio.file.Files
 import java.nio.file.Path
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/k8s/K8sManagerTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/K8sManagerTest.kt
similarity index 99%
rename from theodolite/src/test/kotlin/rocks/theodolite/kubernetes/k8s/K8sManagerTest.kt
rename to theodolite/src/test/kotlin/rocks/theodolite/kubernetes/K8sManagerTest.kt
index 92adf08fb..90dd01626 100644
--- a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/k8s/K8sManagerTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/K8sManagerTest.kt
@@ -1,4 +1,4 @@
-package rocks.theodolite.kubernetes.k8s
+package rocks.theodolite.kubernetes
 
 import io.fabric8.kubernetes.api.model.*
 import io.fabric8.kubernetes.api.model.apps.Deployment
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/benchmark/TestBenchmarkDeployment.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/TestBenchmarkDeployment.kt
similarity index 51%
rename from theodolite/src/test/kotlin/rocks/theodolite/kubernetes/benchmark/TestBenchmarkDeployment.kt
rename to theodolite/src/test/kotlin/rocks/theodolite/kubernetes/TestBenchmarkDeployment.kt
index 881ed6977..92bc2fd26 100644
--- a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/benchmark/TestBenchmarkDeployment.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/TestBenchmarkDeployment.kt
@@ -1,6 +1,6 @@
-package rocks.theodolite.kubernetes.benchmark
+package rocks.theodolite.kubernetes
 
-import rocks.theodolite.kubernetes.benchmark.BenchmarkDeployment
+import rocks.theodolite.kubernetes.BenchmarkDeployment
 
 class TestBenchmarkDeployment : BenchmarkDeployment {
     override fun setup() {}
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/benchmark/TestBenchmarkDeploymentBuilder.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/TestBenchmarkDeploymentBuilder.kt
similarity index 93%
rename from theodolite/src/test/kotlin/rocks/theodolite/kubernetes/benchmark/TestBenchmarkDeploymentBuilder.kt
rename to theodolite/src/test/kotlin/rocks/theodolite/kubernetes/TestBenchmarkDeploymentBuilder.kt
index 0c0c03e7c..456ba3411 100644
--- a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/benchmark/TestBenchmarkDeploymentBuilder.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/TestBenchmarkDeploymentBuilder.kt
@@ -1,4 +1,4 @@
-package rocks.theodolite.kubernetes.benchmark
+package rocks.theodolite.kubernetes
 
 
 import rocks.theodolite.kubernetes.util.ConfigurationOverride
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/execution/TestExperimentRunnerImpl.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/TestExperimentRunnerImpl.kt
similarity index 86%
rename from theodolite/src/test/kotlin/rocks/theodolite/kubernetes/execution/TestExperimentRunnerImpl.kt
rename to theodolite/src/test/kotlin/rocks/theodolite/kubernetes/TestExperimentRunnerImpl.kt
index 7f862e108..896beed83 100644
--- a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/execution/TestExperimentRunnerImpl.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/TestExperimentRunnerImpl.kt
@@ -1,6 +1,5 @@
-package rocks.theodolite.kubernetes.execution
+package rocks.theodolite.kubernetes
 
-import rocks.theodolite.kubernetes.benchmark.TestBenchmarkDeploymentBuilder
 import rocks.theodolite.core.Results
 import rocks.theodolite.kubernetes.model.KubernetesBenchmark.Slo
 import rocks.theodolite.core.ExperimentRunner
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/BenchmarkStateCheckerTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/BenchmarkStateCheckerTest.kt
index 640aa4255..d90092221 100644
--- a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/BenchmarkStateCheckerTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/BenchmarkStateCheckerTest.kt
@@ -13,12 +13,13 @@ import org.junit.jupiter.api.AfterEach
 import org.junit.jupiter.api.BeforeEach
 import org.junit.jupiter.api.Test
 import org.junit.jupiter.api.Assertions.*
-import rocks.theodolite.kubernetes.benchmark.*
+import rocks.theodolite.kubernetes.ActionSelector
 import rocks.theodolite.kubernetes.model.crd.BenchmarkState
 import rocks.theodolite.kubernetes.model.KubernetesBenchmark
 import rocks.theodolite.kubernetes.model.crd.BenchmarkCRDummy
-import rocks.theodolite.kubernetes.resourceSet.ConfigMapResourceSet
-import rocks.theodolite.kubernetes.resourceSet.ResourceSets
+import rocks.theodolite.kubernetes.ConfigMapResourceSet
+import rocks.theodolite.kubernetes.PodSelector
+import rocks.theodolite.kubernetes.ResourceSets
 
 internal class BenchmarkStateCheckerTest {
     private val server = KubernetesServer(false, false)
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/StateHandlerTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/StateHandlerTest.kt
index a7c7c5caa..ebef641d1 100644
--- a/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/StateHandlerTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/kubernetes/operator/StateHandlerTest.kt
@@ -10,7 +10,7 @@ import org.junit.jupiter.api.Assertions.assertTrue
 import org.junit.jupiter.api.BeforeEach
 import org.junit.jupiter.api.DisplayName
 import org.junit.jupiter.api.Test
-import rocks.theodolite.kubernetes.k8s.K8sManager
+import rocks.theodolite.kubernetes.K8sManager
 import rocks.theodolite.kubernetes.model.crd.ExecutionCRD
 import rocks.theodolite.kubernetes.model.crd.ExecutionState
 
-- 
GitLab