Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Open Subsurface Data Universe Software
Platform
System
Register
Commits
83dadb22
Commit
83dadb22
authored
Feb 22, 2021
by
Auto GO3-NRG Ticket
Browse files
Auto commit when pipeline succeeds
parents
5e25c2a0
8c760148
Changes
13
Hide whitespace changes
Inline
Side-by-side
.gitignore
View file @
83dadb22
.classpath
.factorypath
.project
.settings/
target/
...
...
pom.xml
View file @
83dadb22
...
...
@@ -30,7 +30,7 @@
<maven.compiler.source>
1.8
</maven.compiler.source>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<springfox-version>
2.7.0
</springfox-version>
<osdu.oscorecommon.version>
0.3.2
3
</osdu.oscorecommon.version>
<osdu.oscorecommon.version>
0.3.2
8
</osdu.oscorecommon.version>
</properties>
<licenses>
...
...
provider/register-aws/build-aws/Dockerfile
View file @
83dadb22
...
...
@@ -18,7 +18,14 @@ FROM amazoncorretto:8
ARG
JAR_FILE=provider/register-aws/target/*spring-boot.jar
# Harcoding this value since Register-core requires this variable. AWS does not use it. Might change in future
ENV
ENVIRONMENT=DEV
#Default to using self signed generated TLS cert
ENV
USE_SELF_SIGNED_SSL_CERT true
WORKDIR
/
COPY
${JAR_FILE} app.jar
COPY
/provider/register-aws/build-aws/ssl.sh /ssl.sh
COPY
/provider/register-aws/build-aws/entrypoint.sh /entrypoint.sh
EXPOSE
8080
ENTRYPOINT
java $JAVA_OPTS -jar /app.jar
ENTRYPOINT
["/bin/sh", "-c", ". /entrypoint.sh"]
provider/register-aws/build-aws/buildspec.yaml
View file @
83dadb22
...
...
@@ -27,9 +27,11 @@ phases:
runtime-versions
:
java
:
corretto8
commands
:
# fix error noted here: https://github.com/yarnpkg/yarn/issues/7866
-
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
-
if [ $(echo $CODEBUILD_SOURCE_VERSION | grep -c ^refs/heads.*) -eq 1 ]; then echo "Branch name found"; else echo "This build only supports branch builds" && exit 1; fi
-
apt-get update -y
-
apt-get install -y maven
-
apt-get update -y
-qq >/dev/null
-
apt-get install -y maven
-qq >/dev/null
-
java -version
-
mvn -version
-
mkdir -p /root/.m2
...
...
@@ -56,7 +58,7 @@ phases:
-
printenv
-
echo "Building primary service assemblies..."
-
mvn -B test install -pl register-core,provider/register-aws -Ddeployment.environment=prod
-
mvn
-ntp
-B test install -pl register-core,provider/register-aws -Ddeployment.environment=prod
-
echo "Building integration testing assemblies and gathering artifacts..."
-
./testing/register-test-aws/build-aws/prepare-dist.sh
...
...
@@ -89,4 +91,4 @@ artifacts:
name
:
${REPO_NAME}_${BRANCH_NAME}_$(date +%F)_${CODEBUILD_BUILD_NUMBER}.zip
cache
:
paths
:
-
"
/root/.m2/**/*"
\ No newline at end of file
-
"
/root/.m2/**/*"
provider/register-aws/build-aws/entrypoint.sh
0 → 100755
View file @
83dadb22
if
[
-n
$USE_SELF_SIGNED_SSL_CERT
]
;
then
export
SSL_KEY_PASSWORD
=
$RANDOM$RANDOM$RANDOM
;
export
SSL_KEY_STORE_PASSWORD
=
$SSL_KEY_PASSWORD
;
export
SSL_KEY_STORE_DIR
=
/tmp/certs
;
export
SSL_KEY_STORE_NAME
=
osduonaws.p12
;
export
SSL_KEY_STORE_PATH
=
$SSL_KEY_STORE_DIR
/
$SSL_KEY_STORE_NAME
;
export
SSL_KEY_ALIAS
=
osduonaws
;
./ssl.sh
;
fi
java
$JAVA_OPTS
-jar
/app.jar
\ No newline at end of file
provider/register-aws/build-aws/ssl.sh
0 → 100755
View file @
83dadb22
# Copyright © 2021 Amazon Web Services
#
# 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.
#!/usr/bin/env bash
#Future: Support for using Amazon Cert Manager
# if [ "$1" == "webserver" ] && [ -n $ACM_CERTIFICATE_ARN ];
# then
# aws acm export-certificate --certificate-arn $ACM_CERTIFICATE_ARN --passphrase $(echo -n 'aws123' | openssl base64 -e) | jq -r '"\(.PrivateKey)"' > ${SSL_KEY_PATH}.enc
# openssl rsa -in ${SSL_KEY_PATH}.enc -out $SSL_KEY_PATH -passin pass:aws123
# aws acm get-certificate --certificate-arn $ACM_CERTIFICATE_ARN | jq -r '"\(.CertificateChain)"' > $SSL_CERT_PATH
# aws acm get-certificate --certificate-arn $ACM_CERTIFICATE_ARN | jq -r '"\(.Certificate)"' >> $SSL_CERT_PATH
# fi
if
[
-n
$USE_SELF_SIGNED_SSL_CERT
]
;
then
mkdir
-p
$SSL_KEY_STORE_DIR
pushd
$SSL_KEY_STORE_DIR
keytool
-genkeypair
-alias
$SSL_KEY_ALIAS
-keyalg
RSA
-keysize
2048
-storetype
PKCS12
-keystore
$SSL_KEY_STORE_NAME
-validity
3650
-keypass
$SSL_KEY_PASSWORD
-storepass
$SSL_KEY_PASSWORD
-dname
"CN=localhost, OU=AWS, O=Energy, L=Houston, ST=TX, C=US"
popd
fi
provider/register-aws/pom.xml
View file @
83dadb22
...
...
@@ -64,7 +64,7 @@
<dependency>
<groupId>
org.opengroup.osdu.core.aws
</groupId>
<artifactId>
os-core-lib-aws
</artifactId>
<version>
0.3.1
1
</version>
<version>
0.3.1
7
</version>
</dependency>
<dependency>
<groupId>
org.opengroup.osdu
</groupId>
...
...
@@ -148,4 +148,4 @@
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
</project>
provider/register-aws/src/main/resources/application.properties
View file @
83dadb22
# Copyright © 2020 Amazon Web Services
# Copyright
�
2020 Amazon Web Services
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
...
...
@@ -45,4 +45,11 @@ logging.slf4jlogger.enabled=true
logging.mdccontext.enabled
=
true
# if this is turned on then the service tries to connect to elastic search
management.health.elasticsearch.enabled
=
false
\ No newline at end of file
management.health.elasticsearch.enabled
=
false
server.ssl.enabled
=
${SSL_ENABLED:true}
server.ssl.key-store-type
=
PKCS12
server.ssl.key-store
=
${SSL_KEY_STORE_PATH:/certs/osduonaws.p12}
server.ssl.key-alias
=
${SSL_KEY_ALIAS:osduonaws}
server.ssl.key-password
=
${SSL_KEY_PASSWORD:}
server.ssl.key-store-password
=
${SSL_KEY_STORE_PASSWORD:}
\ No newline at end of file
register-core/src/main/java/org/opengroup/osdu/register/middleware/RegisterFilter.java
View file @
83dadb22
package
org.opengroup.osdu.register.middleware
;
import
org.apache.http.HttpStatus
;
import
org.opengroup.osdu.core.common.http.ResponseHeaders
;
import
org.opengroup.osdu.core.common.http.ResponseHeaders
Factory
;
import
org.opengroup.osdu.core.common.model.http.DpsHeaders
;
import
org.opengroup.osdu.register.utils.AppServiceConfig
;
import
org.opengroup.osdu.register.utils.ServiceRequestInfo
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
javax.servlet.*
;
...
...
@@ -14,6 +15,7 @@ import javax.servlet.http.HttpServletResponse;
import
java.io.IOException
;
import
java.util.List
;
import
java.util.Map
;
import
javax.inject.Inject
;
@Component
public
class
RegisterFilter
implements
Filter
{
...
...
@@ -27,6 +29,12 @@ public class RegisterFilter implements Filter {
@Autowired
private
AppServiceConfig
serviceConfig
;
// defaults to * for any front-end, string must be comma-delimited if more than one domain
@Value
(
"${ACCESS_CONTROL_ALLOW_ORIGIN_DOMAINS:*}"
)
String
ACCESS_CONTROL_ALLOW_ORIGIN_DOMAINS
;
private
ResponseHeadersFactory
responseHeadersFactory
=
new
ResponseHeadersFactory
();
@Override
public
void
init
(
FilterConfig
filterConfig
)
{
//do nothing
...
...
@@ -41,8 +49,8 @@ public class RegisterFilter implements Filter {
this
.
headers
.
addCorrelationIdIfMissing
();
Map
<
String
,
List
<
Object
>>
standardHeaders
=
ResponseHeaders
.
STANDARD_RESPONSE_HEADERS
;
for
(
Map
.
Entry
<
String
,
List
<
Object
>
>
header
:
standard
Headers
.
entrySet
())
{
Map
<
String
,
String
>
responseHeaders
=
responseHeadersFactory
.
getResponseHeaders
(
ACCESS_CONTROL_ALLOW_ORIGIN_DOMAINS
)
;
for
(
Map
.
Entry
<
String
,
String
>
header
:
response
Headers
.
entrySet
()){
httpResponse
.
addHeader
(
header
.
getKey
(),
header
.
getValue
().
toString
());
}
httpResponse
.
addHeader
(
DpsHeaders
.
CORRELATION_ID
,
this
.
headers
.
getCorrelationId
());
...
...
testing/register-test-aws/build-aws/prepare-dist.sh
View file @
83dadb22
...
...
@@ -38,13 +38,13 @@ echo $INTEGRATION_TEST_OUTPUT_BIN_DIR
rm
-rf
"
$INTEGRATION_TEST_OUTPUT_DIR
"
mkdir
-p
"
$INTEGRATION_TEST_OUTPUT_DIR
"
&&
mkdir
-p
"
$INTEGRATION_TEST_OUTPUT_BIN_DIR
"
echo
"Building integration testing assemblies and gathering artifacts..."
mvn
install
-f
"
$INTEGRATION_TEST_SOURCE_DIR_CORE
"
/pom.xml
mvn
install
dependency:copy-dependencies
-DskipTests
-f
"
$INTEGRATION_TEST_SOURCE_DIR_AWS
"
/pom.xml
-DincludeGroupIds
=
org.opengroup.osdu
-Dmdep
.copyPom
mvn
-ntp
install
-f
"
$INTEGRATION_TEST_SOURCE_DIR_CORE
"
/pom.xml
mvn
-ntp
install
dependency:copy-dependencies
-DskipTests
-f
"
$INTEGRATION_TEST_SOURCE_DIR_AWS
"
/pom.xml
-DincludeGroupIds
=
org.opengroup.osdu
-Dmdep
.copyPom
cp
"
$INTEGRATION_TEST_SOURCE_DIR_AWS
"
/target/dependency/
*
"
${
INTEGRATION_TEST_OUTPUT_BIN_DIR
}
"
(
cd
"
${
INTEGRATION_TEST_OUTPUT_BIN_DIR
}
"
&&
ls
*
.jar |
sed
-e
's/\.jar$//'
| xargs
-I
{}
echo
mvn
install
:install-file
-Dfile
={}
.jar
-DpomFile
={}
.pom
>>
install-deps.sh
)
(
cd
"
${
INTEGRATION_TEST_OUTPUT_BIN_DIR
}
"
&&
ls
*
.jar |
sed
-e
's/\.jar$//'
| xargs
-I
{}
echo
mvn
-ntp
install
:install-file
-Dfile
={}
.jar
-DpomFile
={}
.pom
>>
install-deps.sh
)
chmod
+x
"
${
INTEGRATION_TEST_OUTPUT_BIN_DIR
}
"
/install-deps.sh
mvn clean
-f
"
$INTEGRATION_TEST_SOURCE_DIR_AWS
"
/pom.xml
mvn
-ntp
clean
-f
"
$INTEGRATION_TEST_SOURCE_DIR_AWS
"
/pom.xml
cp
-R
"
$INTEGRATION_TEST_SOURCE_DIR_AWS
"
/
*
"
${
INTEGRATION_TEST_OUTPUT_DIR
}
"
/
#copy testing parent pom to output
cp
"
$INTEGRATION_TEST_SOURCE_DIR
/pom.xml"
"
${
OUTPUT_DIR
}
/testing"
\ No newline at end of file
cp
"
$INTEGRATION_TEST_SOURCE_DIR
/pom.xml"
"
${
OUTPUT_DIR
}
/testing"
testing/register-test-aws/build-aws/run-tests.sh
View file @
83dadb22
...
...
@@ -48,7 +48,7 @@ export REGISTER_CUSTOM_PUSH_URL1=$REGISTER_BASE_URL$REGISTER_CUSTOM_PUSH_PATH1
#### RUN INTEGRATION TEST #########################################################################
mvn
test
-f
"
$SCRIPT_SOURCE_DIR
"
/../pom.xml
mvn
-ntp
test
-f
"
$SCRIPT_SOURCE_DIR
"
/../pom.xml
TEST_EXIT_CODE
=
$?
#### COPY TEST REPORTS #########################################################################
...
...
@@ -59,4 +59,4 @@ if [ -n "$1" ]
cp
-R
"
$SCRIPT_SOURCE_DIR
"
/../target/surefire-reports
"
$1
"
fi
echo
"### Register-Service Integration Tests Finished ###"
exit
$TEST_EXIT_CODE
\ No newline at end of file
exit
$TEST_EXIT_CODE
testing/register-test-aws/pom.xml
View file @
83dadb22
...
...
@@ -130,7 +130,7 @@
<dependency>
<groupId>
org.opengroup.osdu.core.aws
</groupId>
<artifactId>
os-core-lib-aws
</artifactId>
<version>
0.3.1
1
</version>
<version>
0.3.1
6
</version>
</dependency>
<dependency>
<groupId>
com.amazonaws
</groupId>
...
...
testing/register-test-aws/src/test/java/org/opengroup/osdu/register/util/AwsCognitoClient.java
View file @
83dadb22
...
...
@@ -23,7 +23,7 @@ import org.opengroup.osdu.core.aws.iam.IAMConfig;
import
java.util.HashMap
;
import
java.util.Map
;
//TODO: CognitoClient should use the client from core lib
public
class
AwsCognitoClient
{
// Parameter value locations
...
...
@@ -85,9 +85,14 @@ public class AwsCognitoClient {
public
static
AWSCognitoIdentityProvider
generateCognitoClient
()
{
return
AWSCognitoIdentityProviderClientBuilder
.
standard
()
.
withCredentials
(
IAMConfig
.
amazonAWSCredentials
())
.
withRegion
(
AwsConfig
.
getAwsRegion
())
.
build
();
AWSCognitoIdentityProviderClientBuilder
builder
=
AWSCognitoIdentityProviderClientBuilder
.
standard
()
.
withCredentials
(
IAMConfig
.
amazonAWSCredentials
());
String
region
=
System
.
getenv
(
"AWS_COGNITO_REGION"
);
if
(
region
!=
null
){
builder
.
setRegion
(
region
);
}
else
{
builder
.
withRegion
(
AwsConfig
.
getAwsRegion
());
}
return
builder
.
build
();
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment