diff --git a/NOTICE b/NOTICE index 5f03228364761d22cd8215d5ca56225500ffd0bd..62f6feabd729d1ec75b71aa6e300fc5e8406bcb8 100644 --- a/NOTICE +++ b/NOTICE @@ -18,192 +18,19 @@ The following software have components provided under the terms of this license: - AMQP 1.0 JMS Spring Boot Starter (from https://repo1.maven.org/maven2/org/amqphub/spring/amqp-10-jms-spring-boot-starter) - ASM Core (from ) - ASM based accessors helper used by json-smart (from ) -- AWS Java SDK for AWS Amplify (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS App Mesh (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS AppSync (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Application Auto Scaling (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Application Discovery Service (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Auto Scaling Plans (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Backup (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Batch (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Budgets (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Certificate Manager (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Certificate Manager Private Certificate Authority (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Cloud9 (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS CloudFormation (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS CloudHSM V2 (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS CloudTrail (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Code Build (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS CodeCommit (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS CodeDeploy (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS CodePipeline (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS CodeStar (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Comprehend Medical (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Config (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Cost Explorer (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Cost and Usage Report (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Data Pipeline (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS DataSync (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Database Migration Service (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Device Farm (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Direct Connect (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Directory Service (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS EC2 Instance Connect (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Elastic Beanstalk (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Elemental MediaConvert (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Elemental MediaLive (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Elemental MediaPackage (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Elemental MediaPackage VOD (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Elemental MediaStore (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Elemental MediaStore Data Plane (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS GameLift (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Global Accelerator (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Glue (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Greengrass (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Ground Station (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Health APIs and Notifications (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS IAM (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Import/Export (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS IoT (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS IoT 1-Click Devices (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS IoT 1-Click Projects (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS IoT Analytics (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS IoT Events (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS IoT Events Data (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS IoT Jobs Data Plane (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS IoT Things Graph (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS KMS (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Lake Formation (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS Lambda (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Lex (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS License Manager (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Marketplace Commerce Analytics (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Marketplace Entitlement (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Marketplace Metering Service (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS MediaConnect (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS MediaTailor (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Migration Hub (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Mobile (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS OpsWorks (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS OpsWorks for Chef Automate (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Organizations (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Performance Insights (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Pricing (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS RDS Data (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Resource Access Manager (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Resource Groups (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Resource Groups Tagging API (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS RoboMaker (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS S3 Control (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS STS (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Secrets Manager (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS SecurityHub (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Server Migration (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Service Catalog (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Shield (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Signer (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Step Functions (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Storage Gateway (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Support (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS Transfer for SFTP (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS WAF (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS X-Ray (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWSServerlessApplicationRepository (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Alexa For Business (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon API Gateway (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon AppStream (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Athena (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Chime (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon CloudDirectory (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon CloudFront (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon CloudSearch (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon CloudWatch (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon CloudWatch Application Insights (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon CloudWatch Events (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon CloudWatch Logs (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Cognito Identity (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Cognito Identity Provider Service (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Cognito Sync (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Comprehend (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Connect (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Data Lifecycle Manager (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon DocumentDB with MongoDB compatibility (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon DynamoDB (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon DynamoDB Accelerator (DAX) (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon EC2 (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon EMR (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon ElastiCache (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Elastic Container Service for Kubernetes (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Elastic File System (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Elastic Transcoder (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Elasticsearch Service (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon EventBridge (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon FSx (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Forecast (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Forecast Query (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Glacier (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon GuardDuty (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Inspector Service (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Kinesis (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Kinesis Analytics (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Kinesis Video Streams (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Lex Model Building (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Lightsail (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Machine Learning (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Macie (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Managed Blockchain (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Mechanical Turk Requester (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Neptune (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Personalize (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Personalize Events (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Personalize Runtime (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Pinpoint (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Pinpoint Email (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Pinpoint SMS and Voice (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Polly (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon QLDB (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon QLDB Session (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon QuickSight (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon RDS (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Redshift (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Rekognition (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Route 53 Auto Naming (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Route 53 Resolver (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Route53 (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon S3 (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon SES (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon SNS (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon SQS (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon SWF (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon SageMaker (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon SageMaker Runtime (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon SimpleDB (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Snowball (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Textract (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Transcribe (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon Translate (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon WorkDocs (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon WorkLink (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon WorkMail (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon WorkMail Message Flow (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Amazon WorkSpaces (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AmazonApiGatewayManagementApi (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AmazonApiGatewayV2 (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AmazonMQ (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Auto Scaling (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Elastic Load Balancing (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Elastic Load Balancing (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Firewall Management (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Managed Streaming for Kafka (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for Service Quotas (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for the AWS CloudHSM (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for the AWS Simple Systems Management (SSM) Service (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for the Amazon EC2 Container Registry (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for the Amazon EC2 Container Service (from https://aws.amazon.com/sdkforjava) -- AWS SDK For Java (from https://aws.amazon.com/sdkforjava) - AWS SDK for Java - BOM (from https://aws.amazon.com/sdkforjava) - AWS SDK for Java - Core (from https://aws.amazon.com/sdkforjava) -- AWS SDK for Java - Models (from https://aws.amazon.com/sdkforjava) - Adapter: RxJava (from ) - Apache Commons BeanUtils (from http://commons.apache.org/proper/commons-beanutils/) - Apache Commons Codec (from http://commons.apache.org/proper/commons-codec/) @@ -231,7 +58,6 @@ The following software have components provided under the terms of this license: - Byte Buddy Java agent (from ) - ClassMate (from http://github.com/cowtowncoder/java-classmate) - Cloud Storage JSON API v1-rev58-1.21.0 (from ) -- CloudWatch Metrics for AWS Java SDK (from https://aws.amazon.com/sdkforjava) - Commons Digester (from http://commons.apache.org/digester/) - Commons IO (from http://commons.apache.org/io/) - Converter: Jackson (from ) @@ -291,7 +117,6 @@ The following software have components provided under the terms of this license: - Jackson-datatype-jdk8 (from ) - Jackson-module-JAXB-annotations (from http://wiki.fasterxml.com/JacksonJAXBAnnotations) - Jackson-module-parameter-names (from ) -- Java Libraries for Amazon Simple WorkFlow (from https://aws.amazon.com/sdkforjava) - Java Native Access (from https://github.com/java-native-access/jna) - Java Native Access Platform (from https://github.com/java-native-access/jna) - Java Servlet API (from http://servlet-spec.java.net) @@ -337,10 +162,10 @@ The following software have components provided under the terms of this license: - Microsoft Application Insights Java SDK Spring Boot starter (from https://github.com/Microsoft/ApplicationInsights-Java) - Microsoft Application Insights Java SDK Web Module (from https://github.com/Microsoft/ApplicationInsights-Java) - Microsoft Application Insights Log4j 2 Appender (from https://github.com/Microsoft/ApplicationInsights-Java) -- Mockito (from http://mockito.org) -- Mockito (from http://www.mockito.org) - Mockito (from http://www.mockito.org) - Mockito (from http://mockito.org) +- Mockito (from http://mockito.org) +- Mockito (from http://www.mockito.org) - Netty Reactive Streams Implementation (from ) - Netty/Buffer (from http://netty.io/) - Netty/Codec (from ) @@ -884,8 +709,6 @@ MIT The following software have components provided under the terms of this license: - AWS Java SDK for AWS Lambda (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK for AWS License Manager (from https://aws.amazon.com/sdkforjava) -- AWS SDK for Java - Models (from https://aws.amazon.com/sdkforjava) - Animal Sniffer Annotations (from ) - Azure AD Spring Security Integration Spring Boot Starter (from https://github.com/Microsoft/azure-spring-boot) - Azure Cosmos DB Spring Boot Starter (from https://github.com/Microsoft/azure-spring-boot) @@ -923,8 +746,8 @@ The following software have components provided under the terms of this license: - Microsoft Azure common module for Storage (from https://github.com/Azure/azure-sdk-for-java) - Mockito (from http://www.mockito.org) - Mockito (from http://mockito.org) -- Mockito (from http://mockito.org) - Mockito (from http://www.mockito.org) +- Mockito (from http://mockito.org) - Netty/Codec/HTTP (from ) - Netty/Common (from ) - Project Lombok (from https://projectlombok.org) @@ -981,7 +804,6 @@ public-domain ======================================================================== The following software have components provided under the terms of this license: -- AWS SDK for Java - Models (from https://aws.amazon.com/sdkforjava) - Asynchronous Http Client (from ) - Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs (from http://www.bouncycastle.org/java.html) - Bouncy Castle Provider (from http://www.bouncycastle.org/java.html) diff --git a/provider/search-aws/.env.template b/provider/search-aws/.env.template index 7e3b70b28ac0ca7824de3743547574f3e579f001..09b99137fa89391c5e4bcb070ca746a24b2897a1 100644 --- a/provider/search-aws/.env.template +++ b/provider/search-aws/.env.template @@ -35,43 +35,34 @@ ##### Authentication / Secrets ##### # Replace placeholder text with your own AWS secret access keys # and rename to `.env` - do NOT check-in .env with your credentials! Leave it in .gitignore -AWS_ACCESS_KEY_ID= -AWS_SECRET_KEY= -AWS_ACCOUNT_ID= +AWS_ACCESS_KEY_ID= +AWS_SECRET_KEY= #### Urls/Ports ############# -APPLICATION_PORT= -ENTITLEMENTS_DOMAIN= -DOMAIN= -INDEXER_HOST= -SEARCH_HOST= -CACHE_CLUSTER_ENDPOINT= -CACHE_CLUSTER_PORT= -ELASTIC_HOST= -ELASTIC_PORT= +APPLICATION_PORT=8080 +CACHE_CLUSTER_ENDPOINT=127.0.0.1 +CACHE_CLUSTER_PORT=6379 +ELASTIC_HOST=localhost +ELASTIC_PORT=9200 ##### Other environment variables ########################################################## -JAVA_HEAP_MEMORY= -SNS_TOPIC_NAME= -ENVIRONMENT= -AWS_REGION= -LOG_LEVEL= - +ENVIRONMENT=dev +AWS_REGION=us-east-1 +LOG_LEVEL=DEBUG +SSM_ENABLED=True ##### Integration test-specific - these are only used for integration tests, not the app ### -OTHER_RELEVANT_DATA_COUNTRIES= -LEGAL_TAG= -DEFAULT_DATA_PARTITION_ID_TENANT1= -DEFAULT_DATA_PARTITION_ID_TENANT2= -ENTITLEMENTS_DOMAIN= -AWS_COGNITO_CLIENT_ID= -AWS_COGNITO_AUTH_FLOW= -AWS_COGNITO_AUTH_PARAMS_PASSWORD= -AWS_COGNITO_AUTH_PARAMS_USER= -AWS_COGNITO_AUTH_PARAMS_USER_NO_ACCESS= -ELASTIC_HOST= -DEFAULT_ELASTIC_USER_NAME= -DEFAULT_ELASTIC_PASSWORD= -ELASTIC_PORT= -SEARCH_HOST= -STORAGE_HOST= \ No newline at end of file +AWS_COGNITO_CLIENT_ID= +AWS_COGNITO_AUTH_FLOW=USER_PASSWORD_AUTH +AWS_COGNITO_AUTH_PARAMS_USER= +AWS_COGNITO_AUTH_PARAMS_USER_NO_ACCESS=test-user-without-access@testing.com +AWS_COGNITO_AUTH_PARAMS_PASSWORD= +SEARCH_HOST=/api/search/v2/ +STORAGE_HOST=/api/storage/v2/ +OTHER_RELEVANT_DATA_COUNTRIES=US +LEGAL_TAG=opendes-public-usa-dataset-1 +DEFAULT_DATA_PARTITION_ID_TENANT1=opendes +DEFAULT_DATA_PARTITION_ID_TENANT2=common +ENTITLEMENTS_DOMAIN=testing.com +ELASTIC_HOST=localhost +ELASTIC_PORT=9200 \ No newline at end of file diff --git a/provider/search-aws/build-aws/build-info.py b/provider/search-aws/build-aws/build-info.py new file mode 100644 index 0000000000000000000000000000000000000000..12935424a5a4a5e9368afda46369856e1c56df45 --- /dev/null +++ b/provider/search-aws/build-aws/build-info.py @@ -0,0 +1,75 @@ +import boto3 +import json +import os +import argparse + +# Create the build-info.json +parser = argparse.ArgumentParser(description="") + +# env - CODEBUILD_SOURCE_VERSION +parser.add_argument("--branch", type=str, help="") + +# env - CODEBUILD_RESOLVED_SOURCE_VERSION +parser.add_argument("--commit", type=str, help="") + +# env - CODEBUILD_BUILD_ID +parser.add_argument("--buildid", type=str, help="") + +# env - CODEBUILD_BUILD_NUMBER +parser.add_argument("--buildnumber", type=str, help="") + +# Get from directory name +parser.add_argument("--reponame", type=str, help="") + +# env OUTPUT_DIR +parser.add_argument("--outdir", type=str, help="") + +# full ecr image and tag, and any other artifacts +parser.add_argument("--artifact", type=str, action="append", help="") + + + +args = parser.parse_args() + +branch = args.branch +commitId = args.commit +buildId = args.buildid +buildNumber = args.buildnumber +repoName = args.reponame +outputDir = args.outdir +artifacts = args.artifact + +buildInfoFilePath = os.path.join(".", outputDir, "build-info.json") + +print(buildInfoFilePath) + +commitArgs = { + "repositoryName": repoName, + "commitId": commitId +} + +commitDetail = { + "commit": "" +} + +# get the commit detail +try: + codecommit = boto3.client("codecommit") + commitDetail = codecommit.get_commit(**commitArgs) +except Exception as e: + print("Getting commit information from codecommit failed") + +buildInfo = { + "branch": branch, + "build-id": buildId, + "build-number": buildNumber, + "repo": repoName, + "artifacts": artifacts, + "commit": commitDetail["commit"] +} +print(json.dumps(buildInfo, sort_keys=True, indent=4)) + +# write the build.json file to dist +f = open(buildInfoFilePath, "w") +f.write(json.dumps(buildInfo, sort_keys=True, indent=4)) +f.close() diff --git a/provider/search-aws/build-aws/buildspec.yaml b/provider/search-aws/build-aws/buildspec.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c0d6861f4600550511623ce86d2ee3dda961add8 --- /dev/null +++ b/provider/search-aws/build-aws/buildspec.yaml @@ -0,0 +1,90 @@ +# Copyright © 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. + +# https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html + +# https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html +version: 0.2 + +phases: + install: + runtime-versions: + java: openjdk8 + commands: + - 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 + - java -version + - mvn -version + - echo $JAVA_HOME #WHY + - mkdir -p /root/.m2 + - aws s3 sync s3://$M2_REPO_S3_BUCKET /root/.m2 # copy previous state of the shared libraries' .m2 folder from S3 to local + - cp ./provider/search-aws/maven/settings.xml /root/.m2/settings.xml # copy the AWS-specific settings.xml to the CodeBuild instance's .m2 folder + - cat /root/.m2/settings.xml + pre_build: + commands: + - echo "Logging in to Amazon ECR..." + - $(aws ecr get-login --no-include-email --region $AWS_REGION) # authenticate with ECR via the AWS CLI + build: + commands: + - export REPO_NAME=${PWD##*/} + - export OUTPUT_DIR="dist" + - export BRANCH_NAME=`echo ${CODEBUILD_SOURCE_VERSION} | awk '{gsub("refs/heads/","");gsub("\\.","-");gsub("[[:space:]]","-")}1' | sed 's/\//-/g' | awk '{print tolower($0)}'` + - export ECR_TAG=`echo build.${BRANCH_NAME}.${CODEBUILD_BUILD_NUMBER}.${CODEBUILD_RESOLVED_SOURCE_VERSION} | cut -c 1-120` + - export ECR_IMAGE=${ECR_REGISTRY}:${ECR_TAG} + - export ECR_IMAGE_BRANCH_LATEST=${ECR_REGISTRY}:${BRANCH_NAME} + - export INTEGRATION_TEST_OUTPUT=${OUTPUT_DIR}/testing/integration + - export INTEGRATION_TEST_OUTPUT_BIN=${INTEGRATION_TEST_OUTPUT}/bin + - mkdir -p ${OUTPUT_DIR}/bin + - mkdir -p ${OUTPUT_DIR}/testing && mkdir -p ${INTEGRATION_TEST_OUTPUT} && mkdir -p ${INTEGRATION_TEST_OUTPUT}/bin + - echo "Placeholder" >> ${OUTPUT_DIR}/build-info.json # touched so that the output directory has some content incase the build fails so that testing reports are uploaded + - printenv + + - echo "Building primary service assemblies..." + - mvn -B test install -pl search-core,provider/search-aws -Ddeployment.environment=prod + +# Suspended until further notice +# - echo "Copying assemblies to dist..." +# - cp ./provider/search-aws/target/*spring-boot.jar ${OUTPUT_DIR}/bin # copy aws jars +# - cp ./search-core/target/*.jar ${OUTPUT_DIR}/bin # copy core jar + + - echo "Building integration testing assemblies and gathering artifacts..." + - ./testing/integration-tests/search-test-aws/build-aws/prepare-dist.sh + + - echo "Building docker image..." + - docker build -f provider/search-aws/build-aws/Dockerfile -t ${ECR_IMAGE} . + - docker tag ${ECR_IMAGE} ${ECR_IMAGE_BRANCH_LATEST} + - echo "Pushing docker image..." + - docker push ${ECR_IMAGE} + - docker push ${ECR_IMAGE_BRANCH_LATEST} + + - echo "Generate build-info.json" + - | + python provider/search-aws/build-aws/build-info.py --branch ${CODEBUILD_SOURCE_VERSION} --commit ${CODEBUILD_RESOLVED_SOURCE_VERSION} \ + --buildid ${CODEBUILD_BUILD_ID} --buildnumber ${CODEBUILD_BUILD_NUMBER} --reponame ${REPO_NAME} --outdir ${OUTPUT_DIR} \ + --artifact ${ECR_IMAGE} +reports: + SurefireReports: # CodeBuild will create a report group called "SurefireReports". + files: #Store all of the files + - "search-core/target/surefire-reports/**/*" + - "provider/search-aws/target/surefire-reports/**/*" + base-directory: "." # Location of the reports +artifacts: + files: + - "**/*" + base-directory: "dist" + name: ${REPO_NAME}_${BRANCH_NAME}_$(date +%F)_${CODEBUILD_BUILD_NUMBER}.zip +cache: + paths: + - "/root/.m2/**/*" \ No newline at end of file diff --git a/provider/search-aws/pom.xml b/provider/search-aws/pom.xml index a7d50866664fd03d5ef1353814c310cf8e5e07ea..185af0e9a1eda636ac118ea8329063c6ee926b65 100644 --- a/provider/search-aws/pom.xml +++ b/provider/search-aws/pom.xml @@ -52,12 +52,12 @@ org.opengroup.osdu.core.aws os-core-lib-aws - 0.2.0 + 0.3.5 org.opengroup.osdu os-core-common - 0.0.18 + 0.3.5 diff --git a/testing/integration-tests/search-test-aws/build-aws/prepare-dist.sh b/testing/integration-tests/search-test-aws/build-aws/prepare-dist.sh new file mode 100755 index 0000000000000000000000000000000000000000..ec574859551bf297a437b008c8f135eb4bcc5ad6 --- /dev/null +++ b/testing/integration-tests/search-test-aws/build-aws/prepare-dist.sh @@ -0,0 +1,31 @@ +# This script prepares the dist directory for the integration tests. +# Must be run from the root of the repostiory + +set -e + +OUTPUT_DIR="${OUTPUT_DIR:-dist}" + +INTEGRATION_TEST_OUTPUT_DIR=${INTEGRATION_TEST_OUTPUT_DIR:-$OUTPUT_DIR}/testing/integration +INTEGRATION_TEST_OUTPUT_BIN_DIR=${INTEGRATION_TEST_OUTPUT_DIR:-$INTEGRATION_TEST_OUTPUT_DIR}/bin +INTEGRATION_TEST_SOURCE_DIR=testing/integration-tests +INTEGRATION_TEST_SOURCE_DIR_AWS="$INTEGRATION_TEST_SOURCE_DIR"/search-test-aws +INTEGRATION_TEST_SOURCE_DIR_CORE="$INTEGRATION_TEST_SOURCE_DIR"/search-test-core +echo "--Source directories variables--" +echo $INTEGRATION_TEST_SOURCE_DIR_AWS +echo $INTEGRATION_TEST_SOURCE_DIR_CORE +echo "--Output directories variables--" +echo $OUTPUT_DIR +echo $INTEGRATION_TEST_OUTPUT_DIR +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 +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) +chmod +x "${INTEGRATION_TEST_OUTPUT_BIN_DIR}"/install-deps.sh +mvn clean -f "$INTEGRATION_TEST_SOURCE_DIR_AWS"/pom.xml +cp -R "$INTEGRATION_TEST_SOURCE_DIR_AWS"/* "${INTEGRATION_TEST_OUTPUT_DIR}"/ + diff --git a/testing/integration-tests/search-test-aws/build-aws/run-tests.sh b/testing/integration-tests/search-test-aws/build-aws/run-tests.sh new file mode 100755 index 0000000000000000000000000000000000000000..408577a4330018f99f018c783a0e0fe4318001f5 --- /dev/null +++ b/testing/integration-tests/search-test-aws/build-aws/run-tests.sh @@ -0,0 +1,46 @@ +# This script executes the test and copies reports to the provided output directory +# To call this script from the service working directory +# ./dist/testing/integration/build-aws/run-tests.sh "./reports/" + + +SCRIPT_SOURCE_DIR=$(dirname "$0") +echo "Script source location" +echo "$SCRIPT_SOURCE_DIR" +(cd "$SCRIPT_SOURCE_DIR"/../bin && ./install-deps.sh) + +#### ADD REQUIRED ENVIRONMENT VARIABLES HERE ############################################### +# The following variables are automatically populated from the environment during integration testing +# see os-deploy-aws/build-aws/integration-test-env-variables.py for an updated list + +# AWS_COGNITO_CLIENT_ID +# ELASTIC_HOST +# ELASTIC_PORT +# FILE_URL +# LEGAL_URL +# SEARCH_URL +# STORAGE_URL +export SEARCH_HOST=$SEARCH_URL +export STORAGE_HOST=$STORAGE_URL +export OTHER_RELEVANT_DATA_COUNTRIES=US +export LEGAL_TAG=opendes-public-usa-dataset-1 +export DEFAULT_DATA_PARTITION_ID_TENANT1=opendes +export DEFAULT_DATA_PARTITION_ID_TENANT2=common +export ENTITLEMENTS_DOMAIN=testing.com +export AWS_COGNITO_AUTH_FLOW=USER_PASSWORD_AUTH +export AWS_COGNITO_AUTH_PARAMS_PASSWORD=$ADMIN_PASSWORD +export AWS_COGNITO_AUTH_PARAMS_USER=$ADMIN_USER +export AWS_COGNITO_AUTH_PARAMS_USER_NO_ACCESS=$USER_NO_ACCESS + +#### RUN INTEGRATION TEST ######################################################################### + +mvn test -f "$SCRIPT_SOURCE_DIR"/../pom.xml -Dcucumber.options="--plugin junit:target/junit-report.xml" +TEST_EXIT_CODE=$? + +#### COPY TEST REPORTS ######################################################################### + +if [ -n "$1" ] + then + cp "$SCRIPT_SOURCE_DIR"/../target/junit-report.xml "$1"/os-search-junit-report.xml +fi + +exit $TEST_EXIT_CODE diff --git a/testing/integration-tests/search-test-aws/pom.xml b/testing/integration-tests/search-test-aws/pom.xml index 57b40f09b4a3d343d9838b2197e6bac01d9b46ad..4be6592d32ea423ab77f88ba7ac6fd31a797ad67 100644 --- a/testing/integration-tests/search-test-aws/pom.xml +++ b/testing/integration-tests/search-test-aws/pom.xml @@ -39,7 +39,7 @@ org.opengroup.osdu.core.aws os-core-lib-aws - 0.2.0 + 0.3.5 diff --git a/testing/integration-tests/search-test-aws/src/test/resources/logback-test.xml b/testing/integration-tests/search-test-aws/src/test/resources/logback-test.xml index ff747bb24fe6edb78e8c79b0e637f5dcec2e56f2..dafd8ae394dc34b62ffa81307a76900db4b66af8 100644 --- a/testing/integration-tests/search-test-aws/src/test/resources/logback-test.xml +++ b/testing/integration-tests/search-test-aws/src/test/resources/logback-test.xml @@ -1,4 +1,6 @@ + - - + + + \ No newline at end of file