You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by di...@apache.org on 2023/01/20 12:01:38 UTC

[airavata-mft] branch master updated: Adding controller and agent into standalone deployment

This is an automated email from the ASF dual-hosted git repository.

dimuthuupe pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-mft.git


The following commit(s) were added to refs/heads/master by this push:
     new 606a109  Adding controller and agent into standalone deployment
606a109 is described below

commit 606a109df810585bea893a0633d1303c9f1508ff
Author: Dimuthu Wannipurage <di...@gmail.com>
AuthorDate: Fri Jan 20 07:01:28 2023 -0500

    Adding controller and agent into standalone deployment
---
 .../java/org/apache/airavata/mft/agent/AppConfig.java   |  2 +-
 .../java/org/apache/airavata/mft/agent/MFTAgent.java    |  5 +++--
 .../mft/agent/ingress/ConsulIngressHandler.java         |  4 ++--
 ...lication.properties => agent-application.properties} |  0
 .../apache/airavata/mft/api/handler/MFTApiHandler.java  |  2 +-
 .../org/apache/airavata/mft/admin/MFTConsulClient.java  |  4 ++--
 .../org/apache/airavata/mft/admin/SyncRPCClient.java    |  4 ++--
 controller/pom.xml                                      |  7 ++++++-
 .../org/apache/airavata/mft/controller/AppConfig.java   |  2 +-
 .../apache/airavata/mft/controller/MFTController.java   |  8 +++++---
 .../mft/controller/spawner/AgentOrchestrator.java       | 17 +++++++++++++++--
 .../mft/controller/spawner/EC2AgentSpawner.java         |  5 ++++-
 ...ion.properties => controller-application.properties} |  0
 pom.xml                                                 |  5 +++--
 services/resource-service/server/pom.xml                |  5 -----
 services/secret-service/server/pom.xml                  |  2 +-
 standalone-service/pom.xml                              | 10 ++++++++++
 .../airavata/mft/standalone/server/AppConfig.java       |  4 ----
 .../standalone/server/StandaloneServiceApplication.java |  7 ++++---
 .../src/main/resources/application.properties           | 10 +++++++++-
 .../resources/distribution/conf/application.properties  | 10 +++++++++-
 transport/gcp-transport/pom.xml                         |  5 -----
 transport/s3-transport/pom.xml                          |  2 +-
 23 files changed, 79 insertions(+), 41 deletions(-)

