Remove eureka & client side loadbalancing
diff --git a/api/build.gradle b/api/build.gradle
index bd79091..ef69028 100644
--- a/api/build.gradle
+++ b/api/build.gradle
@@ -37,6 +37,7 @@
             [group: 'org.springframework.cloud', name: 'spring-cloud-starter-openfeign'],
             [group: 'org.apache.fineract.cn', name: 'api', version: versions.frameworkapi],
             [group: 'org.hibernate', name: 'hibernate-validator', version: versions.validator],
+            [group: 'org.apache.fineract.cn', name: 'lang', version: versions.frameworklang],
             [group: 'org.hibernate', name: 'hibernate-validator-annotation-processor', version: versions.validator]
     )
 
diff --git a/api/src/main/java/org/apache/fineract/cn/cheque/api/v1/client/ChequeManager.java b/api/src/main/java/org/apache/fineract/cn/cheque/api/v1/client/ChequeManager.java
index 21b91e8..90a4d06 100644
--- a/api/src/main/java/org/apache/fineract/cn/cheque/api/v1/client/ChequeManager.java
+++ b/api/src/main/java/org/apache/fineract/cn/cheque/api/v1/client/ChequeManager.java
@@ -39,7 +39,7 @@
 import org.springframework.web.bind.annotation.RequestParam;
 
 @SuppressWarnings("unused")
