diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index aa7743a19bbdf2ebdde9d5fb6fcb13285e7196de..ab4b577029eef2830591a4979d2b506a0686a7f2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,6 +3,8 @@ variables: AWS_TEST_SUBDIR: testing/partition-test-aws AWS_SERVICE: partition AWS_ENVIRONMENT: dev + AWS_DEPLOY_TARGET: EKS + AWS_EKS_DEPLOYMENT_NAME: os-partition AZURE_SERVICE: partition AZURE_BUILD_SUBDIR: provider/partition-azure diff --git a/NOTICE b/NOTICE index e62ecc04798069a04ad3927ecba6c6333fb841d9..93149c8b0503bf9b04924064da9805957ce90e21 100644 --- a/NOTICE +++ b/NOTICE @@ -27,25 +27,8 @@ The following software have components provided under the terms of this license: - AMQP 1.0 JMS Spring Boot AutoConfiguration (from https://repo1.maven.org/maven2/org/amqphub/spring/amqp-10-jms-spring-boot-autoconfigure) - 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 https://repo1.maven.org/maven2/org/ow2/asm/asm) -- ASM Core (from https://repo1.maven.org/maven2/org/ow2/asm/asm) -- ASM Core (from https://repo1.maven.org/maven2/org/ow2/asm/asm) - ASM based accessors helper used by json-smart (from ) - ASM based accessors helper used by json-smart (from ) -- AWS Event Stream (from https://github.com/awslabs/aws-eventstream-java) -- AWS Java SDK :: AWS Core (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK :: Annotations (from https://repo1.maven.org/maven2/software/amazon/awssdk/annotations) -- AWS Java SDK :: Auth (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK :: Core :: Protocols :: AWS Json Protocol (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK :: Core :: Protocols :: Protocol Core (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK :: HTTP Client Interface (from https://repo1.maven.org/maven2/software/amazon/awssdk/http-client-spi) -- AWS Java SDK :: HTTP Clients :: Apache (from https://repo1.maven.org/maven2/software/amazon/awssdk/apache-client) -- AWS Java SDK :: HTTP Clients :: Netty Non-Blocking I/O (from https://repo1.maven.org/maven2/software/amazon/awssdk/netty-nio-client) -- AWS Java SDK :: Profiles (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK :: Regions (from https://repo1.maven.org/maven2/software/amazon/awssdk/regions) -- AWS Java SDK :: SDK Core (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK :: Services :: AWS Simple Systems Management (SSM) (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK :: Utilities (from https://repo1.maven.org/maven2/software/amazon/awssdk/utils) - 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) @@ -306,8 +289,8 @@ The following software have components provided under the terms of this license: - AWS SDK for Java - Models (from https://aws.amazon.com/sdkforjava) - Adapter: RxJava (from https://repo1.maven.org/maven2/com/squareup/retrofit2/adapter-rxjava) - Apache Ant + JUnit (from http://ant.apache.org/) -- Apache Ant Core (from http://ant.apache.org/) -- Apache Ant Launcher (from http://ant.apache.org/) +- Apache Ant Core (from https://ant.apache.org/) +- Apache Ant Launcher (from https://ant.apache.org/) - Apache Commons CLI (from http://commons.apache.org/proper/commons-cli/) - Apache Commons Codec (from https://commons.apache.org/proper/commons-codec/) - Apache Commons Collections (from http://commons.apache.org/proper/commons-collections/) @@ -316,8 +299,6 @@ The following software have components provided under the terms of this license: - Apache Commons Logging (from http://commons.apache.org/proper/commons-logging/) - Apache Commons Validator (from http://commons.apache.org/proper/commons-validator/) - Apache Geronimo JMS Spec 2.0 (from http://geronimo.apache.org/maven/${siteId}/${version}) -- Apache HttpClient (from http://hc.apache.org/httpcomponents-client) -- Apache HttpClient Cache (from http://hc.apache.org/httpcomponents-client) - Apache Log4j API (from https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api) - Apache Log4j Core (from https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core) - Apache Log4j JUL Adapter (from https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-jul) @@ -332,7 +313,6 @@ The following software have components provided under the terms of this license: - Asynchronous Http Client Netty Utils (from https://repo1.maven.org/maven2/org/asynchttpclient/async-http-client-netty-utils) - Azure Spring Boot Starter for Azure AD Spring Security Integration (from https://github.com/Azure/azure-sdk-for-java) - Bean Validation API (from http://beanvalidation.org) -- Bean Validation API (from http://beanvalidation.org) - BeanUtils (from http://jakarta.apache.org/commons/beanutils/) - Brave (from https://repo1.maven.org/maven2/io/zipkin/brave/brave) - Brave Instrumentation: Http Adapters (from https://repo1.maven.org/maven2/io/zipkin/brave/brave-instrumentation-http) @@ -340,7 +320,7 @@ The following software have components provided under the terms of this license: - Byte Buddy (without dependencies) (from https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy) - Byte Buddy agent (from https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy-agent) - ClassMate (from http://github.com/cowtowncoder/java-classmate) -- Cloud Storage JSON API v1-rev20200927-1.30.10 (from https://repo1.maven.org/maven2/com/google/apis/google-api-services-storage) +- Cloud Storage JSON API v1-rev20210127-1.31.5 (from https://repo1.maven.org/maven2/com/google/apis/google-api-services-storage) - CloudWatch Metrics for AWS Java SDK (from https://aws.amazon.com/sdkforjava) - Cobertura (from http://cobertura.sourceforge.net) - Collections (from https://repo1.maven.org/maven2/commons-collections/commons-collections) @@ -357,33 +337,32 @@ The following software have components provided under the terms of this license: - Doxia :: XHTML Module (from http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-xhtml/) - Doxia Sitetools :: Decoration Model (from http://maven.apache.org/doxia/doxia-sitetools/doxia-decoration-model/) - Doxia Sitetools :: Site Renderer Component (from http://maven.apache.org/doxia/doxia-sitetools/doxia-site-renderer/) -- Expression Language 3.0 (from https://projects.eclipse.org/projects/ee4j.el) - FindBugs-jsr305 (from http://findbugs.sourceforge.net/) - Google APIs Client Library for Java (from https://repo1.maven.org/maven2/com/google/api-client/google-api-client) - Google App Engine extensions to the Google HTTP Client Library for Java. (from https://repo1.maven.org/maven2/com/google/http-client/google-http-client-appengine) - Google Cloud Core (from https://github.com/googleapis/google-cloud-java/tree/master/google-cloud-clients/google-cloud-core) -- Google Cloud Core HTTP (from https://github.com/googleapis/google-cloud-java/tree/master/google-cloud-clients/google-cloud-core-http) +- Google Cloud Core HTTP (from https://github.com/googleapis/java-core) - Google Cloud Core gRPC (from https://github.com/googleapis/google-cloud-java/tree/master/google-cloud-clients/google-cloud-core-grpc) - Google Cloud Datastore (from https://github.com/googleapis/google-cloud-java/tree/master/google-cloud-clients/google-cloud-datastore) - Google Cloud Key Management Service (KMS) API v1-rev9-1.22.0 (from https://repo1.maven.org/maven2/com/google/apis/google-api-services-cloudkms) - Google Cloud Logging (from https://github.com/googleapis/google-cloud-java/tree/master/google-cloud-clients/google-cloud-logging) -- Google Cloud Pub/Sub (from https://github.com/googleapis/google-cloud-java/tree/master/google-cloud-clients/google-cloud-pubsub) -- Google Cloud Storage (from https://github.com/googleapis/google-cloud-java/tree/master/google-cloud-clients/google-cloud-storage) +- Google Cloud Pub/Sub (from https://github.com/googleapis/java-pubsub) +- Google Cloud Storage (from https://github.com/googleapis/java-storage) - Google HTTP Client Library for Java (from https://repo1.maven.org/maven2/com/google/http-client/google-http-client) - Google OAuth Client Library for Java (from https://repo1.maven.org/maven2/com/google/oauth-client/google-oauth-client) -- Gson (from http://code.google.com/p/google-gson/) +- Gson (from https://repo1.maven.org/maven2/com/google/code/gson/gson) - Guava InternalFutureFailureAccess and InternalFutures (from https://repo1.maven.org/maven2/com/google/guava/failureaccess) - Guava: Google Core Libraries for Java (from https://repo1.maven.org/maven2/com/google/guava/guava) - HTTP functionality for the Reactor Netty library (from https://github.com/reactor/reactor-netty) - Hibernate Validator Engine (from https://repo1.maven.org/maven2/org/hibernate/validator/hibernate-validator) -- HttpCore (base module) (from http://hc.apache.org/httpcomponents-core/) +- HttpClient (from http://hc.apache.org/httpcomponents-client) +- HttpClient Cache (from http://hc.apache.org/httpcomponents-client) +- HttpCore (from http://hc.apache.org/httpcomponents-core-ga/) - IBM COS Java SDK for Amazon S3 (from https://github.com/ibm/ibm-cos-sdk-java) - IBM COS Java SDK for COS KMS (from https://github.com/ibm/ibm-cos-sdk-java) - IBM COS SDK For Java (from https://github.com/ibm/ibm-cos-sdk-java) - IBM COS SDK for Java - Core (from https://github.com/ibm/ibm-cos-sdk-java) -- Identity and Access Management (IAM) API v1-rev307-1.25.0 (from https://repo1.maven.org/maven2/com/google/apis/google-api-services-iam) -- IntelliJ IDEA Annotations (from http://www.jetbrains.org) -- IntelliJ IDEA Annotations (from http://www.jetbrains.org) +- Identity and Access Management (IAM) API v1-rev20210226-1.31.0 (from https://repo1.maven.org/maven2/com/google/apis/google-api-services-iam) - J2ObjC Annotations (from https://github.com/google/j2objc/) - JBoss Logging 3 (from http://www.jboss.org) - JCIP Annotations under Apache License (from http://stephenc.github.com/jcip-annotations) @@ -391,31 +370,35 @@ The following software have components provided under the terms of this license: - JMES Path Query library (from https://aws.amazon.com/sdkforjava) - JSON Small and Fast Parser (from https://repo1.maven.org/maven2/net/minidev/json-smart) - JSON Small and Fast Parser (from https://repo1.maven.org/maven2/net/minidev/json-smart) -- JSON Web Token support for the JVM (from https://github.com/jwtk/jjwt) +- JSON Web Token support for the JVM (from https://repo1.maven.org/maven2/io/jsonwebtoken/jjwt) - JSON library from Android SDK (from http://developer.android.com/sdk) - JSONassert (from https://github.com/skyscreamer/JSONassert) - Jackson (from http://jackson.codehaus.org) - Jackson 2 extensions to the Google HTTP Client Library for Java. (from https://repo1.maven.org/maven2/com/google/http-client/google-http-client-jackson2) - Jackson dataformat: CBOR (from http://github.com/FasterXML/jackson-dataformats-binary) - Jackson datatype: JSR310 (from https://repo1.maven.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-jsr310) +- Jackson datatype: Joda (from https://github.com/FasterXML/jackson-datatype-joda) - Jackson datatype: jdk8 (from https://repo1.maven.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-jdk8) - Jackson extensions to the Google HTTP Client Library for Java. (from https://repo1.maven.org/maven2/com/google/http-client/google-http-client-jackson) - Jackson module: JAXB Annotations (from https://github.com/FasterXML/jackson-modules-base) - Jackson-annotations (from http://github.com/FasterXML/jackson) - Jackson-annotations (from http://github.com/FasterXML/jackson) -- Jackson-core (from http://wiki.fasterxml.com/JacksonHome) -- Jackson-core (from http://wiki.fasterxml.com/JacksonHome) -- Jackson-dataformat-XML (from http://wiki.fasterxml.com/JacksonExtensionXmlDataBinding) +- Jackson-core (from https://github.com/FasterXML/jackson-core) +- Jackson-core (from https://github.com/FasterXML/jackson-core) +- Jackson-dataformat-XML (from https://github.com/FasterXML/jackson-dataformat-xml) - Jackson-dataformat-YAML (from https://github.com/FasterXML/jackson-dataformats-text) -- Jackson-datatype-Joda (from http://wiki.fasterxml.com/JacksonModuleJoda) - Jackson-module-Afterburner (from http://wiki.fasterxml.com/JacksonHome) - Jackson-module-parameter-names (from https://repo1.maven.org/maven2/com/fasterxml/jackson/module/jackson-module-parameter-names) +- Jakarta Bean Validation API (from https://beanvalidation.org) +- Jakarta Expression Language Implementation (from https://projects.eclipse.org/projects/ee4j.el) - 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 UUID Generator (from http://wiki.fasterxml.com/JugHome) - Javassist (from http://www.javassist.org/) - Javassist (from http://www.javassist.org/) +- JetBrains Java Annotations (from https://github.com/JetBrains/java-annotations) +- JetBrains Java Annotations (from https://github.com/JetBrains/java-annotations) - Jetty Server (from https://repo1.maven.org/maven2/org/mortbay/jetty/jetty) - Jetty Utilities (from https://repo1.maven.org/maven2/org/mortbay/jetty/jetty-util) - Joda-Time (from https://www.joda.org/joda-time/) @@ -440,7 +423,7 @@ The following software have components provided under the terms of this license: - Kotlin Stdlib Common (from https://kotlinlang.org/) - Logback Contrib :: JSON :: Classic (from https://repo1.maven.org/maven2/ch/qos/logback/contrib/logback-json-classic) - Logback Contrib :: JSON :: Core (from https://repo1.maven.org/maven2/ch/qos/logback/contrib/logback-json-core) -- Logback Contrib :: Jackson (from ) +- Logback Contrib :: Jackson (from https://repo1.maven.org/maven2/ch/qos/logback/contrib/logback-jackson) - MapStruct Core (from https://repo1.maven.org/maven2/org/mapstruct/mapstruct) - Maven Artifact (from https://repo1.maven.org/maven2/org/apache/maven/maven-artifact) - Maven Artifact Manager (from https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager) @@ -475,8 +458,6 @@ The following software have components provided under the terms of this license: - Microsoft Azure SDK for SQL API of Azure Cosmos DB Service (from https://github.com/Azure/azure-sdk-for-java) - Microsoft Azure Storage Client SDK (from https://github.com/Azure/azure-storage-java) - Mojo's Maven plugin for Cobertura (from http://mojo.codehaus.org/cobertura-maven-plugin/) -- Netty Reactive Streams HTTP support (from https://repo1.maven.org/maven2/com/typesafe/netty/netty-reactive-streams-http) -- Netty Reactive Streams Implementation (from https://repo1.maven.org/maven2/com/typesafe/netty/netty-reactive-streams) - Netty/Buffer (from https://repo1.maven.org/maven2/io/netty/netty-buffer) - Netty/Codec (from https://repo1.maven.org/maven2/io/netty/netty-codec) - Netty/Codec/DNS (from https://repo1.maven.org/maven2/io/netty/netty-codec-dns) @@ -497,7 +478,6 @@ The following software have components provided under the terms of this license: - Non-Blocking Reactive Foundation for the JVM (from https://github.com/reactor/reactor-core) - OAuth 2.0 SDK with OpenID Connect extensions (from https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions) - Objenesis (from http://objenesis.org) -- OkHttp (from https://repo1.maven.org/maven2/com/squareup/okhttp3/okhttp) - Okio (from https://github.com/square/okio/) - OpenCensus (from https://github.com/census-instrumentation/opencensus-java) - OpenCensus (from https://github.com/census-instrumentation/opencensus-java) @@ -518,26 +498,14 @@ The following software have components provided under the terms of this license: - Protocol Buffer extensions to the Google HTTP Client Library for Java. (from https://repo1.maven.org/maven2/com/google/http-client/google-http-client-protobuf) - Proton-J (from https://repo1.maven.org/maven2/org/apache/qpid/proton-j) - QpidJMS Client (from ) -- Reactor Netty with all modules (from https://github.com/reactor/reactor-netty) +- Reactive Streams Netty driver (from https://github.com/reactor/reactor-netty) - Retrofit (from https://github.com/square/retrofit) - Servlet Specification 2.5 API (from http://jetty.mortbay.org) - SnakeYAML (from http://www.snakeyaml.org) - Spring AOP (from https://github.com/spring-projects/spring-framework) - Spring Beans (from https://github.com/spring-projects/spring-framework) -- Spring Boot (from http://projects.spring.io/spring-boot/) -- Spring Boot Actuator (from http://projects.spring.io/spring-boot/) -- Spring Boot Actuator AutoConfigure (from https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-actuator-autoconfigure) -- Spring Boot Actuator Starter (from http://projects.spring.io/spring-boot/) -- Spring Boot AutoConfigure (from http://projects.spring.io/spring-boot/) -- Spring Boot Logging Starter (from http://projects.spring.io/spring-boot/) -- Spring Boot Reactor Netty Starter (from https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-starters/spring-boot-starter-reactor-netty) -- Spring Boot Security Starter (from http://projects.spring.io/spring-boot/) -- Spring Boot Starter (from http://projects.spring.io/spring-boot/) -- Spring Boot Test (from http://projects.spring.io/spring-boot/) -- Spring Boot Test Auto-Configure (from http://projects.spring.io/spring-boot/) -- Spring Boot Test Starter (from http://projects.spring.io/spring-boot/) -- Spring Boot Validation Starter (from https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-starters/spring-boot-starter-validation) -- Spring Boot WebFlux Starter (from https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-starters/spring-boot-starter-webflux) +- Spring Boot Log4j 2 Starter (from http://projects.spring.io/spring-boot/) +- Spring Boot Tomcat Starter (from https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-starters/spring-boot-starter-tomcat) - Spring Cloud GCP Autoconfigure Module (from https://repo1.maven.org/maven2/org/springframework/cloud/spring-cloud-gcp-autoconfigure) - Spring Cloud GCP Core Module (from https://repo1.maven.org/maven2/org/springframework/cloud/spring-cloud-gcp-core) - Spring Cloud GCP Datastore Module (from https://repo1.maven.org/maven2/org/springframework/cloud/spring-cloud-gcp-data-datastore) @@ -553,19 +521,21 @@ The following software have components provided under the terms of this license: - Spring Messaging (from https://github.com/spring-projects/spring-framework) - Spring Plugin - Metadata Extension (from https://repo1.maven.org/maven2/org/springframework/plugin/spring-plugin-metadata) - Spring Plugin Core (from https://repo1.maven.org/maven2/org/springframework/plugin/spring-plugin-core) -- Spring TestContext Framework (from https://github.com/SpringSource/spring-framework) +- Spring TestContext Framework (from https://github.com/spring-projects/spring-framework) - Spring Transaction (from https://github.com/spring-projects/spring-framework) - Spring Web (from https://github.com/spring-projects/spring-framework) - Spring Web MVC (from https://github.com/spring-projects/spring-framework) - Spring WebFlux (from https://github.com/spring-projects/spring-framework) - Woodstox (from https://github.com/FasterXML/woodstox) +- Xerces2-j (from https://xerces.apache.org/xerces2-j/) - Zipkin Core Library (from https://repo1.maven.org/maven2/io/zipkin/zipkin2/zipkin) - Zipkin Reporter Brave (from https://repo1.maven.org/maven2/io/zipkin/reporter2/zipkin-reporter-brave) - Zipkin Reporter: Core (from https://repo1.maven.org/maven2/io/zipkin/reporter2/zipkin-reporter) - aalto-xml (from ) -- aws-ssm-java-caching-client (from https://github.com/awslabs/aws-ssm-java-caching-client) +- asm (from http://asm.ow2.io/) +- asm (from http://asm.ow2.io/) +- asm (from http://asm.ow2.io/) - com.google.api.grpc:proto-google-cloud-datastore-v1 (from https://github.com/googleapis/googleapis) -- com.google.api.grpc:proto-google-common-protos (from https://github.com/googleapis/googleapis) - datastore-v1-proto-client (from https://repo1.maven.org/maven2/com/google/cloud/datastore/datastore-v1-proto-client) - error-prone annotations (from https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations) - grpc-google-cloud-pubsub-v1 (from https://repo1.maven.org/maven2/com/google/api/grpc/grpc-google-cloud-pubsub-v1) @@ -588,37 +558,51 @@ The following software have components provided under the terms of this license: - javatuples (from http://www.javatuples.org) - javax.inject (from http://code.google.com/p/atinject/) - jose4j (from https://bitbucket.org/b_c/jose4j/) -- json-path (from http://code.google.com/p/json-path/) - lettuce (from http://github.com/mp911de/lettuce/wiki) - logging-interceptor (from https://github.com/square/okhttp) - micrometer-core (from https://github.com/micrometer-metrics/micrometer) - micrometer-registry-azure-monitor (from https://github.com/micrometer-metrics/micrometer) - mockito-core (from https://github.com/mockito/mockito) - mockito-core (from https://github.com/mockito/mockito) +- okhttp (from https://square.github.io/okhttp/) - okhttp-urlconnection (from https://github.com/square/okhttp) - org.apiguardian:apiguardian-api (from https://github.com/apiguardian-team/apiguardian) - org.opentest4j:opentest4j (from https://github.com/ota4j-team/opentest4j) -- org.xmlunit:xmlunit-core (from https://www.xmlunit.org/) +- org.xmlunit:xmlunit-core (from http://www.xmlunit.org/) - powermock-module-junit4-common (from https://repo1.maven.org/maven2/org/powermock/powermock-module-junit4-common) - powermock-module-junit4-common (from https://repo1.maven.org/maven2/org/powermock/powermock-module-junit4-common) +- project ':json-path' (from https://github.com/jayway/JsonPath) - proto-google-cloud-logging-v2 (from https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-cloud-logging-v2) -- proto-google-cloud-pubsub-v1 (from https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-cloud-pubsub-v1) +- proto-google-cloud-pubsub-v1 (from https://github.com/googleapis/java-pubsub/proto-google-cloud-pubsub-v1) +- proto-google-common-protos (from https://github.com/googleapis/api-client-staging) - proto-google-iam-v1 (from https://github.com/googleapis/java-iam/proto-google-iam-v1) - rxjava (from https://github.com/ReactiveX/RxJava) +- spring-boot (from https://spring.io/projects/spring-boot) +- spring-boot-actuator (from https://spring.io/projects/spring-boot) +- spring-boot-actuator-autoconfigure (from https://spring.io/projects/spring-boot) +- spring-boot-autoconfigure (from https://spring.io/projects/spring-boot) - spring-boot-container-bundle (from ) - spring-boot-dependencies (from https://spring.io/projects/spring-boot) +- spring-boot-starter (from https://spring.io/projects/spring-boot) +- spring-boot-starter-actuator (from https://spring.io/projects/spring-boot) - spring-boot-starter-json (from https://spring.io/projects/spring-boot) -- spring-boot-starter-log4j2 (from https://spring.io/projects/spring-boot) -- spring-boot-starter-tomcat (from https://spring.io/projects/spring-boot) +- spring-boot-starter-logging (from https://spring.io/projects/spring-boot) +- spring-boot-starter-reactor-netty (from https://spring.io/projects/spring-boot) +- spring-boot-starter-security (from https://spring.io/projects/spring-boot) +- spring-boot-starter-test (from https://spring.io/projects/spring-boot) +- spring-boot-starter-validation (from https://spring.io/projects/spring-boot) - spring-boot-starter-web (from https://spring.io/projects/spring-boot) -- spring-security-config (from http://spring.io/spring-security) -- spring-security-core (from http://spring.io/spring-security) -- spring-security-oauth2-client (from http://spring.io/spring-security) -- spring-security-oauth2-core (from http://spring.io/spring-security) -- spring-security-oauth2-jose (from http://spring.io/spring-security) -- spring-security-oauth2-resource-server (from http://spring.io/spring-security) +- spring-boot-starter-webflux (from https://spring.io/projects/spring-boot) +- spring-boot-test (from https://spring.io/projects/spring-boot) +- spring-boot-test-autoconfigure (from https://spring.io/projects/spring-boot) +- spring-security-config (from https://spring.io/projects/spring-security) +- spring-security-core (from https://spring.io/projects/spring-security) +- spring-security-oauth2-client (from https://spring.io/projects/spring-security) +- spring-security-oauth2-core (from https://spring.io/projects/spring-security) +- spring-security-oauth2-jose (from https://spring.io/projects/spring-security) +- spring-security-oauth2-resource-server (from https://spring.io/projects/spring-security) - spring-security-test (from http://spring.io/spring-security) -- spring-security-web (from http://spring.io/spring-security) +- spring-security-web (from https://spring.io/projects/spring-security) - springfox-core (from https://github.com/springfox/springfox) - springfox-schema (from https://github.com/springfox/springfox) - springfox-spi (from https://github.com/springfox/springfox) @@ -631,7 +615,6 @@ The following software have components provided under the terms of this license: - swagger-models (from https://repo1.maven.org/maven2/io/swagger/swagger-models) - tomcat-embed-core (from http://tomcat.apache.org/) - tomcat-embed-websocket (from https://tomcat.apache.org/) -- xercesImpl (from https://repo1.maven.org/maven2/xerces/xercesImpl) - xml-apis (from ) ======================================================================== @@ -639,10 +622,10 @@ BSD-2-Clause ======================================================================== The following software have components provided under the terms of this license: -- API Common (from https://github.com/googleapis) +- API Common (from https://github.com/googleapis/api-common-java) - Apache Commons CLI (from http://commons.apache.org/proper/commons-cli/) -- GAX (Google Api eXtensions) (from https://github.com/googleapis) -- GAX (Google Api eXtensions) (from https://github.com/googleapis) +- GAX (Google Api eXtensions) for Java (from https://github.com/googleapis/gax-java) +- GAX (Google Api eXtensions) for Java (from https://github.com/googleapis/gax-java) - GAX (Google Api eXtensions) for Java (from https://github.com/googleapis/gax-java) - Hamcrest (from http://hamcrest.org/JavaHamcrest/) - Hamcrest Core (from http://hamcrest.org/) @@ -651,24 +634,21 @@ The following software have components provided under the terms of this license: - Reflections (from http://github.com/ronmamo/reflections) - Stax2 API (from http://github.com/FasterXML/stax2-api) - ThreeTen backport (from https://www.threeten.org/threetenbp) -- jaxen (from http://jaxen.codehaus.org/) +- jaxen (from http://www.cafeconleche.org/jaxen) ======================================================================== BSD-3-Clause ======================================================================== The following software have components provided under the terms of this license: -- API Common (from https://github.com/googleapis) +- API Common (from https://github.com/googleapis/api-common-java) - ASM Analysis (from ) - ASM Commons (from https://repo1.maven.org/maven2/org/ow2/asm/asm-commons) -- ASM Core (from https://repo1.maven.org/maven2/org/ow2/asm/asm) -- ASM Core (from https://repo1.maven.org/maven2/org/ow2/asm/asm) -- ASM Core (from https://repo1.maven.org/maven2/org/ow2/asm/asm) - ASM Tree (from ) - ASM Util (from ) - Apache Commons Codec (from https://commons.apache.org/proper/commons-codec/) -- GAX (Google Api eXtensions) (from https://github.com/googleapis) -- GAX (Google Api eXtensions) (from https://github.com/googleapis) +- GAX (Google Api eXtensions) for Java (from https://github.com/googleapis/gax-java) +- GAX (Google Api eXtensions) for Java (from https://github.com/googleapis/gax-java) - GAX (Google Api eXtensions) for Java (from https://github.com/googleapis/gax-java) - Google APIs Client Library for Java (from https://repo1.maven.org/maven2/com/google/api-client/google-api-client) - Google Auth Library for Java - Credentials (from https://repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials) @@ -676,8 +656,9 @@ The following software have components provided under the terms of this license: - Hamcrest (from http://hamcrest.org/JavaHamcrest/) - Hamcrest Core (from http://hamcrest.org/) - HdrHistogram (from http://hdrhistogram.github.io/HdrHistogram/) -- JavaBeans Activation Framework (from https://repo1.maven.org/maven2/com/sun/activation/jakarta.activation) -- JavaBeans Activation Framework API jar (from ) +- Jakarta Activation (from https://repo1.maven.org/maven2/com/sun/activation/jakarta.activation) +- Jakarta Activation API jar (from https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api) +- Jakarta XML Binding API (from https://repo1.maven.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api) - Microsoft Application Insights Java SDK Core (from https://github.com/Microsoft/ApplicationInsights-Java) - 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) @@ -690,9 +671,11 @@ The following software have components provided under the terms of this license: - SnakeYAML (from http://www.snakeyaml.org) - Spring Core (from https://github.com/spring-projects/spring-framework) - ThreeTen backport (from https://www.threeten.org/threetenbp) +- asm (from http://asm.ow2.io/) +- asm (from http://asm.ow2.io/) +- asm (from http://asm.ow2.io/) - classworlds (from http://classworlds.codehaus.org/) -- jakarta.xml.bind-api (from ) -- jaxen (from http://jaxen.codehaus.org/) +- jaxen (from http://www.cafeconleche.org/jaxen) - jsch (from https://repo1.maven.org/maven2/com/jcraft/jsch) ======================================================================== @@ -756,38 +739,38 @@ EPL-1.0 ======================================================================== The following software have components provided under the terms of this license: -- Expression Language 3.0 (from https://projects.eclipse.org/projects/ee4j.el) - JUnit Jupiter (Aggregator) (from https://junit.org/junit5/) +- JUnit Jupiter API (from https://junit.org/junit5/) +- JUnit Jupiter Engine (from https://junit.org/junit5/) - JUnit Jupiter Params (from https://junit.org/junit5/) +- JUnit Platform Commons (from https://junit.org/junit5/) +- JUnit Platform Engine API (from https://junit.org/junit5/) +- Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca) +- Jakarta Expression Language Implementation (from https://projects.eclipse.org/projects/ee4j.el) - Logback Classic Module (from https://repo1.maven.org/maven2/ch/qos/logback/logback-classic) - Logback Contrib :: JSON :: Classic (from https://repo1.maven.org/maven2/ch/qos/logback/contrib/logback-json-classic) - Logback Contrib :: JSON :: Core (from https://repo1.maven.org/maven2/ch/qos/logback/contrib/logback-json-core) -- Logback Contrib :: Jackson (from ) +- Logback Contrib :: Jackson (from https://repo1.maven.org/maven2/ch/qos/logback/contrib/logback-jackson) - Logback Core Module (from https://repo1.maven.org/maven2/ch/qos/logback/logback-core) - Microsoft Application Insights Java SDK Core (from https://github.com/Microsoft/ApplicationInsights-Java) - 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) - SnakeYAML (from http://www.snakeyaml.org) -- jakarta.annotation-api (from https://projects.eclipse.org/projects/ee4j.ca) -- org.junit.jupiter:junit-jupiter-api (from http://junit.org/junit5/) -- org.junit.jupiter:junit-jupiter-engine (from http://junit.org/junit5/) -- org.junit.platform:junit-platform-commons (from http://junit.org/junit5/) -- org.junit.platform:junit-platform-engine (from http://junit.org/junit5/) ======================================================================== EPL-2.0 ======================================================================== The following software have components provided under the terms of this license: -- Expression Language 3.0 (from https://projects.eclipse.org/projects/ee4j.el) - JUnit Jupiter (Aggregator) (from https://junit.org/junit5/) +- JUnit Jupiter API (from https://junit.org/junit5/) +- JUnit Jupiter Engine (from https://junit.org/junit5/) - JUnit Jupiter Params (from https://junit.org/junit5/) -- jakarta.annotation-api (from https://projects.eclipse.org/projects/ee4j.ca) -- org.junit.jupiter:junit-jupiter-api (from http://junit.org/junit5/) -- org.junit.jupiter:junit-jupiter-engine (from http://junit.org/junit5/) -- org.junit.platform:junit-platform-commons (from http://junit.org/junit5/) -- org.junit.platform:junit-platform-engine (from http://junit.org/junit5/) +- JUnit Platform Commons (from https://junit.org/junit5/) +- JUnit Platform Engine API (from https://junit.org/junit5/) +- Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca) +- Jakarta Expression Language Implementation (from https://projects.eclipse.org/projects/ee4j.el) ======================================================================== GPL-2.0-only @@ -815,9 +798,9 @@ GPL-2.0-with-classpath-exception The following software have components provided under the terms of this license: - Cobertura (from http://cobertura.sourceforge.net) -- Expression Language 3.0 (from https://projects.eclipse.org/projects/ee4j.el) +- Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca) +- Jakarta Expression Language Implementation (from https://projects.eclipse.org/projects/ee4j.el) - JavaBeans Activation Framework (from ) -- jakarta.annotation-api (from https://projects.eclipse.org/projects/ee4j.ca) - javax.annotation-api (from http://jcp.org/en/jsr/detail?id=250) - tomcat-embed-core (from http://tomcat.apache.org/) @@ -826,11 +809,11 @@ GPL-3.0-only ======================================================================== The following software have components provided under the terms of this license: -- Expression Language 3.0 (from https://projects.eclipse.org/projects/ee4j.el) -- Project Lombok (from http://projectlombok.org) -- Project Lombok (from http://projectlombok.org) -- Project Lombok (from http://projectlombok.org) -- jakarta.annotation-api (from https://projects.eclipse.org/projects/ee4j.ca) +- Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca) +- Jakarta Expression Language Implementation (from https://projects.eclipse.org/projects/ee4j.el) +- Project Lombok (from https://projectlombok.org) +- Project Lombok (from https://projectlombok.org) +- Project Lombok (from https://projectlombok.org) ======================================================================== ImageMagick @@ -845,7 +828,7 @@ Info-ZIP ======================================================================== The following software have components provided under the terms of this license: -- Apache Ant Core (from http://ant.apache.org/) +- Apache Ant Core (from https://ant.apache.org/) ======================================================================== JSON @@ -868,7 +851,7 @@ The following software have components provided under the terms of this license: - Logback Classic Module (from https://repo1.maven.org/maven2/ch/qos/logback/logback-classic) - Logback Contrib :: JSON :: Classic (from https://repo1.maven.org/maven2/ch/qos/logback/contrib/logback-json-classic) - Logback Contrib :: JSON :: Core (from https://repo1.maven.org/maven2/ch/qos/logback/contrib/logback-json-core) -- Logback Contrib :: Jackson (from ) +- Logback Contrib :: Jackson (from https://repo1.maven.org/maven2/ch/qos/logback/contrib/logback-jackson) - Logback Core Module (from https://repo1.maven.org/maven2/ch/qos/logback/logback-core) - Microsoft Application Insights Java SDK Core (from https://github.com/Microsoft/ApplicationInsights-Java) - Microsoft Application Insights Java SDK Spring Boot starter (from https://github.com/Microsoft/ApplicationInsights-Java) @@ -932,9 +915,9 @@ The following software have components provided under the terms of this license: - Netty/Codec/HTTP (from https://repo1.maven.org/maven2/io/netty/netty-codec-http) - Netty/Common (from https://repo1.maven.org/maven2/io/netty/netty-common) - Plexus Default Interactivity Handler (from ) -- Project Lombok (from http://projectlombok.org) -- Project Lombok (from http://projectlombok.org) -- Project Lombok (from http://projectlombok.org) +- Project Lombok (from https://projectlombok.org) +- Project Lombok (from https://projectlombok.org) +- Project Lombok (from https://projectlombok.org) - SLF4J API Module (from http://www.slf4j.org) - Spongy Castle (from http://rtyley.github.io/spongycastle/) - Spring Data for Azure Cosmos DB SQL API (from https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/cosmos/azure-spring-data-cosmos) @@ -948,7 +931,7 @@ The following software have components provided under the terms of this license: - mockito-junit-jupiter (from https://github.com/mockito/mockito) - msal4j (from https://github.com/AzureAD/microsoft-authentication-library-for-java) - msal4j-persistence-extension (from https://github.com/AzureAD/microsoft-authentication-extensions-for-java) -- spring-security-core (from http://spring.io/spring-security) +- spring-security-core (from https://spring.io/projects/spring-security) ======================================================================== MPL-1.1 @@ -966,16 +949,16 @@ The following software have components provided under the terms of this license: - Javassist (from http://www.javassist.org/) - Javassist (from http://www.javassist.org/) -- OkHttp (from https://repo1.maven.org/maven2/com/squareup/okhttp3/okhttp) +- okhttp (from https://square.github.io/okhttp/) ======================================================================== PHP-3.01 ======================================================================== The following software have components provided under the terms of this license: -- JavaBeans Activation Framework (from https://repo1.maven.org/maven2/com/sun/activation/jakarta.activation) -- JavaBeans Activation Framework API jar (from ) -- jakarta.xml.bind-api (from ) +- Jakarta Activation (from https://repo1.maven.org/maven2/com/sun/activation/jakarta.activation) +- Jakarta Activation API jar (from https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api) +- Jakarta XML Binding API (from https://repo1.maven.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api) ======================================================================== Public-Domain @@ -990,7 +973,7 @@ SAX-PD ======================================================================== The following software have components provided under the terms of this license: -- Apache Ant Core (from http://ant.apache.org/) +- Apache Ant Core (from https://ant.apache.org/) ======================================================================== SPL-1.0 @@ -1005,9 +988,9 @@ W3C ======================================================================== The following software have components provided under the terms of this license: -- Apache Ant Core (from http://ant.apache.org/) +- Apache Ant Core (from https://ant.apache.org/) - JTidy (from http://jtidy.sourceforge.net) -- xercesImpl (from https://repo1.maven.org/maven2/xerces/xercesImpl) +- Xerces2-j (from https://xerces.apache.org/xerces2-j/) - xml-apis (from ) ======================================================================== @@ -1022,7 +1005,6 @@ public-domain ======================================================================== The following software have components provided under the terms of this license: -- AWS Java SDK :: SDK Core (from https://aws.amazon.com/sdkforjava) - AWS SDK for Java - Models (from https://aws.amazon.com/sdkforjava) - Asynchronous Http Client (from https://repo1.maven.org/maven2/org/asynchttpclient/async-http-client) - Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs (from http://www.bouncycastle.org/java.html) @@ -1039,9 +1021,9 @@ The following software have components provided under the terms of this license: - Microsoft Azure SDK for EventGrid Management (from https://github.com/Azure/azure-sdk-for-java) - Microsoft Azure SDK for SQL API of Azure Cosmos DB Service (from https://github.com/Azure/azure-sdk-for-java) - Microsoft Azure client library for Blob Storage (from https://github.com/Azure/azure-sdk-for-java) -- Project Lombok (from http://projectlombok.org) -- Project Lombok (from http://projectlombok.org) -- Project Lombok (from http://projectlombok.org) +- Project Lombok (from https://projectlombok.org) +- Project Lombok (from https://projectlombok.org) +- Project Lombok (from https://projectlombok.org) - Spring Web (from https://github.com/spring-projects/spring-framework) - azure-documentdb (from https://azure.microsoft.com/en-us/services/cosmos-db/) - msal4j (from https://github.com/AzureAD/microsoft-authentication-library-for-java) @@ -1061,15 +1043,15 @@ The following software have components provided under the terms of this license: - JTidy (from http://jtidy.sourceforge.net) - JUnit (from http://junit.org) - JUnit Jupiter (Aggregator) (from https://junit.org/junit5/) +- JUnit Jupiter API (from https://junit.org/junit5/) +- JUnit Jupiter Engine (from https://junit.org/junit5/) - JUnit Jupiter Params (from https://junit.org/junit5/) -- JavaBeans Activation Framework (from https://repo1.maven.org/maven2/com/sun/activation/jakarta.activation) -- JavaBeans Activation Framework API jar (from ) +- JUnit Platform Commons (from https://junit.org/junit5/) +- JUnit Platform Engine API (from https://junit.org/junit5/) +- Jakarta Activation (from https://repo1.maven.org/maven2/com/sun/activation/jakarta.activation) +- Jakarta Activation API jar (from https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api) +- Jakarta XML Binding API (from https://repo1.maven.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api) - Spongy Castle (from http://rtyley.github.io/spongycastle/) -- jakarta.xml.bind-api (from ) -- org.junit.jupiter:junit-jupiter-api (from http://junit.org/junit5/) -- org.junit.jupiter:junit-jupiter-engine (from http://junit.org/junit5/) -- org.junit.platform:junit-platform-commons (from http://junit.org/junit5/) -- org.junit.platform:junit-platform-engine (from http://junit.org/junit5/) - xml-apis (from ) diff --git a/provider/partition-aws/build-aws/buildspec.yaml b/provider/partition-aws/build-aws/buildspec.yaml index 788ce1a98c96e425fe1b8275dea51bb18a061a34..459686629f930b4dc925b45616db2cfb55678a30 100644 --- a/provider/partition-aws/build-aws/buildspec.yaml +++ b/provider/partition-aws/build-aws/buildspec.yaml @@ -21,6 +21,11 @@ env: secrets-manager: DOCKER_USERNAME: /osdu/devops/docker_credentials:username DOCKER_PASSWORD: /osdu/devops/docker_credentials:password + SONAR_USERNAME: /osdu/devops/sonar_credentials:username + SONAR_PASSWORD: /osdu/devops/sonar_credentials:password + + parameter-store: + SONAR_URL: /osdu/devops/sonar_url phases: install: @@ -58,7 +63,7 @@ phases: - printenv - echo "Building primary service assemblies..." - - mvn -B test install -pl partition-core,provider/partition-aws -Ddeployment.environment=prod + - mvn -B test install sonar:sonar -pl .,partition-core,provider/partition-aws -Ddeployment.environment=prod -Dsonar.login=${SONAR_USERNAME} -Dsonar.password=${SONAR_PASSWORD} -Dsonar.branch.name=${BRANCH_NAME} - echo "Building integration testing assemblies and gathering artifacts..." - ./testing/partition-test-aws/build-aws/prepare-dist.sh @@ -78,6 +83,9 @@ phases: python provider/partition-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} + post_build: + commands: + - cp provider/partition-aws/target/dependency-check-report.html ${OUTPUT_DIR} reports: SurefireReports: # CodeBuild will create a report group called "SurefireReports". files: #Store all of the files diff --git a/provider/partition-aws/maven/settings.xml b/provider/partition-aws/maven/settings.xml index 1bfc43ac96aafb6790498c6f0acef3ca0818a98f..3bd1cd4aa7ed183241e62e75d2b7f1a3f5ebc7aa 100644 --- a/provider/partition-aws/maven/settings.xml +++ b/provider/partition-aws/maven/settings.xml @@ -54,6 +54,17 @@ limitations under the License. <azure.devops.token>no-default</azure.devops.token> </properties> </profile> + <profile> + <id>sonar</id> + <activation> + <activeByDefault>true</activeByDefault> + </activation> + <properties> + <sonar.host.url> + ${env.SONAR_URL} + </sonar.host.url> + </properties> + </profile> </profiles> <servers> diff --git a/provider/partition-aws/pom.xml b/provider/partition-aws/pom.xml index 9e06fded0c8e738717170538dc28f0b64ec29a9e..9f7a1df9e0a28a20c50bb91d2ef54c70f6f57bd2 100644 --- a/provider/partition-aws/pom.xml +++ b/provider/partition-aws/pom.xml @@ -57,7 +57,7 @@ <dependency> <groupId>org.opengroup.osdu.core.aws</groupId> <artifactId>os-core-lib-aws</artifactId> - <version>0.10.0</version> + <version>0.11.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.opengroup.osdu</groupId> @@ -180,6 +180,18 @@ </execution> </executions> </plugin> + <plugin> + <groupId>org.owasp</groupId> + <artifactId>dependency-check-maven</artifactId> + <version>6.2.2</version> + <executions> + <execution> + <goals> + <goal>check</goal> + </goals> + </execution> + </executions> + </plugin> </plugins> </build> diff --git a/provider/partition-aws/src/main/java/org/opengroup/osdu/partition/provider/aws/cache/GroupCache.java b/provider/partition-aws/src/main/java/org/opengroup/osdu/partition/provider/aws/cache/GroupCache.java index 2bb063606fdb20cbf894695119e276f91989628a..c3330489477dd7e481d7229e75283d718f0d1549 100644 --- a/provider/partition-aws/src/main/java/org/opengroup/osdu/partition/provider/aws/cache/GroupCache.java +++ b/provider/partition-aws/src/main/java/org/opengroup/osdu/partition/provider/aws/cache/GroupCache.java @@ -1,4 +1,4 @@ -// Copyright © 2020 Amazon Web Services +// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -14,17 +14,50 @@ package org.opengroup.osdu.partition.provider.aws.cache; + +import com.fasterxml.jackson.core.JsonProcessingException; +import org.opengroup.osdu.core.aws.ssm.K8sLocalParameterProvider; +import org.opengroup.osdu.core.aws.ssm.K8sParameterNotFoundException; +import org.opengroup.osdu.core.common.cache.ICache; +import org.opengroup.osdu.core.common.cache.RedisCache; +import org.opengroup.osdu.core.common.cache.VmCache; import org.opengroup.osdu.core.common.model.http.DpsHeaders; import org.opengroup.osdu.core.common.model.entitlements.Groups; -import org.opengroup.osdu.core.common.cache.RedisCache; import org.opengroup.osdu.core.common.util.Crc32c; +import org.opengroup.osdu.core.aws.cache.DummyCache; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; +import java.util.Map; + + @Component -public class GroupCache extends RedisCache<String, Groups> { - public GroupCache(@Value("${aws.elasticache.cluster.endpoint}") final String REDIS_GROUP_HOST, @Value("${aws.elasticache.cluster.port}") final String REDIS_GROUP_PORT, @Value("${aws.elasticache.cluster.key}") final String REDIS_GROUP_KEY) { - super(REDIS_GROUP_HOST, Integer.parseInt(REDIS_GROUP_PORT), REDIS_GROUP_KEY, 30, String.class, Groups.class); +public class GroupCache { + @Value("${aws.elasticache.cluster.endpoint}") + String REDIS_SEARCH_HOST; + @Value("${aws.elasticache.cluster.port}") + String REDIS_SEARCH_PORT; + @Value("${aws.elasticache.cluster.key}") + String REDIS_SEARCH_KEY; + public ICache<String, Groups> GetGroupCache() throws K8sParameterNotFoundException, JsonProcessingException { + K8sLocalParameterProvider provider = new K8sLocalParameterProvider(); + if (provider.getLocalMode()){ + if (Boolean.parseBoolean(System.getenv("DISABLE_CACHE"))){ + return new DummyCache(); + } + return new VmCache<>(60, 10); + }else { + String host = provider.getParameterAsStringOrDefault("CACHE_CLUSTER_ENDPOINT", REDIS_SEARCH_HOST); + int port = Integer.parseInt(provider.getParameterAsStringOrDefault("CACHE_CLUSTER_PORT", REDIS_SEARCH_PORT)); + Map<String, String > credential =provider.getCredentialsAsMap("CACHE_CLUSTER_KEY"); + String password; + if (credential !=null){ + password = credential.get("token"); + }else{ + password = REDIS_SEARCH_KEY; + } + return new RedisCache(host, port, password, 60, String.class, Groups.class); + } } public static String getGroupCacheKey(DpsHeaders headers) { diff --git a/provider/partition-aws/src/main/resources/application.properties b/provider/partition-aws/src/main/resources/application.properties index 913f572d9110b45d5ec787e0406615f0b359e86a..1d5f89d7f512ad0340b664d1d533160c1d36100e 100644 --- a/provider/partition-aws/src/main/resources/application.properties +++ b/provider/partition-aws/src/main/resources/application.properties @@ -34,14 +34,8 @@ aws.dynamodb.table.prefix=${ENVIRONMENT}- aws.dynamodb.region=${AWS_REGION} aws.dynamodb.endpoint=dynamodb.${AWS_REGION}.amazonaws.com - aws.environment=${ENVIRONMENT} -## AWS ElastiCache configuration -aws.elasticache.cluster.endpoint=${CACHE_CLUSTER_ENDPOINT} -aws.elasticache.cluster.port=${CACHE_CLUSTER_PORT} -aws.elasticache.cluster.key=${CACHE_CLUSTER_KEY} - server.ssl.enabled=${SSL_ENABLED:true} server.ssl.key-store-type=PKCS12 server.ssl.key-store=${SSL_KEY_STORE_PATH:/certs/osduonaws.p12} @@ -49,4 +43,8 @@ server.ssl.key-alias=${SSL_KEY_ALIAS:osduonaws} server.ssl.key-password=${SSL_KEY_PASSWORD:} server.ssl.key-store-password=${SSL_KEY_STORE_PASSWORD:} -spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration \ No newline at end of file +spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration +## AWS ElastiCache configuration +aws.elasticache.cluster.endpoint=${CACHE_CLUSTER_ENDPOINT} +aws.elasticache.cluster.port=${CACHE_CLUSTER_PORT} +aws.elasticache.cluster.key=${CACHE_CLUSTER_KEY} \ No newline at end of file diff --git a/testing/partition-test-aws/pom.xml b/testing/partition-test-aws/pom.xml index c0c6b6564c518e8f250188c60dc1b7688c277b3d..dbf4216496b43ca9b430ae830de2b753ae5a4452 100644 --- a/testing/partition-test-aws/pom.xml +++ b/testing/partition-test-aws/pom.xml @@ -71,7 +71,7 @@ <dependency> <groupId>org.opengroup.osdu.core.aws</groupId> <artifactId>os-core-lib-aws</artifactId> - <version>0.10.0</version> + <version>0.11.0-SNAPSHOT</version> </dependency> <dependency>