From 978dbcf0a196acbafad72fe1e2478ec0e384f02f Mon Sep 17 00:00:00 2001 From: "Christopher Lott (cl778h)" Date: Wed, 23 Aug 2017 18:27:19 -0400 Subject: Deliver centralized role management feature Repair multiple defects also. Revise deployment to use docker-compose. Remove all zip archives. Issue: PORTAL-21, PORTAL-25, PORTAL-28, PORTAL-52, PORTAL-69, PORTAL-74, PORTAL-76, PORTAL-80, PORTAL-82 Change-Id: Ie72fec7d35ba78beb162bba6ed27b2caee340c61 Signed-off-by: Christopher Lott (cl778h) --- .../src/main/resources/application-properties | 28 ++++ .../resources/application.properties.templated | 35 +++++ .../src/main/resources/framework-template.js | 173 +++++++++++++++++++++ .../widget-ms/src/main/resources/logback.xml | 138 ++++++++++++++++ .../src/main/resources/templates/Upload.html | 17 ++ .../src/main/resources/templates/widgetsPage.html | 15 ++ .../src/main/resources/widget-keystore.p12 | Bin 0 -> 2638 bytes .../src/main/resources/widget_ms_start.sh | 4 + .../widget-ms/src/main/resources/widget_ms_stop.sh | 5 + 9 files changed, 415 insertions(+) create mode 100644 ecomp-portal-widget-ms/widget-ms/src/main/resources/application-properties create mode 100644 ecomp-portal-widget-ms/widget-ms/src/main/resources/application.properties.templated create mode 100644 ecomp-portal-widget-ms/widget-ms/src/main/resources/framework-template.js create mode 100644 ecomp-portal-widget-ms/widget-ms/src/main/resources/logback.xml create mode 100644 ecomp-portal-widget-ms/widget-ms/src/main/resources/templates/Upload.html create mode 100644 ecomp-portal-widget-ms/widget-ms/src/main/resources/templates/widgetsPage.html create mode 100644 ecomp-portal-widget-ms/widget-ms/src/main/resources/widget-keystore.p12 create mode 100755 ecomp-portal-widget-ms/widget-ms/src/main/resources/widget_ms_start.sh create mode 100755 ecomp-portal-widget-ms/widget-ms/src/main/resources/widget_ms_stop.sh (limited to 'ecomp-portal-widget-ms/widget-ms/src/main/resources') diff --git a/ecomp-portal-widget-ms/widget-ms/src/main/resources/application-properties b/ecomp-portal-widget-ms/widget-ms/src/main/resources/application-properties new file mode 100644 index 00000000..77d2b78d --- /dev/null +++ b/ecomp-portal-widget-ms/widget-ms/src/main/resources/application-properties @@ -0,0 +1,28 @@ +## General App Properties +server.contextPath=/widget +server.port=8082 +spring.http.multipart.max-file-size=128MB +spring.http.multipart.max-request-size=128MB +microservice.widget.location=/demeter/WebApps/dev/ECOMPPORTAL/microservices/widgets-dir/ + +## App DB Properties +spring.datasource.url=jdbc:mariadb:failover://demeter.homer.att.com:3306/ecomp_portal_1702&connectTimeout=2000 +spring.datasource.username=portal +spring.datasource.password=ENC(8tWrJAXdOKaMqvrVy5e2Jg==) +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect +spring.database.driver.classname=org.mariadb.jdbc.Driver +spring.jpa.show-sql=false +spring.jpa.properties.hibernate.format_sql=false + +## Basic Authentication Properties +security.user.name=widget_user +security.user.password=ENC(IjywcRnI9+nuVEh9+OFFiRWAjBT1n718) + +## Certificate Properties +#server.ssl.key-store=classpath:widget-keystore.p12 +#server.ssl.key-store-password=ENC(DiIYnAMab4u7rEW2yKhF9zBL00uU55q8) +#server.ssl.keyStoreType=PKCS12 +#server.ssl.keyAlias=widget-microservice + +## Jasypt Properties +jasypt.encryptor.password=EncryptionKey diff --git a/ecomp-portal-widget-ms/widget-ms/src/main/resources/application.properties.templated b/ecomp-portal-widget-ms/widget-ms/src/main/resources/application.properties.templated new file mode 100644 index 00000000..ec4803f0 --- /dev/null +++ b/ecomp-portal-widget-ms/widget-ms/src/main/resources/application.properties.templated @@ -0,0 +1,35 @@ +## General App Properties +server.contextPath=/widget +server.port=8082 +spring.http.multipart.max-file-size=128MB +spring.http.multipart.max-request-size=128MB + +## App DB Properties +spring.datasource.url=jdbc:mariadb:failover://{db_host:db_port/{portal_db} +spring.datasource.username={username} +spring.datasource.password=ENC({encrypted_password}) +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect +spring.database.driver.classname=org.mariadb.jdbc.Driver +spring.jpa.show-sql=false +spring.jpa.properties.hibernate.format_sql=false + +## Basic Authentication Properties +security.user.name={basic_auth_username} +security.user.password=ENC({encrypted_basic_auth_password}) + +## Initalization setting +initialization.default.widgets=true +initialization.widgetData.url={widgetData_url} + +## Account Basic Authentication Properties +account.user.name=portal +account.user.password=6APqvG4AU2rfLgCvMdySwQ== + +## Certificate Properties +#server.ssl.key-store=classpath:widget-keystore.p12 +#server.ssl.key-store-password=ENC(DiIYnAMab4u7rEW2yKhF9zBL00uU55q8) +#server.ssl.keyStoreType=PKCS12 +#server.ssl.keyAlias=widget-microservice + +## Jasypt Properties +jasypt.encryptor.password=EncryptionKey \ No newline at end of file diff --git a/ecomp-portal-widget-ms/widget-ms/src/main/resources/framework-template.js b/ecomp-portal-widget-ms/widget-ms/src/main/resources/framework-template.js new file mode 100644 index 00000000..45350d91 --- /dev/null +++ b/ecomp-portal-widget-ms/widget-ms/src/main/resources/framework-template.js @@ -0,0 +1,173 @@ +var ARUGMENT1 = (function(window, undefined) { + + var ARUGMENT1 = ARUGMENT1 || {}; + function extractHostPortApp(src) { + ARUGMENT1.microserviceId = MICROSERVICE_ID; + ARUGMENT1.pathArray = src.split( '/' ); + ARUGMENT1.widgetName = ARUGMENT1.pathArray[ARUGMENT1.pathArray.length - 2]; + ARUGMENT1.serviceSeperator = ARUGMENT1.pathArray[ARUGMENT1.pathArray.length - 4]; + ARUGMENT1.commonUrl = src.substring(0, src.lastIndexOf("/" + ARUGMENT1.widgetName)); + ARUGMENT1.recipientDivDataAttrib = 'data-' + ARUGMENT1.widgetName; + ARUGMENT1.controllerName = 'ARUGMENT2'; + ARUGMENT1.readyCssFlag = 'ARUGMENT3'; + ARUGMENT1.readyCssFlagExpectedValue = '#bada55'; + ARUGMENT1.serviceURL = src.substring(0, src.lastIndexOf("/" + ARUGMENT1.serviceSeperator)) + '/portalApi/microservice/proxy/parameter/' + WIDGET_ID; + } + + extractHostPortApp(document.currentScript.src); + + function loadStylesheet(url) { + var link = document.createElement('link'); + link.rel = 'stylesheet'; + link.type = 'text/css'; + link.href = url; + var entry = document.getElementsByTagName('script')[0]; + entry.parentNode.insertBefore(link, entry); + } + + function isCssReady(callback) { + var testElem = document.createElement('span'); + testElem.id = ARUGMENT1.readyCssFlag; + testElem.style = 'CSS_ARG1'; + var entry = document.getElementsByTagName('script')[0]; + entry.parentNode.insertBefore(testElem, entry); + + (function poll() { + var node = document.getElementById('css-ready'); + var value; + if (window.getComputedStyle) { + value = document.defaultView.getComputedStyle(testElem, null) + .getPropertyValue('color'); + } + else if (node.currentStyle) { + value = node.currentStyle.color; + } + if (value && value === 'rgb(186, 218, 85)' || value.toLowerCase() === ARUGMENT1.readyCssFlagExpectedValue) { + callback(); + } else { + setTimeout(poll, 500); + } + })(); + } + + function injectCss(css) { + var style = document.createElement('style'); + style.type = 'text/css'; + css = css.replace(/\}/g, "}\n"); + + if (style.styleSheet) { + style.styleSheet.cssText = css; + } else { + style.appendChild(document.createTextNode(css)); + } + var entry = document.getElementsByTagName('script')[0]; + entry.parentNode.insertBefore(style, entry); + } + + function loadScript(url, callback) { + var script = document.createElement('script'); + script.src = url; + var entry = document.getElementsByTagName('script')[0]; + entry.parentNode.insertBefore(script, entry); + script.onload = script.onreadystatechange = function() { + var rdyState = script.readyState; + if (!rdyState || /complete|loaded/.test(script.readyState)) { + callback(); + script.onload = null; + script.onreadystatechange = null; + } + }; + } + + function loadSupportingFiles(callback) { + callback(); + } + + function getWidgetParams() { + + } + + function getWidgetData(widgetUrl, callback) { + var responseData; + try{ + jQuery.ajax({ + url: widgetUrl, + method: "GET", + xhrFields: { + withCredentials: true + }, + crossDomain: true, + success: function (result) { + if (result.isOk == false){ + + }else{ + callback(result); + } + } + }); + } + catch(e){ + + } + + } + + function getMarkupContent(markupLocation, target){ + + jQuery.ajax({ + url: markupLocation, + success: function (result) { + if (result.isOk == false){ + + }else{ + target.innerHTML = result; + } + }, + async: false + }); + } + + function renderWidget(data, location, $controllerProvider) { + var div = document.createElement('div'); + getMarkupContent(ARUGMENT1.commonUrl + "/markup/" + ARUGMENT1.widgetName, div); + location.append(div); + ARUGMENT1.widgetData = data; + app.controllerProvider.register(ARUGMENT1.controllerName, ARUGMENT1.controller); + var mController = angular.element(document.getElementById("widgets")); + mController.scope().activateThis(location); + } + + function printAllArtifacts(moduleName, controllerName) { + var queue = angular.module(moduleName)._invokeQueue; + for(var i=0;i + + + + + + + + + %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + + ${HOSTNAME} + + + + ${WIDGET_LOG_HOME}/aduit.log + + + %date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%logger{0}|%-5level|%contextName| %msg%n" + + + + + ${WIDGET_LOG_HOME}/archived/aduit.%d{yyyy-MM-dd}.%i.zip + + 30 + + 100KB + + + + + + ${WIDGET_LOG_HOME}/application.log + + + %date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%logger{0}|%-5level|%contextName| %msg%n" + + + + + ${WIDGET_LOG_HOME}/archived/application.%d{yyyy-MM-dd}.%i.zip + + 30 + + 100KB + + + + + + + ${WIDGET_LOG_HOME}/debug.log + + + %date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%logger{0}|%-5level|%contextName| %msg%n" + + + + + ${WIDGET_LOG_HOME}/archived/debug.%d{yyyy-MM-dd}.%i.zip + + 30 + + 100KB + + + + + + + ${WIDGET_LOG_HOME}/error.log + + + %date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%logger{0}|%-5level|%contextName| %msg%n" + + + + + ${WIDGET_LOG_HOME}/archived/error.%d{yyyy-MM-dd}.%i.zip + + 30 + + 100KB + + + + + + + ${WIDGET_LOG_HOME}/metrics.log + + + %date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%logger{0}|%-5level|%contextName| %msg%n" + + + + + ${WIDGET_LOG_HOME}/archived/metrics.%d{yyyy-MM-dd}.%i.zip + + 30 + + 100KB + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ecomp-portal-widget-ms/widget-ms/src/main/resources/templates/Upload.html b/ecomp-portal-widget-ms/widget-ms/src/main/resources/templates/Upload.html new file mode 100644 index 00000000..a5e7c632 --- /dev/null +++ b/ecomp-portal-widget-ms/widget-ms/src/main/resources/templates/Upload.html @@ -0,0 +1,17 @@ + + +
+
+ + + + + + + + +
Pick file:
+
+
+ + \ No newline at end of file diff --git a/ecomp-portal-widget-ms/widget-ms/src/main/resources/templates/widgetsPage.html b/ecomp-portal-widget-ms/widget-ms/src/main/resources/templates/widgetsPage.html new file mode 100644 index 00000000..440f64ca --- /dev/null +++ b/ecomp-portal-widget-ms/widget-ms/src/main/resources/templates/widgetsPage.html @@ -0,0 +1,15 @@ + + + +