-@FeignClient(value = "cheques-v1", path = "/cheques/v1", configuration = CustomFeignClientsConfiguration.class)
+@FeignClient(value = "${kubernetes.cheque.service.name}", path = "/cheques/v1", url = "http://${kubernetes.cheque.service.name}:${kubernetes.cheque.server.port}", configuration = CustomFeignClientsConfiguration.class)
 public interface ChequeManager {
 
   @RequestMapping(
diff --git a/api/src/main/java/org/apache/fineract/cn/cheque/api/v1/domain/Cheque.java b/api/src/main/java/org/apache/fineract/cn/cheque/api/v1/domain/Cheque.java
index 85b4345..bb7d138 100644
--- a/api/src/main/java/org/apache/fineract/cn/cheque/api/v1/domain/Cheque.java
+++ b/api/src/main/java/org/apache/fineract/cn/cheque/api/v1/domain/Cheque.java
@@ -17,10 +17,8 @@
  * under the License.
  */
 package org.apache.fineract.cn.cheque.api.v1.domain;
-
-import org.hibernate.validator.constraints.NotEmpty;
-
 import javax.validation.Valid;
+import javax.validation.constraints.NotEmpty;
 
 public class Cheque {
 
diff --git a/component-test/build.gradle b/component-test/build.gradle
index c177d26..1724d07 100644
--- a/component-test/build.gradle
+++ b/component-test/build.gradle
@@ -48,6 +48,8 @@
     compile(
             [group: 'org.apache.fineract.cn.cheques', name: 'api', version: project.version],
             [group: 'org.apache.fineract.cn.cheques', name: 'service', version: project.version],
+            [group: 'org.springframework', name: 'spring-jms'],
+            [group: 'org.springframework', name: 'spring-messaging'],
             [group: 'org.apache.fineract.cn.anubis', name: 'test', version: versions.frameworkanubis],
             [group: 'org.apache.fineract.cn', name: 'api', version: versions.frameworkapi],
             [group: 'org.apache.fineract.cn', name: 'test', version: versions.frameworktest],
diff --git a/component-test/src/main/java/org/apache/fineract/cn/cheque/AbstractChequeTest.java b/component-test/src/main/java/org/apache/fineract/cn/cheque/AbstractChequeTest.java
index 6c6d592..95e5c97 100644
--- a/component-test/src/main/java/org/apache/fineract/cn/cheque/AbstractChequeTest.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/cheque/AbstractChequeTest.java
@@ -104,7 +104,6 @@
   @Configuration
   @EnableEventRecording
   @EnableFeignClients(basePackages = {"org.apache.fineract.cn.cheque.api.v1"})
-  @RibbonClient(name = APP_NAME)
   @Import({ChequeConfiguration.class})
   @ComponentScan("org.apache.fineract.cn.cheque.listener")
   public static class TestConfiguration {
diff --git a/service/build.gradle b/service/build.gradle
index 942fa80..2d03dfc 100644
--- a/service/build.gradle
+++ b/service/build.gradle
@@ -21,6 +21,7 @@
     }
     repositories {
         jcenter()
+        mavenCentral()
     }
 }
 
@@ -45,7 +46,7 @@
 dependencies {
     compile(
             [group: 'org.springframework.cloud', name: 'spring-cloud-starter-config'],
-            [group: 'org.springframework.cloud', name: 'spring-cloud-starter-netflix-eureka-client'],
+            [group: 'org.springframework.boot', name: 'spring-boot-starter-web'],
             [group: 'org.springframework.boot', name: 'spring-boot-starter-jetty'],
             [group: 'org.apache.fineract.cn.cheques', name: 'api', version: project.version],
             [group: 'org.apache.fineract.cn.anubis', name: 'library', version: versions.frameworkanubis],
diff --git a/service/src/main/java/org/apache/fineract/cn/cheque/service/ChequeConfiguration.java b/service/src/main/java/org/apache/fineract/cn/cheque/service/ChequeConfiguration.java
index bd447d1..88a2542 100644
--- a/service/src/main/java/org/apache/fineract/cn/cheque/service/ChequeConfiguration.java
+++ b/service/src/main/java/org/apache/fineract/cn/cheque/service/ChequeConfiguration.java
@@ -32,7 +32,6 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 import org.springframework.cloud.openfeign.EnableFeignClients;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
@@ -44,7 +43,6 @@
 @SuppressWarnings("WeakerAccess")
 @Configuration
 @EnableAutoConfiguration
-@EnableDiscoveryClient
 @EnableAsync
 @EnableTenantContext
 @EnableCassandra
@@ -62,9 +60,7 @@
 )
 @ComponentScan({
     "org.apache.fineract.cn.cheque.service.rest",
-    "org.apache.fineract.cn.cheque.service.internal.service",
-    "org.apache.fineract.cn.cheque.service.internal.repository",
-    "org.apache.fineract.cn.cheque.service.internal.command.handler"
+    "org.apache.fineract.cn.cheque.service.internal",
 })
 @EnableJpaRepositories({
     "org.apache.fineract.cn.cheque.service.internal.repository"
diff --git a/service/src/main/resources/application.yml b/service/src/main/resources/application.yml
index 61dde9c..f92449d 100644
--- a/service/src/main/resources/application.yml
+++ b/service/src/main/resources/application.yml
@@ -24,13 +24,6 @@
     config:
       enabled: false
 
-eureka:
-  client:
-    serviceUrl:
-      defaultZone: http://localhost:8761/eureka/
-  instance:
-    homePageUrl: "http://${eureka.hostname}:2030/cheques/v1/"
-
 server:
   port: 2030
   contextPath: /cheques/v1
@@ -69,3 +62,30 @@
 
 flyway:
   enabled: false
+
+kubernetes:
+  cheque:
+    service:
+      name: cheques-service
+    server:
+      port: 2030
+  accounting:
+    service:
+      name: accounting-service
+    server:
+      port: 2025
+  customer:
+    service:
+      name: customer-service
+    server:
+      port: 2024
+  deposit:
+    service:
+      name: deposit-service
+    server:
+      port: 2027
+  office:
+    service:
+      name: office-service
+    server:
+      port: 2023
diff --git a/shared.gradle b/shared.gradle
index 3585cae..351481b 100644
--- a/shared.gradle
+++ b/shared.gradle
@@ -16,22 +16,22 @@
  */
 
 group 'org.apache.fineract.cn.cheques'
-version 'spring_boot_2-SNAPSHOT'
+version '0.1.0-BUILD-SNAPSHOT'
 
 ext.versions = [
-        frameworkapi        : 'spring_boot_2-SNAPSHOT',
-        frameworklang       : 'spring_boot_2-SNAPSHOT',
-        frameworkasync      : 'spring_boot_2-SNAPSHOT',
-        frameworkcassandra  : 'spring_boot_2-SNAPSHOT',
-        frameworkpostgresql : 'spring_boot_2-SNAPSHOT',
-        frameworkcommand    : 'spring_boot_2-SNAPSHOT',
-        frameworktest       : 'spring_boot_2-SNAPSHOT',
-        frameworkanubis     : 'spring_boot_2-SNAPSHOT',
-        frameworkoffice     : 'spring_boot_2-SNAPSHOT',
-        frameworkaccounting : 'spring_boot_2-SNAPSHOT',
-        frameworkdeposit    : 'spring_boot_2-SNAPSHOT',
-        frameworkcustomer   : 'spring_boot_2-SNAPSHOT',
-        validator           : '6.1.4.Final'
+        frameworkapi        : '0.1.0-BUILD-SNAPSHOT',
+        frameworklang       : '0.1.0-BUILD-SNAPSHOT',
+        frameworkasync      : '0.1.0-BUILD-SNAPSHOT',
+        frameworkcassandra  : '0.1.0-BUILD-SNAPSHOT',
+        frameworkpostgresql : '0.1.0-BUILD-SNAPSHOT',
+        frameworkcommand    : '0.1.0-BUILD-SNAPSHOT',
+        frameworktest       : '0.1.0-BUILD-SNAPSHOT',
+        frameworkanubis     : '0.1.0-BUILD-SNAPSHOT',
+        frameworkoffice     : '0.1.0-BUILD-SNAPSHOT',
+        frameworkaccounting : '0.1.0-BUILD-SNAPSHOT',
+        frameworkdeposit    : '0.1.0-BUILD-SNAPSHOT',
+        frameworkcustomer   : '0.1.0-BUILD-SNAPSHOT',
+        validator           : '5.3.0.Final'
 ]
 
 tasks.withType(JavaCompile) {