diff --git a/agent/service/src/main/java/org/apache/airavata/mft/agent/AppConfig.java b/agent/service/src/main/java/org/apache/airavata/mft/agent/AppConfig.java
index 1ee0326..1b0f95a 100644
--- a/agent/service/src/main/java/org/apache/airavata/mft/agent/AppConfig.java
+++ b/agent/service/src/main/java/org/apache/airavata/mft/agent/AppConfig.java
@@ -24,7 +24,7 @@ import org.apache.airavata.mft.agent.rpc.RPCParser;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
-@Configuration
+@Configuration("AgentAppConfig")
 public class AppConfig {
 
     @org.springframework.beans.factory.annotation.Value("${consul.host}")
diff --git a/agent/service/src/main/java/org/apache/airavata/mft/agent/MFTAgent.java b/agent/service/src/main/java/org/apache/airavata/mft/agent/MFTAgent.java
index 1353ca0..ffa9ff0 100644
--- a/agent/service/src/main/java/org/apache/airavata/mft/agent/MFTAgent.java
+++ b/agent/service/src/main/java/org/apache/airavata/mft/agent/MFTAgent.java
@@ -27,13 +27,14 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.CommandLineRunner;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
 
 import javax.annotation.PreDestroy;
 import java.util.List;
 import java.util.concurrent.*;
+import org.springframework.context.annotation.PropertySource;
 
-@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
+@SpringBootApplication()
+@PropertySource(value = "classpath:agent-application.properties")
 public class MFTAgent implements CommandLineRunner {
 
     private static final Logger logger = LoggerFactory.getLogger(MFTAgent.class);
diff --git a/agent/service/src/main/java/org/apache/airavata/mft/agent/ingress/ConsulIngressHandler.java b/agent/service/src/main/java/org/apache/airavata/mft/agent/ingress/ConsulIngressHandler.java
index bc705d7..0da8704 100644
--- a/agent/service/src/main/java/org/apache/airavata/mft/agent/ingress/ConsulIngressHandler.java
+++ b/agent/service/src/main/java/org/apache/airavata/mft/agent/ingress/ConsulIngressHandler.java
@@ -213,8 +213,8 @@ public class ConsulIngressHandler {
 
     @PostConstruct
     public void init() throws Exception {
-        transferMessageCache = KVCache.newCache(mftConsulClient.getKvClient(), MFTConsulClient.AGENTS_TRANSFER_REQUEST_MESSAGE_PATH + agentId);
-        rpcMessageCache = KVCache.newCache(mftConsulClient.getKvClient(), MFTConsulClient.AGENTS_RPC_REQUEST_MESSAGE_PATH + agentId);
+        transferMessageCache = KVCache.newCache(mftConsulClient.getKvClient(), MFTConsulClient.AGENTS_TRANSFER_REQUEST_MESSAGE_PATH + agentId, 9);
+        rpcMessageCache = KVCache.newCache(mftConsulClient.getKvClient(), MFTConsulClient.AGENTS_RPC_REQUEST_MESSAGE_PATH + agentId, 9);
 
         boolean connected = false;
         int connectionRetries = 0;
diff --git a/agent/service/src/main/resources/application.properties b/agent/service/src/main/resources/agent-application.properties
similarity index 100%
rename from agent/service/src/main/resources/application.properties
rename to agent/service/src/main/resources/agent-application.properties
diff --git a/api/service/src/main/java/org/apache/airavata/mft/api/handler/MFTApiHandler.java b/api/service/src/main/java/org/apache/airavata/mft/api/handler/MFTApiHandler.java
index f8533a8..69c7262 100644
--- a/api/service/src/main/java/org/apache/airavata/mft/api/handler/MFTApiHandler.java
+++ b/api/service/src/main/java/org/apache/airavata/mft/api/handler/MFTApiHandler.java
@@ -499,7 +499,7 @@ public class MFTApiHandler extends MFTTransferServiceGrpc.MFTTransferServiceImpl
                             .asException());
             }
         } catch (Exception e) {
-            logger.error("Error while fetching resource metadata for resource path " + directRequest.getResourcePath(), e);
+            logger.error("Error while fetching resource metadata" , e);
             responseObserver.onError(Status.INTERNAL
                     .withDescription("Failed to fetch file resource metadata. " + e.getMessage())
                     .asException());
diff --git a/common/common-clients/src/main/java/org/apache/airavata/mft/admin/MFTConsulClient.java b/common/common-clients/src/main/java/org/apache/airavata/mft/admin/MFTConsulClient.java
index 470a554..35cb4c3 100644
--- a/common/common-clients/src/main/java/org/apache/airavata/mft/admin/MFTConsulClient.java
+++ b/common/common-clients/src/main/java/org/apache/airavata/mft/admin/MFTConsulClient.java
@@ -21,7 +21,6 @@ import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.net.HostAndPort;
 import com.google.protobuf.InvalidProtocolBufferException;
-import com.google.protobuf.util.JsonFormat;
 import com.orbitz.consul.Consul;
 import com.orbitz.consul.ConsulException;
 import com.orbitz.consul.KeyValueClient;
@@ -101,7 +100,8 @@ public class MFTConsulClient {
         List<HostAndPort> hostAndPorts = consulHostPorts.entrySet().stream()
                 .map(entry -> fromParts(entry.getKey(), entry.getValue()))
                 .collect(Collectors.toList());
-        this.client = Consul.builder().withMultipleHostAndPort(hostAndPorts, 100000).build();
+        this.client = Consul.builder().withMultipleHostAndPort(hostAndPorts, 100000)
+            .withReadTimeoutMillis(11000).withWriteTimeoutMillis(1000).build();
         this.kvClient = client.keyValueClient();
         this.sessionClient = client.sessionClient();
     }
diff --git a/common/common-clients/src/main/java/org/apache/airavata/mft/admin/SyncRPCClient.java b/common/common-clients/src/main/java/org/apache/airavata/mft/admin/SyncRPCClient.java
index 9e2e1f6..ff0463d 100644
--- a/common/common-clients/src/main/java/org/apache/airavata/mft/admin/SyncRPCClient.java
+++ b/common/common-clients/src/main/java/org/apache/airavata/mft/admin/SyncRPCClient.java
@@ -56,7 +56,7 @@ public class SyncRPCClient {
     }
 
     public void init() {
-        syncResponseCache = KVCache.newCache(mftConsulClient.getKvClient(), baseResponsePath);
+        syncResponseCache = KVCache.newCache(mftConsulClient.getKvClient(), baseResponsePath, 9);
         listenToResponses();
     }
 
@@ -110,6 +110,6 @@ public class SyncRPCClient {
     }
 
     public SyncRPCResponse sendSyncRequest(SyncRPCRequest request) throws MFTConsulClientException, InterruptedException {
-        return sendSyncRequest(request, 100000);
+        return sendSyncRequest(request, 9000);
     }
 }
diff --git a/controller/pom.xml b/controller/pom.xml
index 8239bcf..e75b481 100644
--- a/controller/pom.xml
+++ b/controller/pom.xml
@@ -33,6 +33,11 @@
     <artifactId>mft-controller</artifactId>
 
     <dependencies>
+        <dependency>
+            <groupId>com.google.protobuf</groupId>
+            <artifactId>protobuf-java-util</artifactId>
+            <version>${protobuf.java}</version>
+        </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
             <artifactId>mft-resource-service-client</artifactId>
@@ -92,7 +97,7 @@
         <dependency>
             <groupId>com.amazonaws</groupId>
             <artifactId>aws-java-sdk</artifactId>
-            <version>1.12.371</version>
+            <version>${aws.sdk.version}</version>
         </dependency>
         <dependency>
             <groupId>com.hierynomus</groupId>
diff --git a/controller/src/main/java/org/apache/airavata/mft/controller/AppConfig.java b/controller/src/main/java/org/apache/airavata/mft/controller/AppConfig.java
index 73fbe0f..8f7c5bc 100644
--- a/controller/src/main/java/org/apache/airavata/mft/controller/AppConfig.java
+++ b/controller/src/main/java/org/apache/airavata/mft/controller/AppConfig.java
@@ -25,7 +25,7 @@ import org.apache.airavata.mft.secret.client.SecretServiceClientBuilder;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
-@Configuration
+@Configuration("ControllerConfig")
 public class AppConfig {
 
     @org.springframework.beans.factory.annotation.Value("${consul.host}")
diff --git a/controller/src/main/java/org/apache/airavata/mft/controller/MFTController.java b/controller/src/main/java/org/apache/airavata/mft/controller/MFTController.java
index 2870571..eff5d04 100644
--- a/controller/src/main/java/org/apache/airavata/mft/controller/MFTController.java
+++ b/controller/src/main/java/org/apache/airavata/mft/controller/MFTController.java
@@ -44,10 +44,12 @@ import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.Semaphore;
 import java.util.concurrent.TimeUnit;
+import org.springframework.context.annotation.PropertySource;
 
 @SpringBootApplication()
 @ComponentScan(basePackages = {"org.apache.airavata.mft"})
 @EntityScan("org.apache.airavata.mft.api.db.entities")
+@PropertySource(value = "classpath:controller-application.properties")
 public class MFTController implements CommandLineRunner {
 
     private static final Logger logger = LoggerFactory.getLogger(MFTController.class);
@@ -71,9 +73,9 @@ public class MFTController implements CommandLineRunner {
 
     public void init() {
         logger.info("Initializing the Controller");
-        messageCache = KVCache.newCache(mftConsulClient.getKvClient(), MFTConsulClient.CONTROLLER_TRANSFER_MESSAGE_PATH);
-        stateCache = KVCache.newCache(mftConsulClient.getKvClient(), MFTConsulClient.CONTROLLER_STATE_MESSAGE_PATH);
-        liveAgentCache = KVCache.newCache(mftConsulClient.getKvClient(), MFTConsulClient.LIVE_AGENTS_PATH);
+        messageCache = KVCache.newCache(mftConsulClient.getKvClient(), MFTConsulClient.CONTROLLER_TRANSFER_MESSAGE_PATH, 9);
+        stateCache = KVCache.newCache(mftConsulClient.getKvClient(), MFTConsulClient.CONTROLLER_STATE_MESSAGE_PATH, 9);
+        liveAgentCache = KVCache.newCache(mftConsulClient.getKvClient(), MFTConsulClient.LIVE_AGENTS_PATH, 9);
         pendingMonitor = Executors.newSingleThreadScheduledExecutor();
 
         pendingMonitor.scheduleWithFixedDelay(this::processPending, 2000, 4000, TimeUnit.MILLISECONDS);
diff --git a/controller/src/main/java/org/apache/airavata/mft/controller/spawner/AgentOrchestrator.java b/controller/src/main/java/org/apache/airavata/mft/controller/spawner/AgentOrchestrator.java
index 454acbe..cb58002 100644
--- a/controller/src/main/java/org/apache/airavata/mft/controller/spawner/AgentOrchestrator.java
+++ b/controller/src/main/java/org/apache/airavata/mft/controller/spawner/AgentOrchestrator.java
@@ -146,6 +146,7 @@ public class AgentOrchestrator {
                                 transferDispatcher.getMftConsulClient().getKvClient().deleteKey(transferInfo.consulKey);
                                 logger.info("Terminating the spawner");
                                 metadata.spawner.terminate();
+                                launchedSpawnersMap.remove(key);
                             } finally {
                                 metadata.transferInfos.remove(agentTransferId);
                             }
@@ -161,9 +162,21 @@ public class AgentOrchestrator {
                         logger.info("No transfer infos for spawner {}. Checking for termination", key);
 
                         try {
-                            List<String> pendingAgentTransfers = transferDispatcher.getMftConsulClient().listPendingAgentTransfers(metadata.spawner.getLaunchState().get());
+                            String agentId = null;
+                            try {
+                                agentId = metadata.spawner.getLaunchState().get();
+
+                            } catch (Exception e) {
+                                logger.info("Killing spawner with key {} as the agent is not responding and inactive for {} seconds",
+                                    key, SPAWNER_MAX_IDLE_SECONDS);
+                                metadata.spawner.terminate();
+                                launchedSpawnersMap.remove(key);
+                                return;
+                            }
+
+                            List<String> pendingAgentTransfers = transferDispatcher.getMftConsulClient().listPendingAgentTransfers(agentId);
                             if (pendingAgentTransfers.isEmpty()) {
-                                int totalFilesInProgress = transferDispatcher.getMftConsulClient().getEndpointHookCountForAgent(metadata.spawner.getLaunchState().get());
+                                int totalFilesInProgress = transferDispatcher.getMftConsulClient().getEndpointHookCountForAgent(agentId);
                                 if (totalFilesInProgress == 0) {
                                     logger.info("Killing spawner with key {} as all files were transferred and the agent" +
                                                     " is inactive for {} seconds",
diff --git a/controller/src/main/java/org/apache/airavata/mft/controller/spawner/EC2AgentSpawner.java b/controller/src/main/java/org/apache/airavata/mft/controller/spawner/EC2AgentSpawner.java
index 86a43e1..0ac8094 100644
--- a/controller/src/main/java/org/apache/airavata/mft/controller/spawner/EC2AgentSpawner.java
+++ b/controller/src/main/java/org/apache/airavata/mft/controller/spawner/EC2AgentSpawner.java
@@ -225,7 +225,10 @@ public class EC2AgentSpawner extends AgentSpawner {
                                 Path.of(mftKeyDir, keyName).toAbsolutePath().toString(), systemUser);
                         logger.info("Created SSH Connection. Installing dependencies...");
 
-                        int exeCode = sshProvider.runCommand("sudo apt install -y openjdk-11-jre-headless");
+                        int exeCode = sshProvider.runCommand("sudo apt update -y");
+                        if (exeCode != 0)
+                            throw new IOException("Failed to update apt for VM");
+                        exeCode = sshProvider.runCommand("sudo apt install -y openjdk-11-jre-headless");
                         if (exeCode != 0)
                             throw new IOException("Failed to install jdk on new VM");
                         exeCode = sshProvider.runCommand("sudo apt install -y unzip");
diff --git a/controller/src/main/resources/application.properties b/controller/src/main/resources/controller-application.properties
similarity index 100%
rename from controller/src/main/resources/application.properties
rename to controller/src/main/resources/controller-application.properties
diff --git a/pom.xml b/pom.xml
index 3a771fd..7f2b53b 100755
--- a/pom.xml
+++ b/pom.xml
@@ -137,10 +137,10 @@
         <protobuf.maven.plugin>0.5.1</protobuf.maven.plugin>
         <os.maven.plugin>1.5.0.Final</os.maven.plugin>
         <javax.annotation>1.3.2</javax.annotation>
-        <consul.client>1.3.8</consul.client>
+        <consul.client>1.5.3</consul.client>
         <h2>1.4.191</h2>
         <protobuf.java>3.10.0</protobuf.java>
-        <grpc.spring.boot>3.5.1</grpc.spring.boot>
+        <grpc.spring.boot>4.7.1</grpc.spring.boot>
         <spring.boot.data.jpa>2.2.1.RELEASE</spring.boot.data.jpa>
         <org.slf4j.version>1.7.25</org.slf4j.version>
         <log4j2.version>2.16.0</log4j2.version>
@@ -151,6 +151,7 @@
         <jclouds.version>2.5.0</jclouds.version>
         <commons.io.version>2.6</commons.io.version>
         <apache.http.client.version>4.5.13</apache.http.client.version>
+        <aws.sdk.version>1.12.372</aws.sdk.version>
     </properties>
 
 </project>
diff --git a/services/resource-service/server/pom.xml b/services/resource-service/server/pom.xml
index 24f2ab6..4a36563 100644
--- a/services/resource-service/server/pom.xml
+++ b/services/resource-service/server/pom.xml
@@ -54,11 +54,6 @@
             <artifactId>json-simple</artifactId>
             <version>1.1.1</version>
         </dependency>
-        <dependency>
-            <groupId>io.grpc</groupId>
-            <artifactId>grpc-services</artifactId>
-            <version>1.25.0</version>
-        </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-data-jpa</artifactId>
diff --git a/services/secret-service/server/pom.xml b/services/secret-service/server/pom.xml
index a78354f..f6dd406 100644
--- a/services/secret-service/server/pom.xml
+++ b/services/secret-service/server/pom.xml
@@ -36,7 +36,7 @@
         <dependency>
             <groupId>org.apache.airavata</groupId>
             <artifactId>mft-secret-service-stub</artifactId>
-            <version>0.01-SNAPSHOT</version>
+            <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>com.h2database</groupId>
diff --git a/standalone-service/pom.xml b/standalone-service/pom.xml
index caf728c..f2a1de8 100644
--- a/standalone-service/pom.xml
+++ b/standalone-service/pom.xml
@@ -84,6 +84,16 @@
             <artifactId>dozer</artifactId>
             <version>${dozer}</version>
         </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>mft-agent-service</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>mft-controller</artifactId>
+            <version>${project.version}</version>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/standalone-service/src/main/java/org/apache/airavata/mft/standalone/server/AppConfig.java b/standalone-service/src/main/java/org/apache/airavata/mft/standalone/server/AppConfig.java
index f3298b0..43ec3ae 100644
--- a/standalone-service/src/main/java/org/apache/airavata/mft/standalone/server/AppConfig.java
+++ b/standalone-service/src/main/java/org/apache/airavata/mft/standalone/server/AppConfig.java
@@ -18,14 +18,10 @@
 package org.apache.airavata.mft.standalone.server;
 
 import org.dozer.DozerBeanMapper;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 
 @Configuration("SingleServiceAppConfig")
-@ComponentScan(basePackages = {"org.apache.airavata.mft.api.handler"})
-@EnableAutoConfiguration
 public class AppConfig {
 
 	@Bean(name = "org.dozer.Mapper")
diff --git a/standalone-service/src/main/java/org/apache/airavata/mft/standalone/server/StandaloneServiceApplication.java b/standalone-service/src/main/java/org/apache/airavata/mft/standalone/server/StandaloneServiceApplication.java
index c211947..ec5976f 100644
--- a/standalone-service/src/main/java/org/apache/airavata/mft/standalone/server/StandaloneServiceApplication.java
+++ b/standalone-service/src/main/java/org/apache/airavata/mft/standalone/server/StandaloneServiceApplication.java
@@ -1,21 +1,22 @@
 package org.apache.airavata.mft.standalone.server;
 
 import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.domain.EntityScan;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Import;
 import org.springframework.context.annotation.PropertySource;
 import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
 
-@SpringBootApplication()
-@ComponentScan(basePackages = {"org.apache.airavata.mft.*", "org.apache.airavata.mft.api.*", "org.apache.airavata.mft.api.handler"})
+@ComponentScan(basePackages = {"org.apache.airavata.mft.resource.*", "org.apache.airavata.mft.secret.*",
+		"org.apache.airavata.mft.api.*", "org.apache.airavata.mft.api.handler", "org.apache.airavata.mft.controller"})
 @EntityScan(basePackages = {"org.apache.airavata.mft.resource.server.backend.sql.entity"})
 @EnableJpaRepositories(basePackages = {"org.apache.airavata.mft.resource.server.backend.sql.repository",
 		"org.apache.airavata.mft.secret.server.backend.sql.repository"})
 @PropertySource(value = "classpath:api-service-application.properties")
 @PropertySource(value = "classpath:resource-service-application.properties")
 @PropertySource(value = "classpath:secret-service-application.properties")
+@PropertySource(value = "classpath:agent-application.properties")
+@PropertySource(value = "classpath:controller-application.properties")
 @Import(org.apache.airavata.mft.api.AppConfig.class)
 public class StandaloneServiceApplication {
 	public static void main(String[] args) {
diff --git a/standalone-service/src/main/resources/application.properties b/standalone-service/src/main/resources/application.properties
index dcb9b6a..95a221f 100644
--- a/standalone-service/src/main/resources/application.properties
+++ b/standalone-service/src/main/resources/application.properties
@@ -15,4 +15,12 @@
 # limitations under the License.
 #
 
-spring.main.allow-bean-definition-overriding=true
\ No newline at end of file
+spring.main.allow-bean-definition-overriding=true
+spring.datasource.url=jdbc:h2:~/mft_db;DB_CLOSE_ON_EXIT=FALSE
+
+consul.host=localhost
+consul.port=8500
+resource.service.host=localhost
+resource.service.port=7003
+secret.service.host=localhost
+secret.service.port=7003
\ No newline at end of file
diff --git a/standalone-service/src/main/resources/distribution/conf/application.properties b/standalone-service/src/main/resources/distribution/conf/application.properties
index dcb9b6a..95a221f 100644
--- a/standalone-service/src/main/resources/distribution/conf/application.properties
+++ b/standalone-service/src/main/resources/distribution/conf/application.properties
@@ -15,4 +15,12 @@
 # limitations under the License.
 #
 
-spring.main.allow-bean-definition-overriding=true
\ No newline at end of file
+spring.main.allow-bean-definition-overriding=true
+spring.datasource.url=jdbc:h2:~/mft_db;DB_CLOSE_ON_EXIT=FALSE
+
+consul.host=localhost
+consul.port=8500
+resource.service.host=localhost
+resource.service.port=7003
+secret.service.host=localhost
+secret.service.port=7003
\ No newline at end of file
diff --git a/transport/gcp-transport/pom.xml b/transport/gcp-transport/pom.xml
index 004a9b1..d626a21 100644
--- a/transport/gcp-transport/pom.xml
+++ b/transport/gcp-transport/pom.xml
@@ -66,10 +66,5 @@
 				</exclusion>
 			</exclusions>
 		</dependency>
-		<dependency>
-			<groupId>com.amazonaws</groupId>
-			<artifactId>aws-java-sdk-core</artifactId>
-			<version>1.12.152</version>
-		</dependency>
 	</dependencies>
 </project>
diff --git a/transport/s3-transport/pom.xml b/transport/s3-transport/pom.xml
index b6a4993..33e6b2b 100644
--- a/transport/s3-transport/pom.xml
+++ b/transport/s3-transport/pom.xml
@@ -49,7 +49,7 @@
         <dependency>
             <groupId>com.amazonaws</groupId>
             <artifactId>aws-java-sdk-s3</artifactId>
-            <version>1.12.372</version>
+            <version>${aws.sdk.version}</version>
         </dependency>
     </dependencies>