diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f626195e8c81340194b4458249ac9b3a4b49c40c..aa7743a19bbdf2ebdde9d5fb6fcb13285e7196de 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -15,9 +15,15 @@ variables: OSDU_GCP_SERVICE: partition OSDU_GCP_VENDOR: gcp OSDU_GCP_APPLICATION_NAME: os-partition - OSDU_GCP_ENV_VARS: AUTHORIZE_API=$OSDU_GCP_AUTHORIZE_API,GOOGLE_CLOUD_PROJECT=$OSDU_GCP_PROJECT,GOOGLE_AUDIENCES=$GOOGLE_AUDIENCE,PARTITION_ADMIN_ACCOUNT=$OSDU_GCP_SERVICE_ACCOUNT + OSDU_GCP_ENV_VARS: AUTHORIZE_API=$OSDU_GCP_ENTITLEMENTS_V2_URL,GOOGLE_CLOUD_PROJECT=$OSDU_GCP_PROJECT,GOOGLE_AUDIENCES=$GOOGLE_AUDIENCE,PARTITION_ADMIN_ACCOUNT=$OSDU_GCP_SERVICE_ACCOUNT MAVEN_PROJECTS: "-pl partition-core,provider/partition-gcp" OSDU_GCP_TEST_SUBDIR: testing/$OSDU_GCP_SERVICE-test-$OSDU_GCP_VENDOR + OSDU_GCP_HELM_PACKAGE_CHARTS: "devops/gcp/deploy devops/gcp/configmap" + OSDU_GCP_HELM_NAMESPACE: default + OSDU_GCP_HELM_CONFIG_SERVICE_VARS: "--set data.partition_admin_accounts=$OSDU_GCP_PARTITION_ADMIN_ACCOUNTS --set data.google_cloud_project=$OSDU_GCP_PROJECT --set data.google_audiences=$GOOGLE_AUDIENCE --set data.log_level=INFO --set data.key_ring=$OSDU_GCP_PARTITION_KEY_RING --set data.kms_key=$OSDU_GCP_PARTITION_KMS_KEY" + OSDU_GCP_HELM_DEPLOYMENT_SERVICE_VARS: "--set data.image=$CI_REGISTRY_IMAGE/osdu-gcp:$CI_COMMIT_SHORT_SHA --set data.serviceAccountName=workload-identity-partition" + OSDU_GCP_HELM_CONFIG_SERVICE: partition-config + OSDU_GCP_HELM_DEPLOYMENT_SERVICE: partition-deploy include: - project: "osdu/platform/ci-cd-pipelines" @@ -42,7 +48,13 @@ include: file: "cloud-providers/ibm.yml" - project: "osdu/platform/ci-cd-pipelines" - file: "cloud-providers/osdu-gcp-cloudrun.yml" + file: "cloud-providers/osdu-gcp-gke.yml" + + - project: "osdu/platform/ci-cd-pipelines" + file: 'cloud-providers/osdu-gcp-global.yml' + + - project: "osdu/platform/ci-cd-pipelines" + file: "publishing/pages.yml" osdu-gcp-test: variables: diff --git a/NOTICE b/NOTICE index b7a1139ba8bfb825feba588cee59cd6462592b87..3493bbb436a05aa85bc7763b44a5fa19217f52e8 100644 --- a/NOTICE +++ b/NOTICE @@ -15,9 +15,9 @@ Apache-1.1 The following software have components provided under the terms of this license: - Apache Commons CLI (from http://commons.apache.org/proper/commons-cli/) -- Cobertura code coverage (from http://cobertura.sourceforge.net) -- Plexus :: Default Container (from ) -- Plexus Common Utilities (from http://plexus.codehaus.org/plexus-utils) +- Cobertura (from http://cobertura.sourceforge.net) +- Default Plexus Container (from https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default) +- Plexus Common Utilities (from https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils) - oro (from ) ======================================================================== @@ -27,29 +27,25 @@ The following software have components provided under the terms of this license: - AMQP 1.0 JMS Spring Boot AutoConfiguration (from https://repo1.maven.org/maven2/org/amqphub/spring/amqp-10-jms-spring-boot-autoconfigure) - AMQP 1.0 JMS Spring Boot Starter (from https://repo1.maven.org/maven2/org/amqphub/spring/amqp-10-jms-spring-boot-starter) -- ASM Analysis (from ) -- ASM Commons (from ) - ASM Core (from ) - ASM Core (from ) - ASM Core (from ) -- ASM Tree (from ) -- ASM Util (from ) - ASM based accessors helper used by json-smart (from ) - ASM based accessors helper used by json-smart (from ) - AWS Event Stream (from https://github.com/awslabs/aws-eventstream-java) - AWS Java SDK :: AWS Core (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK :: Annotations (from ) +- AWS Java SDK :: Annotations (from https://repo1.maven.org/maven2/software/amazon/awssdk/annotations) - AWS Java SDK :: Auth (from https://aws.amazon.com/sdkforjava) - AWS Java SDK :: Core :: Protocols :: AWS Json Protocol (from https://aws.amazon.com/sdkforjava) - AWS Java SDK :: Core :: Protocols :: Protocol Core (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK :: HTTP Client Interface (from ) -- AWS Java SDK :: HTTP Clients :: Apache (from ) -- AWS Java SDK :: HTTP Clients :: Netty Non-Blocking I/O (from ) +- AWS Java SDK :: HTTP Client Interface (from https://repo1.maven.org/maven2/software/amazon/awssdk/http-client-spi) +- AWS Java SDK :: HTTP Clients :: Apache (from https://repo1.maven.org/maven2/software/amazon/awssdk/apache-client) +- AWS Java SDK :: HTTP Clients :: Netty Non-Blocking I/O (from https://repo1.maven.org/maven2/software/amazon/awssdk/netty-nio-client) - AWS Java SDK :: Profiles (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK :: Regions (from ) +- AWS Java SDK :: Regions (from https://repo1.maven.org/maven2/software/amazon/awssdk/regions) - AWS Java SDK :: SDK Core (from https://aws.amazon.com/sdkforjava) - AWS Java SDK :: Services :: AWS Simple Systems Management (SSM) (from https://aws.amazon.com/sdkforjava) -- AWS Java SDK :: Utilities (from ) +- AWS Java SDK :: Utilities (from https://repo1.maven.org/maven2/software/amazon/awssdk/utils) - AWS Java SDK for AWS Amplify (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS App Mesh (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS AppSync (from https://aws.amazon.com/sdkforjava) @@ -308,83 +304,80 @@ The following software have components provided under the terms of this license: - AWS Java SDK for the Amazon EC2 Container Service (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 ) +- Adapter: RxJava (from https://repo1.maven.org/maven2/com/squareup/retrofit2/adapter-rxjava) - Apache Ant + JUnit (from http://ant.apache.org/) - Apache Ant Core (from http://ant.apache.org/) - Apache Ant Launcher (from http://ant.apache.org/) - Apache Commons BeanUtils (from http://commons.apache.org/proper/commons-beanutils/) - Apache Commons CLI (from http://commons.apache.org/proper/commons-cli/) -- Apache Commons Codec (from http://commons.apache.org/proper/commons-codec/) -- Apache Commons Collections (from http://commons.apache.org/proper/commons-collections/) -- Apache Commons Lang (from http://commons.apache.org/proper/commons-lang/) +- Apache Commons Codec (from https://commons.apache.org/proper/commons-codec/) +- Apache Commons Collections (from https://commons.apache.org/proper/commons-collections/) +- Apache Commons IO (from https://commons.apache.org/proper/commons-io/) +- Apache Commons Lang (from https://commons.apache.org/proper/commons-lang/) - Apache Commons Logging (from http://commons.apache.org/proper/commons-logging/) - Apache Commons Validator (from http://commons.apache.org/proper/commons-validator/) - Apache Geronimo JMS Spec 2.0 (from http://geronimo.apache.org/maven/${siteId}/${version}) - Apache HttpClient (from http://hc.apache.org/httpcomponents-client) - Apache HttpClient Cache (from http://hc.apache.org/httpcomponents-client) - Apache HttpCore (from http://hc.apache.org/httpcomponents-core-ga) -- Apache Log4j API (from ) -- Apache Log4j Core (from ) -- Apache Log4j JUL Adapter (from ) -- Apache Log4j SLF4J Binding (from ) -- Apache Log4j to SLF4J Adapter (from ) +- Apache Log4j API (from https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api) +- Apache Log4j Core (from https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core) +- Apache Log4j JUL Adapter (from https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-jul) +- 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 ) -- Apache Maven Reporting Implementation (from ) -- Apache Maven Wagon :: API (from ) -- Apache Maven Wagon :: Providers :: File Provider (from ) -- Apache Maven Wagon :: Providers :: HTTP Shared Library (from ) -- Apache Maven Wagon :: Providers :: Lightweight HTTP Provider (from ) -- Apache Maven Wagon :: Providers :: SSH Common Library (from ) -- Apache Maven Wagon :: Providers :: SSH External Provider (from ) -- Apache Maven Wagon :: Providers :: SSH Provider (from ) +- Apache Maven Reporting Implementation (from https://repo1.maven.org/maven2/org/apache/maven/reporting/maven-reporting-impl) - Apache Velocity (from http://velocity.apache.org/engine/devel/) -- AssertJ fluent assertions (from ) -- AssertJ fluent assertions (from ) -- Asynchronous Http Client (from ) -- Asynchronous Http Client Netty Utils (from ) +- AssertJ fluent assertions (from https://repo1.maven.org/maven2/org/assertj/assertj-core) +- AssertJ fluent assertions (from 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) - Azure Spring Boot Starter for Azure AD Spring Security Integration (from https://github.com/Azure/azure-sdk-for-java) - Bean Validation API (from http://beanvalidation.org) -- Brave Instrumentation: Http Adapters (from ) +- Bean Validation API (from http://beanvalidation.org) +- Brave (from https://repo1.maven.org/maven2/io/zipkin/brave/brave) +- Brave Instrumentation: Http Adapters (from https://repo1.maven.org/maven2/io/zipkin/brave/brave-instrumentation-http) - Brave instrumentation for Reactor Netty HTTP (from https://github.com/reactor/reactor-netty) -- Byte Buddy (without dependencies) (from ) -- Byte Buddy Java agent (from ) +- Byte Buddy (without dependencies) (from https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy) +- Byte Buddy agent (from https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy-agent) - ClassMate (from http://github.com/cowtowncoder/java-classmate) -- Cloud Storage JSON API v1-rev58-1.21.0 (from ) +- Cloud Storage JSON API v1-rev20210127-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 code coverage (from http://cobertura.sourceforge.net) +- 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 IO (from http://commons.apache.org/io/) - Commons Lang (from http://commons.apache.org/lang/) -- Converter: Jackson (from ) +- Converter: Jackson (from https://repo1.maven.org/maven2/com/squareup/retrofit2/converter-jackson) - Core functionality for the Reactor Netty library (from https://github.com/reactor/reactor-netty) -- Doxia :: APT Module (from ) -- Doxia :: Core (from ) -- Doxia :: Decoration Model (from http://maven.apache.org/doxia/doxia-sitetools/doxia-decoration-model/) -- Doxia :: FML Module (from ) -- Doxia :: Sink API (from ) -- Doxia :: Site Renderer (from http://maven.apache.org/doxia/doxia-sitetools/doxia-site-renderer/) -- Doxia :: XDoc Module (from ) -- Doxia :: XHTML Module (from ) +- Default Plexus Container (from https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-container-default) +- Doxia :: APT Module (from http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-apt/) +- Doxia :: Core (from http://maven.apache.org/doxia/doxia/doxia-core/) +- Doxia :: FML Module (from http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-fml/) +- Doxia :: Sink API (from http://maven.apache.org/doxia/doxia/doxia-sink-api/) +- Doxia :: XDoc Module (from http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-xdoc/) +- Doxia :: XHTML Module (from http://maven.apache.org/doxia/doxia/doxia-modules/doxia-module-xhtml/) +- Doxia Sitetools :: Decoration Model (from http://maven.apache.org/doxia/doxia-sitetools/doxia-decoration-model/) +- Doxia Sitetools :: Site Renderer Component (from http://maven.apache.org/doxia/doxia-sitetools/doxia-site-renderer/) - Expression Language 3.0 (from https://projects.eclipse.org/projects/ee4j.el) - FindBugs-jsr305 (from http://findbugs.sourceforge.net/) -- Google APIs Client Library for Java (from ) -- Google App Engine extensions to the Google HTTP Client Library for Java. (from ) -- Google Cloud Core (from https://github.com/GoogleCloudPlatform/google-cloud-java/tree/master/google-cloud-core) -- Google Cloud Core HTTP (from https://github.com/GoogleCloudPlatform/google-cloud-java/tree/master/google-cloud-core-http) -- Google Cloud Core gRPC (from https://github.com/GoogleCloudPlatform/google-cloud-java/tree/master/google-cloud-core-grpc) +- Google APIs Client Library for Java (from https://repo1.maven.org/maven2/com/google/api-client/google-api-client) +- Google App Engine extensions to the Google HTTP Client Library for Java. (from https://repo1.maven.org/maven2/com/google/http-client/google-http-client-appengine) +- Google Cloud Common Protos for Java (from https://github.com/googleapis/common-protos-java) +- Google Cloud Core (from https://github.com/googleapis/java-core) +- Google Cloud Core HTTP (from https://github.com/googleapis/java-core) +- Google Cloud Core gRPC (from https://github.com/googleapis/java-core) - Google Cloud Datastore (from https://github.com/GoogleCloudPlatform/google-cloud-java/tree/master/google-cloud-datastore) -- Google Cloud Key Management Service (KMS) API v1-rev22-1.23.0 (from ) +- Google Cloud Key Management Service (KMS) API v1-rev9-1.22.0 (from https://repo1.maven.org/maven2/com/google/apis/google-api-services-cloudkms) - Google Cloud Logging (from https://github.com/GoogleCloudPlatform/google-cloud-java/tree/master/google-cloud-logging) -- Google Cloud Pub/Sub (from https://github.com/GoogleCloudPlatform/google-cloud-java/tree/master/google-cloud-pubsub) -- Google Cloud Storage (from https://github.com/GoogleCloudPlatform/google-cloud-java/tree/master/google-cloud-storage) -- Google HTTP Client Library for Java (from https://github.com/google/google-http-java-client.git) -- Google OAuth Client Library for Java (from ) +- Google Cloud Pub/Sub (from https://github.com/googleapis/java-pubsub) +- Google Cloud Storage (from https://github.com/googleapis/java-storage) +- Google HTTP Client Library for Java (from https://repo1.maven.org/maven2/com/google/http-client/google-http-client) +- Google OAuth Client Library for Java (from https://repo1.maven.org/maven2/com/google/oauth-client/google-oauth-client) - Gson (from https://github.com/google/gson) -- Guava InternalFutureFailureAccess and InternalFutures (from ) -- Guava ListenableFuture only (from ) -- Guava: Google Core Libraries for Java (from https://github.com/google/guava.git) +- Guava InternalFutureFailureAccess and InternalFutures (from https://repo1.maven.org/maven2/com/google/guava/failureaccess) +- Guava: Google Core Libraries for Java (from https://repo1.maven.org/maven2/com/google/guava/guava) - HTTP functionality for the Reactor Netty library (from https://github.com/reactor/reactor-netty) -- Hibernate Validator Engine (from ) +- Hibernate Validator Engine (from https://repo1.maven.org/maven2/org/hibernate/validator/hibernate-validator) - 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) @@ -397,39 +390,38 @@ The following software have components provided under the terms of this license: - JCIP Annotations under Apache License (from http://stephenc.github.com/jcip-annotations) - JDOM (from http://www.jdom.org) - JMES Path Query library (from https://aws.amazon.com/sdkforjava) -- JSON Small and Fast Parser (from http://www.minidev.net/) -- JSON Small and Fast Parser (from http://www.minidev.net/) -- JSON Web Token support for the JVM (from https://github.com/jwtk/jjwt.git) +- JSON Small and Fast Parser (from https://repo1.maven.org/maven2/net/minidev/json-smart) +- JSON Small and Fast Parser (from https://repo1.maven.org/maven2/net/minidev/json-smart) +- JSON Web Token support for the JVM (from https://github.com/jwtk/jjwt) - JSON library from Android SDK (from http://developer.android.com/sdk) - JSONassert (from https://github.com/skyscreamer/JSONassert) - Jackson (from http://jackson.codehaus.org) -- Jackson 2 extensions to the Google HTTP Client Library for Java. (from https://github.com/google/google-http-java-client.git/google-http-client-jackson2) +- Jackson 2 extensions to the Google HTTP Client Library for Java. (from https://repo1.maven.org/maven2/com/google/http-client/google-http-client-jackson2) - Jackson dataformat: CBOR (from http://github.com/FasterXML/jackson-dataformats-binary) -- Jackson datatype: JSR310 (from http://wiki.fasterxml.com/JacksonModuleJSR310) -- Jackson extensions to the Google HTTP Client Library for Java. (from ) +- Jackson datatype: JSR310 (from https://repo1.maven.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-jsr310) +- Jackson datatype: Joda (from https://github.com/FasterXML/jackson-datatype-joda) +- Jackson datatype: jdk8 (from https://repo1.maven.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-jdk8) +- Jackson extensions to the Google HTTP Client Library for Java. (from https://repo1.maven.org/maven2/com/google/http-client/google-http-client-jackson) +- Jackson module: Afterburner (from https://github.com/FasterXML/jackson-modules-base) +- Jackson module: JAXB-annotations (from http://github.com/FasterXML/jackson-module-jaxb-annotations) - Jackson-annotations (from http://github.com/FasterXML/jackson) - Jackson-annotations (from http://github.com/FasterXML/jackson) -- Jackson-core (from https://github.com/FasterXML/jackson-core) -- Jackson-core (from https://github.com/FasterXML/jackson-core) +- Jackson-core (from http://wiki.fasterxml.com/JacksonHome) +- Jackson-core (from http://wiki.fasterxml.com/JacksonHome) - Jackson-dataformat-XML (from http://wiki.fasterxml.com/JacksonExtensionXmlDataBinding) -- Jackson-dataformat-YAML (from https://github.com/FasterXML/jackson) -- Jackson-datatype-Joda (from http://wiki.fasterxml.com/JacksonModuleJoda) -- Jackson-datatype-jdk8 (from ) -- Jackson-module-Afterburner (from http://wiki.fasterxml.com/JacksonHome) -- Jackson-module-JAXB-annotations (from http://wiki.fasterxml.com/JacksonJAXBAnnotations) -- Jackson-module-parameter-names (from ) -- Jakarta Bean Validation API (from https://beanvalidation.org) +- Jackson-dataformat-YAML (from 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) - Java Libraries for Amazon Simple WorkFlow (from https://aws.amazon.com/sdkforjava) -- Java Native Access (from https://github.com/java-native-access/jna) +- Java Native Access (from 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) - Javassist (from http://www.javassist.org/) - Javassist (from http://www.javassist.org/) -- Jetty Server (from ) -- Jetty Utilities (from ) -- Joda-Time (from http://www.joda.org/joda-time/) -- Joda-Time (from http://www.joda.org/joda-time/) -- Joda-Time (from http://www.joda.org/joda-time/) +- Jetty Server (from http://jetty.mortbay.org) +- Jetty Utilities (from http://jetty.mortbay.org) +- Joda-Time (from https://www.joda.org/joda-time/) +- Joda-Time (from https://www.joda.org/joda-time/) +- Joda-Time (from https://www.joda.org/joda-time/) - Json Path (from https://github.com/jayway/JsonPath) - KeePassJava2 :: All (from https://repo1.maven.org/maven2/org/linguafranca/pwdb/KeePassJava2) - KeePassJava2 :: DOM (from https://repo1.maven.org/maven2/org/linguafranca/pwdb/KeePassJava2-dom) @@ -446,26 +438,35 @@ The following software have components provided under the terms of this license: - Keycloak Spring Boot 2 Integration (from ) - Keycloak Spring Boot Adapter Core (from ) - Keycloak Spring Security Integration (from ) +- Kotlin Stdlib (from https://kotlinlang.org/) +- Kotlin Stdlib Common (from https://kotlinlang.org/) - Logback Contrib :: JSON :: Classic (from ) - Logback Contrib :: JSON :: Core (from ) - Logback Contrib :: Jackson (from ) -- MapStruct Core (from ) -- Maven Artifact (from ) -- Maven Artifact Manager (from ) -- Maven Core (from https://git-wip-us.apache.org/repos/asf/maven.git/maven-core) -- Maven Error Diagnostics (from ) -- Maven Model (from https://git-wip-us.apache.org/repos/asf/maven.git/maven-model) -- Maven Monitor (from ) -- Maven Plugin API (from https://git-wip-us.apache.org/repos/asf/maven.git/maven-plugin-api) -- Maven Plugin Descriptor Model (from ) -- Maven Plugin Parameter Documenter API (from ) -- Maven Plugin Registry Model (from ) -- Maven Profile Model (from ) -- Maven Project (from ) -- Maven Reporting API (from ) -- Maven Repository Metadata Model (from ) -- Maven Settings (from ) -- Metrics Core (from https://github.com/dropwizard/metrics) +- MapStruct Core (from https://repo1.maven.org/maven2/org/mapstruct/mapstruct) +- Maven Artifact (from https://repo1.maven.org/maven2/org/apache/maven/maven-artifact) +- Maven Artifact Manager (from https://repo1.maven.org/maven2/org/apache/maven/maven-artifact-manager) +- 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 Local Settings Model (from https://repo1.maven.org/maven2/org/apache/maven/maven-settings) +- Maven Model (from https://repo1.maven.org/maven2/org/apache/maven/maven-model) +- Maven Monitor (from https://repo1.maven.org/maven2/org/apache/maven/maven-monitor) +- Maven Plugin API (from https://repo1.maven.org/maven2/org/apache/maven/maven-plugin-api) +- 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) +- 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 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 Repository Metadata Model (from https://repo1.maven.org/maven2/org/apache/maven/maven-repository-metadata) +- Maven Wagon API (from https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-provider-api) +- Maven Wagon File Provider (from https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-file) +- Maven Wagon HTTP Shared Library (from https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-http-shared) +- Maven Wagon Lightweight HTTP Provider (from https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-http-lightweight) +- Maven Wagon SSH Common Library (from https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh-common) +- Maven Wagon SSH External Provider (from https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh-external) +- Maven Wagon SSH Provider (from https://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-ssh) +- 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) @@ -475,110 +476,80 @@ The following software have components provided under the terms of this license: - Microsoft Azure SDK for Key Vault (from https://github.com/Azure/azure-sdk-for-java) - Microsoft Azure SDK for SQL API of Azure Cosmos DB Service (from https://github.com/Azure/azure-sdk-for-java) - Microsoft Azure Storage Client SDK (from https://github.com/Azure/azure-storage-java) -- Mockito (from http://mockito.org) -- Mockito (from http://mockito.org) - Mojo's Maven plugin for Cobertura (from http://mojo.codehaus.org/cobertura-maven-plugin/) -- Netty Reactive Streams HTTP support (from ) -- Netty Reactive Streams Implementation (from ) -- Netty Reactive Streams Implementation (from ) -- Netty/Buffer (from http://netty.io/) -- Netty/Codec (from ) -- Netty/Codec/DNS (from ) -- Netty/Codec/HTTP (from ) -- Netty/Codec/HTTP2 (from ) -- Netty/Codec/Socks (from ) -- Netty/Common (from ) -- Netty/Handler (from ) -- Netty/Handler/Proxy (from ) -- Netty/Resolver (from ) -- Netty/Resolver/DNS (from ) -- Netty/TomcatNative [BoringSSL - Static] (from ) -- Netty/Transport (from http://netty.io/) -- Netty/Transport/Native/Unix/Common (from ) +- Netty Reactive Streams HTTP support (from https://repo1.maven.org/maven2/com/typesafe/netty/netty-reactive-streams-http) +- Netty Reactive Streams Implementation (from https://repo1.maven.org/maven2/com/typesafe/netty/netty-reactive-streams) +- Netty/Buffer (from https://repo1.maven.org/maven2/io/netty/netty-buffer) +- Netty/Codec (from https://repo1.maven.org/maven2/io/netty/netty-codec) +- Netty/Codec/DNS (from https://repo1.maven.org/maven2/io/netty/netty-codec-dns) +- Netty/Codec/HTTP (from https://repo1.maven.org/maven2/io/netty/netty-codec-http) +- Netty/Codec/HTTP2 (from https://repo1.maven.org/maven2/io/netty/netty-codec-http2) +- Netty/Codec/Socks (from https://repo1.maven.org/maven2/io/netty/netty-codec-socks) +- Netty/Common (from https://repo1.maven.org/maven2/io/netty/netty-common) +- Netty/Handler (from https://repo1.maven.org/maven2/io/netty/netty-handler) +- Netty/Handler/Proxy (from https://repo1.maven.org/maven2/io/netty/netty-handler-proxy) +- 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/TomcatNative [BoringSSL - Static] (from 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/Native/Unix/Common (from https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common) - Nimbus Content Type (from https://bitbucket.org/connect2id/nimbus-content-type) - Nimbus JOSE+JWT (from https://bitbucket.org/connect2id/nimbus-jose-jwt) - Nimbus LangTag (from https://bitbucket.org/connect2id/nimbus-language-tags) -- Non-Blocking Reactive Foundation for the JVM (from https://github.com/reactor/reactor) +- Non-Blocking Reactive Foundation for the JVM (from https://github.com/reactor/reactor-core) - OAuth 2.0 SDK with OpenID Connect extensions (from https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions) - Objenesis (from http://objenesis.org) -- OkHttp (from ) -- OkHttp Logging Interceptor (from ) -- OkHttp URLConnection (from ) -- Okio (from ) +- Okio (from https://github.com/square/okio/) - OpenCensus (from https://github.com/census-instrumentation/opencensus-java) - OpenCensus (from https://github.com/census-instrumentation/opencensus-java) - OpenCensus (from https://github.com/census-instrumentation/opencensus-java) - PWDB :: Database (from https://repo1.maven.org/maven2/org/linguafranca/pwdb/database) -- Plexus :: Default Container (from ) -- Plexus Common Utilities (from http://plexus.codehaus.org/plexus-utils) -- Plexus Default Interactivity Handler (from ) -- Plexus I18N Component (from ) +- Plexus Common Utilities (from https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils) - Plexus Velocity Component (from ) - PowerMock (from http://www.powermock.org) - PowerMock (from http://www.powermock.org) -- Protocol Buffer extensions to the Google HTTP Client Library for Java. (from ) +- Protocol Buffer extensions to the Google HTTP Client Library for Java. (from https://repo1.maven.org/maven2/com/google/http-client/google-http-client-protobuf) +- Proton-J (from https://repo1.maven.org/maven2/org/apache/qpid/proton-j) - QpidJMS Client (from ) - Reactive Streams Netty driver (from https://github.com/reactor/reactor-netty) -- Retrofit (from ) -- Servlet Specification 2.5 API (from ) -- SnakeYAML (from http://www.snakeyaml.org) -- Spring AOP (from https://github.com/spring-projects/spring-framework) -- Spring Beans (from https://github.com/spring-projects/spring-framework) -- Spring Boot (from http://projects.spring.io/spring-boot/) -- Spring Boot Actuator (from http://projects.spring.io/spring-boot/) -- Spring Boot Actuator AutoConfigure (from https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-actuator-autoconfigure) -- Spring Boot Actuator Starter (from http://projects.spring.io/spring-boot/) -- Spring Boot AutoConfigure (from http://projects.spring.io/spring-boot/) -- Spring Boot Dependencies (from http://projects.spring.io/spring-boot/) +- Retrofit (from https://github.com/square/retrofit) +- Servlet Specification 2.5 API (from http://jetty.mortbay.org) +- SnakeYAML (from http://code.google.com/p/snakeyaml/) +- Spring AOP (from https://repo1.maven.org/maven2/org/springframework/spring-aop) - Spring Boot Json Starter (from https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-starters/spring-boot-starter-json) -- Spring Boot Log4J2 Starter (from http://projects.spring.io/spring-boot/) -- Spring Boot Logging Starter (from http://projects.spring.io/spring-boot/) -- Spring Boot Reactor Netty Starter (from https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-starters/spring-boot-starter-reactor-netty) -- Spring Boot Security Starter (from http://projects.spring.io/spring-boot/) -- Spring Boot Starter (from http://projects.spring.io/spring-boot/) -- Spring Boot Test (from http://projects.spring.io/spring-boot/) -- Spring Boot Test Auto-Configure (from http://projects.spring.io/spring-boot/) -- Spring Boot Test Starter (from http://projects.spring.io/spring-boot/) -- Spring Boot Tomcat Starter (from http://projects.spring.io/spring-boot/) -- Spring Boot Validation Starter (from http://projects.spring.io/spring-boot/) -- Spring Boot Web Starter (from http://projects.spring.io/spring-boot/) -- Spring Boot WebFlux Starter (from https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-starters/spring-boot-starter-webflux) -- Spring Cloud GCP Autoconfigure Module (from ) -- Spring Cloud GCP Core Module (from ) +- Spring Boot Tomcat Starter (from https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-starters/spring-boot-starter-tomcat) +- Spring Boot Web Starter (from https://projects.spring.io/spring-boot/#/spring-boot-parent/spring-boot-starters/spring-boot-starter-web) +- Spring Cloud GCP Autoconfigure Module (from https://repo1.maven.org/maven2/org/springframework/cloud/spring-cloud-gcp-autoconfigure) +- Spring Cloud GCP Core Module (from https://repo1.maven.org/maven2/org/springframework/cloud/spring-cloud-gcp-core) - Spring Cloud GCP Datastore Module (from ) - Spring Cloud GCP Datastore Starter (from https://repo1.maven.org/maven2/org/springframework/cloud/spring-cloud-gcp-starter-data-datastore) -- Spring Cloud GCP Support Starter (from ) +- Spring Cloud GCP Support Starter (from https://repo1.maven.org/maven2/org/springframework/cloud/spring-cloud-gcp-starter) - Spring Commons Logging Bridge (from https://github.com/spring-projects/spring-framework) -- Spring Context (from https://github.com/spring-projects/spring-framework) -- Spring Core (from https://github.com/spring-projects/spring-framework) -- Spring Data Core (from ) -- Spring Data Core (from ) +- Spring Data Core (from https://repo1.maven.org/maven2/org/springframework/data/spring-data-commons) +- Spring Data Core (from https://repo1.maven.org/maven2/org/springframework/data/spring-data-commons) - Spring Expression Language (SpEL) (from https://github.com/spring-projects/spring-framework) - Spring JMS (from https://github.com/spring-projects/spring-framework) - Spring Messaging (from https://github.com/spring-projects/spring-framework) - Spring Plugin - Core (from ) -- Spring Plugin - Metadata Extension (from ) +- Spring Plugin - Metadata Extension (from https://repo1.maven.org/maven2/org/springframework/plugin/spring-plugin-metadata) - Spring TestContext Framework (from https://github.com/spring-projects/spring-framework) - Spring Transaction (from https://github.com/spring-projects/spring-framework) -- Spring Web (from https://github.com/spring-projects/spring-framework) -- Spring Web MVC (from https://github.com/spring-projects/spring-framework) - Spring WebFlux (from https://github.com/spring-projects/spring-framework) +- Spring beans (from https://repo1.maven.org/maven2/org/springframework/spring-beans) +- Spring context (from https://repo1.maven.org/maven2/org/springframework/spring-context) +- Spring core (from https://repo1.maven.org/maven2/org/springframework/spring-core) +- Spring web (from https://repo1.maven.org/maven2/org/springframework/spring-web) +- Spring web MVC (from https://repo1.maven.org/maven2/org/springframework/spring-webmvc) - Woodstox (from https://github.com/FasterXML/woodstox) -- Xerces2-j (from https://xerces.apache.org/xerces2-j/) +- Zipkin Core Library (from https://repo1.maven.org/maven2/io/zipkin/zipkin2/zipkin) - Zipkin Reporter Brave (from https://repo1.maven.org/maven2/io/zipkin/reporter2/zipkin-reporter-brave) -- Zipkin Reporter: Core (from ) -- Zipkin v2 (from ) +- Zipkin Reporter: Core (from https://repo1.maven.org/maven2/io/zipkin/reporter2/zipkin-reporter) - aalto-xml (from ) - aws-ssm-java-caching-client (from https://github.com/awslabs/aws-ssm-java-caching-client) -- brave (from ) - com.google.api.grpc:grpc-google-cloud-pubsub-v1 (from https://github.com/googleapis/googleapis) - com.google.api.grpc:proto-google-cloud-logging-v2 (from https://github.com/googleapis/googleapis) -- com.google.api.grpc:proto-google-cloud-pubsub-v1 (from https://github.com/googleapis/googleapis) -- com.google.api.grpc:proto-google-common-protos (from https://github.com/googleapis/googleapis) -- com.google.api.grpc:proto-google-iam-v1 (from https://github.com/googleapis/googleapis) -- commons-collections (from ) - datastore-v1-proto-client (from ) -- error-prone annotations (from ) +- error-prone annotations (from https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations) - io.grpc:grpc-alts (from https://github.com/grpc/grpc-java) - io.grpc:grpc-api (from https://github.com/grpc/grpc-java) - io.grpc:grpc-auth (from https://github.com/grpc/grpc-java) @@ -591,36 +562,55 @@ The following software have components provided under the terms of this license: - io.grpc:grpc-stub (from https://github.com/grpc/grpc-java) - ion-java (from https://github.com/amznlabs/ion-java/) - ion-java (from https://github.com/amznlabs/ion-java/) -- jackson-databind (from http://github.com/FasterXML/jackson) -- jackson-databind (from http://github.com/FasterXML/jackson) +- jackson-databind (from http://wiki.fasterxml.com/JacksonHome) +- jackson-databind (from http://wiki.fasterxml.com/JacksonHome) - java-cloudant (from https://cloudant.com) - java-cloudant (from https://cloudant.com) - javatuples (from http://www.javatuples.org) - javax.inject (from http://code.google.com/p/atinject/) - jose4j (from https://bitbucket.org/b_c/jose4j/) -- kotlin-stdlib (from ) - lettuce (from http://github.com/mp911de/lettuce/wiki) - micrometer-core (from https://github.com/micrometer-metrics/micrometer) - micrometer-registry-azure-monitor (from https://github.com/micrometer-metrics/micrometer) +- mockito-core (from https://github.com/mockito/mockito) +- mockito-core (from https://github.com/mockito/mockito) +- okhttp (from https://square.github.io/okhttp/) +- okhttp-logging-interceptor (from https://square.github.io/okhttp/) +- okhttp-urlconnection (from https://github.com/square/okhttp) - org.apiguardian:apiguardian-api (from https://github.com/apiguardian-team/apiguardian) -- org.jetbrains.kotlin:kotlin-stdlib-common (from https://kotlinlang.org/) - org.opentest4j:opentest4j (from https://github.com/ota4j-team/opentest4j) - org.xmlunit:xmlunit-core (from http://www.xmlunit.org/) -- oro (from ) -- powermock-api-support (from ) -- powermock-api-support (from ) +- powermock-api-support (from https://repo1.maven.org/maven2/org/powermock/powermock-api-support) +- powermock-api-support (from https://repo1.maven.org/maven2/org/powermock/powermock-api-support) - powermock-core (from http://www.powermock.org) - powermock-core (from http://www.powermock.org) - powermock-module-junit4 (from http://www.powermock.org) - powermock-module-junit4 (from http://www.powermock.org) -- powermock-module-junit4-common (from ) -- powermock-module-junit4-common (from ) -- powermock-reflect (from ) -- powermock-reflect (from ) +- powermock-module-junit4-common (from https://repo1.maven.org/maven2/org/powermock/powermock-module-junit4-common) +- powermock-module-junit4-common (from https://repo1.maven.org/maven2/org/powermock/powermock-module-junit4-common) +- powermock-reflect (from https://repo1.maven.org/maven2/org/powermock/powermock-reflect) +- powermock-reflect (from https://repo1.maven.org/maven2/org/powermock/powermock-reflect) - proto-google-cloud-datastore-v1 (from https://github.com/googleapis/api-client-staging) -- proton-j (from ) +- proto-google-cloud-pubsub-v1 (from https://github.com/googleapis/java-pubsub/proto-google-cloud-pubsub-v1) +- proto-google-iam-v1 (from https://github.com/googleapis/java-iam/proto-google-iam-v1) - rxjava (from https://github.com/ReactiveX/RxJava) +- spring-boot (from https://spring.io/projects/spring-boot) +- spring-boot-actuator (from https://spring.io/projects/spring-boot) +- spring-boot-actuator-autoconfigure (from https://spring.io/projects/spring-boot) +- spring-boot-autoconfigure (from https://spring.io/projects/spring-boot) - spring-boot-container-bundle (from ) +- spring-boot-dependencies (from https://spring.io/projects/spring-boot) +- spring-boot-starter (from https://spring.io/projects/spring-boot) +- spring-boot-starter-actuator (from https://spring.io/projects/spring-boot) +- spring-boot-starter-log4j2 (from https://spring.io/projects/spring-boot) +- spring-boot-starter-logging (from https://spring.io/projects/spring-boot) +- spring-boot-starter-reactor-netty (from https://spring.io/projects/spring-boot) +- spring-boot-starter-security (from https://spring.io/projects/spring-boot) +- spring-boot-starter-test (from https://spring.io/projects/spring-boot) +- spring-boot-starter-validation (from https://spring.io/projects/spring-boot) +- spring-boot-starter-webflux (from https://spring.io/projects/spring-boot) +- spring-boot-test (from https://spring.io/projects/spring-boot) +- spring-boot-test-autoconfigure (from https://spring.io/projects/spring-boot) - spring-security-config (from http://spring.io/spring-security) - spring-security-core (from http://spring.io/spring-security) - spring-security-oauth2-client (from http://spring.io/spring-security) @@ -636,11 +626,12 @@ The following software have components provided under the terms of this license: - springfox-swagger-common (from https://github.com/springfox/springfox) - springfox-swagger-ui (from https://github.com/springfox/springfox) - springfox-swagger2 (from https://github.com/springfox/springfox) -- swagger-annotations (from ) +- swagger-annotations (from https://repo1.maven.org/maven2/io/swagger/swagger-annotations) - swagger-jaxrs (from ) -- swagger-models (from ) +- swagger-models (from 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/) +- tomcat-embed-websocket (from https://tomcat.apache.org/) +- xercesImpl (from https://repo1.maven.org/maven2/xerces/xercesImpl) - xml-apis (from ) ======================================================================== @@ -648,17 +639,18 @@ BSD-2-Clause ======================================================================== The following software have components provided under the terms of this license: -- API Common (from https://github.com/googleapis) +- API Common (from https://github.com/googleapis/api-common-java) - Apache Commons CLI (from http://commons.apache.org/proper/commons-cli/) -- GAX (Google Api eXtensions) (from https://github.com/googleapis) -- GAX (Google Api eXtensions) (from https://github.com/googleapis) -- GAX (Google Api eXtensions) (from https://github.com/googleapis) +- GAX (Google Api eXtensions) for Java (from https://github.com/googleapis/gax-java) +- GAX (Google Api eXtensions) for Java (from https://github.com/googleapis/gax-java) +- GAX (Google Api eXtensions) for Java (from https://github.com/googleapis/gax-java) - Hamcrest (from http://hamcrest.org/JavaHamcrest/) - Hamcrest Core (from http://hamcrest.org/) - HdrHistogram (from http://hdrhistogram.github.io/HdrHistogram/) -- Plexus :: Default Container (from ) -- Plexus Common Utilities (from http://plexus.codehaus.org/plexus-utils) +- Plexus Common Utilities (from https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils) +- Reflections (from http://github.com/ronmamo/reflections) - Stax2 API (from http://github.com/FasterXML/stax2-api) +- ThreeTen backport (from https://www.threeten.org/threetenbp) - jaxen (from http://jaxen.codehaus.org/) ======================================================================== @@ -666,7 +658,7 @@ BSD-3-Clause ======================================================================== The following software have components provided under the terms of this license: -- API Common (from https://github.com/googleapis) +- API Common (from https://github.com/googleapis/api-common-java) - ASM Analysis (from ) - ASM Commons (from ) - ASM Core (from ) @@ -674,36 +666,34 @@ The following software have components provided under the terms of this license: - ASM Core (from ) - ASM Tree (from ) - ASM Util (from ) -- Apache Commons Codec (from http://commons.apache.org/proper/commons-codec/) -- GAX (Google Api eXtensions) (from https://github.com/googleapis) -- GAX (Google Api eXtensions) (from https://github.com/googleapis) -- GAX (Google Api eXtensions) (from https://github.com/googleapis) -- Google APIs Client Library for Java (from ) -- Google Auth Library for Java - Credentials (from ) -- Google Auth Library for Java - OAuth2 HTTP (from ) +- Apache Commons Codec (from https://commons.apache.org/proper/commons-codec/) +- GAX (Google Api eXtensions) for Java (from https://github.com/googleapis/gax-java) +- GAX (Google Api eXtensions) for Java (from https://github.com/googleapis/gax-java) +- GAX (Google Api eXtensions) for Java (from https://github.com/googleapis/gax-java) +- Google APIs Client Library for Java (from https://repo1.maven.org/maven2/com/google/api-client/google-api-client) +- Google Auth Library for Java - Credentials (from https://repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials) +- 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/) - HdrHistogram (from http://hdrhistogram.github.io/HdrHistogram/) -- JDOM (from http://www.jdom.org) -- JSch (from http://www.jcraft.com/jsch/) -- JavaBeans Activation Framework (from ) +- JavaBeans Activation Framework (from https://repo1.maven.org/maven2/com/sun/activation/jakarta.activation) - JavaBeans Activation Framework API jar (from ) - 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) -- Netty/Codec/HTTP (from ) -- Plexus Common Utilities (from http://plexus.codehaus.org/plexus-utils) -- Protocol Buffer Java API (from https://developers.google.com/protocol-buffers/) -- Protocol Buffers [Util] (from ) +- Netty/Codec/HTTP (from https://repo1.maven.org/maven2/io/netty/netty-codec-http) +- Plexus Common Utilities (from https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils) +- Protocol Buffers [Core] (from 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) - Reflections (from http://github.com/ronmamo/reflections) -- SnakeYAML (from http://www.snakeyaml.org) -- Spring Core (from https://github.com/spring-projects/spring-framework) -- Stax2 API (from http://github.com/FasterXML/stax2-api) +- SnakeYAML (from http://code.google.com/p/snakeyaml/) +- Spring core (from https://repo1.maven.org/maven2/org/springframework/spring-core) - ThreeTen backport (from https://www.threeten.org/threetenbp) - classworlds (from http://classworlds.codehaus.org/) - jakarta.xml.bind-api (from ) - jaxen (from http://jaxen.codehaus.org/) +- jsch (from https://repo1.maven.org/maven2/com/jcraft/jsch) ======================================================================== CC-BY-2.5 @@ -734,8 +724,7 @@ CDDL-1.0 ======================================================================== The following software have components provided under the terms of this license: -- Servlet Specification 2.5 API (from ) -- javax.annotation-api (from http://jcp.org/en/jsr/detail?id=250) +- Servlet Specification 2.5 API (from http://jetty.mortbay.org) ======================================================================== CDDL-1.1 @@ -743,6 +732,8 @@ CDDL-1.1 The following software have components provided under the terms of this license: - JavaBeans Activation Framework (from ) +- Servlet Specification 2.5 API (from http://jetty.mortbay.org) +- javax.annotation-api (from http://jcp.org/en/jsr/detail?id=250) - tomcat-embed-core (from http://tomcat.apache.org/) ======================================================================== @@ -752,6 +743,14 @@ The following software have components provided under the terms of this license: - JUnit (from http://junit.org) +======================================================================== +DOC +======================================================================== +The following software have components provided under the terms of this license: + +- JDOM (from http://www.jdom.org) +- Woodstox (from https://github.com/FasterXML/woodstox) + ======================================================================== EPL-1.0 ======================================================================== @@ -759,20 +758,20 @@ The following software have components provided under the terms of this license: - Expression Language 3.0 (from https://projects.eclipse.org/projects/ee4j.el) - JUnit Jupiter (Aggregator) (from https://junit.org/junit5/) -- Logback Classic Module (from ) +- JUnit Jupiter API (from https://junit.org/junit5/) +- JUnit Jupiter Engine (from https://junit.org/junit5/) +- JUnit Jupiter Params (from https://junit.org/junit5/) +- Logback Classic Module (from http://logback.qos.ch) - Logback Contrib :: JSON :: Classic (from ) - Logback Contrib :: JSON :: Core (from ) - Logback Contrib :: Jackson (from ) -- Logback Core Module (from ) +- Logback Core Module (from http://logback.qos.ch) - Microsoft Application Insights Java SDK Core (from https://github.com/Microsoft/ApplicationInsights-Java) - Microsoft Application Insights Java SDK Spring Boot starter (from https://github.com/Microsoft/ApplicationInsights-Java) - Microsoft Application Insights Java SDK Web Module (from https://github.com/Microsoft/ApplicationInsights-Java) - Microsoft Application Insights Log4j 2 Appender (from https://github.com/Microsoft/ApplicationInsights-Java) -- SnakeYAML (from http://www.snakeyaml.org) +- SnakeYAML (from http://code.google.com/p/snakeyaml/) - jakarta.annotation-api (from https://projects.eclipse.org/projects/ee4j.ca) -- org.junit.jupiter:junit-jupiter-api (from http://junit.org/junit5/) -- org.junit.jupiter:junit-jupiter-engine (from http://junit.org/junit5/) -- org.junit.jupiter:junit-jupiter-params (from http://junit.org/junit5/) - org.junit.platform:junit-platform-commons (from http://junit.org/junit5/) - org.junit.platform:junit-platform-engine (from http://junit.org/junit5/) @@ -783,10 +782,10 @@ The following software have components provided under the terms of this license: - Expression Language 3.0 (from https://projects.eclipse.org/projects/ee4j.el) - JUnit Jupiter (Aggregator) (from https://junit.org/junit5/) +- JUnit Jupiter API (from https://junit.org/junit5/) +- JUnit Jupiter Engine (from https://junit.org/junit5/) +- JUnit Jupiter Params (from https://junit.org/junit5/) - jakarta.annotation-api (from https://projects.eclipse.org/projects/ee4j.ca) -- org.junit.jupiter:junit-jupiter-api (from http://junit.org/junit5/) -- org.junit.jupiter:junit-jupiter-engine (from http://junit.org/junit5/) -- org.junit.jupiter:junit-jupiter-params (from http://junit.org/junit5/) - org.junit.platform:junit-platform-commons (from http://junit.org/junit5/) - org.junit.platform:junit-platform-engine (from http://junit.org/junit5/) @@ -795,8 +794,8 @@ GPL-2.0-only ======================================================================== 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) -- Cobertura code coverage (from http://cobertura.sourceforge.net) - Commons Lang (from http://commons.apache.org/lang/) - JavaBeans Activation Framework (from ) - Mojo's Maven plugin for Cobertura (from http://mojo.codehaus.org/cobertura-maven-plugin/) @@ -808,14 +807,14 @@ GPL-2.0-or-later ======================================================================== The following software have components provided under the terms of this license: -- SnakeYAML (from http://www.snakeyaml.org) +- SnakeYAML (from http://code.google.com/p/snakeyaml/) ======================================================================== GPL-2.0-with-classpath-exception ======================================================================== The following software have components provided under the terms of this license: -- Cobertura code coverage (from http://cobertura.sourceforge.net) +- Cobertura (from http://cobertura.sourceforge.net) - Expression Language 3.0 (from https://projects.eclipse.org/projects/ee4j.el) - JavaBeans Activation Framework (from ) - jakarta.annotation-api (from https://projects.eclipse.org/projects/ee4j.ca) @@ -833,6 +832,21 @@ The following software have components provided under the terms of this license: - Project Lombok (from https://projectlombok.org) - jakarta.annotation-api (from https://projects.eclipse.org/projects/ee4j.ca) +======================================================================== +ImageMagick +======================================================================== +The following software have components provided under the terms of this license: + +- Stax2 API (from http://github.com/FasterXML/stax2-api) +- Woodstox (from https://github.com/FasterXML/woodstox) + +======================================================================== +Info-ZIP +======================================================================== +The following software have components provided under the terms of this license: + +- Apache Ant Core (from http://ant.apache.org/) + ======================================================================== JSON ======================================================================== @@ -845,22 +859,21 @@ LGPL-2.1-only ======================================================================== The following software have components provided under the terms of this license: -- Cobertura code coverage (from http://cobertura.sourceforge.net) +- Cobertura (from http://cobertura.sourceforge.net) - Commons Lang (from http://commons.apache.org/lang/) -- Java Native Access (from https://github.com/java-native-access/jna) +- Java Native Access (from https://repo1.maven.org/maven2/net/java/dev/jna/jna) - Java Native Access Platform (from https://github.com/java-native-access/jna) - Javassist (from http://www.javassist.org/) - Javassist (from http://www.javassist.org/) -- Logback Classic Module (from ) +- Logback Classic Module (from http://logback.qos.ch) - Logback Contrib :: JSON :: Classic (from ) - Logback Contrib :: JSON :: Core (from ) - Logback Contrib :: Jackson (from ) -- Logback Core Module (from ) +- Logback Core Module (from http://logback.qos.ch) - 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) -- java-getopt (from ) ======================================================================== LGPL-2.1-or-later @@ -868,15 +881,16 @@ LGPL-2.1-or-later The following software have components provided under the terms of this license: - Javassist (from http://www.javassist.org/) -- SnakeYAML (from http://www.snakeyaml.org) +- Javassist (from http://www.javassist.org/) +- SnakeYAML (from http://code.google.com/p/snakeyaml/) ======================================================================== LGPL-3.0-only ======================================================================== The following software have components provided under the terms of this license: -- Apache Log4j API (from ) -- Apache Log4j Core (from ) +- 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) ======================================================================== MIT @@ -886,17 +900,17 @@ The following software have components provided under the terms of this license: - AWS Java SDK for AWS Lambda (from https://aws.amazon.com/sdkforjava) - AWS Java SDK for AWS License Manager (from https://aws.amazon.com/sdkforjava) - AWS SDK for Java - Models (from https://aws.amazon.com/sdkforjava) -- Animal Sniffer Annotations (from ) +- Animal Sniffer Annotations (from https://repo1.maven.org/maven2/org/codehaus/mojo/animal-sniffer-annotations) - 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) - Azure Spring Boot AutoConfigure (from https://github.com/Azure/azure-sdk-for-java) - Bouncy Castle Provider (from http://www.bouncycastle.org/java.html) - Checker Qual (from https://checkerframework.org) +- 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) - JUL to SLF4J bridge (from http://www.slf4j.org) - Java Client Runtime for AutoRest (from https://github.com/Azure/autorest-clientruntime-for-java) -- Java JWT (from http://www.jwt.io) - 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) @@ -915,11 +929,8 @@ The following software have components provided under the terms of this license: - 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) -- Mockito (from http://mockito.org) -- Netty/Codec/HTTP (from ) -- Netty/Common (from ) -- Plexus :: Default Container (from ) +- Netty/Codec/HTTP (from https://repo1.maven.org/maven2/io/netty/netty-codec-http) +- Netty/Common (from https://repo1.maven.org/maven2/io/netty/netty-common) - Plexus Default Interactivity Handler (from ) - Project Lombok (from https://projectlombok.org) - Project Lombok (from https://projectlombok.org) @@ -930,7 +941,10 @@ The following software have components provided under the terms of this license: - adal4j (from https://github.com/AzureAD/azure-activedirectory-library-for-java) - azure-documentdb (from https://azure.microsoft.com/en-us/services/cosmos-db/) - documentdb-bulkexecutor (from http://azure.microsoft.com/en-us/services/documentdb/) +- java jwt (from http://www.jwt.io) - micrometer-core (from https://github.com/micrometer-metrics/micrometer) +- mockito-core (from https://github.com/mockito/mockito) +- mockito-core (from https://github.com/mockito/mockito) - 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) @@ -941,7 +955,7 @@ MPL-1.1 ======================================================================== The following software have components provided under the terms of this license: -- Cobertura code coverage (from http://cobertura.sourceforge.net) +- Cobertura (from http://cobertura.sourceforge.net) - Javassist (from http://www.javassist.org/) - Javassist (from http://www.javassist.org/) @@ -952,14 +966,14 @@ The following software have components provided under the terms of this license: - Javassist (from http://www.javassist.org/) - Javassist (from http://www.javassist.org/) -- OkHttp (from ) +- okhttp (from https://square.github.io/okhttp/) ======================================================================== PHP-3.01 ======================================================================== The following software have components provided under the terms of this license: -- JavaBeans Activation Framework (from ) +- JavaBeans Activation Framework (from https://repo1.maven.org/maven2/com/sun/activation/jakarta.activation) - JavaBeans Activation Framework API jar (from ) - jakarta.xml.bind-api (from ) @@ -968,20 +982,15 @@ Public-Domain ======================================================================== The following software have components provided under the terms of this license: -- JTidy (from http://jtidy.sourceforge.net) -- Joda-Time (from http://www.joda.org/joda-time/) -- Joda-Time (from http://www.joda.org/joda-time/) -- Joda-Time (from http://www.joda.org/joda-time/) -- LatencyUtils (from http://latencyutils.github.io/LatencyUtils/) -- Plexus Common Utilities (from http://plexus.codehaus.org/plexus-utils) +- Plexus Common Utilities (from https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils) - Spongy Castle (from http://rtyley.github.io/spongycastle/) ======================================================================== -SISSL-1.2 +SAX-PD ======================================================================== The following software have components provided under the terms of this license: -- Servlet Specification 2.5 API (from ) +- Apache Ant Core (from http://ant.apache.org/) ======================================================================== SPL-1.0 @@ -989,14 +998,16 @@ SPL-1.0 The following software have components provided under the terms of this license: - Checker Qual (from https://checkerframework.org) +- Servlet Specification 2.5 API (from http://jetty.mortbay.org) ======================================================================== W3C ======================================================================== The following software have components provided under the terms of this license: +- Apache Ant Core (from http://ant.apache.org/) - JTidy (from http://jtidy.sourceforge.net) -- Xerces2-j (from https://xerces.apache.org/xerces2-j/) +- xercesImpl (from https://repo1.maven.org/maven2/xerces/xercesImpl) - xml-apis (from ) ======================================================================== @@ -1013,11 +1024,15 @@ The following software have components provided under the terms of this license: - AWS Java SDK :: SDK Core (from https://aws.amazon.com/sdkforjava) - AWS SDK for Java - Models (from https://aws.amazon.com/sdkforjava) -- Asynchronous Http Client (from ) +- Asynchronous Http Client (from https://repo1.maven.org/maven2/org/asynchttpclient/async-http-client) - Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs (from http://www.bouncycastle.org/java.html) - Bouncy Castle Provider (from http://www.bouncycastle.org/java.html) -- Guava: Google Core Libraries for Java (from https://github.com/google/guava.git) +- Guava: Google Core Libraries for Java (from https://repo1.maven.org/maven2/com/google/guava/guava) - HdrHistogram (from http://hdrhistogram.github.io/HdrHistogram/) +- JTidy (from http://jtidy.sourceforge.net) +- Joda-Time (from https://www.joda.org/joda-time/) +- Joda-Time (from https://www.joda.org/joda-time/) +- Joda-Time (from https://www.joda.org/joda-time/) - Keycloak Common (from ) - LatencyUtils (from http://latencyutils.github.io/LatencyUtils/) - Microsoft Application Insights Java SDK Core (from https://github.com/Microsoft/ApplicationInsights-Java) @@ -1027,7 +1042,7 @@ The following software have components provided under the terms of this license: - Project Lombok (from https://projectlombok.org) - Project Lombok (from https://projectlombok.org) - Project Lombok (from https://projectlombok.org) -- Spring Web (from https://github.com/spring-projects/spring-framework) +- Spring web (from https://repo1.maven.org/maven2/org/springframework/spring-web) - azure-documentdb (from https://azure.microsoft.com/en-us/services/cosmos-db/) - msal4j (from https://github.com/AzureAD/microsoft-authentication-library-for-java) - reactive-streams (from http://www.reactive-streams.org/) @@ -1040,18 +1055,19 @@ The following software have components provided under the terms of this license: - Bouncy Castle PKIX, CMS, EAC, TSP, PKCS, OCSP, CMP, and CRMF APIs (from http://www.bouncycastle.org/java.html) - Bouncy Castle Provider (from http://www.bouncycastle.org/java.html) -- Byte Buddy (without dependencies) (from ) +- Byte Buddy (without dependencies) (from https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy) - Checker Qual (from https://checkerframework.org) +- JSON in Java (from https://github.com/douglascrockford/JSON-java) +- JTidy (from http://jtidy.sourceforge.net) - JUnit (from http://junit.org) - JUnit Jupiter (Aggregator) (from https://junit.org/junit5/) -- JavaBeans Activation Framework (from ) +- JUnit Jupiter API (from https://junit.org/junit5/) +- JUnit Jupiter Engine (from https://junit.org/junit5/) +- JUnit Jupiter Params (from https://junit.org/junit5/) +- JavaBeans Activation Framework (from https://repo1.maven.org/maven2/com/sun/activation/jakarta.activation) - JavaBeans Activation Framework API jar (from ) -- Servlet Specification 2.5 API (from ) - Spongy Castle (from http://rtyley.github.io/spongycastle/) - jakarta.xml.bind-api (from ) -- org.junit.jupiter:junit-jupiter-api (from http://junit.org/junit5/) -- org.junit.jupiter:junit-jupiter-engine (from http://junit.org/junit5/) -- org.junit.jupiter:junit-jupiter-params (from http://junit.org/junit5/) - org.junit.platform:junit-platform-commons (from http://junit.org/junit5/) - org.junit.platform:junit-platform-engine (from http://junit.org/junit5/) - xml-apis (from ) diff --git a/devops/gcp/configmap/Chart.yaml b/devops/gcp/configmap/Chart.yaml new file mode 100644 index 0000000000000000000000000000000000000000..75d7fdd9463f1d1b460f5c8aa94aa9d701edd34c --- /dev/null +++ b/devops/gcp/configmap/Chart.yaml @@ -0,0 +1,20 @@ +apiVersion: v2 +name: gcp-partition-configmap +description: A Helm chart for Kubernetes +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.1.0 +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. Versions are not expected to +# follow Semantic Versioning. They should reflect the version the application is using. +appVersion: 1.16.0 diff --git a/devops/gcp/configmap/templates/partition-variables.yml b/devops/gcp/configmap/templates/partition-variables.yml new file mode 100644 index 0000000000000000000000000000000000000000..9896f5645e0c0a097b7ba24f180816fb2aa59d18 --- /dev/null +++ b/devops/gcp/configmap/templates/partition-variables.yml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + labels: + app: "{{ .Values.conf.app_name }}" + name: "{{ .Values.conf.configmap }}" + namespace: "{{ .Release.Namespace }}" +data: + GOOGLE_CLOUD_PROJECT: "{{ .Values.data.google_cloud_project }}" + PARTITION_ADMIN_ACCOUNTS: "{{ .Values.data.partition_admin_accounts }}" + GOOGLE_AUDIENCES: "{{ .Values.data.google_audiences }}" + KEY_RING: "{{ .Values.data.key_ring }}" + KMS_KEY: "{{ .Values.data.kms_key }}" + LOG_LEVEL: "{{ .Values.data.log_level }}" diff --git a/devops/gcp/configmap/values.yaml b/devops/gcp/configmap/values.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ae3a9c094550d022d7d9e10cb4854bf2d936d837 --- /dev/null +++ b/devops/gcp/configmap/values.yaml @@ -0,0 +1,11 @@ +data: + google_cloud_project: "" + partition_admin_accounts: "" + google_audiences: "" + key_ring: "" + kms_key: "" + log_level: "" + +conf: + configmap: "partition-config" + app_name: "partition" diff --git a/devops/gcp/deploy/Chart.yaml b/devops/gcp/deploy/Chart.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8db1c028981b97515fa192f90f0dcb87ea893e8b --- /dev/null +++ b/devops/gcp/deploy/Chart.yaml @@ -0,0 +1,20 @@ +apiVersion: v2 +name: gcp-partition-deploy +description: A Helm chart for Kubernetes +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.1.0 +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. Versions are not expected to +# follow Semantic Versioning. They should reflect the version the application is using. +appVersion: 1.16.0 diff --git a/devops/gcp/deploy/templates/partition-deploy.yml b/devops/gcp/deploy/templates/partition-deploy.yml new file mode 100644 index 0000000000000000000000000000000000000000..b46afd8a92cb439e9fabfb65b77ecabb40c1eb76 --- /dev/null +++ b/devops/gcp/deploy/templates/partition-deploy.yml @@ -0,0 +1,40 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: "{{ .Values.conf.app_name }}" + namespace: "{{ .Release.Namespace }}" +spec: + replicas: 1 + selector: + matchLabels: + app: "{{ .Values.conf.app_name }}" + template: + metadata: + labels: + app: "{{ .Values.conf.app_name }}" + annotations: + rollme: {{ randAlphaNum 5 | quote }} + spec: + containers: + - image: "{{ .Values.data.image }}" + imagePullPolicy: Always + name: "{{ .Values.conf.app_name }}" + env: + - name: "ACCEPT_HTTP" + value: "true" + envFrom: + - configMapRef: + name: "{{ .Values.conf.configmap }}" + securityContext: + allowPrivilegeEscalation: false + runAsUser: 0 + ports: + - containerPort: 8080 + resources: + requests: + cpu: "{{ .Values.data.requests_cpu }}" + memory: "{{ .Values.data.requests_memory }}" + limits: + cpu: "{{ .Values.data.limits_cpu }}" + memory: "{{ .Values.data.limits_memory }}" + serviceAccountName: "{{ .Values.data.serviceAccountName }}" diff --git a/devops/gcp/deploy/templates/partition-service.yml b/devops/gcp/deploy/templates/partition-service.yml new file mode 100644 index 0000000000000000000000000000000000000000..d03488ae7021338d1b4689eae7baa2472481d650 --- /dev/null +++ b/devops/gcp/deploy/templates/partition-service.yml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: "{{ .Values.conf.app_name }}" + namespace: "{{ .Release.Namespace }}" + annotations: + cloud.google.com/neg: '{"ingress": true}' +spec: + ports: + - port: 80 + targetPort: 8080 + protocol: TCP + name: http + selector: + app: "{{ .Values.conf.app_name }}" diff --git a/devops/gcp/deploy/templates/partition-virtual-service.yml b/devops/gcp/deploy/templates/partition-virtual-service.yml new file mode 100644 index 0000000000000000000000000000000000000000..13c21ddf1f4a77208f3b8850a9f540fc4ac35a36 --- /dev/null +++ b/devops/gcp/deploy/templates/partition-virtual-service.yml @@ -0,0 +1,19 @@ +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: "{{ .Values.conf.app_name }}" + namespace: "{{ .Release.Namespace }}" +spec: + hosts: + - "*" + gateways: + - service-gateway + http: + - match: + - uri: + prefix: "/api/partition" + route: + - destination: + port: + number: 80 + host: "{{ .Values.conf.app_name }}.{{ .Release.Namespace }}.svc.cluster.local" diff --git a/devops/gcp/deploy/values.yaml b/devops/gcp/deploy/values.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5c61ec5a66e553990e6c65803991b89ee537b3e6 --- /dev/null +++ b/devops/gcp/deploy/values.yaml @@ -0,0 +1,15 @@ +# Default values for partition-deploy. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +data: + requests_cpu: "0.25" + requests_memory: "256M" + limits_cpu: "1" + limits_memory: "1G" + serviceAccountName: "" + image: "" + +conf: + configmap: "partition-config" + app_name: "partition" diff --git a/docs/tutorial/gcp/Partition.md b/docs/tutorial/gcp/Partition.md index f19acfae181d51fca93ac73d983b2bf15a2ce81f..3aa26159acf0fcdae1a96ef04f4c7a4732296f4d 100644 --- a/docs/tutorial/gcp/Partition.md +++ b/docs/tutorial/gcp/Partition.md @@ -83,7 +83,7 @@ A sample output is shown below. }, "crmAccountID": { "sensitive": false, - "value": "["osdu","osdu"]" + "value": ["osdu","osdu"] } } ``` @@ -94,6 +94,7 @@ A sample output is shown below. ### Create a new partition This api can be used to create a new partition. A plausible use case would be partition provisioning infrastructure script. +The default namespace value of Cloud Datastore is `partition`. ``` POST api/partition/v1/partitions/{partitionId} ``` @@ -136,7 +137,7 @@ curl --request POST \ }, "crmAccountID": { "sensitive": false, - "value": "["mypartition","mypartition"]" + "value": ["mypartition","mypartition"] } } }' diff --git a/partition-core/pom.xml b/partition-core/pom.xml index 24ba8c4a96b8157e7085dc61f954f741b83cfef5..4a4945f105a0b9928e09631d7b713de293dd74fa 100644 --- a/partition-core/pom.xml +++ b/partition-core/pom.xml @@ -23,7 +23,7 @@ org.opengroup.osdu partition - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index e88a94a517b558c7a344c1d21e706192e64622df..5b8cb91d9bdd8fa7cdc246b35f528357cb421851 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,7 @@ 4.0.0 org.opengroup.osdu partition - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT Partition Service @@ -26,7 +26,7 @@ 1.8 1.8 UTF-8 - 0.9.0 + 0.10.0 2.4.5 diff --git a/provider/partition-aws/maven/settings.xml b/provider/partition-aws/maven/settings.xml index 3dbde15f47c27d083537fa2f0b280f97f9aa54b5..1bfc43ac96aafb6790498c6f0acef3ca0818a98f 100644 --- a/provider/partition-aws/maven/settings.xml +++ b/provider/partition-aws/maven/settings.xml @@ -1,18 +1,19 @@ - - - - - - - - - + + + aws-osdu-dev-maven + aws-osdu-dev-maven + https://osdu-dev-${AWS_ACCOUNT_ID}.d.codeartifact.us-east-1.amazonaws.com/maven/osdu-maven/ + central,!gitlab-os-core-common-maven,!gitlab-os-core-lib-aws-maven + + credentialsConfiguration diff --git a/provider/partition-aws/pom.xml b/provider/partition-aws/pom.xml index 848a2e6920b60a4a0d12a554e5ec17535e558681..9e06fded0c8e738717170538dc28f0b64ec29a9e 100644 --- a/provider/partition-aws/pom.xml +++ b/provider/partition-aws/pom.xml @@ -21,7 +21,7 @@ partition org.opengroup.osdu - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT ../../pom.xml @@ -57,7 +57,7 @@ org.opengroup.osdu.core.aws os-core-lib-aws - 0.9.0 + 0.10.0 org.opengroup.osdu diff --git a/provider/partition-aws/src/main/java/org/opengroup/osdu/partition/provider/aws/cache/GroupCache.java b/provider/partition-aws/src/main/java/org/opengroup/osdu/partition/provider/aws/cache/GroupCache.java index 497363457a0830cd4e716e7ed2f1cd4b1c282c54..2bb063606fdb20cbf894695119e276f91989628a 100644 --- a/provider/partition-aws/src/main/java/org/opengroup/osdu/partition/provider/aws/cache/GroupCache.java +++ b/provider/partition-aws/src/main/java/org/opengroup/osdu/partition/provider/aws/cache/GroupCache.java @@ -23,8 +23,8 @@ import org.springframework.stereotype.Component; @Component public class GroupCache extends RedisCache { - public GroupCache(@Value("${aws.elasticache.cluster.endpoint}") final String REDIS_GROUP_HOST, @Value("${aws.elasticache.cluster.port}") final String REDIS_GROUP_PORT) { - super(REDIS_GROUP_HOST, Integer.parseInt(REDIS_GROUP_PORT), 30, String.class, Groups.class); + public GroupCache(@Value("${aws.elasticache.cluster.endpoint}") final String REDIS_GROUP_HOST, @Value("${aws.elasticache.cluster.port}") final String REDIS_GROUP_PORT, @Value("${aws.elasticache.cluster.key}") final String REDIS_GROUP_KEY) { + super(REDIS_GROUP_HOST, Integer.parseInt(REDIS_GROUP_PORT), REDIS_GROUP_KEY, 30, String.class, Groups.class); } public static String getGroupCacheKey(DpsHeaders headers) { diff --git a/provider/partition-aws/src/main/resources/application.properties b/provider/partition-aws/src/main/resources/application.properties index be8040fa7253154b4753bf776a01b937a3c9c8f4..913f572d9110b45d5ec787e0406615f0b359e86a 100644 --- a/provider/partition-aws/src/main/resources/application.properties +++ b/provider/partition-aws/src/main/resources/application.properties @@ -40,10 +40,13 @@ aws.environment=${ENVIRONMENT} ## AWS ElastiCache configuration aws.elasticache.cluster.endpoint=${CACHE_CLUSTER_ENDPOINT} aws.elasticache.cluster.port=${CACHE_CLUSTER_PORT} +aws.elasticache.cluster.key=${CACHE_CLUSTER_KEY} server.ssl.enabled=${SSL_ENABLED:true} server.ssl.key-store-type=PKCS12 server.ssl.key-store=${SSL_KEY_STORE_PATH:/certs/osduonaws.p12} server.ssl.key-alias=${SSL_KEY_ALIAS:osduonaws} server.ssl.key-password=${SSL_KEY_PASSWORD:} -server.ssl.key-store-password=${SSL_KEY_STORE_PASSWORD:} \ No newline at end of file +server.ssl.key-store-password=${SSL_KEY_STORE_PASSWORD:} + +spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration \ No newline at end of file diff --git a/provider/partition-azure/pom.xml b/provider/partition-azure/pom.xml index 37d09a50efaf8828d1a29e52506468891f2651e3..51f79fe5b288ade9e27fd33d96908d08dc9d415b 100644 --- a/provider/partition-azure/pom.xml +++ b/provider/partition-azure/pom.xml @@ -4,7 +4,7 @@ partition org.opengroup.osdu - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT ../../pom.xml @@ -14,7 +14,7 @@ jar - 0.9.0 + 0.10.0 4.12 2.25.0 2.0.2 diff --git a/provider/partition-gcp/README.md b/provider/partition-gcp/README.md index a60430b2d842c1d4057cb6b98ce85262d8dd074c..c03c96599e7d7b6ce6f2939f25433f1de7321a40 100644 --- a/provider/partition-gcp/README.md +++ b/provider/partition-gcp/README.md @@ -22,8 +22,11 @@ In order to run the service locally or remotely, you will need to have the follo | `AUTHORIZE_API` | ex `https://entitlements.com/entitlements/v1` | Entitlements API endpoint | no | output of infrastructure deployment | | `GOOGLE_CLOUD_PROJECT` | ex `osdu-cicd-epam` | Google Cloud Project Id| no | output of infrastructure deployment | | `GOOGLE_AUDIENCES` | ex `*****.apps.googleusercontent.com` | Client ID for getting access to cloud resources | yes | https://console.cloud.google.com/apis/credentials | -| `PARTITION_ADMIN_ACCOUNT` | ex `admin@domen.iam.gserviceaccount.com` | Partition Admin account email | no | - | +| `PARTITION_ADMIN_ACCOUNTS` | ex `admin@domen.iam.gserviceaccount.com,osdu-gcp-sa,workload-identity` | List of partition admin account emails, could be in full form like `admin@domen.iam.gserviceaccount.com` or in `starts with` pattern like `osdu-gcp-sa`| no | - | | `GOOGLE_APPLICATION_CREDENTIALS` | ex `/path/to/directory/service-key.json` | Service account credentials, you only need this if running locally | yes | https://console.cloud.google.com/iam-admin/serviceaccounts | +| `KEY_RING` | ex `csqp` | A key ring holds keys in a specific Google Cloud location and permit us to manage access control on groups of keys | yes | https://cloud.google.com/kms/docs/resource-hierarchy#key_rings | +| `KMS_KEY` | ex `partitionService` | A key exists on one key ring linked to a specific location. | yes | https://cloud.google.com/kms/docs/resource-hierarchy#key_rings | + ### Run Locally Check that maven is installed: @@ -140,23 +143,23 @@ Partition Service is compatible with App Engine Flexible Environment and Cloud R #### Cloud KMS Setup -Enable cloud KMS on master project +Enable cloud KMS on master project. Create king ring and key in the ***master project*** ```bash gcloud services enable cloudkms.googleapis.com export KEYRING_NAME="csqp" - export CRYPTOKEY_NAME="searchService" + export CRYPTOKEY_NAME="partionService" gcloud kms keyrings create $KEYRING_NAME --location global gcloud kms keys create $CRYPTOKEY_NAME --location global \ --keyring $KEYRING_NAME \ --purpose encryption ``` -Add **Cloud KMS CryptoKey Encrypter/Decrypter** role to the **App Engine default service account** of the master project through IAM - Role tab +Add **Cloud KMS CryptoKey Encrypter/Decrypter** role to the used **service account** by Partition Service of the ***master project*** through IAM - Role tab. -Add "Cloud KMS Encrypt/Decrypt" role to the "App Engine default service account" of ***master project*** +Add "Cloud KMS Encrypt/Decrypt" role to the used **service account** by Partition Service of the ***master project*** through IAM - Role tab. ## Licence Copyright © Google LLC @@ -172,4 +175,4 @@ Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and -limitations under the License. \ No newline at end of file +limitations under the License. diff --git a/provider/partition-gcp/pom.xml b/provider/partition-gcp/pom.xml index 686072419c46aed497f8e169254bdb7f2630f1a4..a5836540da905bacda9ff69bea3827e52b49444e 100644 --- a/provider/partition-gcp/pom.xml +++ b/provider/partition-gcp/pom.xml @@ -5,7 +5,7 @@ partition org.opengroup.osdu - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT ../../pom.xml diff --git a/provider/partition-gcp/src/main/java/org/opengroup/osdu/partition/provider/gcp/config/IDTokenVerifierConfiguration.java b/provider/partition-gcp/src/main/java/org/opengroup/osdu/partition/provider/gcp/config/IDTokenVerifierConfiguration.java new file mode 100644 index 0000000000000000000000000000000000000000..fce0f246c5b51ee8a99308813b88982363f662b5 --- /dev/null +++ b/provider/partition-gcp/src/main/java/org/opengroup/osdu/partition/provider/gcp/config/IDTokenVerifierConfiguration.java @@ -0,0 +1,44 @@ +/* + * Copyright 2021 Google LLC + * Copyright 2021 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. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.opengroup.osdu.partition.provider.gcp.config; + +import com.google.api.client.googleapis.auth.oauth2.GoogleIdTokenVerifier; +import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport; +import com.google.api.client.json.jackson2.JacksonFactory; +import java.io.IOException; +import java.security.GeneralSecurityException; +import java.util.Collections; +import lombok.RequiredArgsConstructor; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +@RequiredArgsConstructor +public class IDTokenVerifierConfiguration { + + private final PropertiesConfiguration configuration; + + @Bean + public GoogleIdTokenVerifier buildTokenVerifier() throws GeneralSecurityException, IOException { + return new GoogleIdTokenVerifier.Builder( + GoogleNetHttpTransport.newTrustedTransport(), + JacksonFactory.getDefaultInstance()) + .setAudience(Collections.singleton(configuration.getGoogleAudiences())) + .build(); + } +} diff --git a/provider/partition-gcp/src/main/java/org/opengroup/osdu/partition/provider/gcp/config/PropertiesConfiguration.java b/provider/partition-gcp/src/main/java/org/opengroup/osdu/partition/provider/gcp/config/PropertiesConfiguration.java index 5d236f428953df44ea986cd06f6f36565584b03b..7edd2c7b651c70bbd9744e00ebdf96a11a03aab0 100644 --- a/provider/partition-gcp/src/main/java/org/opengroup/osdu/partition/provider/gcp/config/PropertiesConfiguration.java +++ b/provider/partition-gcp/src/main/java/org/opengroup/osdu/partition/provider/gcp/config/PropertiesConfiguration.java @@ -17,6 +17,9 @@ package org.opengroup.osdu.partition.provider.gcp.config; +import java.util.List; +import java.util.Objects; +import javax.annotation.PostConstruct; import lombok.Getter; import lombok.Setter; import org.springframework.boot.context.properties.ConfigurationProperties; @@ -30,9 +33,21 @@ public class PropertiesConfiguration { private String googleAudiences; - private String partitionAdminAccount; + private List partitionAdminAccounts; + + private String googleCloudProject; private int cacheExpiration; private int cacheMaxSize; + + private String serviceAccountTail; + + @PostConstruct + public void setUp() { + if (Objects.isNull(serviceAccountTail) || serviceAccountTail.isEmpty()) { + this.serviceAccountTail = googleCloudProject + ".iam.gserviceaccount.com"; + } + } + } diff --git a/provider/partition-gcp/src/main/java/org/opengroup/osdu/partition/provider/gcp/security/AuthorizationService.java b/provider/partition-gcp/src/main/java/org/opengroup/osdu/partition/provider/gcp/security/AuthorizationService.java index 0eb1809166e251e6c78c5036b8621bbc2fb14148..2fe2c6198a81c525f74177f41581db8da604f360 100644 --- a/provider/partition-gcp/src/main/java/org/opengroup/osdu/partition/provider/gcp/security/AuthorizationService.java +++ b/provider/partition-gcp/src/main/java/org/opengroup/osdu/partition/provider/gcp/security/AuthorizationService.java @@ -19,9 +19,7 @@ package org.opengroup.osdu.partition.provider.gcp.security; import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken; import com.google.api.client.googleapis.auth.oauth2.GoogleIdTokenVerifier; -import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport; -import com.google.api.client.json.jackson2.JacksonFactory; -import java.util.Collections; +import java.util.List; import java.util.Objects; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -43,6 +41,8 @@ public class AuthorizationService implements IAuthorizationService { private final DpsHeaders headers; + private final GoogleIdTokenVerifier verifier; + @Override public boolean isDomainAdminServiceAccount() { if (Objects.isNull(headers.getAuthorization()) || headers.getAuthorization().isEmpty()) { @@ -50,13 +50,6 @@ public class AuthorizationService implements IAuthorizationService { } String email = null; try { - GoogleIdTokenVerifier verifier = - new GoogleIdTokenVerifier.Builder( - GoogleNetHttpTransport.newTrustedTransport(), - JacksonFactory.getDefaultInstance()) - .setAudience(Collections.singleton(configuration.getGoogleAudiences())) - .build(); - String authorization = headers.getAuthorization().replace("Bearer ", ""); GoogleIdToken googleIdToken = verifier.verify(authorization); if (Objects.isNull(googleIdToken)) { @@ -64,25 +57,37 @@ public class AuthorizationService implements IAuthorizationService { throw AppException.createUnauthorized("Unauthorized. The JWT token could not be validated"); } email = googleIdToken.getPayload().getEmail(); - String partitionAdminAccount = configuration.getPartitionAdminAccount(); - if (Objects.nonNull(partitionAdminAccount) && !partitionAdminAccount.isEmpty()) { - if (email.equals(partitionAdminAccount)) { - return true; - } else { - throw AppException - .createUnauthorized(String.format("Unauthorized. The user %s is untrusted.", email)); - } + List partitionAdminAccounts = configuration.getPartitionAdminAccounts(); + if (Objects.nonNull(partitionAdminAccounts) && !partitionAdminAccounts.isEmpty()) { + return isAllowedAccount(email); } else { - if (StringUtils.endsWithIgnoreCase(email, "gserviceaccount.com")) { + if (StringUtils.endsWith(email, configuration.getServiceAccountTail())) { return true; } else { throw AppException.createUnauthorized( String.format("Unauthorized. The user %s is not Service Principal", email)); } } + } catch (AppException e){ + throw e; } catch (Exception ex) { log.warn(String.format("User %s is not unauthorized. %s.", email, ex)); throw AppException.createUnauthorized("Unauthorized. The JWT token could not be validated"); } } + + private boolean isAllowedAccount(String accountEmail) { + if (StringUtils.endsWith(accountEmail, configuration.getServiceAccountTail())) { + for (String partitionAdmin : configuration.getPartitionAdminAccounts()) { + if (partitionAdmin.equals(accountEmail)) { + return true; + } + if (StringUtils.startsWith(accountEmail, partitionAdmin)) { + return true; + } + } + } + throw AppException + .createUnauthorized(String.format("Unauthorized. The user %s is untrusted.", accountEmail)); + } } diff --git a/provider/partition-gcp/src/main/resources/application.properties b/provider/partition-gcp/src/main/resources/application.properties index 3bb3b7343933e9414aee898abbd4834773f5308a..2e9ae364d253c5f63a282f58be489332e96b3b7f 100644 --- a/provider/partition-gcp/src/main/resources/application.properties +++ b/provider/partition-gcp/src/main/resources/application.properties @@ -5,7 +5,7 @@ server.servlet.contextPath=/api/partition/v1 server.port=8080 springfox.documentation.swagger.v2.path=/api-docs authorize-api=https://os-entitlements-gcp-jvmvia5dea-uc.a.run.app/entitlements/v1 -spring.cloud.gcp.datastore.namespace=partitiontest +spring.cloud.gcp.datastore.namespace=partition #ACCEPT_HTTP=true cache-expiration=1 @@ -18,8 +18,10 @@ KEY_RING=${key-ring} KMS_KEY=${kms-key} GOOGLE_CLOUD_PROJECT=${google-cloud-project} google-audiences=123.apps.googleusercontent.com -partition-admin-account=admin@domen.iam.gserviceaccount.com +partition-admin-accounts=osdu-gcp-sa #logging configuration logging.level.org.springframework.web=${LOG_LEVEL:DEBUG} +management.endpoint.health.show-details=always +management.health.diskspace.enabled=false \ No newline at end of file diff --git a/provider/partition-gcp/src/test/java/org/opengroup/osdu/partition/provider/gcp/security/AuthorizationServiceTest.java b/provider/partition-gcp/src/test/java/org/opengroup/osdu/partition/provider/gcp/security/AuthorizationServiceTest.java new file mode 100644 index 0000000000000000000000000000000000000000..93fbdd643d512eb88f47ba9e87f0129d63f79ff5 --- /dev/null +++ b/provider/partition-gcp/src/test/java/org/opengroup/osdu/partition/provider/gcp/security/AuthorizationServiceTest.java @@ -0,0 +1,127 @@ +/* + * Copyright 2021 Google LLC + * Copyright 2021 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. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.opengroup.osdu.partition.provider.gcp.security; + +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.when; + +import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken; +import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.Payload; +import com.google.api.client.googleapis.auth.oauth2.GoogleIdTokenVerifier; +import com.google.common.collect.ImmutableList; +import java.io.IOException; +import java.security.GeneralSecurityException; +import java.util.List; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.experimental.theories.DataPoints; +import org.junit.experimental.theories.FromDataPoints; +import org.junit.experimental.theories.Theories; +import org.junit.experimental.theories.Theory; +import org.junit.rules.ExpectedException; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.opengroup.osdu.core.common.model.http.AppException; +import org.opengroup.osdu.core.common.model.http.DpsHeaders; +import org.opengroup.osdu.partition.provider.gcp.config.PropertiesConfiguration; + +@RunWith(Theories.class) +public class AuthorizationServiceTest { + + private final String token = "abc"; + + private final String serviceAccountTail = "project-id.iam.gserviceaccount.com"; + + private final List partitionAdminAccounts = ImmutableList.of("osdu-gcp-sa", "service.account@project-id.iam.gserviceaccount.com"); + + @Rule + public ExpectedException exceptionRule = ExpectedException.none(); + + @DataPoints("VALID_ACCOUNTS") + public static List validTestSet() { + return ImmutableList.of( + "osdu-gcp-sa-first@project-id.iam.gserviceaccount.com", + "osdu-gcp-sa-second@project-id.iam.gserviceaccount.com", + "osdu-gcp-sa-third@project-id.iam.gserviceaccount.com", + "osdu-gcp-sa-fourth@project-id.iam.gserviceaccount.com"); + } + + @DataPoints("NOT_VALID_ACCOUNTS") + public static List notValidTestSet() { + return ImmutableList.of( + "osdu-gcp-sa-first@google.com", + "osdu-gcp-sa-second@project-id.iam.gserviceaccount.com.not.valid", + "user-osdu-gcp-sa-third@project-id.iam.gserviceaccount.com"); + } + + @Mock + private PropertiesConfiguration configuration; + + @Mock + private GoogleIdTokenVerifier verifier; + + @Mock + private GoogleIdToken googleIdToken; + + @Mock + private DpsHeaders headers; + + private Payload payload = new Payload(); + + @InjectMocks + private AuthorizationService authorizationService; + + @Before + public void setUp() throws GeneralSecurityException, IOException { + MockitoAnnotations.initMocks(this); + when(configuration.getPartitionAdminAccounts()).thenReturn(partitionAdminAccounts); + when(configuration.getServiceAccountTail()).thenReturn(serviceAccountTail); + when(headers.getAuthorization()).thenReturn(token); + when(verifier.verify(token)).thenReturn(googleIdToken); + when(googleIdToken.getPayload()).thenReturn(payload); + + } + + @Test + public void testProvidedInConfigAdminAccountShouldReturnTrue() { + payload.setEmail("service.account@project-id.iam.gserviceaccount.com"); + assertTrue(authorizationService.isDomainAdminServiceAccount()); + } + + @Test(expected = AppException.class) + public void testNotProvidedInConfigAdminAccountShouldThrowException() { + payload.setEmail("user@google.com"); + authorizationService.isDomainAdminServiceAccount(); + } + + @Theory + public void testProvidedInConfigPatternShouldReturnTrue(@FromDataPoints("VALID_ACCOUNTS") String account) { + payload.setEmail(account); + assertTrue(authorizationService.isDomainAdminServiceAccount()); + } + + @Theory + public void testNotProvidedInConfigPatternShouldReturnTrue(@FromDataPoints("NOT_VALID_ACCOUNTS") String account) { + exceptionRule.expect(AppException.class); + payload.setEmail(account); + authorizationService.isDomainAdminServiceAccount(); + } +} \ No newline at end of file diff --git a/provider/partition-ibm/pom.xml b/provider/partition-ibm/pom.xml index 5c137ba7cd5b25166d438acdc66f824235359291..ac87c614eb444dfe34041a7128ee93b5018de620 100644 --- a/provider/partition-ibm/pom.xml +++ b/provider/partition-ibm/pom.xml @@ -9,7 +9,7 @@ partition org.opengroup.osdu - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT ../../pom.xml diff --git a/testing/partition-test-aws/pom.xml b/testing/partition-test-aws/pom.xml index 8b4ecf3d54670cb660287e85ff1e58bdab824dbb..c0c6b6564c518e8f250188c60dc1b7688c277b3d 100644 --- a/testing/partition-test-aws/pom.xml +++ b/testing/partition-test-aws/pom.xml @@ -19,14 +19,14 @@ org.opengroup.osdu os-partition-testing - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT ../pom.xml 4.0.0 org.opengroup.osdu.partition partition-test-aws - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT jar @@ -65,13 +65,13 @@ org.opengroup.osdu.partition partition-test-core - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT org.opengroup.osdu.core.aws os-core-lib-aws - 0.9.0 + 0.10.0 diff --git a/testing/partition-test-azure/pom.xml b/testing/partition-test-azure/pom.xml index 363fc3ea34a96ce708658c3b287e17b432ce4ff7..e8924dbd8bc6188bed71bc7376501ab56d809a7d 100644 --- a/testing/partition-test-azure/pom.xml +++ b/testing/partition-test-azure/pom.xml @@ -20,13 +20,13 @@ org.opengroup.osdu os-partition-testing - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT ../pom.xml org.opengroup.osdu.partition partition-test-azure - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT jar @@ -65,7 +65,7 @@ org.opengroup.osdu.partition partition-test-core - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT diff --git a/testing/partition-test-core/pom.xml b/testing/partition-test-core/pom.xml index 120093c91ac0508bdd71b1f944657d7b426fd436..e0a4aa236524e797c4345de4cf0c55800224ab78 100644 --- a/testing/partition-test-core/pom.xml +++ b/testing/partition-test-core/pom.xml @@ -20,13 +20,13 @@ org.opengroup.osdu os-partition-testing - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT ../pom.xml org.opengroup.osdu.partition partition-test-core - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT jar diff --git a/testing/partition-test-gcp/pom.xml b/testing/partition-test-gcp/pom.xml index 399fcd7b5fe7239204d93ba0fe6749adf83c24e6..a0111c8f524326f6357d9c3937e66236e268e894 100644 --- a/testing/partition-test-gcp/pom.xml +++ b/testing/partition-test-gcp/pom.xml @@ -6,13 +6,13 @@ org.opengroup.osdu os-partition-testing - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT ../pom.xml org.opengroup.osdu.partition partition-test-gcp - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT jar @@ -57,7 +57,7 @@ org.opengroup.osdu.partition partition-test-core - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT diff --git a/testing/partition-test-ibm/pom.xml b/testing/partition-test-ibm/pom.xml index 796dd54b6a9f60aa70cfed529de77aecfba65fa8..70ea3a03beaea06a96563cc3efeb8a3a82cf250c 100644 --- a/testing/partition-test-ibm/pom.xml +++ b/testing/partition-test-ibm/pom.xml @@ -6,13 +6,13 @@ org.opengroup.osdu os-partition-testing - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT ../pom.xml org.opengroup.osdu.partition partition-test-ibm - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT jar @@ -58,7 +58,7 @@ org.opengroup.osdu.partition partition-test-core - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT diff --git a/testing/pom.xml b/testing/pom.xml index 6f53bf904dc48fb10cbf146f0fe9800c48d686a1..6d504655c04fc2e2dad88f3ca0055e97d29055b6 100644 --- a/testing/pom.xml +++ b/testing/pom.xml @@ -18,7 +18,7 @@ 4.0.0 org.opengroup.osdu os-partition-testing - 0.10.0-SNAPSHOT + 0.11.0-SNAPSHOT Root partition test project pom