diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 580a2a95dff32de06ed347420beb05118f5c18ed..63bbb69f8fa12dafdc30190a94c2c1587128b4d1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,4 @@
-# Gitlab CI/CD script for the Melodic Integration project
+## Gitlab CI/CD script for the Melodic Integration project
variables:
DOCKER_PUSH: "true"
@@ -17,7 +17,7 @@ variables:
PROCESS_CLI: "mvn -DskipTests --batch-mode -f process/pom.xml"
DOCKER_DRIVER: overlay
DOCKER_TLS_CERTDIR: "/certs"
- IMAGE_TAG: "morphemic-rc2.5"
+ IMAGE_TAG: "proactive-dev-2.5"
cache:
paths:
@@ -73,12 +73,7 @@ deploy-connectors:connectors:
stage: deploy-connectors
image: $MAVEN_IMAGE
only:
- - master
- - rc3.0
- - rc3.1
- - morph-rc1.5
- - morphemic-rc2.5
- - proactive-dev
+ - proactive-dev-2.5
dependencies:
- build-connectors:connectors
script:
@@ -88,12 +83,7 @@ deploy-raml:raml_to_jaxrs:
stage: deploy-raml
image: $MAVEN_IMAGE
only:
- - master
- - rc3.0
- - rc3.1
- - morph-rc1.5
- - morphemic-rc2.5
- - proactive-dev
+ - proactive-dev-2.5
dependencies:
- build-raml:raml_to_jaxrs
script:
@@ -103,12 +93,7 @@ deploy-interfaces:interfaces:
stage: deploy-interfaces
image: $MAVEN_IMAGE
only:
- - master
- - rc3.0
- - rc3.1
- - morph-rc1.5
- - morphemic-rc2.5
- - proactive-dev
+ - proactive-dev-2.5
dependencies:
- build-interfaces:interfaces
script:
@@ -118,12 +103,7 @@ deploy-rest:mule_esb:
stage: deploy-rest
image: $DOCKER_DIND_IMAGE
only:
- - master
- - rc3.0
- - rc3.1
- - morph-rc1.5
- - morphemic-rc2.5
- - proactive-dev
+ - proactive-dev-2.5
dependencies:
- deploy-raml:raml_to_jaxrs
- deploy-interfaces:interfaces
@@ -132,19 +112,14 @@ deploy-rest:mule_esb:
script:
- $DOCKER_CLI $MULE_ESB_CLI -Ddocker.imagePrefix=melodic/ clean install
- echo "$K8S_SECRET_DOCKER_PASSWORD" | docker login $DOCKER_REPO -u $K8S_SECRET_DOCKER_USER --password-stdin
- - docker tag $LOCAL_REPO/melodic/mule $DOCKER_REPO/melodic/melodic-integration/mule:$IMAGE_TAG
+ - docker tag $LOCAL_REPO/melodic/mule:latest $DOCKER_REPO/melodic/melodic-integration/mule:$IMAGE_TAG
- docker push $DOCKER_REPO/melodic/melodic-integration/mule:$IMAGE_TAG
deploy-rest:process:
stage: deploy-rest
image: $DOCKER_DIND_IMAGE
only:
- - master
- - rc3.0
- - rc3.1
- - morph-rc1.5
- - morphemic-rc2.5
- - proactive-dev
+ - proactive-dev-2.5
dependencies:
- deploy-raml:raml_to_jaxrs
- deploy-interfaces:interfaces
@@ -153,5 +128,5 @@ deploy-rest:process:
script:
- $DOCKER_CLI $PROCESS_CLI -Ddocker.imagePrefix=melodic/ clean install
- echo "$K8S_SECRET_DOCKER_PASSWORD" | docker login $DOCKER_REPO -u $K8S_SECRET_DOCKER_USER --password-stdin
- - docker tag $LOCAL_REPO/melodic/process $DOCKER_REPO/melodic/melodic-integration/process:$IMAGE_TAG
+ - docker tag $LOCAL_REPO/melodic/process:latest $DOCKER_REPO/melodic/melodic-integration/process:$IMAGE_TAG
- docker push $DOCKER_REPO/melodic/melodic-integration/process:$IMAGE_TAG
diff --git a/connectors/pom.xml b/connectors/pom.xml
index e267dfbf467652fdfddc24d914b1e622b1c619d2..83c17579e87ffadbbaa55e1bb40b2d3a095eb289 100644
--- a/connectors/pom.xml
+++ b/connectors/pom.xml
@@ -6,7 +6,7 @@
cloud.morphemic.connectors
connectors
- 2.5-SNAPSHOT
+ 2.6-SNAPSHOT
proactive_client
@@ -38,7 +38,11 @@
maven-central
https://repo1.maven.org/maven2/
-
+
+ activeeon
+ repository.activeeon
+ http://repository.activeeon.com/content/groups/proactive/
+
ow2
OW2 repository
diff --git a/connectors/proactive_client/pom.xml b/connectors/proactive_client/pom.xml
index 8a0cd372c7dfa86b8e77fd1a3a90f02a6f99981a..35b0fce31521e53abdd172663f057edc48e38f24 100644
--- a/connectors/proactive_client/pom.xml
+++ b/connectors/proactive_client/pom.xml
@@ -7,11 +7,11 @@
connectors
cloud.morphemic.connectors
- 2.5-SNAPSHOT
+ 2.6-SNAPSHOT
proactive_client
- 2.5-SNAPSHOT
+ 2.6-SNAPSHOT
1.8
@@ -21,7 +21,7 @@
org.activeeon
scheduling-abstraction-layer
- 4.5-SNAPSHOT
+ 4.6-SNAPSHOT
diff --git a/mule_esb/mule-integration/pom.xml b/mule_esb/mule-integration/pom.xml
index 0cd9982e4765fd090f1448eaffd47c1b98651525..22daa99058f82e766b4a6a88fdd9117c81ee0ad2 100644
--- a/mule_esb/mule-integration/pom.xml
+++ b/mule_esb/mule-integration/pom.xml
@@ -261,7 +261,7 @@
cloud.morphemic.connectors
proactive_client
- 2.5-SNAPSHOT
+ 2.6-SNAPSHOT
org.hibernate.validator
diff --git a/mule_esb/mule-integration/src/main/docker/Dockerfile b/mule_esb/mule-integration/src/main/docker/Dockerfile
index e698218cbf81db74f455e6e0c24f48dfcf1e48ef..92b505e78e864955e021954722f082019d04421c 100644
--- a/mule_esb/mule-integration/src/main/docker/Dockerfile
+++ b/mule_esb/mule-integration/src/main/docker/Dockerfile
@@ -1,4 +1,4 @@
-FROM java:openjdk-8-jre
+FROM openjdk:8-alpine
MAINTAINER mprusinski@7bulls.com
diff --git a/mule_esb/mule-integration/src/main/java/cloud/morphemic/mule_integration/proactive/ProactiveClientServiceForIntegrationImpl.java b/mule_esb/mule-integration/src/main/java/cloud/morphemic/mule_integration/proactive/ProactiveClientServiceForIntegrationImpl.java
index 72f473ea2dfcf7586b872290ab6c4de2d3f93138..928108073ea64211e88d2d1414fd03012db30a26 100644
--- a/mule_esb/mule-integration/src/main/java/cloud/morphemic/mule_integration/proactive/ProactiveClientServiceForIntegrationImpl.java
+++ b/mule_esb/mule-integration/src/main/java/cloud/morphemic/mule_integration/proactive/ProactiveClientServiceForIntegrationImpl.java
@@ -46,10 +46,12 @@ public class ProactiveClientServiceForIntegrationImpl extends ProactiveClientSer
cloudJSON.put("cloudProviderName", ((LinkedHashMap) (((LinkedHashMap) cloudDefinition).get("api"))).get("providerName"));
cloudJSON.put("endpoint", MoreObjects.firstNonNull(((LinkedHashMap) cloudDefinition).get("endpoint"), JSONObject.NULL));
LinkedHashMap credentials = (LinkedHashMap) ((LinkedHashMap) cloudDefinition).get("credential");
+
if(ObjectUtils.isEmpty(credentials)) {
log.error("ProactiveClientServiceForIntegrationImpl->callAddClouds: Got cloud definition without credentials - user and secret are required to operate with cloud service provider");
throw new RuntimeException("Got cloud definition without credentials - user and secret are required to operate with cloud service provider");
}
+
credentialsJSON = new JSONObject();
credentialsJSON.put("domain", credentials.get("domain"));
credentialsJSON.put("user", credentials.get("user"));
@@ -63,17 +65,39 @@ public class ProactiveClientServiceForIntegrationImpl extends ProactiveClientSer
String defaultNetwork = null;
String subnet = null;
String regionBlacklist = null;
+ String sshUsername = null;
+ String sshKeyPairName = null;
+ String sshPrivateKey = null;
+
JSONObject scopeJSON = new JSONObject();
+ JSONObject sshCredentialsJSON = new JSONObject();
LinkedHashMap cloudConfiguration = (LinkedHashMap)((LinkedHashMap) cloudDefinition).get("cloudConfiguration");
+ LinkedHashMap SSHCredentials = (LinkedHashMap)((LinkedHashMap) cloudDefinition).get("sshcredentials");
+
+ if(ObjectUtils.isNotEmpty(SSHCredentials)){
+ sshUsername = (SSHCredentials.get("username") != null) ? (String) SSHCredentials.get("username") : null;
+ sshKeyPairName = (SSHCredentials.get("keyPairName") != null) ? (String) SSHCredentials.get("keyPairName") : null;
+ sshPrivateKey = (SSHCredentials.get("privateKey") != null) ? (String) SSHCredentials.get("privateKey") : null;
+
+ sshCredentialsJSON.put("username", sshUsername);
+ sshCredentialsJSON.put("keyPairName", sshKeyPairName);
+ sshCredentialsJSON.put("privateKey", sshPrivateKey);
+
+ cloudJSON.put("sshCredentials", sshCredentialsJSON);
+ }
+
if(ObjectUtils.isNotEmpty(cloudConfiguration)) {
identityVersion = (cloudConfiguration.get("identityVersion") != null) ? Integer.parseInt((String) cloudConfiguration.get("identityVersion")) : null;
scopePrefix = (cloudConfiguration.get("scopePrefix") != null) ? (String) cloudConfiguration.get("scopePrefix") : null;
scopeValue = (cloudConfiguration.get("scopeValue") != null) ? (String) cloudConfiguration.get("scopeValue") : null;
+
cloudJSON.put("identityVersion", identityVersion);
scopeJSON.put("prefix", scopePrefix);
scopeJSON.put("value", scopeValue);
cloudJSON.put("scope", scopeJSON);
+
+
LinkedHashMap properties = (LinkedHashMap) cloudConfiguration.get("properties");
if (ObjectUtils.isNotEmpty(properties)) {
securityGroup = (String) properties.get("securityGroup");
@@ -81,6 +105,7 @@ public class ProactiveClientServiceForIntegrationImpl extends ProactiveClientSer
subnet = (String) properties.get("subnet");
regionBlacklist = (String) properties.get("regionBlacklist");
}
+
nodeGroup = (String) cloudConfiguration.get("nodeGroup");
}
cloudJSON.put("securityGroup", MoreObjects.firstNonNull(securityGroup, JSONObject.NULL));
diff --git a/process/src/main/docker/Dockerfile b/process/src/main/docker/Dockerfile
index 2d59a9eabd4102a3fdc468846a21e765af307539..a573016100ae04619d09d5d06ef55fd5721e3f58 100644
--- a/process/src/main/docker/Dockerfile
+++ b/process/src/main/docker/Dockerfile
@@ -1,4 +1,4 @@
-FROM java:8-alpine
+FROM openjdk:8-alpine
RUN /bin/sh -c "apk add --no-cache bash"
VOLUME /tmp