Uploaded Widgets:

+ +
+ +
+ + + diff --git a/ecomp-portal-widget-ms/widget-ms/src/main/resources/widget-keystore.p12 b/ecomp-portal-widget-ms/widget-ms/src/main/resources/widget-keystore.p12 new file mode 100644 index 00000000..b2dd42ff Binary files /dev/null and b/ecomp-portal-widget-ms/widget-ms/src/main/resources/widget-keystore.p12 differ diff --git a/ecomp-portal-widget-ms/widget-ms/src/main/resources/widget_ms_start.sh b/ecomp-portal-widget-ms/widget-ms/src/main/resources/widget_ms_start.sh new file mode 100755 index 00000000..8405fe99 --- /dev/null +++ b/ecomp-portal-widget-ms/widget-ms/src/main/resources/widget_ms_start.sh @@ -0,0 +1,4 @@ +APP_PROPERTY_LOCATION=/tmp/application.properties +echo "Starting ecomp-portal-widget-ms image in a new container !!!" +docker run -d --name "ecomp-portal-widget-ms" -p 8083:8082 -v $APP_PROPERTY_LOCATION:/application.properties ecompportal-widget-ms + diff --git a/ecomp-portal-widget-ms/widget-ms/src/main/resources/widget_ms_stop.sh b/ecomp-portal-widget-ms/widget-ms/src/main/resources/widget_ms_stop.sh new file mode 100755 index 00000000..8c9abf56 --- /dev/null +++ b/ecomp-portal-widget-ms/widget-ms/src/main/resources/widget_ms_stop.sh @@ -0,0 +1,5 @@ +echo "Stopping ecomp-portal-widget-ms container !!!" +docker stop ecomp-portal-widget-ms +echo "Removing docker image portal-widget-ms !!!" +docker rm ecomp-portal-widget-ms + -- cgit 1.2.3-korg