summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorda490c <dave.adams@amdocs.com>2018-03-28 14:31:48 -0400
committerda490c <dave.adams@amdocs.com>2018-03-28 14:41:07 -0400
commitb505658d523507b2aa8eec564b599ce1e2b1956a (patch)
tree62684f7df224986540506f798a3cb868a0a458eb
parenta0727ffb7ee413d56f0b969c8f47861510ee8d98 (diff)
Adding support for Spring-Boot SSL
Issue-ID: AAI-599 Change-Id: I55ea44c3af3631b9ff3ae72e65f663870a199973 Signed-off-by: da490c <dave.adams@amdocs.com>
-rw-r--r--pom.xml1
-rw-r--r--sparkybe-onap-application/src/main/config/ajsc-override-web.xml13
-rw-r--r--sparkybe-onap-application/src/main/config/runner-web.xml14
-rw-r--r--sparkybe-onap-application/src/main/docker/Dockerfile21
-rw-r--r--sparkybe-onap-application/src/main/java/org/onap/aai/sparky/Application.java104
-rw-r--r--sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkyConfigLoader.java (renamed from sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/PropertyConfigLoader.java)7
-rw-r--r--sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkyHttpConfigLoader.java32
-rw-r--r--sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkySpringXmlConfiguration.java19
-rw-r--r--sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkySslConfigLoader.java32
-rw-r--r--sparkybe-onap-application/src/main/scripts/start.sh57
-rw-r--r--version.properties13
11 files changed, 105 insertions, 208 deletions
diff --git a/pom.xml b/pom.xml
index ced2b31..c869787 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,6 +7,7 @@
<artifactId>sparky-be</artifactId>
<version>1.2.0-SNAPSHOT</version>
<packaging>pom</packaging>
+ <name>aai-sparky-be</name>
<modules>
<module>sparkybe-onap-service/pom.xml</module>
diff --git a/sparkybe-onap-application/src/main/config/ajsc-override-web.xml b/sparkybe-onap-application/src/main/config/ajsc-override-web.xml
deleted file mode 100644
index b8ff7da..0000000
--- a/sparkybe-onap-application/src/main/config/ajsc-override-web.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2016 AT&T Intellectual Property. All rights reserved. -->
-<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
- metadata-complete="false" version="3.0">
-
- <servlet-mapping>
- <servlet-name>PortalRestAPIProxy</servlet-name>
- <url-pattern>/api/v2/*</url-pattern>
- </servlet-mapping>
-
-
-</web-app> \ No newline at end of file
diff --git a/sparkybe-onap-application/src/main/config/runner-web.xml b/sparkybe-onap-application/src/main/config/runner-web.xml
deleted file mode 100644
index ca0c5e2..0000000
--- a/sparkybe-onap-application/src/main/config/runner-web.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!-- Copyright (c) 2016 AT&T Intellectual Property. All rights reserved. -->
-<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
- metadata-complete="false" version="3.0">
-
- <servlet>
- <servlet-name>PortalRestAPIProxy</servlet-name>
- <servlet-class>org.openecomp.portalsdk.core.onboarding.crossapi.PortalRestAPIProxy</servlet-class>
- </servlet>
-
-
-
-</web-app>
diff --git a/sparkybe-onap-application/src/main/docker/Dockerfile b/sparkybe-onap-application/src/main/docker/Dockerfile
index d98110c..f5e620c 100644
--- a/sparkybe-onap-application/src/main/docker/Dockerfile
+++ b/sparkybe-onap-application/src/main/docker/Dockerfile
@@ -16,15 +16,22 @@ RUN export JAVA_HOME
# Build up the deployment folder structure
RUN mkdir -p $MICRO_HOME
RUN mkdir -p $BIN_HOME
+RUN mkdir -p $MICRO_HOME/lib/
+RUN mkdir -p $MICRO_HOME/static/services/aai/webapp/
-# copy swm/package/nix/dist_files/appl/sparky-be/${project.version}/ $MICRO_HOME/
-RUN ls -la $BIN_HOME/
+ADD *.jar $MICRO_HOME/lib/
+ADD scripts/* $MICRO_HOME/bin/
+COPY static/ $MICRO_HOME/static/services/aai/webapp/
+
+RUN chmod 755 $MICRO_HOME/bin/*
+RUN chmod 755 $MICRO_HOME/lib/*
+RUN chmod 755 $MICRO_HOME/static/*
+
+#RUN ls -la $BIN_HOME/
-#RUN chmod 755 $BIN_HOME/*
RUN ln -s /logs $MICRO_HOME/logs
EXPOSE 8000 8000
-
-CMD tail -F -n0 /etc/hosts
-#CMD /opt/app/sparky/bin/start.sh
-#CMD top
+EXPOSE 9517 9517
+
+CMD ["/opt/app/sparky/bin/start.sh"] \ No newline at end of file
diff --git a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/Application.java b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/Application.java
index 548a48b..693617b 100644
--- a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/Application.java
+++ b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/Application.java
@@ -18,92 +18,22 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-/**
- * This copy of Woodstox XML processor is licensed under the
- * Apache (Software) License, version 2.0 ("the License").
- * See the License for details about distribution rights, and the
- * specific rights regarding derivate works.
- *
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/
- *
- * A copy is also included in the downloadable source code package
- * containing Woodstox, in file "ASL2.0", under the same directory
- * as this file.
- */
package org.onap.aai.sparky;
-import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.servlet.CamelHttpTransportServlet;
-import org.apache.camel.model.rest.RestBindingMode;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
-import org.springframework.boot.web.support.SpringBootServletInitializer;
-import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
-import org.springframework.stereotype.Component;
@SpringBootApplication
-public class Application /*extends SpringBootServletInitializer */ {
+public class Application {
- private @Autowired AutowireCapableBeanFactory beanFactory;
-
public static void main(String[] args) {
- ApplicationContext applicationContext = SpringApplication.run(Application.class, args);
-
- /*for (String name : applicationContext.getBeanDefinitionNames()) {
- System.out.println(name);
- }*/
+ SpringApplication.run(Application.class, args);
}
-
- /* @Component
- class RestApi extends RouteBuilder {
-
- @Override
- public void configure() {
-
- //restConfiguration().component("restlet").contextPath("/rs").bindingMode(RestBindingMode.json);
-
-
- /*rest("/books").description("Books REST service")
- .get("/").description("The list of all the books")
- .route().routeId("books-api")
- .bean(Database.class, "findBooks")
- .endRest()
- .get("order/{id}").description("Details of an order by id")
- .route().routeId("order-api")
- .bean(Database.class, "findOrder(${header.id})");*/
- /* }
- }*/
-
-
- /*
- * TODO: we need to figure out the initialization required for our restlets
- */
-
- /*@Bean
- public ServletRegistrationBean restletBootstrapInitialization() {
-
- SpringServerServlet serverServlet = new SpringServerServlet();
- ServletRegistrationBean regBean = new ServletRegistrationBean( serverServlet, "/rest/*");
-
-
- Map<String,String> params = new HashMap<String,String>();
-
- params.put("org.restlet.component", "restletComponent");
-
- regBean.setInitParameters(params);
-
- return regBean;
- }*/
-
-
/*
* This initialization code enabled access to aai-ui-proxy-processor
@@ -117,36 +47,6 @@ public class Application /*extends SpringBootServletInitializer */ {
return servlet;
}
- /* @Bean
- public EmbeddedServletContainerFactory servletContainerFactory() {
- return new TomcatEmbeddedServletContainerFactory() {
-
- /*
- * Stackoverflow solution for adding a WAR into our embedded tomcat runtime
- * https://stackoverflow.com/questions/31374726/spring-boot-how-to-add-another-war-files-to-the-embedded-tomcat
- */
-
-
- /* @Override
- protected TomcatEmbeddedServletContainer getTomcatEmbeddedServletContainer(Tomcat tomcat) {
- // Ensure that the webapps directory exists
- System.out.println("catalina base = " + tomcat.getServer().getCatalinaBase());
- new File(tomcat.getServer().getCatalinaBase(), "webapps").mkdirs();
-
- try {
- Context context = tomcat.addWebapp("/services/aai/webapp", "X:\\2018_dev\\OSEAAI\\NUC-7257-spring-boot-conversion\\onap_sparky-be\\src\\main\\resources\\extApps\\aai.war");
-
- // Allow the webapp to load classes from your fat jar
- context.setParentClassLoader(getClass().getClassLoader());
- } catch (ServletException ex) {
- throw new IllegalStateException("Failed to add webapp", ex);
- }
- return super.getTomcatEmbeddedServletContainer(tomcat);
- }
-
- };
- }*/
-
/**
* bind LoginFilter
*/
diff --git a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/PropertyConfigLoader.java b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkyConfigLoader.java
index dfc4b2b..5124ce7 100644
--- a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/PropertyConfigLoader.java
+++ b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkyConfigLoader.java
@@ -24,7 +24,8 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
@Configuration
-@PropertySource("file:${CONFIG_HOME}/config/sparky-application.properties")
-public class PropertyConfigLoader {
-
+@PropertySource("file:${CONFIG_HOME}/sparky-application.properties")
+public class SparkyConfigLoader {
+
+
}
diff --git a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkyHttpConfigLoader.java b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkyHttpConfigLoader.java
new file mode 100644
index 0000000..4c1d541
--- /dev/null
+++ b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkyHttpConfigLoader.java
@@ -0,0 +1,32 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017-2018 Amdocs
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.aai.sparky.config;
+
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.PropertySource;
+
+@Configuration
+@ConditionalOnProperty(value="sparky.ssl.enabled", havingValue = "true")
+@PropertySource("file:${CONFIG_HOME}/sparky-ssl-config.properties")
+public class SparkyHttpConfigLoader {
+
+}
diff --git a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkySpringXmlConfiguration.java b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkySpringXmlConfiguration.java
index 79656d5..dbbe61d 100644
--- a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkySpringXmlConfiguration.java
+++ b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkySpringXmlConfiguration.java
@@ -18,25 +18,12 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-/**
- * This copy of Woodstox XML processor is licensed under the
- * Apache (Software) License, version 2.0 ("the License").
- * See the License for details about distribution rights, and the
- * specific rights regarding derivate works.
- *
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/
- *
- * A copy is also included in the downloadable source code package
- * containing Woodstox, in file "ASL2.0", under the same directory
- * as this file.
- */
+
package org.onap.aai.sparky.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;
@Configuration
-@ImportResource({"file:${CONFIG_HOME}/dynamic/spring-beans/*.xml"})
-public class SparkySpringXmlConfiguration {}
+@ImportResource({"file:${CONFIG_HOME}/spring-beans/*.xml"})
+public class SparkySpringXmlConfiguration {} \ No newline at end of file
diff --git a/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkySslConfigLoader.java b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkySslConfigLoader.java
new file mode 100644
index 0000000..c493f64
--- /dev/null
+++ b/sparkybe-onap-application/src/main/java/org/onap/aai/sparky/config/SparkySslConfigLoader.java
@@ -0,0 +1,32 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017-2018 Amdocs
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.aai.sparky.config;
+
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.PropertySource;
+
+@Configuration
+@ConditionalOnProperty(value="sparky.ssl.enabled", havingValue = "false")
+@PropertySource("file:${CONFIG_HOME}/sparky-http-config.properties")
+public class SparkySslConfigLoader {
+
+}
diff --git a/sparkybe-onap-application/src/main/scripts/start.sh b/sparkybe-onap-application/src/main/scripts/start.sh
index 514d7c5..0db0d37 100644
--- a/sparkybe-onap-application/src/main/scripts/start.sh
+++ b/sparkybe-onap-application/src/main/scripts/start.sh
@@ -1,59 +1,10 @@
#!/bin/sh
-BASEDIR="/opt/app/sparky"
-MICRO_HOME="$BASEDIR"
-CONFIG_HOME=${MICRO_HOME}/config
+APP_HOME="/opt/app/sparky"
+CONFIG_HOME=${APP_HOME}/appconfig
-if [ -z "$CONFIG_HOME" ]; then
- echo "CONFIG_HOME must be set in order to start up process"
- exit 1
-fi
-
-PROPS="-DCONFIG_HOME=${CONFIG_HOME}"
-
-#echo $CLASSPATH
+PROPS="-DAPP_HOME=${APP_HOME} -DCONFIG_HOME=${CONFIG_HOME}"
set -x
-exec java -Xms1024m -Xmx4096m $PROPS -jar ${MICRO_HOME}/sparky-be.jar --spring.config.name=sparky-be-application
-
-
-
-
-#if [ -z "$KEY_STORE_PASSWORD" ]; then
-# echo "KEY_STORE_PASSWORD must be set in order to start up process"
-# exit 1
-#else
-# sed -i /"KEY_STORE_PASSWORD"/d $AJSC_CONF_HOME/etc/sysprops/sys-props.properties
-# echo "KEY_STORE_PASSWORD=$KEY_STORE_PASSWORD" >> $AJSC_CONF_HOME/etc/sysprops/sys-props.properties
-#fi
-
-#if [ -z "$KEY_MANAGER_PASSWORD" ]; then
-# echo "KEY_MANAGER_PASSWORD must be set in order to start up process"
-# exit 1
-#else
-# sed -i /"KEY_MANAGER_PASSWORD"/d $AJSC_CONF_HOME/etc/sysprops/sys-props.properties
-# echo "KEY_MANAGER_PASSWORD=$KEY_MANAGER_PASSWORD" >> $AJSC_CONF_HOME/etc/sysprops/sys-props.properties
-#fi
-
-#CLASSPATH="$AJSC_HOME/lib/ajsc-runner-2.0.0.jar"
-#CLASSPATH="$CLASSPATH:$AJSC_HOME/extJars/"
-#CLASSPATH="$CLASSPATH:$CONFIG_HOME/portal/"
-#PROPS="-DAJSC_HOME=$AJSC_HOME"
-#PROPS="$PROPS -DAJSC_CONF_HOME=$BASEDIR/bundleconfig/"
-#PROPS="$PROPS -Dlogback.configurationFile=$BASEDIR/bundleconfig/etc/logback.xml"
-#PROPS="$PROPS -DAJSC_SHARED_CONFIG=$AJSC_CONF_HOME"
-#PROPS="$PROPS -DAJSC_EXTERNAL_LIB_FOLDERS=$AJSC_HOME/commonLibs"
-#PROPS="$PROPS -DAJSC_EXTERNAL_PROPERTIES_FOLDERS=$AJSC_HOME/ajsc-shared-config/etc"
-#PROPS="$PROPS -DAJSC_SERVICE_NAMESPACE=ajsc-tier-support-ui"
-#PROPS="$PROPS -DAJSC_SERVICE_VERSION=v1"
-#PROPS="$PROPS -DSOACLOUD_SERVICE_VERSION=0.0.0"
-#PROPS="$PROPS -Dserver.port=8000"
-#PROPS="$PROPS -DCONFIG_HOME=$CONFIG_HOME"
-
-#echo $CLASSPATH
+java -Xms1024m -Xmx4096m $PROPS -jar ${APP_HOME}/lib/sparkybe-onap-application*.jar --sparky.ssl.enabled=${UI_SSL_ENABLED}
-#if [ "$UI_HTTPS_PORT" ]; then
-# /usr/lib/jvm/java-8-openjdk-amd64/bin/java -Xms1024m -Xmx4096m $PROPS -classpath $CLASSPATH com.att.ajsc.runner.Runner context=/ sslport=$UI_HTTPS_PORT
-#elif [ "$UI_HTTP_PORT" ]; then
-# /usr/lib/jvm/java-8-openjdk-amd64/bin/java -Xms1024m -Xmx4096m $PROPS -classpath $CLASSPATH com.att.ajsc.runner.Runner context=/ port=$UI_HTTP_PORT
-#fi
diff --git a/version.properties b/version.properties
new file mode 100644
index 0000000..faf06bb
--- /dev/null
+++ b/version.properties
@@ -0,0 +1,13 @@
+# Versioning variables
+# Note that these variables cannot be structured (e.g. : version.release or version.snapshot etc... )
+# because they are used in Jenkins, whose plug-in doesn't support
+
+major=1
+minor=2
+patch=0
+
+base_version=${major}.${minor}.${patch}
+
+# Release must be completed with git revision # in Jenkins
+release_version=${base_version}
+snapshot_version=${base_version}-SNAPSHOT