diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000000000000000000000000000000000000..f06320a00e38b84747b50888b1c6520162b28462 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +**/*.md +**/Dockerfile +**/*.yml +**/*.yaml +.* diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index accbeca4b76aac5e920a603df0f0499ad9b24f6c..510974681e29fee80262a8100ec60a41b94558c2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -39,7 +39,7 @@ include: file: "cloud-providers/ibm.yml" - project: "osdu/platform/ci-cd-pipelines" - file: "cloud-providers/osdu-gcp-gke.yml" + file: "cloud-providers/osdu-gcp-global.yml" - local: "devops/gcp/pipeline/override-stages.yml" diff --git a/NOTICE b/NOTICE index e4aab100b19a8bf2f3307cb7502e515f0dbdfa6d..f731b6a8a52aa37f2c40f020f67854d8aa3c0d83 100644 --- a/NOTICE +++ b/NOTICE @@ -13,11 +13,40 @@ The following software have components provided under the terms of this license: ======================================================================== Apache-1.1 ======================================================================== +The following software have components provided under the terms of this license: + - Apache Commons CLI (from https://commons.apache.org/proper/commons-cli/, https://repo1.maven.org/maven2/commons-cli/commons-cli) +- Apache Geronimo JMS Spec 2.0 (from http://geronimo.apache.org/maven/${siteId}/${version}) +- 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) +- Apache Log4j SLF4J Binding (from https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl) +- Apache Maven Invoker (from https://repo1.maven.org/maven2/org/apache/maven/shared/maven-invoker) +- Apache Maven Reporting API (from https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api) +- Apache Maven Reporting Implementation (from https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-impl) +- Apache Maven Wagon :: API (from https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api) +- Apache Maven Wagon :: Providers :: File Provider (from https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file) +- AspectJ Weaver (from http://www.aspectj.org, https://www.eclipse.org/aspectj/) - Cobertura (from http://cobertura.sourceforge.net) - Default Plexus Container (from https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default) +- Doxia :: APT Module (from https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-module-apt) +- Doxia :: Core (from https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-core) +- Doxia :: FML Module (from https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-module-fml) +- Doxia :: Sink API (from https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-sink-api) +- Doxia :: XDoc Module (from https://repo1.maven.org/maven2/org/apache/maven/doxia/doxia-module-xdoc) +- Maven Core (from https://repo1.maven.org/maven2/org/apache/maven/maven-core) +- Maven Error Diagnostics (from https://repo1.maven.org/maven2/org/apache/maven/maven-error-diagnostics) +- Maven Monitor (from https://repo1.maven.org/maven2/org/apache/maven/maven-monitor) +- Maven Plugin Descriptor Model (from https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-descriptor) +- Maven Plugin Parameter Documenter API (from https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-parameter-documenter) +- 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) - Plexus Common Utilities (from http://plexus.codehaus.org/plexus-utils, https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils) +- Proton-J (from https://repo1.maven.org/maven2/org/apache/qpid/proton-j) +- QpidJMS Client (from https://repo1.maven.org/maven2/org/apache/qpid/qpid-jms-client) - oro (from https://repo1.maven.org/maven2/oro/oro) +- tomcat-embed-websocket (from http://tomcat.apache.org/, https://tomcat.apache.org/) ======================================================================== Apache-2.0 @@ -200,6 +229,7 @@ The following software have components provided under the terms of this license: - AWS Java SDK for Amazon GuardDuty (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon HealthLake (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Honeycode (from https://aws.amazon.com/sdkforjava) +- AWS Java SDK for Amazon Inspector Service (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for Amazon Interactive Video (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) @@ -254,6 +284,7 @@ The following software have components provided under the terms of this license: - AWS Java SDK for Amazon Timestream Write (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) @@ -286,19 +317,21 @@ The following software have components provided under the terms of this license: - 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 https://repo1.maven.org/maven2/com/squareup/retrofit2/adapter-rxjava) +- Adapter: RxJava (from https://github.com/square/retrofit, https://repo1.maven.org/maven2/com/squareup/retrofit2/adapter-rxjava) +- Animal Sniffer Annotations (from https://repo1.maven.org/maven2/org/codehaus/mojo/animal-sniffer-annotations) - Apache Ant + JUnit (from http://ant.apache.org/, https://ant.apache.org/) - Apache Ant Core - Apache Ant Launcher (from http://ant.apache.org/, https://ant.apache.org/) -- Apache Commons BeanUtils (from http://commons.apache.org/proper/commons-beanutils/, https://repo1.maven.org/maven2/commons-beanutils/commons-beanutils) +- Apache Commons BeanUtils (from http://commons.apache.org/proper/commons-beanutils/, https://commons.apache.org/proper/commons-beanutils/, https://repo1.maven.org/maven2/commons-beanutils/commons-beanutils) - Apache Commons CLI (from https://commons.apache.org/proper/commons-cli/, https://repo1.maven.org/maven2/commons-cli/commons-cli) - Apache Commons Codec (from http://commons.apache.org/proper/commons-codec/, https://commons.apache.org/proper/commons-codec/) -- Apache Commons Collections (from http://commons.apache.org/proper/commons-collections/) +- Apache Commons Collections (from http://commons.apache.org/proper/commons-collections/, https://commons.apache.org/proper/commons-collections/) - Apache Commons IO (from http://commons.apache.org/io/, https://commons.apache.org/proper/commons-io/, https://repo1.maven.org/maven2/commons-io/commons-io) -- Apache Commons Lang (from http://commons.apache.org/proper/commons-lang/) +- Apache Commons Lang (from http://commons.apache.org/proper/commons-lang/, https://commons.apache.org/proper/commons-lang/) - Apache Commons Logging (from http://commons.apache.org/logging/, http://commons.apache.org/proper/commons-logging/) - Apache Commons Validator (from http://commons.apache.org/proper/commons-validator/, http://jakarta.apache.org/commons/${pom.artifactId.substring(8)}/, https://repo1.maven.org/maven2/commons-validator/commons-validator) - Apache Geronimo JMS Spec 2.0 (from http://geronimo.apache.org/maven/${siteId}/${version}) +- Apache Groovy (from http://groovy-lang.org, http://groovy.codehaus.org/, https://groovy-lang.org) - Apache HTTP transport v2 for the Google HTTP Client Library for Java. (from https://repo1.maven.org/maven2/com/google/http-client/google-http-client-apache-v2) - Apache HttpClient (from http://hc.apache.org/httpcomponents-client) - Apache HttpClient Cache (from http://hc.apache.org/httpcomponents-client) @@ -309,6 +342,8 @@ The following software have components provided under the terms of this license: - Apache Log4j SLF4J Binding (from https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl) - Apache Log4j to SLF4J Adapter (from https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-to-slf4j) - Apache Maven Invoker (from https://repo1.maven.org/maven2/org/apache/maven/shared/maven-invoker) +- Apache Maven Reporting API (from https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api) +- Apache Maven Reporting Implementation (from https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-impl) - Apache Maven Wagon :: API (from https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api) - Apache Maven Wagon :: Providers :: File Provider (from https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file) - Apache Maven Wagon :: Providers :: HTTP Shared Library (from https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-http-shared) @@ -316,8 +351,8 @@ The following software have components provided under the terms of this license: - Apache Maven Wagon :: Providers :: SSH Common Library (from https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh-common) - Apache Maven Wagon :: Providers :: SSH External Provider (from https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh-external) - Apache Maven Wagon :: Providers :: SSH Provider (from https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh) -- Apache Velocity (from http://velocity.apache.org/engine/releases/velocity-1.6.1/, http://velocity.apache.org/engine/releases/velocity-1.6.2/) -- AssertJ fluent assertions (from https://repo1.maven.org/maven2/org/assertj/assertj-core) +- Apache Velocity (from http://velocity.apache.org/engine/devel/, http://velocity.apache.org/engine/releases/velocity-1.6.1/, http://velocity.apache.org/engine/releases/velocity-1.6.2/) +- AssertJ fluent assertions (from ${project.parent.url}#${project.artifactId}, https://repo1.maven.org/maven2/org/assertj/assertj-core) - Asynchronous Http Client (from https://repo1.maven.org/maven2/org/asynchttpclient/async-http-client) - Asynchronous Http Client Netty Utils (from https://repo1.maven.org/maven2/org/asynchttpclient/async-http-client-netty-utils) - AutoValue Annotations (from https://github.com/google/auto/tree/master/value, https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations) @@ -331,10 +366,15 @@ The following software have components provided under the terms of this license: - Byte Buddy Java agent (from https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy-agent) - ClassMate (from http://github.com/cowtowncoder/java-classmate) - Cloud Key Management Service (KMS) API (from https://repo1.maven.org/maven2/com/google/apis/google-api-services-cloudkms) +- Cloud Key Management Service (KMS) API v1-rev20220407-1.32.1 (from https://repo1.maven.org/maven2/com/google/apis/google-api-services-cloudkms) - Cloud Storage JSON API (from https://repo1.maven.org/maven2/com/google/apis/google-api-services-storage) +- Cloud Storage JSON API v1-rev20220604-1.32.1 (from https://repo1.maven.org/maven2/com/google/apis/google-api-services-storage) +- Cloud Storage JSON API v1-rev20220608-1.32.1 (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) +- Commons Digester (from http://commons.apache.org/digester/) +- Commons Lang (from http://commons.apache.org/lang/) - Converter: Jackson (from https://github.com/square/retrofit, https://repo1.maven.org/maven2/com/squareup/retrofit2/converter-jackson) - Core functionality for the Reactor Netty library (from https://github.com/reactor/reactor-netty) - Default Plexus Container (from https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default) @@ -365,21 +405,27 @@ The following software have components provided under the terms of this license: - 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/, 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 ListenableFuture only (from https://repo1.maven.org/maven2/com/google/guava/listenablefuture) - Guava: Google Core Libraries for Java (from http://code.google.com/p/guava-libraries, https://github.com/google/guava, 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 (from https://repo1.maven.org/maven2/org/hibernate/hibernate-validator, https://repo1.maven.org/maven2/org/hibernate/validator/hibernate-validator) - HikariCP (from https://github.com/brettwooldridge/HikariCP) +- Hop (from https://github.com/rabbitmq/hop, https://www.rabbitmq.com) - 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 v2beta-rev20220421-1.32.1 (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) +- JBoss Marshalling API (from https://repo1.maven.org/maven2/org/jboss/marshalling/jboss-marshalling) +- JBoss Marshalling River (from https://repo1.maven.org/maven2/org/jboss/marshalling/jboss-marshalling-river) - JCIP Annotations under Apache License (from http://stephenc.github.com/jcip-annotations) - JDOM - 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, https://urielch.github.io/) -- JSON Web Token support for the JVM (from https://repo1.maven.org/maven2/io/jsonwebtoken/jjwt) +- JSON Web Token support for the JVM (from https://github.com/jwtk/jjwt, https://repo1.maven.org/maven2/io/jsonwebtoken/jjwt) +- JSON in Java (from https://github.com/douglascrockford/JSON-java) - JSON library from Android SDK (from http://developer.android.com/sdk) - JSONassert (from http://github.com/skyscreamer/yoga, https://github.com/skyscreamer/JSONassert) - JSR107 API and SPI (from https://github.com/jsr107/jsr107spec) @@ -398,10 +444,12 @@ The following software have components provided under the terms of this license: - Jackson-dataformat-YAML (from https://github.com/FasterXML/jackson, https://github.com/FasterXML/jackson-dataformats-text) - 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) -- Java Libraries for Amazon Simple WorkFlow (from https://aws.amazon.com/sdkforjava) +- Jakarta XML Binding API (from https://repo1.maven.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api, https://repo1.maven.org/maven2/org/jboss/spec/javax/xml/bind/jboss-jaxb-api_2.3_spec) +- Java Libraries for Amazon Simple WorkFlow (from https://aws.amazon.com/sdkforjava, https://github.com/aws/aws-swf-flow-library) - Java Native Access (from https://github.com/java-native-access/jna, https://github.com/twall/jna, https://repo1.maven.org/maven2/net/java/dev/jna/jna) - Java Native Access Platform (from https://github.com/java-native-access/jna) - Java UUID Generator (from http://wiki.fasterxml.com/JugHome) +- JavaBeans Activation Framework (from https://repo1.maven.org/maven2/com/sun/activation/javax.activation) - Javassist (from http://www.javassist.org/) - JetBrains Java Annotations (from https://github.com/JetBrains/java-annotations) - Jetty :: Utilities (from http://jetty.mortbay.org, http://www.eclipse.org/jetty, https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-util, https://repo1.maven.org/maven2/org/mortbay/jetty/jetty-util) @@ -416,6 +464,7 @@ The following software have components provided under the terms of this license: - Kotlin Stdlib (from https://kotlinlang.org/, https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib) - Kotlin Stdlib Common (from https://kotlinlang.org/) - Lang (from https://repo1.maven.org/maven2/commons-lang/commons-lang) +- LatencyUtils (from http://latencyutils.github.io/LatencyUtils/) - 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 https://repo1.maven.org/maven2/ch/qos/logback/contrib/logback-jackson) @@ -431,12 +480,14 @@ The following software have components provided under the terms of this license: - Maven Plugin Parameter Documenter API (from https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-parameter-documenter) - Maven Plugin Registry Model (from https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-registry) - Maven Profile Model (from https://repo1.maven.org/maven2/org/apache/maven/maven-profile) +- Maven Project (from https://repo1.maven.org/maven2/org/apache/maven/maven-project) - Maven Project Builder (from https://repo1.maven.org/maven2/org/apache/maven/maven-project) - Maven Reporting API (from https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-api) - Maven Reporting Implementation (from https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-impl) - Maven Repository Metadata Model (from https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata) - Maven Settings (from https://repo1.maven.org/maven2/org/apache/maven/maven-settings) - Metrics Core (from https://repo1.maven.org/maven2/io/dropwizard/metrics/metrics-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) @@ -447,8 +498,8 @@ The following software have components provided under the terms of this license: - Microsoft Azure Storage Client SDK (from https://github.com/Azure/azure-storage-java) - Mockito (from http://mockito.org, http://www.mockito.org, https://github.com/mockito/mockito) - Mojo's Maven plugin for Cobertura (from http://mojo.codehaus.org/cobertura-maven-plugin/) -- MongoDB Driver (from http://www.mongodb.org) -- MongoDB Java Driver (from http://mongodb.org/, http://www.mongodb.org) +- MongoDB Driver (from http://www.mongodb.org, https://www.mongodb.com/) +- MongoDB Java Driver (from http://mongodb.org/, http://www.mongodb.org, https://www.mongodb.com/) - 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) @@ -462,7 +513,7 @@ The following software have components provided under the terms of this license: - Netty/Resolver (from https://repo1.maven.org/maven2/io/netty/netty-resolver) - Netty/Resolver/DNS (from https://repo1.maven.org/maven2/io/netty/netty-resolver-dns) - Netty/Resolver/DNS/Classes/MacOS (from https://repo1.maven.org/maven2/io/netty/netty-resolver-dns-classes-macos) -- Netty/TomcatNative [BoringSSL - Static] (from https://repo1.maven.org/maven2/io/netty/netty-tcnative-boringssl-static) +- Netty/TomcatNative [BoringSSL - Static] (from https://github.com/netty/netty-tcnative/netty-tcnative-boringssl-static/, https://repo1.maven.org/maven2/io/netty/netty-tcnative-boringssl-static) - Netty/Transport (from https://repo1.maven.org/maven2/io/netty/netty-transport) - Netty/Transport/Classes/Epoll (from https://repo1.maven.org/maven2/io/netty/netty-transport-classes-epoll) - Netty/Transport/Classes/KQueue (from https://repo1.maven.org/maven2/io/netty/netty-transport-classes-kqueue) @@ -472,7 +523,7 @@ The following software have components provided under the terms of this license: - Nimbus LangTag (from https://bitbucket.org/connect2id/nimbus-language-tags) - Non-Blocking Reactive Foundation for the JVM (from https://github.com/reactor/reactor, 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) +- Objenesis (from http://objenesis.org, https://repo1.maven.org/maven2/org/objenesis/objenesis) - OkHttp (from https://repo1.maven.org/maven2/com/squareup/okhttp3/okhttp, https://square.github.io/okhttp/) - OkHttp Logging Interceptor (from https://github.com/square/okhttp, https://repo1.maven.org/maven2/com/squareup/okhttp3/logging-interceptor, https://square.github.io/okhttp/) - OkHttp URLConnection (from https://repo1.maven.org/maven2/com/squareup/okhttp3/okhttp-urlconnection, https://square.github.io/okhttp/) @@ -487,11 +538,14 @@ The following software have components provided under the terms of this license: - Proton-J (from https://repo1.maven.org/maven2/org/apache/qpid/proton-j) - QUIC functionality for the Reactor Netty library (from https://github.com/reactor/reactor-netty) - QpidJMS Client (from https://repo1.maven.org/maven2/org/apache/qpid/qpid-jms-client) +- RabbitMQ Java Client (from http://www.rabbitmq.com, https://www.rabbitmq.com) - Reactive Streams Netty driver (from https://github.com/reactor/reactor-netty) +- Redisson (from http://redisson.org) - Retrofit (from https://github.com/square/retrofit, https://repo1.maven.org/maven2/com/squareup/retrofit2/retrofit) - RxJava (from https://github.com/ReactiveX/RxJava) - Servlet Specification 2.5 API (from http://jetty.mortbay.org, https://repo1.maven.org/maven2/org/mortbay/jetty/servlet-api-2.5) -- SnakeYAML (from http://code.google.com/p/snakeyaml/, http://www.snakeyaml.org) +- Simple XML (safe) (from https://github.com/dweiss/simplexml) +- SnakeYAML (from http://code.google.com/p/snakeyaml/, http://www.snakeyaml.org, https://bitbucket.org/snakeyaml/snakeyaml) - Spring AOP (from http://www.springframework.org, https://github.com/spring-projects/spring-framework, https://repo1.maven.org/maven2/org/springframework/spring-aop) - Spring Beans (from http://www.springframework.org, https://github.com/SpringSource/spring-framework, https://github.com/spring-projects/spring-framework, https://repo1.maven.org/maven2/org/springframework/spring-beans) - Spring Boot (from https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot, https://spring.io/projects/spring-boot) @@ -528,7 +582,7 @@ The following software have components provided under the terms of this license: - 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 Security - Core (from http://spring.io/spring-security, https://repo1.maven.org/maven2/org/springframework/security/spring-security-core, https://spring.io/projects/spring-security, https://spring.io/spring-security) -- Spring Security - Namespace Configuration Module (from http://spring.io/spring-security, https://repo1.maven.org/maven2/org/springframework/security/spring-security-config, https://spring.io/spring-security) +- Spring Security - Namespace Configuration Module (from http://spring.io/spring-security, https://repo1.maven.org/maven2/org/springframework/security/spring-security-config, https://spring.io/projects/spring-security, https://spring.io/spring-security) - Spring Security - Web Application Security Module (from http://spring.io/spring-security, https://repo1.maven.org/maven2/org/springframework/security/spring-security-web, https://spring.io/projects/spring-security, https://spring.io/spring-security) - Spring TestContext Framework (from https://github.com/SpringSource/spring-framework, https://github.com/spring-projects/spring-framework) - Spring Transaction (from https://github.com/SpringSource/spring-framework, https://github.com/spring-projects/spring-framework) @@ -545,6 +599,7 @@ The following software have components provided under the terms of this license: - aalto-xml (from https://github.com/FasterXML/aalto-xml, https://repo1.maven.org/maven2/com/fasterxml/aalto-xml) - aws-encryption-sdk-java (from https://github.com/aws/aws-encryption-sdk-java) - datastore-v1-proto-client (from https://repo1.maven.org/maven2/com/google/cloud/datastore/datastore-v1-proto-client) +- documentdb-bulkexecutor (from http://azure.microsoft.com/en-us/services/documentdb/) - error-prone annotations (from https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations) - grpc-google-cloud-pubsub-v1 (from https://github.com/googleapis/googleapis, https://repo1.maven.org/maven2/com/google/api/grpc/grpc-google-cloud-pubsub-v1) - io.grpc:grpc-alts (from https://github.com/grpc/grpc-java) @@ -561,12 +616,14 @@ The following software have components provided under the terms of this license: - jackson-databind (from http://github.com/FasterXML/jackson, http://wiki.fasterxml.com/JacksonHome) - java-cloudant (from https://cloudant.com) - javatuples (from http://www.javatuples.org) +- javax.annotation-api (from http://jcp.org/en/jsr/detail?id=250) - javax.inject (from http://code.google.com/p/atinject/, https://repo1.maven.org/maven2/org/glassfish/hk2/external/javax.inject) - jose4j (from https://bitbucket.org/b_c/jose4j/) - json-path (from http://code.google.com/p/json-path/, https://github.com/jayway/JsonPath) - lettuce (from http://github.com/mp911de/lettuce/wiki, https://github.com/lettuce-io/lettuce-core/wiki) - micrometer-core (from https://github.com/micrometer-metrics/micrometer) - micrometer-registry-azure-monitor (from https://github.com/micrometer-metrics/micrometer) +- minio (from https://github.com/minio/minio-java) - org.apiguardian:apiguardian-api (from https://github.com/apiguardian-team/apiguardian) - org.conscrypt:conscrypt-openjdk-uber (from https://conscrypt.org/) - org.opentest4j:opentest4j (from https://github.com/ota4j-team/opentest4j) @@ -583,10 +640,10 @@ The following software have components provided under the terms of this license: - proto-google-cloud-pubsub-v1 (from https://github.com/googleapis/googleapis, https://github.com/googleapis/java-pubsub/proto-google-cloud-pubsub-v1) - proto-google-common-protos (from https://github.com/googleapis/api-client-staging, https://github.com/googleapis/googleapis, https://github.com/googleapis/java-iam/proto-google-common-protos) - proto-google-iam-v1 (from https://github.com/googleapis/googleapis, https://github.com/googleapis/java-iam/proto-google-iam-v1) -- resilience4j (from https://github.com/resilience4j/resilience4j, ttps://resilience4j.readme.io) -- spring-security-oauth2-client (from http://spring.io/spring-security, https://spring.io/spring-security) -- spring-security-oauth2-core (from http://spring.io/spring-security, https://spring.io/spring-security) -- spring-security-oauth2-jose (from http://spring.io/spring-security, https://spring.io/spring-security) +- resilience4j (from https://github.com/resilience4j/resilience4j, https://resilience4j.readme.io, ttps://resilience4j.readme.io) +- spring-security-oauth2-client (from http://spring.io/spring-security, https://spring.io/projects/spring-security, https://spring.io/spring-security) +- spring-security-oauth2-core (from http://spring.io/spring-security, https://spring.io/projects/spring-security, https://spring.io/spring-security) +- spring-security-oauth2-jose (from http://spring.io/spring-security, https://spring.io/projects/spring-security, https://spring.io/spring-security) - spring-security-test (from http://spring.io/spring-security, https://spring.io/projects/spring-security, https://spring.io/spring-security) - springfox-bean-validators (from https://github.com/springfox/springfox) - springfox-boot-starter (from https://github.com/springfox/springfox) @@ -606,7 +663,7 @@ The following software have components provided under the terms of this license: - swagger-models (from https://repo1.maven.org/maven2/io/swagger/core/v3/swagger-models, https://repo1.maven.org/maven2/io/swagger/swagger-models) - tomcat-embed-core (from http://tomcat.apache.org/) - tomcat-embed-websocket (from http://tomcat.apache.org/, https://tomcat.apache.org/) -- xml-apis +- xml-apis (from https://repo1.maven.org/maven2/xml-apis/xml-apis) ======================================================================== BSD-2-Clause @@ -617,14 +674,17 @@ The following software have components provided under the terms of this license: - Apache Commons CLI (from https://commons.apache.org/proper/commons-cli/, https://repo1.maven.org/maven2/commons-cli/commons-cli) - GAX (Google Api eXtensions) (from https://github.com/googleapis, https://github.com/googleapis/gax-java) - Hamcrest (from http://hamcrest.org/JavaHamcrest/) -- Hamcrest Core (from http://hamcrest.org/, https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core) +- Hamcrest Core (from http://hamcrest.org/, http://hamcrest.org/JavaHamcrest/, https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core) - HdrHistogram (from http://hdrhistogram.github.io/HdrHistogram/) +- JSch (from http://www.jcraft.com/jsch/) +- Jodd BeanUtil (from http://jodd.org) +- Jodd Core (from http://jodd.org) - Plexus Common Utilities (from http://plexus.codehaus.org/plexus-utils, https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils) - PostgreSQL JDBC Driver - Reflections (from http://code.google.com/p/reflections/, http://github.com/ronmamo/reflections) - Stax2 API (from http://github.com/FasterXML/stax2-api) - ThreeTen backport (from https://github.com/ThreeTen/threetenbp, https://www.threeten.org/threetenbp) -- jaxen (from http://jaxen.codehaus.org/, https://repo1.maven.org/maven2/jaxen/jaxen) +- jaxen (from http://jaxen.codehaus.org/, http://www.cafeconleche.org/jaxen, https://repo1.maven.org/maven2/jaxen/jaxen) ======================================================================== BSD-3-Clause @@ -639,15 +699,18 @@ The following software have components provided under the terms of this license: - ASM Util (from http://asm.ow2.io/, https://repo1.maven.org/maven2/org/ow2/asm/asm-util) - Apache Commons Codec (from http://commons.apache.org/proper/commons-codec/, https://commons.apache.org/proper/commons-codec/) - AspectJ Weaver (from http://www.aspectj.org, https://www.eclipse.org/aspectj/) +- Expression Language 3.0 (from http://el-spec.java.net, http://uel.java.net, https://projects.eclipse.org/projects/ee4j.el) - GAX (Google Api eXtensions) (from https://github.com/googleapis, 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) - Google Auth Library for Java - OAuth2 HTTP (from https://repo1.maven.org/maven2/com/google/auth/google-auth-library-oauth2-http) - Hamcrest (from http://hamcrest.org/JavaHamcrest/) -- Hamcrest Core (from http://hamcrest.org/, https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core) +- Hamcrest Core (from http://hamcrest.org/, http://hamcrest.org/JavaHamcrest/, https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core) - HdrHistogram (from http://hdrhistogram.github.io/HdrHistogram/) - JSch (from http://www.jcraft.com/jsch/) +- Jackson module: Afterburner (from http://wiki.fasterxml.com/JacksonHome, https://github.com/FasterXML/jackson-modules-base) - Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api) +- Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca) - Jakarta XML Binding API (from https://repo1.maven.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api, https://repo1.maven.org/maven2/org/jboss/spec/javax/xml/bind/jboss-jaxb-api_2.3_spec) - 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) @@ -659,22 +722,45 @@ The following software have components provided under the terms of this license: - PostgreSQL JDBC Driver - Protocol Buffer Java API (from http://code.google.com/p/protobuf, https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java) - Protocol Buffers [Util] (from https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java-util) +- Redisson (from http://redisson.org) - Reflections (from http://code.google.com/p/reflections/, http://github.com/ronmamo/reflections) -- SnakeYAML (from http://code.google.com/p/snakeyaml/, http://www.snakeyaml.org) +- SnakeYAML (from http://code.google.com/p/snakeyaml/, http://www.snakeyaml.org, https://bitbucket.org/snakeyaml/snakeyaml) - Spring Core (from http://www.springframework.org, https://github.com/spring-projects/spring-framework, https://repo1.maven.org/maven2/org/springframework/spring-core) - ThreeTen backport (from https://github.com/ThreeTen/threetenbp, https://www.threeten.org/threetenbp) - classworlds (from http://classworlds.codehaus.org/, https://repo1.maven.org/maven2/classworlds/classworlds) -- jaxen (from http://jaxen.codehaus.org/, https://repo1.maven.org/maven2/jaxen/jaxen) +- jaxen (from http://jaxen.codehaus.org/, http://www.cafeconleche.org/jaxen, https://repo1.maven.org/maven2/jaxen/jaxen) + +======================================================================== +Beerware +======================================================================== +The following software have components provided under the terms of this license: + +- 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) + +======================================================================== +BouncyCastle +======================================================================== +The following software have components provided under the terms of this license: + +- Bouncy Castle Provider (from http://www.bouncycastle.org/java.html, https://www.bouncycastle.org/java.html) ======================================================================== CC-BY-2.5 ======================================================================== +The following software have components provided under the terms of this license: + - FindBugs-jsr305 (from http://findbugs.sourceforge.net/) -- MongoDB Java Driver (from http://mongodb.org/, http://www.mongodb.org) +- MongoDB Java Driver (from http://mongodb.org/, http://www.mongodb.org, https://www.mongodb.com/) ======================================================================== CC-BY-4.0 ======================================================================== +The following software have components provided under the terms of this license: + +- 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) @@ -682,19 +768,32 @@ CC-BY-4.0 ======================================================================== CC0-1.0 ======================================================================== +The following software have components provided under the terms of this license: + +- Guava: Google Core Libraries for Java (from http://code.google.com/p/guava-libraries, https://github.com/google/guava, https://repo1.maven.org/maven2/com/google/guava/guava) +- HdrHistogram (from http://hdrhistogram.github.io/HdrHistogram/) +- LatencyUtils (from http://latencyutils.github.io/LatencyUtils/) +- MongoDB Java Driver (from http://mongodb.org/, http://www.mongodb.org, https://www.mongodb.com/) +- Netty/Common (from https://repo1.maven.org/maven2/io/netty/netty-common) +- RabbitMQ Java Client (from http://www.rabbitmq.com, https://www.rabbitmq.com) - reactive-streams (from http://www.reactive-streams.org/) ======================================================================== CDDL-1.0 ======================================================================== +The following software have components provided under the terms of this license: + +- Apache Log4j Core (from https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core) +- JavaBeans Activation Framework (from https://repo1.maven.org/maven2/com/sun/activation/javax.activation) - Servlet Specification 2.5 API (from http://jetty.mortbay.org, https://repo1.maven.org/maven2/org/mortbay/jetty/servlet-api-2.5) +- javax.annotation-api (from http://jcp.org/en/jsr/detail?id=250) ======================================================================== CDDL-1.1 ======================================================================== The following software have components provided under the terms of this license: -- JavaBeans Activation Framework +- JavaBeans Activation Framework (from https://repo1.maven.org/maven2/com/sun/activation/javax.activation) - Servlet Specification 2.5 API (from http://jetty.mortbay.org, https://repo1.maven.org/maven2/org/mortbay/jetty/servlet-api-2.5) - javax.annotation-api (from http://jcp.org/en/jsr/detail?id=250) - tomcat-embed-core (from http://tomcat.apache.org/) @@ -719,7 +818,10 @@ The following software have components provided under the terms of this license: - JUnit Jupiter Params (from http://junit.org/junit5/, https://junit.org/junit5/) - JUnit Platform Commons (from http://junit.org/junit5/, https://junit.org/junit5/) - JUnit Platform Engine API (from http://junit.org/junit5/, https://junit.org/junit5/) +- Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api) - Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca) +- Jakarta Bean Validation API (from https://beanvalidation.org) +- Jakarta XML Binding API (from https://repo1.maven.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api, https://repo1.maven.org/maven2/org/jboss/spec/javax/xml/bind/jboss-jaxb-api_2.3_spec) - Logback Classic Module (from http://logback.qos.ch, 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) @@ -728,11 +830,14 @@ 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) -- SnakeYAML (from http://code.google.com/p/snakeyaml/, http://www.snakeyaml.org) +- SnakeYAML (from http://code.google.com/p/snakeyaml/, http://www.snakeyaml.org, https://bitbucket.org/snakeyaml/snakeyaml) ======================================================================== EPL-2.0 ======================================================================== +The following software have components provided under the terms of this license: + +- AspectJ Weaver (from http://www.aspectj.org, https://www.eclipse.org/aspectj/) - Expression Language 3.0 (from http://el-spec.java.net, http://uel.java.net, https://projects.eclipse.org/projects/ee4j.el) - JUnit Jupiter (Aggregator) (from https://junit.org/junit5/) - JUnit Jupiter API (from http://junit.org/junit5/, https://junit.org/junit5/) @@ -740,7 +845,17 @@ EPL-2.0 - JUnit Jupiter Params (from http://junit.org/junit5/, https://junit.org/junit5/) - JUnit Platform Commons (from http://junit.org/junit5/, https://junit.org/junit5/) - JUnit Platform Engine API (from http://junit.org/junit5/, https://junit.org/junit5/) +- Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api) - Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca) +- Jakarta Bean Validation API (from https://beanvalidation.org) +- Jakarta XML Binding API (from https://repo1.maven.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api, https://repo1.maven.org/maven2/org/jboss/spec/javax/xml/bind/jboss-jaxb-api_2.3_spec) + +======================================================================== +GPL-1.0-or-later +======================================================================== +The following software have components provided under the terms of this license: + +- Cobertura (from http://cobertura.sourceforge.net) ======================================================================== GPL-2.0-only @@ -749,16 +864,22 @@ The following software have components provided under the terms of this license: - Cobertura (from http://cobertura.sourceforge.net) - Cobertura Limited Runtime (from http://cobertura.sourceforge.net) +- Expression Language 3.0 (from http://el-spec.java.net, http://uel.java.net, https://projects.eclipse.org/projects/ee4j.el) +- Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca) - JavaBeans Activation Framework - Lang (from https://repo1.maven.org/maven2/commons-lang/commons-lang) - Mojo's Maven plugin for Cobertura (from http://mojo.codehaus.org/cobertura-maven-plugin/) +- RabbitMQ Java Client (from http://www.rabbitmq.com, https://www.rabbitmq.com) - javax.annotation-api (from http://jcp.org/en/jsr/detail?id=250) - tomcat-embed-core (from http://tomcat.apache.org/) ======================================================================== GPL-2.0-or-later ======================================================================== -- SnakeYAML (from http://code.google.com/p/snakeyaml/, http://www.snakeyaml.org) +The following software have components provided under the terms of this license: + +- Cobertura (from http://cobertura.sourceforge.net) +- SnakeYAML (from http://code.google.com/p/snakeyaml/, http://www.snakeyaml.org, https://bitbucket.org/snakeyaml/snakeyaml) ======================================================================== GPL-2.0-with-classpath-exception @@ -768,21 +889,64 @@ The following software have components provided under the terms of this license: - Checker Qual (from https://checkerframework.org) - Cobertura (from http://cobertura.sourceforge.net) - Expression Language 3.0 (from http://el-spec.java.net, http://uel.java.net, https://projects.eclipse.org/projects/ee4j.el) +- Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, https://repo1.maven.org/maven2/jakarta/activation/jakarta.activation-api) - Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca) -- JavaBeans Activation Framework +- Jakarta Bean Validation API (from https://beanvalidation.org) +- Jakarta XML Binding API (from https://repo1.maven.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api, https://repo1.maven.org/maven2/org/jboss/spec/javax/xml/bind/jboss-jaxb-api_2.3_spec) +- JavaBeans Activation Framework (from https://repo1.maven.org/maven2/com/sun/activation/javax.activation) - javax.annotation-api (from http://jcp.org/en/jsr/detail?id=250) - tomcat-embed-core (from http://tomcat.apache.org/) ======================================================================== GPL-3.0-only ======================================================================== +The following software have components provided under the terms of this license: + - Expression Language 3.0 (from http://el-spec.java.net, http://uel.java.net, https://projects.eclipse.org/projects/ee4j.el) - Jakarta Annotations API (from https://projects.eclipse.org/projects/ee4j.ca) - Project Lombok (from http://projectlombok.org, https://projectlombok.org) +======================================================================== +GPL-3.0-or-later +======================================================================== +The following software have components provided under the terms of this license: + +- Cobertura (from http://cobertura.sourceforge.net) + +======================================================================== +IPA +======================================================================== +The following software have components provided under the terms of this license: + +- Xerces2-j (from https://repo1.maven.org/maven2/xerces/xercesImpl, https://xerces.apache.org/xerces2-j/) + +======================================================================== +ISC +======================================================================== +The following software have components provided under the terms of this license: + +- Java Native Access Platform (from https://github.com/java-native-access/jna) +- Spring Security - Core (from http://spring.io/spring-security, https://repo1.maven.org/maven2/org/springframework/security/spring-security-core, https://spring.io/projects/spring-security, https://spring.io/spring-security) + +======================================================================== +ImageMagick +======================================================================== +The following software have components provided under the terms of this license: + +- aalto-xml (from https://github.com/FasterXML/aalto-xml, https://repo1.maven.org/maven2/com/fasterxml/aalto-xml) + +======================================================================== +Info-ZIP +======================================================================== +The following software have components provided under the terms of this license: + +- ClassGraph (from https://github.com/classgraph/classgraph) + ======================================================================== JSON ======================================================================== +The following software have components provided under the terms of this license: + - JSON in Java (from https://github.com/douglascrockford/JSON-java) ======================================================================== @@ -807,8 +971,11 @@ The following software have components provided under the terms of this license: ======================================================================== LGPL-2.1-or-later ======================================================================== +The following software have components provided under the terms of this license: + +- Java Native Access (from https://github.com/java-native-access/jna, https://github.com/twall/jna, https://repo1.maven.org/maven2/net/java/dev/jna/jna) - Javassist (from http://www.javassist.org/) -- SnakeYAML (from http://code.google.com/p/snakeyaml/, http://www.snakeyaml.org) +- SnakeYAML (from http://code.google.com/p/snakeyaml/, http://www.snakeyaml.org, https://bitbucket.org/snakeyaml/snakeyaml) ======================================================================== LGPL-3.0-only @@ -825,6 +992,11 @@ The following software have components provided under the terms of this license: - 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 https://repo1.maven.org/maven2/org/codehaus/mojo/animal-sniffer-annotations) +- 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 SLF4J Binding (from https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl) +- Apache Log4j to SLF4J Adapter (from https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-to-slf4j) - Azure Java Client Authentication Library for AutoRest (from https://github.com/Azure/autorest-clientruntime-for-java) - Azure Java Client Runtime for ARM (from https://github.com/Azure/autorest-clientruntime-for-java) - Azure Java Client Runtime for AutoRest (from https://github.com/Azure/autorest-clientruntime-for-java) @@ -834,7 +1006,10 @@ The following software have components provided under the terms of this license: - ClassGraph (from https://github.com/classgraph/classgraph) - Default Plexus Container (from https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default) - Extensions on Apache Proton-J library (from https://github.com/Azure/qpid-proton-j-extensions) +- JSch (from http://www.jcraft.com/jsch/) +- JTidy (from http://jtidy.sourceforge.net) - JUL to SLF4J bridge (from http://www.slf4j.org) +- Jakarta XML Binding API (from https://repo1.maven.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api, https://repo1.maven.org/maven2/org/jboss/spec/javax/xml/bind/jboss-jaxb-api_2.3_spec) - Java Client Runtime for AutoRest (from https://github.com/Azure/autorest-clientruntime-for-java) - Java JWT (from http://www.jwt.io, https://github.com/auth0/java-jwt) - Microsoft Application Insights Java SDK Core (from https://github.com/Microsoft/ApplicationInsights-Java) @@ -850,21 +1025,24 @@ The following software have components provided under the terms of this license: - Microsoft Azure SDK for Service Bus (from https://github.com/Azure/azure-sdk-for-java, https://github.com/Azure/azure-service-bus-java) - Microsoft Azure SDK for eventgrid (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) +- Microsoft Azure client library for File Storage Data Lake (from https://github.com/Azure/azure-sdk-for-java) - Microsoft Azure client library for Identity (from https://github.com/Azure/azure-sdk-for-java) - Microsoft Azure client library for KeyVault Keys (from https://github.com/Azure/azure-sdk-for-java) - Microsoft Azure client library for KeyVault Secrets (from https://github.com/Azure/azure-sdk-for-java) - Microsoft Azure common module for Storage (from https://github.com/Azure/azure-sdk-for-java) - Microsoft Azure internal Avro module for Storage (from https://github.com/Azure/azure-sdk-for-java) - Mockito (from http://mockito.org, http://www.mockito.org, https://github.com/mockito/mockito) -- MongoDB Java Driver (from http://mongodb.org/, http://www.mongodb.org) +- MongoDB Java Driver (from http://mongodb.org/, http://www.mongodb.org, https://www.mongodb.com/) - 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 https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-interactivity-api) - Project Lombok (from http://projectlombok.org, https://projectlombok.org) +- QpidJMS Client (from https://repo1.maven.org/maven2/org/apache/qpid/qpid-jms-client) - 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) - Spring Security - Core (from http://spring.io/spring-security, https://repo1.maven.org/maven2/org/springframework/security/spring-security-core, https://spring.io/projects/spring-security, https://spring.io/spring-security) +- ThreeTen backport (from https://github.com/ThreeTen/threetenbp, https://www.threeten.org/threetenbp) - adal4j (from https://github.com/AzureAD/azure-activedirectory-library-for-java) - azure-documentdb (from http://azure.microsoft.com/en-us/services/documentdb/, https://azure.microsoft.com/en-us/services/cosmos-db/) - documentdb-bulkexecutor (from http://azure.microsoft.com/en-us/services/documentdb/) @@ -872,18 +1050,24 @@ 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) +- qpid-proton-j-extensions (from https://github.com/Azure/qpid-proton-j-extensions) ======================================================================== MPL-1.1 ======================================================================== +The following software have components provided under the terms of this license: + - Cobertura (from http://cobertura.sourceforge.net) - Javassist (from http://www.javassist.org/) ======================================================================== MPL-2.0 ======================================================================== +The following software have components provided under the terms of this license: + - Javassist (from http://www.javassist.org/) - OkHttp (from https://repo1.maven.org/maven2/com/squareup/okhttp3/okhttp, https://square.github.io/okhttp/) +- RabbitMQ Java Client (from http://www.rabbitmq.com, https://www.rabbitmq.com) ======================================================================== PHP-3.01 @@ -891,18 +1075,33 @@ PHP-3.01 - Jakarta Activation API (from https://github.com/eclipse-ee4j/jaf, 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, https://repo1.maven.org/maven2/org/jboss/spec/javax/xml/bind/jboss-jaxb-api_2.3_spec) +======================================================================== +Plexus +======================================================================== +The following software have components provided under the terms of this license: + +- classworlds (from http://classworlds.codehaus.org/, https://repo1.maven.org/maven2/classworlds/classworlds) + ======================================================================== Public-Domain ======================================================================== - Plexus Common Utilities (from http://plexus.codehaus.org/plexus-utils, https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils) - Spongy Castle (from http://rtyley.github.io/spongycastle/) +======================================================================== +RSA-MD +======================================================================== +The following software have components provided under the terms of this license: + +- AWS Java SDK for Amazon SQS (from https://aws.amazon.com/sdkforjava) + ======================================================================== SAX-PD ======================================================================== The following software have components provided under the terms of this license: - Apache Ant Core +- xml-apis (from https://repo1.maven.org/maven2/xml-apis/xml-apis) ======================================================================== SPL-1.0 @@ -917,13 +1116,45 @@ The following software have components provided under the terms of this license: - Apache Ant Core - JTidy (from http://jtidy.sourceforge.net) - Xerces2-j (from https://repo1.maven.org/maven2/xerces/xercesImpl, https://xerces.apache.org/xerces2-j/) -- xml-apis +- xml-apis (from https://repo1.maven.org/maven2/xml-apis/xml-apis) + +======================================================================== +W3C-19980720 +======================================================================== +The following software have components provided under the terms of this license: + +- JTidy (from http://jtidy.sourceforge.net) +- Xerces2-j (from https://repo1.maven.org/maven2/xerces/xercesImpl, https://xerces.apache.org/xerces2-j/) +- xml-apis (from https://repo1.maven.org/maven2/xml-apis/xml-apis) ======================================================================== WTFPL ======================================================================== +The following software have components provided under the terms of this license: + - Reflections (from http://code.google.com/p/reflections/, http://github.com/ronmamo/reflections) +======================================================================== +X11 +======================================================================== +The following software have components provided under the terms of this license: + +- MongoDB Java Driver (from http://mongodb.org/, http://www.mongodb.org, https://www.mongodb.com/) + +======================================================================== +cc-pd +======================================================================== +The following software have components provided under the terms of this license: + +- Netty/Codec (from https://repo1.maven.org/maven2/io/netty/netty-codec) + +======================================================================== +proprietary-license +======================================================================== +The following software have components provided under the terms of this license: + +- Servlet Specification 2.5 API (from http://jetty.mortbay.org, https://repo1.maven.org/maven2/org/mortbay/jetty/servlet-api-2.5) + ======================================================================== public-domain ======================================================================== @@ -969,3 +1200,10 @@ The following software have components provided under the terms of this license: - Jakarta XML Binding API (from https://repo1.maven.org/maven2/jakarta/xml/bind/jakarta.xml.bind-api, https://repo1.maven.org/maven2/org/jboss/spec/javax/xml/bind/jboss-jaxb-api_2.3_spec) - Spongy Castle (from http://rtyley.github.io/spongycastle/) - xml-apis + +======================================================================== +xpp +======================================================================== +The following software have components provided under the terms of this license: + +- Plexus Common Utilities (from http://plexus.codehaus.org/plexus-utils, https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils) diff --git a/devops/gcp/configmap/README.md b/devops/gcp/configmap/README.md new file mode 100644 index 0000000000000000000000000000000000000000..caa9767d87cc05bf6da071d746b4b1909dfbe00f --- /dev/null +++ b/devops/gcp/configmap/README.md @@ -0,0 +1,161 @@ +<!--- Configmap --> + +# Configmap helm chart + +## Introduction + +This chart bootstraps a configmap deployment on a [Kubernetes](https://kubernetes.io) cluster using [Helm](https://helm.sh) package manager. + +## Prerequisites + +The code was tested on **Kubernetes cluster** (v1.21.11) with **Istio** (1.12.6) + > Istio is installed with Istio Ingress Gateway + +- Kubernetes cluster version can be checked with the command: + + `kubectl version --short | grep Server` + + The output will be similar to the following: + + ```console + Server Version: v1.21.11-gke.1100 + ``` + +- Istio version can be checked in different ways, it is out of scope for this README. You can find more information [here](https://istio.io/latest/docs/setup/install/). + + The following command shows how to check version if Anthos Service Mesh is used: + + `kubectl -n istio-system get pods -lapp=istiod -o=jsonpath='{.items[0].metadata.labels.istio\.io/rev}'` + + The output will be similar to the following: + + ```console + asm-1132-5 + ``` + +> It is possible to use other versions, but it hasn't been tested + +This example describes installation in **Development mode**: + +- In this mode helm chart is installed to the namespace **not labeled with Istio**. + > More information about labeling can be found [here](https://istio.io/latest/docs/setup/additional-setup/sidecar-injection) (Istio) or [here](https://cloud.google.com/service-mesh/docs/managed/select-a-release-channel#default-injection-labels) (Anthos Service Mesh) + + You can find all labels for your namespace with the command: + + `kubectl get namespace <namespace> -o jsonpath={.metadata.labels}` + + The output shows that there are no any labels related to Istio: + + ```console + {"kubernetes.io/metadata.name":"default"} + ``` + + When the namespace is labeled with Istio, the output could be: + + ```console + {"istio-injection":"enabled","kubernetes.io/metadata.name":"default"} + ``` + +### Operation system + +The code works in Debian-based Linux (Debian 10 and Ubuntu 20.04) and Windows WSL 2. Also, it works but is not guaranteed in Google Cloud Shell. All other operating systems, including macOS, are not verified and supported. + +### Packages + +Packages are only needed for installation from a local computer. + +- **HELM** (version: v3.7.1 or higher) [helm](https://helm.sh/docs/intro/install/) + + Helm version can be checked with the command: + + `helm version --short` + + The output will be similar to the following: + + ```console + v3.7.1+gd141386 + ``` + +- **Kubectl** (version: v1.21.0 or higher) [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) + + Kubectl version can be checked with the command: + + `kubectl version --short | grep Client` + + The output will be similar to the following: + + ```console + Client Version: v1.21.0 + ``` + +## Installation + +First you need to set variables in **values.yaml** file using any code editor. Some of the values are prefilled, but you need to specify some values as well. You can find more information about them below. + +### Common variables + +| Name | Description | Type | Default |Required | +|------|-------------|------|---------|---------| +**logLevel** | logging level | string | INFO | yes +**springProfilesActive** | active spring profile | string | gcp | yes + +### GCP variables + +| Name | Description | Type | Default |Required | +|------|-------------|------|---------|---------| +**projectId** | your GCP project ID | string | -| yes +**partitionAdminAccounts** | admin account of partition | string | - | yes +**googleAudiences** | your GCP client ID | string | - | yes +**serviceAccountTail** | ending of your service account | string | .iam.gserviceaccount.com | yes + +> googleAudiences: If you are connected to GCP console with `gcloud auth application-default login --no-browser` from your terminal, you can get your client_id using the command: + +```console +cat ~/.config/gcloud/application_default_credentials.json | grep client_id +``` + +### Bootstrap common variables + +| Name | Description | Type | Default |Required | +|------|-------------|------|---------|---------| +**partitionName** | name of the partition | string | partition | yes +**dataPartitionId** | ID of data partition | string | - | yes +**datafierSa** | datafier service account | string | datafier | yes + +### Bootstrap on-prem variables + +| Name | Description | Type | Default |Required | +|------|-------------|------|---------|---------| +**domain** | your domain | string | - | yes + +### Config variables + +| Name | Description | Type | Default |Required | +|------|-------------|------|---------|---------| +**configmap** | configmap to be used | string | partition-config | yes +**appName** | name of the app | string | partition | yes +**onPremEnabled** | whether on-prem is enabled | boolean | false | yes + +### Install the helm chart + +Run this command from within this directory: + +```console +helm install gcp-partition-configmap . +``` + +## Uninstalling the Chart + +To uninstall the helm deployment: + +```console +helm uninstall gcp-partition-configmap +``` + +To delete secrets and PVCs: + +```console +kubectl delete secret --all; kubectl delete pvc --all +``` + +[Move-to-Top](#configmap-helm-chart) diff --git a/devops/gcp/configmap/templates/configmap-bootstrap.yml b/devops/gcp/configmap/templates/configmap-bootstrap.yml index 1bbe1ba058434f39e28d48641794c44770fd7738..ae34b91600ab2b81fb704cb985db7abe4e000eec 100644 --- a/devops/gcp/configmap/templates/configmap-bootstrap.yml +++ b/devops/gcp/configmap/templates/configmap-bootstrap.yml @@ -6,12 +6,18 @@ metadata: name: "{{ .Values.conf.configmap }}-bootstrap" namespace: "{{ .Release.Namespace }}" data: - PARTITION_NAME: "{{ .Values.data.partitionName }}.{{ .Release.Namespace }}.svc.cluster.local" - PROJECT_ID: "{{ .Values.data.projectId }}" + PARTITION_NAME: "{{ .Values.data.partitionName }}" + SERVICE_ACCOUNT: {{ printf "%s@%s.iam.gserviceaccount.com" .Values.data.datafierSa .Values.data.projectId | quote }} DATA_PARTITION_ID: "{{ .Values.data.dataPartitionId }}" - DATAFIER_SA: "{{ .Values.data.datafierSa }}" + PARTITION_CLEAN_UP_ENABLED: "{{ .Values.data.partitionCleanUpEnabled }}" ENVIRONMENT: "{{ .Values.data.springProfilesActive }}" + {{- if .Values.data.dataProjectId }} + PROJECT_ID: "{{ .Values.data.dataProjectId }}" + {{- else }} + PROJECT_ID: "{{ .Values.data.projectId }}" + {{- end }} {{- if .Values.conf.onPremEnabled }} + SERVICE_ACCOUNT: {{ printf "%s@service.local" .Values.data.datafierSa | quote }} DOMAIN: "{{ .Values.data.domain }}" {{- else }} AUDIENCES: "{{ .Values.data.googleAudiences }}" diff --git a/devops/gcp/configmap/values.yaml b/devops/gcp/configmap/values.yaml index f7661110a12f37037370bb7528ba62b763aa3334..2d8977d3ce94514c4b8dd863ad64c8e87d7705d6 100644 --- a/devops/gcp/configmap/values.yaml +++ b/devops/gcp/configmap/values.yaml @@ -4,6 +4,7 @@ data: springProfilesActive: "gcp" # gcp projectId: "" + dataProjectId: "" partitionAdminAccounts: "" googleAudiences: "" serviceAccountTail: ".iam.gserviceaccount.com" @@ -11,6 +12,7 @@ data: partitionName: "partition" dataPartitionId: "" datafierSa: "datafier" + partitionCleanUpEnabled: "false" # bootstrap variables onprem domain: "" conf: diff --git a/devops/gcp/deploy/README.md b/devops/gcp/deploy/README.md new file mode 100644 index 0000000000000000000000000000000000000000..1c5ae37774a2b64bc4a61083acf6caf967f9c332 --- /dev/null +++ b/devops/gcp/deploy/README.md @@ -0,0 +1,149 @@ +<!--- Deploy --> + +# Deploy helm chart + +## Introduction + +This chart bootstraps a deployment on a [Kubernetes](https://kubernetes.io) cluster using [Helm](https://helm.sh) package manager. + +## Prerequisites + +The code was tested on **Kubernetes cluster** (v1.21.11) with **Istio** (1.12.6) + > Istio is installed with Istio Ingress Gateway + +- Kubernetes cluster version can be checked with the command: + + `kubectl version --short | grep Server` + + The output will be similar to the following: + + ```console + Server Version: v1.21.11-gke.1100 + ``` + +- Istio version can be checked in different ways, it is out of scope for this README. You can find more information [here](https://istio.io/latest/docs/setup/install/). + + The following command shows how to check version if Anthos Service Mesh is used: + + `kubectl -n istio-system get pods -lapp=istiod -o=jsonpath='{.items[0].metadata.labels.istio\.io/rev}'` + + The output will be similar to the following: + + ```console + asm-1132-5 + ``` + +> It is possible to use other versions, but it hasn't been tested + +This example describes installation in **Development mode**: + +- In this mode helm chart is installed to the namespace **not labeled with Istio**. + > More information about labeling can be found [here](https://istio.io/latest/docs/setup/additional-setup/sidecar-injection) (Istio) or [here](https://cloud.google.com/service-mesh/docs/managed/select-a-release-channel#default-injection-labels) (Anthos Service Mesh) + + You can find all labels for your namespace with the command: + + `kubectl get namespace <namespace> -o jsonpath={.metadata.labels}` + + The output shows that there are no any labels related to Istio: + + ```console + {"kubernetes.io/metadata.name":"default"} + ``` + + When the namespace is labeled with Istio, the output could be: + + ```console + {"istio-injection":"enabled","kubernetes.io/metadata.name":"default"} + ``` + +### Operation system + +The code works in Debian-based Linux (Debian 10 and Ubuntu 20.04) and Windows WSL 2. Also, it works but is not guaranteed in Google Cloud Shell. All other operating systems, including macOS, are not verified and supported. + +### Packages + +Packages are only needed for installation from a local computer. + +- **HELM** (version: v3.7.1 or higher) [helm](https://helm.sh/docs/intro/install/) + + Helm version can be checked with the command: + + `helm version --short` + + The output will be similar to the following: + + ```console + v3.7.1+gd141386 + ``` + +- **Kubectl** (version: v1.21.0 or higher) [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) + + Kubectl version can be checked with the command: + + `kubectl version --short | grep Client` + + The output will be similar to the following: + + ```console + Client Version: v1.21.0 + ``` + +## Installation + +First you need to set variables in **values.yaml** file using any code editor. Some of the values are prefilled, but you need to specify some values as well. You can find more information about them below. + +### Common variables + +| Name | Description | Type | Default |Required | +|------|-------------|------|---------|---------| +**image** | your image name | string | - | yes +**requestsCpu** | amount of requests CPU | string | 0.1 | yes +**requestsMemory** | amount of requests memory| string | 260M | yes +**limitsCpu** | CPU limit | string | 1 | yes +**limitsMemory** | memory limit | string | 1G | yes +**serviceAccountName** | name of your service account | string | partition | yes +**imagePullPolicy** | when to pull image | string | IfNotPresent | yes + +### Bootstrap variables + +| Name | Description | Type | Default |Required | +|------|-------------|------|---------|---------| +**bootstrapImage** | name of the bootstrap image | string | - | yes +**bootstrapServiceAccountName** | name of the bootstrap SA | string | - | yes +**bootstrapLimitsCpu** | bootstrap CPU limit | string | 0.1 | yes +**bootstrapLimitsMemory** | bootstrap memory limit | string | 200M | yes + +### Config variables + +| Name | Description | Type | Default |Required | +|------|-------------|------|---------|---------| +**domain** | your domain | string | - | yes +**appName** | name of the app | string | partition | yes +**cicdEnabled** | whether CI/CD is enabled | boolean | false | yes +**configmap** | configmap to be used | string | partition-config | yes +**onPremEnabled** | whether on-prem is enabled | boolean | false | yes +**secret** | secret for postgres | string | partition-postgres-secret | yes + +### Install the helm chart + +Run this command from within this directory: + +```console +helm install gcp-partition-deploy . +``` + +## Uninstalling the Chart + +To uninstall the helm deployment: + +```console +helm uninstall gcp-partition-deploy +``` + +To delete secrets and PVCs: + +```console +kubectl delete secret --all; kubectl delete pvc --all +``` + +[Move-to-Top](#deploy-helm-chart) diff --git a/devops/gcp/deploy/templates/deploy.yml b/devops/gcp/deploy/templates/deploy.yml index 3714004424e0875835410f110c9375cd5c1fa1ba..f7136812751771f2c4fb80f876748e63f2115bf8 100644 --- a/devops/gcp/deploy/templates/deploy.yml +++ b/devops/gcp/deploy/templates/deploy.yml @@ -19,9 +19,6 @@ spec: - image: "{{ .Values.data.image }}" imagePullPolicy: "{{ .Values.data.imagePullPolicy }}" name: "{{ .Values.conf.appName }}" - env: - - name: "ACCEPT_HTTP" - value: "true" envFrom: - configMapRef: name: "{{ .Values.conf.configmap }}" diff --git a/devops/gcp/deploy/templates/request-authentication.yml b/devops/gcp/deploy/templates/request-authentication.yml index 2aa6d550fd20664ff07d850f50a529daed3cd0ed..65cdee849450c2467d51c9d300079c49e6cab676 100644 --- a/devops/gcp/deploy/templates/request-authentication.yml +++ b/devops/gcp/deploy/templates/request-authentication.yml @@ -1,21 +1,21 @@ -{{- if .Values.conf.onPremEnabled }} -apiVersion: security.istio.io/v1beta1 -kind: RequestAuthentication -metadata: - name: "{{ .Values.conf.appName }}-jwt-policy" - namespace: "{{ .Release.Namespace }}" -spec: - selector: - matchLabels: - app: "{{ .Values.conf.appName }}" - jwtRules: - - issuer: "https://keycloak.{{ .Values.conf.domain }}/auth/realms/{{ .Values.auth.realm }}" - jwksUri: "http://keycloak.{{ .Release.Namespace }}.svc.cluster.local/auth/realms/{{ .Values.auth.realm }}/protocol/openid-connect/certs" - forwardOriginalToken: true - - issuer: "http://keycloak.{{ .Values.conf.domain }}/auth/realms/{{ .Values.auth.realm }}" - jwksUri: "http://keycloak.{{ .Release.Namespace }}.svc.cluster.local/auth/realms/{{ .Values.auth.realm }}/protocol/openid-connect/certs" - forwardOriginalToken: true - - issuer: "http://keycloak.{{ .Release.Namespace }}.svc.cluster.local/auth/realms/{{ .Values.auth.realm }}" - jwksUri: "http://keycloak.{{ .Release.Namespace }}.svc.cluster.local/auth/realms/{{ .Values.auth.realm }}/protocol/openid-connect/certs" - forwardOriginalToken: true -{{- end }} +{{- if .Values.conf.onPremEnabled }} +apiVersion: security.istio.io/v1beta1 +kind: RequestAuthentication +metadata: + name: "{{ .Values.conf.appName }}-jwt-policy" + namespace: "{{ .Release.Namespace }}" +spec: + selector: + matchLabels: + app: "{{ .Values.conf.appName }}" + jwtRules: + - issuer: "https://keycloak.{{ .Values.conf.domain }}/auth/realms/{{ .Values.auth.realm }}" + jwksUri: "http://keycloak.{{ .Release.Namespace }}.svc.cluster.local/auth/realms/{{ .Values.auth.realm }}/protocol/openid-connect/certs" + forwardOriginalToken: true + - issuer: "http://keycloak.{{ .Values.conf.domain }}/auth/realms/{{ .Values.auth.realm }}" + jwksUri: "http://keycloak.{{ .Release.Namespace }}.svc.cluster.local/auth/realms/{{ .Values.auth.realm }}/protocol/openid-connect/certs" + forwardOriginalToken: true + - issuer: "http://keycloak.{{ .Release.Namespace }}.svc.cluster.local/auth/realms/{{ .Values.auth.realm }}" + jwksUri: "http://keycloak.{{ .Release.Namespace }}.svc.cluster.local/auth/realms/{{ .Values.auth.realm }}/protocol/openid-connect/certs" + forwardOriginalToken: true +{{- end }} diff --git a/devops/gcp/pipeline/override-stages.yml b/devops/gcp/pipeline/override-stages.yml index a44b3f4b3155733534b790f7ef1f411e2341d2ba..1ce5628d7c135685a8795f63dab6fc3f92a6771e 100644 --- a/devops/gcp/pipeline/override-stages.yml +++ b/devops/gcp/pipeline/override-stages.yml @@ -1,56 +1,16 @@ -variables: - OSDU_GCP_ENABLE_BOOTSTRAP: "true" - OSDU_GCP_SERVICE: partition - OSDU_GCP_VENDOR: gcp - OSDU_GCP_HELM_CONFIG_SERVICE_VARS: > - --set data.partitionAdminAccounts=$OSDU_GCP_PARTITION_ADMIN_ACCOUNTS - --set data.projectId=$OSDU_GCP_PROJECT - --set data.googleAudiences=$GOOGLE_AUDIENCE - --set data.logLevel=INFO - --set data.dataPartitionId=$OSDU_GCP_TENANT - OSDU_GCP_HELM_DEPLOYMENT_SERVICE_VARS: > - --set data.image=$CI_REGISTRY_IMAGE/osdu-gcp-$OSDU_GCP_SERVICE:$CI_COMMIT_SHORT_SHA - --set data.bootstrapImage=$CI_REGISTRY_IMAGE/osdu-gcp-bootstrap-$OSDU_GCP_SERVICE:$CI_COMMIT_SHORT_SHA - --set data.serviceAccountName=$OSDU_GCP_SERVICE-k8s - --set data.bootstrapServiceAccountName=$OSDU_GCP_SERVICE-k8s - OSDU_GCP_HELM_CONFIG_SERVICE_VARS_DEV2: > - --set data.partitionAdminAccounts=$OSDU_GCP_DEV2_PARTITION_ADMIN_ACCOUNTS - --set data.projectId=$OSDU_GCP_PROJECT - --set data.googleAudiences=$GOOGLE_AUDIENCE - --set data.logLevel=INFO - --set data.dataPartitionId=$OSDU_GCP_TENANT - OSDU_GCP_HELM_CONFIG_SERVICE: partition-config - OSDU_GCP_HELM_DEPLOYMENT_SERVICE: partition-deploy - -osdu-gcp-deploy-deployment: - needs: - - osdu-gcp-containerize-gitlab - - osdu-gcp-containerize-bootstrap-gitlab - - osdu-gcp-deploy-configmap - after_script: - - echo ----- Verify Bootstrap ----- - - kubectl rollout status deployment.v1.apps/$OSDU_GCP_SERVICE-bootstrap -n $OSDU_GCP_HELM_NAMESPACE --timeout=900s - - POD=$(kubectl get pod --sort-by=.metadata.creationTimestamp -n $OSDU_GCP_HELM_NAMESPACE | grep $OSDU_GCP_SERVICE-bootstrap | tail -1 | awk '{print $1}') - - STATUS=$(kubectl wait -n $OSDU_GCP_HELM_NAMESPACE --for=condition=Ready pod/$POD --timeout=300s) - - echo $STATUS - - if [[ "$STATUS" != *"met"* ]]; then echo "POD didn't start correctly" ; exit 1 ; fi - -osdu-gcp-dev2-deploy-deployment: - needs: - - osdu-gcp-containerize-gitlab - - osdu-gcp-containerize-bootstrap-gitlab - - osdu-gcp-dev2-deploy-configmap - -osdu-gcp-anthos-deploy-deployment: - needs: - - osdu-gcp-containerize-gitlab - - osdu-gcp-containerize-bootstrap-gitlab - - osdu-gcp-anthos-deploy-configmap - -osdu-gcp-test: - variables: - CLIENT_TENANT: osdu - -osdu-gcp-dev2-test: - variables: - CLIENT_TENANT: devtwo +variables: + OSDU_GCP_ENABLE_BOOTSTRAP: "true" + OSDU_GCP_SERVICE: partition + OSDU_GCP_VENDOR: gcp + +osdu-gcp-test: + variables: + CLIENT_TENANT: osdu + +osdu-gcp-dev2-test: + variables: + CLIENT_TENANT: devtwo + +osdu-gcp-anthos-test: + variables: + OSDU_GCP_VENDOR: anthos diff --git a/partition-core/pom.xml b/partition-core/pom.xml index a6a6e93790c4a1402648e93ab25adf5e2d578556..b9353c50d30204e5e79ea28f72ba9824c3a1e745 100644 --- a/partition-core/pom.xml +++ b/partition-core/pom.xml @@ -23,7 +23,7 @@ <parent> <groupId>org.opengroup.osdu</groupId> <artifactId>partition</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> @@ -39,8 +39,19 @@ <cobertura_maven_plugin_version>2.7</cobertura_maven_plugin_version> <maven_surefire_plugin_version>3.0.0-M4</maven_surefire_plugin_version> <maven_failsafe_plugin_version>3.0.0-M4</maven_failsafe_plugin_version> + <jackson-databind.version>2.13.2.2</jackson-databind.version> </properties> + <dependencyManagement> + <dependencies> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + <version>${jackson-databind.version}</version> + </dependency> + </dependencies> + </dependencyManagement> + <dependencies> <dependency> <groupId>org.projectlombok</groupId> diff --git a/pom.xml b/pom.xml index 3f3777578aadfde80c17477da8c1c5671d112fbc..7f7fc7a17121d0e3b569aeaac5d421028ab37baf 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.opengroup.osdu</groupId> <artifactId>partition</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <description>Partition Service</description> <properties> diff --git a/provider/partition-aws/pom.xml b/provider/partition-aws/pom.xml index 332126930ab93beb9dcfbc9bf0ada769ee03f908..9b460616b764279560eed74d11cd8813892db197 100644 --- a/provider/partition-aws/pom.xml +++ b/provider/partition-aws/pom.xml @@ -21,7 +21,7 @@ <parent> <artifactId>partition</artifactId> <groupId>org.opengroup.osdu</groupId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <relativePath>../../pom.xml</relativePath> </parent> @@ -44,6 +44,11 @@ <type>pom</type> <scope>import</scope> </dependency> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + <version>2.13.2.2</version> + </dependency> </dependencies> </dependencyManagement> diff --git a/provider/partition-azure/pom.xml b/provider/partition-azure/pom.xml index 7dbeb5aa733ae93b62226067ef74c418c4dd3bde..97f6347e268770dc4f0dd75cb9822555be3023c7 100644 --- a/provider/partition-azure/pom.xml +++ b/provider/partition-azure/pom.xml @@ -4,7 +4,7 @@ <parent> <artifactId>partition</artifactId> <groupId>org.opengroup.osdu</groupId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <relativePath>../../pom.xml</relativePath> </parent> @@ -14,7 +14,7 @@ <packaging>jar</packaging> <properties> - <osdu.corelibazure.version>0.15.0</osdu.corelibazure.version> + <osdu.corelibazure.version>0.15.2</osdu.corelibazure.version> <junit.version>4.12</junit.version> <mockito.version>2.25.0</mockito.version> <powermock.version>2.0.2</powermock.version> @@ -55,6 +55,11 @@ <artifactId>log4j-jul</artifactId> <version>${log4j.version}</version> </dependency> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + <version>2.13.2.2</version> + </dependency> </dependencies> </dependencyManagement> diff --git a/provider/partition-gcp/bootstrap/Dockerfile b/provider/partition-gcp/bootstrap/Dockerfile index 550d9891b5f78d6122bce917b2b1617649b07e04..282aa2aeb9072658049465dd8f6b5d9345243af8 100644 --- a/provider/partition-gcp/bootstrap/Dockerfile +++ b/provider/partition-gcp/bootstrap/Dockerfile @@ -1,9 +1,11 @@ FROM google/cloud-sdk:slim -COPY ./provider/partition-gcp/bootstrap/bootstrap_partition.sh ./opt +WORKDIR /opt + +COPY ./provider/partition-gcp/bootstrap/ /opt/ ENV PREFIX=$(pwd) -RUN chmod 775 /opt/bootstrap_partition.sh +RUN chmod 775 bootstrap_partition.sh -CMD ["/bin/bash", "-c", "/opt/bootstrap_partition.sh && sleep 365d"] +CMD ["/bin/bash", "-c", "./bootstrap_partition.sh && sleep 365d"] diff --git a/provider/partition-gcp/bootstrap/bootstrap_partition.sh b/provider/partition-gcp/bootstrap/bootstrap_partition.sh index 8f2a1520861efad3d54b12d8c9de1b9773fce4b6..3423ae084cb47521486ec7e6e363b42509bd373c 100644 --- a/provider/partition-gcp/bootstrap/bootstrap_partition.sh +++ b/provider/partition-gcp/bootstrap/bootstrap_partition.sh @@ -2,199 +2,104 @@ set -ex -DATA_PARTITION_ID_UPPER=${DATA_PARTITION_ID^^} +source ./data_anthos.sh +source ./data_gcp.sh -generate_post_data() { - cat <<EOF -{ - "properties": { - "projectId": { - "sensitive": false, - "value": "${PROJECT_ID}" - }, - "serviceAccount": { - "sensitive": false, - "value": "${SERVICEACCOUNT}" - }, - "complianceRuleSet": { - "sensitive": false, - "value": "shared" - }, - "dataPartitionId": { - "sensitive": false, - "value": "${DATA_PARTITION_ID}" - }, - "name": { - "sensitive": false, - "value": "${DATA_PARTITION_ID}" - }, - "policy-service-enabled": { - "sensitive": false, - "value": "false" - }, - "bucket": { - "sensitive": false, - "value": "${PROJECT_ID}-records" - }, - "crmAccountID": { - "sensitive": false, - "value": "[${DATA_PARTITION_ID},${DATA_PARTITION_ID}]" - }, - "osm.postgres.datasource.url": { - "sensitive": true, - "value": "POSTGRES_DATASOURCE_URL_${DATA_PARTITION_ID_UPPER}" - }, - "osm.postgres.datasource.username": { - "sensitive": true, - "value": "POSTGRES_DB_USERNAME_${DATA_PARTITION_ID_UPPER}" - }, - "osm.postgres.datasource.password": { - "sensitive": true, - "value": "POSTGRES_DB_PASSWORD_${DATA_PARTITION_ID_UPPER}" - }, - "file.minio.endpoint": { - "sensitive": false, - "value": "https://s3.${DOMAIN}" - }, - "file.minio.accessKey": { - "sensitive": true, - "value": "MINIO_ACCESS_KEY" - }, - "file.minio.secretKey": { - "sensitive": true, - "value": "MINIO_SECRET_KEY" - }, - "obm.minio.endpoint": { - "sensitive": false, - "value": "http://minio:9000" - }, - "obm.minio.accessKey": { - "sensitive": true, - "value": "MINIO_ACCESS_KEY" - }, - "obm.minio.secretKey": { - "sensitive": true, - "value": "MINIO_SECRET_KEY" - }, - "oqm.rabbitmq.amqp.host": { - "sensitive": false, - "value": "rabbitmq" - }, - "oqm.rabbitmq.amqp.port": { - "sensitive": false, - "value": "5672" - }, - "oqm.rabbitmq.amqp.path": { - "sensitive": false, - "value": "" - }, - "oqm.rabbitmq.amqp.username": { - "sensitive": true, - "value": "RABBITMQ_ADMIN_USERNAME" - }, - "oqm.rabbitmq.amqp.password": { - "sensitive": true, - "value": "RABBITMQ_ADMIN_PASSWORD" - }, - "oqm.rabbitmq.admin.schema": { - "sensitive": false, - "value": "http" - }, - "oqm.rabbitmq.admin.host": { - "sensitive": false, - "value": "rabbitmq" - }, - "oqm.rabbitmq.admin.port": { - "sensitive": false, - "value": "15672" - }, - "oqm.rabbitmq.admin.path": { - "sensitive": false, - "value": "/api" - }, - "oqm.rabbitmq.admin.username": { - "sensitive": true, - "value": "RABBITMQ_ADMIN_USERNAME" - }, - "oqm.rabbitmq.admin.password": { - "sensitive": true, - "value": "RABBITMQ_ADMIN_PASSWORD" - }, - "elasticsearch.host": { - "sensitive": true, - "value": "ELASTIC_HOST_${DATA_PARTITION_ID_UPPER}" - }, - "elasticsearch.port": { - "sensitive": true, - "value": "ELASTIC_PORT_${DATA_PARTITION_ID_UPPER}" - }, - "elasticsearch.user": { - "sensitive": true, - "value": "ELASTIC_USER_${DATA_PARTITION_ID_UPPER}" - }, - "elasticsearch.password": { - "sensitive": true, - "value": "ELASTIC_PASS_${DATA_PARTITION_ID_UPPER}" - } - } -} -EOF -} - -if [ "$ENVIRONMENT" == "anthos" ] -then +bootstrap_anthos() { + if [ "$PARTITION_CLEAN_UP_ENABLED" == "true" ] + then + echo "Partition cleanup enabled, will delete partition ${DATA_PARTITION_ID}" + delete_status_code=$(curl -X DELETE \ + --url "http://${PARTITION_NAME}/api/partition/v1/partitions/${DATA_PARTITION_ID}" --write-out "%{http_code}" --silent --output "/dev/null" \ + -H "Content-Type: application/json") - SERVICEACCOUNT=$DATAFIER_SA@service.local + if [ "$delete_status_code" == 204 ] || [ "$delete_status_code" == 404 ] + then + echo "Partition deletion was successful, with status code: ${delete_status_code}" + else + echo "Not able to delete partition, status code is: ${delete_status_code}" + exit 1 + fi + else + echo "Partition cleanup not enabled, skipping deletion" + fi status_code=$(curl -X POST \ --url "http://${PARTITION_NAME}/api/partition/v1/partitions/${DATA_PARTITION_ID}" --write-out "%{http_code}" --silent --output "/dev/null" \ -H "Content-Type: application/json" \ - --data-raw "$(generate_post_data)") + --data-raw "$(generate_post_data_anthos)") + # shellcheck disable=SC2002 if [ "$status_code" == 201 ] then echo "Partition bootstrap finished successfully!" elif [ "$status_code" == 409 ] then - curl -X PATCH \ + patch_status_code=$(curl -X PATCH \ --url "http://${PARTITION_NAME}/api/partition/v1/partitions/${DATA_PARTITION_ID}" --write-out "%{http_code}" --silent --output "/dev/null" \ -H "Content-Type: application/json" \ - --data-raw "$(generate_post_data)" - echo "Partition was patched because Postgres Database had already had entities!" + --data-raw "$(generate_post_data_anthos)") + echo "Partition was patched because Postgres Database had already had entities! Status code of patching: $patch_status_code" else + echo "Exiting with status code: $status_code" exit 1 fi +} -elif [ "$ENVIRONMENT" == "gcp" ] -then - +bootstrap_gcp() { echo "sleep to prevent 500 response from the Partition service, due to timeout of creation for Workload Identity" sleep 20 IDENTITY_TOKEN=$(gcloud auth print-identity-token --audiences="${AUDIENCES}") - SERVICEACCOUNT=${DATAFIER_SA}@${PROJECT_ID}.iam.gserviceaccount.com + if [ "$PARTITION_CLEAN_UP_ENABLED" == "true" ] + then + echo "Partition cleanup enabled, will delete partition ${DATA_PARTITION_ID}" + delete_status_code=$(curl -X DELETE \ + --url "http://${PARTITION_NAME}/api/partition/v1/partitions/${DATA_PARTITION_ID}" --write-out "%{http_code}" --silent --output "/dev/null" \ + -H "Authorization: Bearer ${IDENTITY_TOKEN}") + + if [ "$delete_status_code" == 204 ] || [ "$delete_status_code" == 404 ] + then + echo "Partition deletion was successful, with status code: ${delete_status_code}" + else + echo "Not able to delete partition, status code is: ${delete_status_code}" + exit 1 + fi + else + echo "Partition cleanup not enabled, skipping deletion" + fi status_code=$(curl -X POST \ --url "http://${PARTITION_NAME}/api/partition/v1/partitions/${DATA_PARTITION_ID}" --write-out "%{http_code}" --silent --output "/dev/null" \ -H "Authorization: Bearer ${IDENTITY_TOKEN}" \ -H "Content-Type: application/json" \ - --data-raw "$(generate_post_data)") + --data-raw "$(generate_post_data_gcp)") + # shellcheck disable=SC2002 if [ "$status_code" == 201 ] then echo "Partition bootstrap finished successfully!" elif [ "$status_code" == 409 ] then - curl -X PATCH \ + patch_status_code=$(curl -X PATCH \ --url "http://${PARTITION_NAME}/api/partition/v1/partitions/${DATA_PARTITION_ID}" --write-out "%{http_code}" --silent --output "/dev/null" \ -H "Authorization: Bearer ${IDENTITY_TOKEN}" \ -H "Content-Type: application/json" \ - --data-raw "$(generate_post_data)" - echo "Partition was patched because Datastore had already had entities!" + --data-raw "$(generate_post_data_gcp)") + echo "Partition was patched because Datastore had already had entities! Status code of patching: $patch_status_code" else + echo "Exiting with status code: $status_code" exit 1 fi +} + +if [ "$ENVIRONMENT" == "anthos" ] +then + bootstrap_anthos +elif [ "$ENVIRONMENT" == "gcp" ] +then + bootstrap_gcp fi touch /tmp/bootstrap_ready diff --git a/provider/partition-gcp/bootstrap/data_anthos.sh b/provider/partition-gcp/bootstrap/data_anthos.sh new file mode 100644 index 0000000000000000000000000000000000000000..34e6c11f5641e5323a17e6f128cb23dba69dc4ec --- /dev/null +++ b/provider/partition-gcp/bootstrap/data_anthos.sh @@ -0,0 +1,140 @@ +#!/usr/bin/env bash + +DATA_PARTITION_ID_UPPER=${DATA_PARTITION_ID^^} + +generate_post_data_anthos() { + cat <<EOF +{ + "properties": { + "projectId": { + "sensitive": false, + "value": "${PROJECT_ID}" + }, + "serviceAccount": { + "sensitive": false, + "value": "${SERVICE_ACCOUNT}" + }, + "complianceRuleSet": { + "sensitive": false, + "value": "shared" + }, + "dataPartitionId": { + "sensitive": false, + "value": "${DATA_PARTITION_ID}" + }, + "name": { + "sensitive": false, + "value": "${DATA_PARTITION_ID}" + }, + "policy-service-enabled": { + "sensitive": false, + "value": "false" + }, + "bucket": { + "sensitive": false, + "value": "${PROJECT_ID}-${DATA_PARTITION_ID}-records" + }, + "crmAccountID": { + "sensitive": false, + "value": "[${DATA_PARTITION_ID},${DATA_PARTITION_ID}]" + }, + "osm.postgres.datasource.url": { + "sensitive": true, + "value": "POSTGRES_DATASOURCE_URL_${DATA_PARTITION_ID_UPPER}" + }, + "osm.postgres.datasource.username": { + "sensitive": true, + "value": "POSTGRES_DB_USERNAME_${DATA_PARTITION_ID_UPPER}" + }, + "osm.postgres.datasource.password": { + "sensitive": true, + "value": "POSTGRES_DB_PASSWORD_${DATA_PARTITION_ID_UPPER}" + }, + "file.minio.endpoint": { + "sensitive": false, + "value": "https://s3.${DOMAIN}" + }, + "file.minio.accessKey": { + "sensitive": true, + "value": "MINIO_ACCESS_KEY" + }, + "file.minio.secretKey": { + "sensitive": true, + "value": "MINIO_SECRET_KEY" + }, + "obm.minio.endpoint": { + "sensitive": false, + "value": "http://minio:9000" + }, + "obm.minio.accessKey": { + "sensitive": true, + "value": "MINIO_ACCESS_KEY" + }, + "obm.minio.secretKey": { + "sensitive": true, + "value": "MINIO_SECRET_KEY" + }, + "oqm.rabbitmq.amqp.host": { + "sensitive": false, + "value": "rabbitmq" + }, + "oqm.rabbitmq.amqp.port": { + "sensitive": false, + "value": "5672" + }, + "oqm.rabbitmq.amqp.path": { + "sensitive": false, + "value": "" + }, + "oqm.rabbitmq.amqp.username": { + "sensitive": true, + "value": "RABBITMQ_ADMIN_USERNAME" + }, + "oqm.rabbitmq.amqp.password": { + "sensitive": true, + "value": "RABBITMQ_ADMIN_PASSWORD" + }, + "oqm.rabbitmq.admin.schema": { + "sensitive": false, + "value": "http" + }, + "oqm.rabbitmq.admin.host": { + "sensitive": false, + "value": "rabbitmq" + }, + "oqm.rabbitmq.admin.port": { + "sensitive": false, + "value": "15672" + }, + "oqm.rabbitmq.admin.path": { + "sensitive": false, + "value": "/api" + }, + "oqm.rabbitmq.admin.username": { + "sensitive": true, + "value": "RABBITMQ_ADMIN_USERNAME" + }, + "oqm.rabbitmq.admin.password": { + "sensitive": true, + "value": "RABBITMQ_ADMIN_PASSWORD" + }, + "elasticsearch.host": { + "sensitive": true, + "value": "ELASTIC_HOST_${DATA_PARTITION_ID_UPPER}" + }, + "elasticsearch.port": { + "sensitive": true, + "value": "ELASTIC_PORT_${DATA_PARTITION_ID_UPPER}" + }, + "elasticsearch.user": { + "sensitive": true, + "value": "ELASTIC_USER_${DATA_PARTITION_ID_UPPER}" + }, + "elasticsearch.password": { + "sensitive": true, + "value": "ELASTIC_PASS_${DATA_PARTITION_ID_UPPER}" + } + } +} +EOF +} diff --git a/provider/partition-gcp/bootstrap/data_gcp.sh b/provider/partition-gcp/bootstrap/data_gcp.sh new file mode 100644 index 0000000000000000000000000000000000000000..7f78a10cfcc9b394f369cf1674de9cce9646f626 --- /dev/null +++ b/provider/partition-gcp/bootstrap/data_gcp.sh @@ -0,0 +1,60 @@ +#!/usr/bin/env bash + +DATA_PARTITION_ID_UPPER=${DATA_PARTITION_ID^^} + +generate_post_data_gcp() { + cat <<EOF +{ + "properties": { + "projectId": { + "sensitive": false, + "value": "${PROJECT_ID}" + }, + "serviceAccount": { + "sensitive": false, + "value": "${SERVICE_ACCOUNT}" + }, + "complianceRuleSet": { + "sensitive": false, + "value": "shared" + }, + "dataPartitionId": { + "sensitive": false, + "value": "${DATA_PARTITION_ID}" + }, + "name": { + "sensitive": false, + "value": "${DATA_PARTITION_ID}" + }, + "policy-service-enabled": { + "sensitive": false, + "value": "false" + }, + "bucket": { + "sensitive": false, + "value": "${PROJECT_ID}-${DATA_PARTITION_ID}-records" + }, + "crmAccountID": { + "sensitive": false, + "value": "[${DATA_PARTITION_ID},${DATA_PARTITION_ID}]" + }, + "elasticsearch.host": { + "sensitive": true, + "value": "ELASTIC_HOST_${DATA_PARTITION_ID_UPPER}" + }, + "elasticsearch.port": { + "sensitive": true, + "value": "ELASTIC_PORT_${DATA_PARTITION_ID_UPPER}" + }, + "elasticsearch.user": { + "sensitive": true, + "value": "ELASTIC_USER_${DATA_PARTITION_ID_UPPER}" + }, + "elasticsearch.password": { + "sensitive": true, + "value": "ELASTIC_PASS_${DATA_PARTITION_ID_UPPER}" + } + } +} +EOF +} diff --git a/provider/partition-gcp/pom.xml b/provider/partition-gcp/pom.xml index 6a5098a331ec0a0b1bc3eb7b8aea752f44c37293..5e6d826d842b5e0c21e6fb5f7bff1c1d2289da6e 100644 --- a/provider/partition-gcp/pom.xml +++ b/provider/partition-gcp/pom.xml @@ -5,7 +5,7 @@ <parent> <artifactId>partition</artifactId> <groupId>org.opengroup.osdu</groupId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <relativePath>../../pom.xml</relativePath> </parent> @@ -62,19 +62,19 @@ <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> - <version>2.12.0</version> + <version>2.13.2.2</version> </dependency> <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> - <version>2.12.0</version> + <version>2.13.2</version> </dependency> <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> - <version>2.12.0</version> + <version>2.13.2</version> </dependency> <!-- Testing packages --> diff --git a/provider/partition-gcp/src/main/java/org/opengroup/osdu/partition/provider/gcp/model/PartitionPropertyEntity.java b/provider/partition-gcp/src/main/java/org/opengroup/osdu/partition/provider/gcp/model/PartitionPropertyEntity.java index 2b6f20596eada3e7b39e383bab385c6ef5b7af66..4514b3a7b4eb24546d384db7964f650417df54b8 100644 --- a/provider/partition-gcp/src/main/java/org/opengroup/osdu/partition/provider/gcp/model/PartitionPropertyEntity.java +++ b/provider/partition-gcp/src/main/java/org/opengroup/osdu/partition/provider/gcp/model/PartitionPropertyEntity.java @@ -23,29 +23,26 @@ import lombok.NoArgsConstructor; import org.opengroup.osdu.partition.model.Property; @Data -@NoArgsConstructor @AllArgsConstructor +@NoArgsConstructor public class PartitionPropertyEntity { - private String id; - - private String partitionId; + private String id; - private String name; + private String partitionId; - private Boolean sensitive; + private String name; - private Object value; + private Boolean sensitive; + private Object value; - public PartitionPropertyEntity(String partitionId, String name, Property property) { - this.partitionId = partitionId; - this.name = name; - this.sensitive = property.isSensitive(); - this.value = property.getValue(); - } - public boolean isSensitive() { - return this.sensitive; - } + public PartitionPropertyEntity(String partitionId, String name, Property property) { + this.id = name + "-" + partitionId; + this.partitionId = partitionId; + this.name = name; + this.sensitive = property.isSensitive(); + this.value = property.getValue(); + } } diff --git a/provider/partition-gcp/src/main/java/org/opengroup/osdu/partition/provider/gcp/osm/repository/OsmPartitionPropertyRepository.java b/provider/partition-gcp/src/main/java/org/opengroup/osdu/partition/provider/gcp/osm/repository/OsmPartitionPropertyRepository.java index abbab6e45431446fc156b1af713804fe6f2151f9..5e6621293bcf0a08d08ab6639849484c428411c4 100644 --- a/provider/partition-gcp/src/main/java/org/opengroup/osdu/partition/provider/gcp/osm/repository/OsmPartitionPropertyRepository.java +++ b/provider/partition-gcp/src/main/java/org/opengroup/osdu/partition/provider/gcp/osm/repository/OsmPartitionPropertyRepository.java @@ -21,7 +21,6 @@ package org.opengroup.osdu.partition.provider.gcp.osm.repository; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; -import org.apache.commons.lang3.RandomUtils; import org.opengroup.osdu.core.common.model.http.AppException; import org.opengroup.osdu.core.gcp.osm.model.Destination; import org.opengroup.osdu.core.gcp.osm.model.query.GetQuery; @@ -39,7 +38,6 @@ import java.util.List; import java.util.Optional; import java.util.stream.Collectors; -import static org.opengroup.osdu.core.gcp.osm.model.where.condition.And.and; import static org.opengroup.osdu.core.gcp.osm.model.where.predicate.Eq.eq; import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR; @@ -50,7 +48,7 @@ import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR; public class OsmPartitionPropertyRepository { public static final String PARTITION_ID_FILED = "partition_id"; - private static final String NAME_FILED = "name"; + public static final String PROPERTY_ID = "id"; private final OsmPartitionDestinationProvider osmPartitionDestinationProvider; private final Context context; @@ -64,13 +62,7 @@ public class OsmPartitionPropertyRepository { } public PartitionPropertyEntity findByPartitionIdAndName(String partitionId, String key) { - List<PartitionPropertyEntity> propertyEntities = context - .getResultsAsList(buildPartitionEntityQueryBy(and( - eq(PARTITION_ID_FILED, partitionId), - eq(NAME_FILED, key)) - ) - ); - return propertyEntities.stream().findFirst().orElse(null); + return context.getOne(buildPartitionEntityQueryBy(eq(PROPERTY_ID, partitionId + "-" + key))); } public List<String> getAllPartitions() { @@ -114,9 +106,6 @@ public class OsmPartitionPropertyRepository { try{ tx = context.beginTransaction(destination); for (PartitionPropertyEntity entity : partitionProperties){ - if (ObjectUtils.isEmpty(entity.getId())) { - generateAvailableIdFor(entity); - } context.upsert(entity, destination); } tx.commitIfActive(); @@ -128,16 +117,6 @@ public class OsmPartitionPropertyRepository { } } - private void generateAvailableIdFor(PartitionPropertyEntity entity) { - //TODO Should be removed when GONRG-4077 will be ready - Long id = RandomUtils.nextLong(); - if (ObjectUtils.isNotEmpty(context.getOne(buildPartitionEntityQueryBy(eq("id", id))))){ - generateAvailableIdFor(entity); - } else { - entity.setId(id.toString()); - } - } - private GetQuery<PartitionPropertyEntity> buildPartitionEntityQueryBy(Where where){ return new GetQuery<>(PartitionPropertyEntity.class, osmPartitionDestinationProvider.getDestination(), where); } diff --git a/provider/partition-gcp/src/main/resources/application.properties b/provider/partition-gcp/src/main/resources/application.properties index bff52e44e0ecddc94e1a6a9736a48c0d2d2a3ccf..548f12fb6e6b3a2fdaba6c97e19a18f102b396d8 100644 --- a/provider/partition-gcp/src/main/resources/application.properties +++ b/provider/partition-gcp/src/main/resources/application.properties @@ -1,6 +1,6 @@ # -# Copyright 2020-2021 Google LLC -# Copyright 2020-2021 EPAM Systems, Inc +# Copyright 2020-2022 Google LLC +# Copyright 2020-2022 EPAM Systems, Inc # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -21,6 +21,7 @@ server.port=8080 springfox.documentation.swagger.v2.path=/api-docs management.endpoint.health.show-details=always management.health.diskspace.enabled=false +ACCEPT_HTTP=true #logging configuration logging.level.org.springframework.web=${LOG_LEVEL:DEBUG} @@ -33,6 +34,3 @@ cache-maxSize=1000 #service config partition-property-kind=PartitionProperty partition-namespace=partition - - - diff --git a/provider/partition-gcp/src/test/java/org/opengroup/osdu/partition/provider/gcp/service/PartitionServiceImplTest.java b/provider/partition-gcp/src/test/java/org/opengroup/osdu/partition/provider/gcp/service/PartitionServiceImplTest.java index 1abda3af661c29f6c2e0f87991dce397c1a550d2..02481f56931fb547dfdb4c73dfb2b9db8acf1f72 100644 --- a/provider/partition-gcp/src/test/java/org/opengroup/osdu/partition/provider/gcp/service/PartitionServiceImplTest.java +++ b/provider/partition-gcp/src/test/java/org/opengroup/osdu/partition/provider/gcp/service/PartitionServiceImplTest.java @@ -87,11 +87,7 @@ public class PartitionServiceImplTest { expectedPartitionInfo.setProperties(properties); - partitionPropertyEntity = new PartitionPropertyEntity(); - partitionPropertyEntity.setPartitionId(PARTITION_ID); - partitionPropertyEntity.setName(NAME); - partitionPropertyEntity.setSensitive(SENSITIVE); - partitionPropertyEntity.setValue(VALUE); + partitionPropertyEntity = new PartitionPropertyEntity(PARTITION_ID, NAME, property); List<PartitionPropertyEntity> entities = new ArrayList<>(); entities.add(partitionPropertyEntity); diff --git a/provider/partition-ibm/pom.xml b/provider/partition-ibm/pom.xml index 5bf262fa63951a46fa28596a8f7b437b8f35f488..7b502bf64afaed69b5737ed90524ad54fffca59a 100644 --- a/provider/partition-ibm/pom.xml +++ b/provider/partition-ibm/pom.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- - + --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> @@ -9,7 +9,7 @@ <parent> <artifactId>partition</artifactId> <groupId>org.opengroup.osdu</groupId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <relativePath>../../pom.xml</relativePath> </parent> @@ -22,12 +22,22 @@ <version.keycloak>9.0.2</version.keycloak> </properties> + <dependencyManagement> + <dependencies> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + <version>2.13.2.2</version> + </dependency> + </dependencies> + </dependencyManagement> + <dependencies> <!-- Internal packages --> <dependency> <groupId>org.opengroup.osdu</groupId> <artifactId>os-core-lib-ibm</artifactId> - <version>0.15.0</version> + <version>0.15.2</version> </dependency> <dependency> <groupId>org.opengroup.osdu</groupId> @@ -113,8 +123,8 @@ <artifactId>spring-security-test</artifactId> <scope>test</scope> </dependency> - - + + <!-- Keycloak --> <!-- <dependency> <groupId>org.keycloak</groupId> @@ -136,8 +146,8 @@ <artifactId>keycloak-admin-client</artifactId> <version>${version.keycloak}</version> </dependency> --> - - + + </dependencies> <build> diff --git a/provider/partition-reference/pom.xml b/provider/partition-reference/pom.xml index 024d798d96ba4ed68dbaa21e5227c661ad3ef5af..e656f2f4235c6296d4c63d96b1ef00d1f798c7db 100644 --- a/provider/partition-reference/pom.xml +++ b/provider/partition-reference/pom.xml @@ -5,16 +5,26 @@ <parent> <groupId>org.opengroup.osdu</groupId> <artifactId>partition</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <relativePath>../../pom.xml</relativePath> </parent> <groupId>org.opengroup.osdu</groupId> <artifactId>partition-reference</artifactId> <description>Partition service on Hybrid Cloud</description> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <packaging>jar</packaging> + <dependencyManagement> + <dependencies> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + <version>2.13.2.2</version> + </dependency> + </dependencies> + </dependencyManagement> + <dependencies> <!-- Internal packages --> <dependency> @@ -121,4 +131,4 @@ </plugin> </plugins> </build> -</project> \ No newline at end of file +</project> diff --git a/testing/partition-test-anthos/pom.xml b/testing/partition-test-anthos/pom.xml index 1d48bac5d37cba2fe2f018adf26a904e6a9382b5..67bb9ed9c21db94e56693825425db4ae1f03b2c2 100644 --- a/testing/partition-test-anthos/pom.xml +++ b/testing/partition-test-anthos/pom.xml @@ -24,13 +24,13 @@ <parent> <groupId>org.opengroup.osdu</groupId> <artifactId>os-partition-testing</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.opengroup.osdu.partition</groupId> <artifactId>partition-test-anthos</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> @@ -41,7 +41,7 @@ <dependency> <groupId>org.opengroup.osdu.partition</groupId> <artifactId>partition-test-core</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> </dependency> <dependency> <groupId>com.nimbusds</groupId> diff --git a/testing/partition-test-aws/pom.xml b/testing/partition-test-aws/pom.xml index c1ff1c1385d783df4a0ec152368e4258a4509151..e696444b97b5c0ba1fe4377c7fe9445d7674130d 100644 --- a/testing/partition-test-aws/pom.xml +++ b/testing/partition-test-aws/pom.xml @@ -19,14 +19,14 @@ <parent> <groupId>org.opengroup.osdu</groupId> <artifactId>os-partition-testing</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <modelVersion>4.0.0</modelVersion> <groupId>org.opengroup.osdu.partition</groupId> <artifactId>partition-test-aws</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> @@ -65,7 +65,7 @@ <dependency> <groupId>org.opengroup.osdu.partition</groupId> <artifactId>partition-test-core</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> </dependency> <dependency> diff --git a/testing/partition-test-azure/pom.xml b/testing/partition-test-azure/pom.xml index bdafae95cc5ece4b4f404bd737260ec0aed24352..120f50a03d5db4c4becd4a4245ed39d2ddc81de3 100644 --- a/testing/partition-test-azure/pom.xml +++ b/testing/partition-test-azure/pom.xml @@ -20,13 +20,13 @@ <parent> <groupId>org.opengroup.osdu</groupId> <artifactId>os-partition-testing</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.opengroup.osdu.partition</groupId> <artifactId>partition-test-azure</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> @@ -65,7 +65,7 @@ <dependency> <groupId>org.opengroup.osdu.partition</groupId> <artifactId>partition-test-core</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> </dependency> <dependency> diff --git a/testing/partition-test-core/pom.xml b/testing/partition-test-core/pom.xml index 0465a4da370c325410a1bb1fac8b3b72dc4c5dd6..874fb978d845c835f6379e2124bb83e5f75e8d6f 100644 --- a/testing/partition-test-core/pom.xml +++ b/testing/partition-test-core/pom.xml @@ -20,13 +20,13 @@ <parent> <groupId>org.opengroup.osdu</groupId> <artifactId>os-partition-testing</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.opengroup.osdu.partition</groupId> <artifactId>partition-test-core</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> diff --git a/testing/partition-test-gcp/pom.xml b/testing/partition-test-gcp/pom.xml index 44e027beaf953c59d405467ce641aa5252a6da65..b64791e91919ca8910e1643a2c42198494ffcec0 100644 --- a/testing/partition-test-gcp/pom.xml +++ b/testing/partition-test-gcp/pom.xml @@ -6,13 +6,13 @@ <parent> <groupId>org.opengroup.osdu</groupId> <artifactId>os-partition-testing</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.opengroup.osdu.partition</groupId> <artifactId>partition-test-gcp</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> @@ -57,7 +57,7 @@ <dependency> <groupId>org.opengroup.osdu.partition</groupId> <artifactId>partition-test-core</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> </dependency> <dependency> diff --git a/testing/partition-test-ibm/pom.xml b/testing/partition-test-ibm/pom.xml index d4a5c3711da32b6c836933b4c2d306f9a77330ca..529f535f53558ae3a86bcee3135e94feeb6da513 100644 --- a/testing/partition-test-ibm/pom.xml +++ b/testing/partition-test-ibm/pom.xml @@ -6,13 +6,13 @@ <parent> <groupId>org.opengroup.osdu</groupId> <artifactId>os-partition-testing</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <groupId>org.opengroup.osdu.partition</groupId> <artifactId>partition-test-ibm</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> @@ -20,7 +20,7 @@ <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.source>1.8</maven.compiler.source> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <os-core-lib-ibm.version>0.15.0</os-core-lib-ibm.version> + <os-core-lib-ibm.version>0.15.2</os-core-lib-ibm.version> </properties> <dependencies> @@ -58,7 +58,7 @@ <dependency> <groupId>org.opengroup.osdu.partition</groupId> <artifactId>partition-test-core</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> </dependency> <dependency> diff --git a/testing/pom.xml b/testing/pom.xml index 530051332d5b1568c0f1252872418e8d8dafdbb5..d2cf03d993566bdc4d49c99e8f9eeae9a584beab 100644 --- a/testing/pom.xml +++ b/testing/pom.xml @@ -18,7 +18,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.opengroup.osdu</groupId> <artifactId>os-partition-testing</artifactId> - <version>0.15.0-SNAPSHOT</version> + <version>0.16.0-SNAPSHOT</version> <description>Root partition test project</description> <packaging>pom</packaging>