diff --git a/theodolite-quarkus/src/main/kotlin/theodolite/execution/operator/LeaderElector.kt b/theodolite-quarkus/src/main/kotlin/theodolite/execution/operator/LeaderElector.kt deleted file mode 100644 index b887f5e9adea5d4feadc4be335b97d09c734aff4..0000000000000000000000000000000000000000 --- a/theodolite-quarkus/src/main/kotlin/theodolite/execution/operator/LeaderElector.kt +++ /dev/null @@ -1,44 +0,0 @@ -package theodolite.execution.operator - -import io.fabric8.kubernetes.client.DefaultKubernetesClient -import io.fabric8.kubernetes.client.NamespacedKubernetesClient -import io.fabric8.kubernetes.client.extended.leaderelection.LeaderCallbacks -import io.fabric8.kubernetes.client.extended.leaderelection.LeaderElectionConfigBuilder -import io.fabric8.kubernetes.client.extended.leaderelection.resourcelock.LeaseLock -import mu.KotlinLogging -import java.time.Duration -import java.util.* -import kotlin.reflect.KFunction0 -import kotlin.reflect.KFunction1 - -private val logger = KotlinLogging.logger {} - -class LeaderElector( - val client: NamespacedKubernetesClient, - val name: String - ) { - - fun getLeadership(leader: KFunction1<NamespacedKubernetesClient, Unit>) { - val lockIdentity: String = UUID.randomUUID().toString() - DefaultKubernetesClient().use { kc -> - kc.leaderElector() - .withConfig( - LeaderElectionConfigBuilder() - .withName("Theodolite") - .withLeaseDuration(Duration.ofSeconds(15L)) - .withLock(LeaseLock(client.namespace, name, lockIdentity)) - .withRenewDeadline(Duration.ofSeconds(10L)) - .withRetryPeriod(Duration.ofSeconds(2L)) - .withLeaderCallbacks(LeaderCallbacks( - leader, - { logger.info { "STOPPED LEADERSHIP " } } - ) { newLeader: String? -> - logger.info { "New leader elected $newLeader" } - }) - .build() - ) - .build().run() - } - } - -} \ No newline at end of file