From 8d1f61608be022a795ef88561261acbc6c9baaa2 Mon Sep 17 00:00:00 2001 From: "Aliaksandr Ramanovich (EPAM)" <aliaksandr_ramanovich1@epam.com> Date: Tue, 31 Jan 2023 07:59:41 +0000 Subject: [PATCH] GONRG-5894-gc-rename --- .fossa.yml | 88 ++--- .gitlab-ci.yml | 10 +- NOTICE | 2 +- README.md | 20 +- ...astoreCleanUp.py => GCDatastoreCleanUp.py} | 0 ...nts.txt => gc-deployment-requirements.txt} | 0 deployments/shared-schemas/README.md | 40 ++- devops/azure/azure-pipelines.yml | 336 +++++++++--------- devops/azure/development-pipeline.yml | 38 +- devops/azure/pipeline.yml | 40 +-- .../bootstrap-osdu-module/Dockerfile | 4 +- .../bootstrap-osdu-module/README.md | 2 +- .../bootstrap-osdu-module/bootstrap_schema.sh | 13 +- .../bootstrap-osdu-module/validate-env.sh | 0 devops/{gcp => gc}/deploy/.helmignore | 0 devops/{gcp => gc}/deploy/Chart.yaml | 4 +- devops/{gcp => gc}/deploy/README.md | 5 +- .../{gcp => gc}/deploy/templates/_helpers.tpl | 0 .../deploy/templates/configmap-bootstrap.yaml | 0 .../deploy/templates/configmap.yaml | 0 .../templates/deployment-bootstrap.yaml | 0 .../deploy/templates/deployment.yaml | 0 .../deploy/templates/service-account.yaml | 0 .../{gcp => gc}/deploy/templates/service.yaml | 0 .../deploy/templates/virtual-service.yaml | 0 devops/{gcp => gc}/deploy/values.yaml | 0 devops/gc/pipeline/override-stages.yml | 28 ++ devops/gcp/pipeline/override-stages.yml | 24 -- docs/SchemaService-OSDU.md | 2 +- pom.xml | 2 +- provider/{schema-gcp => schema-gc}/README.md | 63 ++-- .../cloudbuild/Dockerfile.cloudbuild | 0 .../cloudbuild/cloudbuild.yaml | 29 +- .../docker/Dockerfile | 0 .../docker/docker-compose.yml | 2 +- .../docs/anthos/README.md | 52 +-- .../docs/anthos/pics/rabbit.PNG | Bin .../docs/gcp => schema-gc/docs/gc}/README.md | 28 +- .../docs/gc}/pics/namespace.PNG | Bin provider/{schema-gcp => schema-gc}/pom.xml | 2 +- .../src/main/appengine/app.yaml | 0 .../osdu/schema/GcpSchemaApplication.java | 0 .../EventMessagingPropertiesConfig.java | 0 .../PropertiesConfiguration.java | 0 .../configuration/mapper/TypeMapperImpl.java | 0 .../provider/DestinationProvider.java | 0 .../provider/DestinationProviderImpl.java | 0 .../provider/impl/ObmDestinationProvider.java | 0 .../provider/impl/OqmDestinationProvider.java | 0 .../provider/impl/OsmDestinationProvider.java | 0 .../model/DestinationInstructions.java | 0 .../schema/exception/AppExceptionHandler.java | 0 .../impl/messagebus/MessageBusImpl.java | 0 .../messagebus/model/SchemaPubSubInfo.java | 0 .../schemainfostore/OsmAuthorityStore.java | 0 .../schemainfostore/OsmEntityTypeStore.java | 0 .../schemainfostore/OsmSchemaInfoStore.java | 0 .../impl/schemainfostore/OsmSourceStore.java | 0 .../impl/schemastore/ObmSchemaStore.java | 0 ...thorizationServiceForServiceAdminImpl.java | 0 .../osdu/schema/security/WebSecurity.java | 0 .../resources/application-anthos.properties | 0 .../main/resources/application-gcp.properties | 0 .../src/main/resources/application.properties | 0 .../src/main/resources/logback.xml | 0 .../impl/messagebus/MessageBusImplTest.java | 0 .../OsmAuthorityStoreTest.java | 0 .../OsmEntityTypeStoreTest.java | 0 .../OsmSchemaInfoStoreTest.java | 0 .../schemainfostore/OsmSourceStoreTest.java | 0 .../impl/schemastore/ObmSchemaStoreTest.java | 0 .../src/test/resources/application.properties | 0 .../src/test/resources/logback-test.xml | 0 .../org.mockito.plugins.MockMaker | 0 testing/pom.xml | 2 +- testing/schema-test-anthos/pom.xml | 4 +- .../pom.xml | 8 +- .../src/test/resources/logback-test.xml | 0 78 files changed, 443 insertions(+), 405 deletions(-) rename deployments/scripts/{GcpDatastoreCleanUp.py => GCDatastoreCleanUp.py} (100%) rename deployments/scripts/{gcp-deployment-requirements.txt => gc-deployment-requirements.txt} (100%) rename devops/{gcp => gc}/bootstrap-osdu-module/Dockerfile (60%) rename devops/{gcp => gc}/bootstrap-osdu-module/README.md (90%) rename devops/{gcp => gc}/bootstrap-osdu-module/bootstrap_schema.sh (92%) rename devops/{gcp => gc}/bootstrap-osdu-module/validate-env.sh (100%) mode change 100755 => 100644 rename devops/{gcp => gc}/deploy/.helmignore (100%) rename devops/{gcp => gc}/deploy/Chart.yaml (96%) rename devops/{gcp => gc}/deploy/README.md (98%) rename devops/{gcp => gc}/deploy/templates/_helpers.tpl (100%) rename devops/{gcp => gc}/deploy/templates/configmap-bootstrap.yaml (100%) rename devops/{gcp => gc}/deploy/templates/configmap.yaml (100%) rename devops/{gcp => gc}/deploy/templates/deployment-bootstrap.yaml (100%) rename devops/{gcp => gc}/deploy/templates/deployment.yaml (100%) rename devops/{gcp => gc}/deploy/templates/service-account.yaml (100%) rename devops/{gcp => gc}/deploy/templates/service.yaml (100%) rename devops/{gcp => gc}/deploy/templates/virtual-service.yaml (100%) rename devops/{gcp => gc}/deploy/values.yaml (100%) create mode 100644 devops/gc/pipeline/override-stages.yml delete mode 100644 devops/gcp/pipeline/override-stages.yml rename provider/{schema-gcp => schema-gc}/README.md (85%) rename provider/{schema-gcp => schema-gc}/cloudbuild/Dockerfile.cloudbuild (100%) rename provider/{schema-gcp => schema-gc}/cloudbuild/cloudbuild.yaml (51%) rename provider/{schema-gcp => schema-gc}/docker/Dockerfile (100%) rename provider/{schema-gcp => schema-gc}/docker/docker-compose.yml (75%) rename provider/{schema-gcp => schema-gc}/docs/anthos/README.md (93%) rename provider/{schema-gcp => schema-gc}/docs/anthos/pics/rabbit.PNG (100%) rename provider/{schema-gcp/docs/gcp => schema-gc/docs/gc}/README.md (88%) rename provider/{schema-gcp/docs/gcp => schema-gc/docs/gc}/pics/namespace.PNG (100%) rename provider/{schema-gcp => schema-gc}/pom.xml (99%) rename provider/{schema-gcp => schema-gc}/src/main/appengine/app.yaml (100%) rename provider/{schema-gcp => schema-gc}/src/main/java/org/opengroup/osdu/schema/GcpSchemaApplication.java (100%) rename provider/{schema-gcp => schema-gc}/src/main/java/org/opengroup/osdu/schema/configuration/EventMessagingPropertiesConfig.java (100%) rename provider/{schema-gcp => schema-gc}/src/main/java/org/opengroup/osdu/schema/configuration/PropertiesConfiguration.java (100%) rename provider/{schema-gcp => schema-gc}/src/main/java/org/opengroup/osdu/schema/configuration/mapper/TypeMapperImpl.java (100%) rename provider/{schema-gcp => schema-gc}/src/main/java/org/opengroup/osdu/schema/destination/provider/DestinationProvider.java (100%) rename provider/{schema-gcp => schema-gc}/src/main/java/org/opengroup/osdu/schema/destination/provider/DestinationProviderImpl.java (100%) rename provider/{schema-gcp => schema-gc}/src/main/java/org/opengroup/osdu/schema/destination/provider/impl/ObmDestinationProvider.java (100%) rename provider/{schema-gcp => schema-gc}/src/main/java/org/opengroup/osdu/schema/destination/provider/impl/OqmDestinationProvider.java (100%) rename provider/{schema-gcp => schema-gc}/src/main/java/org/opengroup/osdu/schema/destination/provider/impl/OsmDestinationProvider.java (100%) rename provider/{schema-gcp => schema-gc}/src/main/java/org/opengroup/osdu/schema/destination/provider/model/DestinationInstructions.java (100%) rename provider/{schema-gcp => schema-gc}/src/main/java/org/opengroup/osdu/schema/exception/AppExceptionHandler.java (100%) rename provider/{schema-gcp => schema-gc}/src/main/java/org/opengroup/osdu/schema/impl/messagebus/MessageBusImpl.java (100%) rename provider/{schema-gcp => schema-gc}/src/main/java/org/opengroup/osdu/schema/impl/messagebus/model/SchemaPubSubInfo.java (100%) rename provider/{schema-gcp => schema-gc}/src/main/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmAuthorityStore.java (100%) rename provider/{schema-gcp => schema-gc}/src/main/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmEntityTypeStore.java (100%) rename provider/{schema-gcp => schema-gc}/src/main/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmSchemaInfoStore.java (100%) rename provider/{schema-gcp => schema-gc}/src/main/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmSourceStore.java (100%) rename provider/{schema-gcp => schema-gc}/src/main/java/org/opengroup/osdu/schema/impl/schemastore/ObmSchemaStore.java (100%) rename provider/{schema-gcp => schema-gc}/src/main/java/org/opengroup/osdu/schema/security/AuthorizationServiceForServiceAdminImpl.java (100%) rename provider/{schema-gcp => schema-gc}/src/main/java/org/opengroup/osdu/schema/security/WebSecurity.java (100%) rename provider/{schema-gcp => schema-gc}/src/main/resources/application-anthos.properties (100%) rename provider/{schema-gcp => schema-gc}/src/main/resources/application-gcp.properties (100%) rename provider/{schema-gcp => schema-gc}/src/main/resources/application.properties (100%) rename provider/{schema-gcp => schema-gc}/src/main/resources/logback.xml (100%) rename provider/{schema-gcp => schema-gc}/src/test/java/org/opengroup/osdu/schema/impl/messagebus/MessageBusImplTest.java (100%) rename provider/{schema-gcp => schema-gc}/src/test/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmAuthorityStoreTest.java (100%) rename provider/{schema-gcp => schema-gc}/src/test/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmEntityTypeStoreTest.java (100%) rename provider/{schema-gcp => schema-gc}/src/test/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmSchemaInfoStoreTest.java (100%) rename provider/{schema-gcp => schema-gc}/src/test/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmSourceStoreTest.java (100%) rename provider/{schema-gcp => schema-gc}/src/test/java/org/opengroup/osdu/schema/impl/schemastore/ObmSchemaStoreTest.java (100%) rename provider/{schema-gcp => schema-gc}/src/test/resources/application.properties (100%) rename provider/{schema-gcp => schema-gc}/src/test/resources/logback-test.xml (100%) rename provider/{schema-gcp => schema-gc}/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker (100%) rename testing/{schema-test-gcp => schema-test-gc}/pom.xml (75%) rename testing/{schema-test-gcp => schema-test-gc}/src/test/resources/logback-test.xml (100%) diff --git a/.fossa.yml b/.fossa.yml index d31f52ba0..734563196 100644 --- a/.fossa.yml +++ b/.fossa.yml @@ -8,47 +8,47 @@ cli: project: Schema analyze: modules: - - name: os-schema - type: mvn - target: pom.xml - path: . - - name: os-schema-core - type: mvn - target: schema-core/pom.xml - path: . - - name: os-schema-aws - type: mvn - target: provider/schema-aws/pom.xml - path: . - - name: os-schema-gcp - type: mvn - target: provider/schema-gcp/pom.xml - path: . - - name: os-schema-ibm - type: mvn - target: provider/schema-ibm/pom.xml - path: . - - name: os-schema-azure - type: mvn - target: provider/schema-azure/pom.xml - path: . - - name: google - type: pip - target: deployments/scripts/google - path: deployments/scripts/google - - name: ibm - type: pip - target: deployments/scripts/ibm - path: deployments/scripts/ibm - - name: scripts - type: pip - target: deployments/scripts - path: deployments/scripts - - name: aws - type: pip - target: deployments/scripts/aws - path: deployments/scripts/aws - - name: azure - type: pip - target: deployments/scripts/azure - path: deployments/scripts/azure + - name: os-schema + type: mvn + target: pom.xml + path: . + - name: os-schema-core + type: mvn + target: schema-core/pom.xml + path: . + - name: os-schema-aws + type: mvn + target: provider/schema-aws/pom.xml + path: . + - name: os-schema-gc + type: mvn + target: provider/schema-gc/pom.xml + path: . + - name: os-schema-ibm + type: mvn + target: provider/schema-ibm/pom.xml + path: . + - name: os-schema-azure + type: mvn + target: provider/schema-azure/pom.xml + path: . + - name: google + type: pip + target: deployments/scripts/google + path: deployments/scripts/google + - name: ibm + type: pip + target: deployments/scripts/ibm + path: deployments/scripts/ibm + - name: scripts + type: pip + target: deployments/scripts + path: deployments/scripts + - name: aws + type: pip + target: deployments/scripts/aws + path: deployments/scripts/aws + - name: azure + type: pip + target: deployments/scripts/azure + path: deployments/scripts/azure diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c96df5b93..1f5cf3cfb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,14 +1,12 @@ variables: - GCP_BUILD_SUBDIR: provider/schema-gcp - GCP_INT_TEST_SUBDIR: testing/schema-test-gcp + GCP_BUILD_SUBDIR: provider/schema-gc + GCP_INT_TEST_SUBDIR: testing/schema-test-gc GCP_APPLICATION_NAME: os-schema GCP_ENVIRONMENT: testing GCP_PROJECT: opendes-evt GCP_TENANT_NAME: opendesevt GCP_DEPLOY_ENV: p4d GCP_DOMAIN: cloud.slb-ds.com - # FIXME remove when all services are migrated to a single helm - OSDU_GCP_ENABLE_HELM_CONFIG: "false" IBM_BUILD_SUBDIR: provider/schema-ibm IBM_INT_TEST_SUBDIR: testing/schema-test-core @@ -79,9 +77,9 @@ include: file: "cloud-providers/azure.yml" - project: "osdu/platform/ci-cd-pipelines" - file: "cloud-providers/osdu-gcp-global.yml" + file: "cloud-providers/gc-global.yml" - - local: "devops/gcp/pipeline/override-stages.yml" + - local: "devops/gc/pipeline/override-stages.yml" - local: "/devops/azure/gitlab-bootstrap.yml" - local: "/devops/aws/bootstrap.yaml" diff --git a/NOTICE b/NOTICE index 2492e692a..c99e4b801 100644 --- a/NOTICE +++ b/NOTICE @@ -34,6 +34,7 @@ Apache-2.0 ======================================================================== The following software have components provided under the terms of this license: +- AHC/Client (from https://repo1.maven.org/maven2/org/asynchttpclient/async-http-client) - 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 based accessors helper used by json-smart (from https://urielch.github.io/) @@ -318,7 +319,6 @@ The following software have components provided under the terms of this license: - Apache Log4j SLF4J Binding (from https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl) - Apache Log4j to SLF4J Adapter (from https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-to-slf4j) - AssertJ Core (from ${project.organization.url}#${project.artifactId}) -- Asynchronous Http Client (from https://repo1.maven.org/maven2/org/asynchttpclient/async-http-client) - Asynchronous Http Client Netty Utils (from https://repo1.maven.org/maven2/org/asynchttpclient/async-http-client-netty-utils) - AutoValue Annotations (from https://github.com/google/auto/tree/master/value, https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations) - BSON (from http://bsonspec.org, https://bsonspec.org) diff --git a/README.md b/README.md index 45146c750..1d6c0b907 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,9 @@ The Schema Service is a Maven multi-module project with each cloud implemention ### 1. Google Cloud deployment -Instructions for running the Google Cloud implementation in the cloud can be found [here](./provider/schema-gcp/README.md). +Instructions for running the Google Cloud implementation in the cloud can be found [here](./provider/schema-gc/README.md). -### 2. Azure deployment +### 2. Azure deployment Instructions for running the Azure implementation in the cloud can be found [here](https://community.opengroup.org/osdu/platform/system/schema-service/-/blob/master/provider/schema-azure/README.md). @@ -15,34 +15,34 @@ Instructions for running the Azure implementation in the cloud can be found [her DevSanity tests are located in a schema-core project in testing directory under the project root directory. 1. Google Cloud -These tests validate functionality of schema service. +These tests validate functionality of schema service. They can then be run/debugged directly in your IDE of choice using the GUI or via the commandline using below command from schema-core project. Below command has to be run post building complete project. -Instructions for running the Google Cloud integration tests can be found [here](./provider/schema-gcp/README.md). +Instructions for running the Google Cloud integration tests can be found [here](./provider/schema-gp/README.md). Below command can be run through azure-pipeline.yml after setting environment variables in the pipeline. - verify - + verify + ## Deploy Shared Schemas -Schema service as part of deployment deploys pre-defined OSDU schemas so end users can get community accepted schemas to refer. Such schemas are present in [folder](./deployments/shared-schemas/osdu) and script to deploy the schema are present [here](deployments/scripts). +Schema service as part of deployment deploys pre-defined OSDU schemas so end users can get community accepted schemas to refer. Such schemas are present in [folder](./deployments/shared-schemas/osdu) and script to deploy the schema are present [here](deployments/scripts). Details to deploy shared schemas can be found under [README.md](./deployments/shared-schemas/README.md) -##AWS +## AWS Instructions for running and testing this service can be found [here](./provider/schema-aws/README.md) - + ## License Copyright 2017-2020, Schlumberger 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 +You may obtain a copy of the License at [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0) diff --git a/deployments/scripts/GcpDatastoreCleanUp.py b/deployments/scripts/GCDatastoreCleanUp.py similarity index 100% rename from deployments/scripts/GcpDatastoreCleanUp.py rename to deployments/scripts/GCDatastoreCleanUp.py diff --git a/deployments/scripts/gcp-deployment-requirements.txt b/deployments/scripts/gc-deployment-requirements.txt similarity index 100% rename from deployments/scripts/gcp-deployment-requirements.txt rename to deployments/scripts/gc-deployment-requirements.txt diff --git a/deployments/shared-schemas/README.md b/deployments/shared-schemas/README.md index b38a75088..aa0fbc67a 100644 --- a/deployments/shared-schemas/README.md +++ b/deployments/shared-schemas/README.md @@ -1,18 +1,17 @@ # Shared Schemas -The purpose of this folder set is to contain schema definitions in a state ready to -register with the **Schema Service**. Each schema version will have its own file, +The purpose of this folder set is to contain schema definitions in a state ready to +register with the **Schema Service**. Each schema version will have its own file, grouped together with all parallel versions under a folder carrying the entity name. Example `<schema-authority>/<group-type-folder>/entity-schema-version.json` The deployment pipeline will only deploy pre-processed schemas in this `shared-schemas` -folder. The script to do this is [DeploySharedSchemas.py](../scripts/DeploySharedSchemas.py), see +folder. The script to do this is [DeploySharedSchemas.py](../scripts/DeploySharedSchemas.py), see step **Upload schema definitions** below. The pre-processed schemas are produced by -OSDU Data Definitions +OSDU Data Definitions (see [](https://gitlab.opengroup.org/osdu/subcommittees/data-def/work-products/schema/-/tree/master)). - -The structure of JSON files to register matches the expected payload of the Schema Service +The structure of JSON files to register matches the expected payload of the Schema Service POST/PUT requests: ```json @@ -39,9 +38,9 @@ POST/PUT requests: The `"schema"` property carries the full schema definition - omitted in the above example. Schemas may refer to abstract entity definitions or other external schema fragments. The -Schema Service requires the abstract definitions and schema fragments to be registered prior -to the registration of the main entity schema. This is achieved by a file defining the -load sequence per schema version. An example can be found +Schema Service requires the abstract definitions and schema fragments to be registered prior +to the registration of the main entity schema. This is achieved by a file defining the +load sequence per schema version. An example can be found [here for OSDU R3](../shared-schemas/osdu/load_sequence.1.0.0.json). ## Upload schema definitions @@ -67,8 +66,8 @@ example: python deployments\scripts\DeploySharedSchemas.py -u https://opengroup.test.org/api/schema-service/v1/schema ``` - ### Environment value need to execute Token.py script + ```python import os JSON_KEY = os.environ.get('JSON_KEY') @@ -77,9 +76,9 @@ JSON_KEY = os.environ.get('JSON_KEY') The above snippet is from the [Token.py](../scripts/google/Token.py) script and lists the required environment variable for json key. This value can be different as per cloud vendors token generation logic. +### Bearer Token Generation -###Bearer Token Generation -Bearer token generation logic can differ for each cloud vendors. So, each cloud vendor can provide their implementation in below format in specific folder under scripts [google](../scripts/google/). To generate token +Bearer token generation logic can differ for each cloud vendors. So, each cloud vendor can provide their implementation in below format in specific folder under scripts [google](../scripts/google/). To generate token for google implementation below script is used in [azure pipeline](../../azure-pipelinea.yml) ```shell script @@ -88,8 +87,8 @@ BEARER_TOKEN=`python deployments/scripts/google/Token.py` We export the token generated to `BEARER_TOKEN` which is used in DeploySharedSchemas.py script - ### Environment value need to execute DeploySharedSchemas.py script + ```python import os BEARER_TOKEN = os.environ.get('BEARER_TOKEN') @@ -100,8 +99,8 @@ DATA_PARTITION = os.environ.get('DATA_PARTITION') The above snippet is from the [Utility.RunEnv](../scripts/Utility.py) class and lists the required environment variables for bearer token, app key and tenant/data-partition-id. - ### Yaml Pipeline configurations + ```shell script #!/bin/bash pip install -r deployments/scripts/google/requirements.txt @@ -121,7 +120,8 @@ In the above script we first install all the required dependencies, then create Sample yaml can be in [azure pipeline](../../azure-pipelinea.yml) ### Schema Registration -The upload will depend on the status of the schemas. Schemas in `DEVELOPMENT` can be updated, + +The upload will depend on the status of the schemas. Schemas in `DEVELOPMENT` can be updated, schemas in status `PUBLISHED` can only be created once (POST). The script produces output like: @@ -140,14 +140,16 @@ All 120 schemas registered or updated. In case of errors, the list of failed creations/updates are summarized at the end. -### Environment clean up (GCP) +### Environment clean up (Google Cloud) + Schema bootstrapping used during new platform configuration, creates schema records in Datastore, which cannot be removed during deletion. If platform deployment must be re-installed, the cleanup script must be executed. -Scripts for cleanup schemas can be found in [DatastoreCleanUp.py](../scripts/DatastoreCleanUp.py) +Scripts for cleanup schemas can be found in [GCDatastoreCleanUp.py](../scripts/GCDatastoreCleanUp.py) ```bash -pip install -r gcp-deployment-requirements.txt +pip install -r gc-deployment-requirements.txt ``` + You will need to have the following environment variables defined to run scripts. | name | value | description | sensitive? | source | | --- | --- | --- | --- | --- | @@ -155,4 +157,4 @@ You will need to have the following environment variables defined to run scripts | `SHARED_PARTITION_ID` | ex `osdu`| Data partition id that will be used for deletion schemas by id `"{{SHARED_PARTITION_ID}}:wks:work-product-component--Activity:1.0.0"`| no | - | | `SCHEMA_NAMESPACE` | ex `dataecosystem`| If not specified default `dataecosystem` will be used | no | - | | `SCHEMA_KIND` | ex `schema`| If not specified default `schema` will be used | no | - | -| `GOOGLE_APPLICATION_CREDENTIALS` | ex`usr/key.json` | Google Service account credentials with delete access to Datastore | yes | - | \ No newline at end of file +| `GOOGLE_APPLICATION_CREDENTIALS` | ex`usr/key.json` | Google Service account credentials with delete access to Datastore | yes | - | diff --git a/devops/azure/azure-pipelines.yml b/devops/azure/azure-pipelines.yml index 9ebe8a74f..37cf7b03e 100644 --- a/devops/azure/azure-pipelines.yml +++ b/devops/azure/azure-pipelines.yml @@ -1,185 +1,183 @@ trigger: branches: include: - - master + - master paths: exclude: - README.md - - .gitignore + - .gitignore variables: osProjectName: schema dockerImageName: os-$(osProjectName)-app tag: $(Build.BuildNumber) - dockerDir: provider/$(osProjectName)-gcp/docker + dockerDir: provider/$(osProjectName)-gc/docker deploymentName: os-$(osProjectName)-service stages: -- stage: Build - jobs: - - job: Build - pool: - name: Hosted Ubuntu 1604 - demands: Maven - - steps: - - task: DownloadSecureFile@1 - name: gcrKey - inputs: - secureFile: gcr-push-key-file.json - - - task: DownloadSecureFile@1 - name: kubeconfig - inputs: - secureFile: 'kubeconfig' - - - task: Maven@3 - displayName: Maven Build - inputs: - mavenPomFile: 'pom.xml' - mavenOptions: '-Xmx3072m' - javaHomeOption: 'JDKVersion' - jdkVersionOption: '1.8' - jdkArchitectureOption: 'x64' - publishJUnitResults: true - testResultsFiles: '**/surefire-reports/TEST-*.xml' - options: '--settings maven/settings.xml -DVSTS_FEED_TOKEN=$(VSTS_FEED_TOKEN)' - goals: 'clean install package' - - - task: CopyFiles@2 - inputs: - Contents: 'provider/$(osProjectName)-gcp/deployments/*' - TargetFolder: '$(build.artifactstagingdirectory)/deployments' - condition: succeeded() - - - task: Bash@3 - inputs: - targetType: 'inline' - script: | - #!/bin/bash - pushd $(dockerDir) + - stage: Build + jobs: + - job: Build + pool: + name: Hosted Ubuntu 1604 + demands: Maven + + steps: + - task: DownloadSecureFile@1 + name: gcrKey + inputs: + secureFile: gcr-push-key-file.json + + - task: DownloadSecureFile@1 + name: kubeconfig + inputs: + secureFile: "kubeconfig" + + - task: Maven@3 + displayName: Maven Build + inputs: + mavenPomFile: "pom.xml" + mavenOptions: "-Xmx3072m" + javaHomeOption: "JDKVersion" + jdkVersionOption: "1.8" + jdkArchitectureOption: "x64" + publishJUnitResults: true + testResultsFiles: "**/surefire-reports/TEST-*.xml" + options: "--settings maven/settings.xml -DVSTS_FEED_TOKEN=$(VSTS_FEED_TOKEN)" + goals: "clean install package" + + - task: CopyFiles@2 + inputs: + Contents: "provider/$(osProjectName)-gc/deployments/*" + TargetFolder: "$(build.artifactstagingdirectory)/deployments" + condition: succeeded() + + - task: Bash@3 + inputs: + targetType: "inline" + script: | + #!/bin/bash + pushd $(dockerDir) + cat $(gcrKey.secureFilePath) | docker login -u _json_key --password-stdin https://gcr.io + echo $(dockerImageName) + docker-compose build $(dockerImageName) + docker tag gcr.io/opendes/$(dockerImageName) gcr.io/opendes/$(dockerImageName):$(tag) + docker push gcr.io/opendes/$(dockerImageName):$(tag) + docker push gcr.io/opendes/$(dockerImageName) echo 'Push done.' + + kubectl --kubeconfig $(kubeconfig.secureFilePath) rollout restart deployment/$(deploymentName) + + popd + sleep 10 + OUTPUT="200 OK" + ENDPOINT=$(SCHEMA_DEV_URL)/health + echo $ENDPOINT + + while [ -z "$STATUS" ]; do + STATUS=`curl -v --silent --http1.0 "$ENDPOINT" 2>&1 | grep "$OUTPUT"` + echo $STATUS + + if [ -z "$STATUS" ]; then + echo "Endpoint is not up yet." + sleep 10 + else + echo "Endpoint is up" + fi + done + condition: succeeded() + displayName: "build,upload and deploy docker image" + + - task: Maven@3 + displayName: "Running IntegrationTest" + inputs: + mavenPomFile: "testing/schema-test-core/pom.xml" + goals: "verify" + options: "--settings maven/settings.xml -DVSTS_FEED_TOKEN=$(VSTS_FEED_TOKEN)" + publishJUnitResults: false + javaHomeOption: "JDKVersion" + mavenVersionOption: "Default" + mavenAuthenticateFeed: false + effectivePomSkip: false + sonarQubeRunAnalysis: false + env: + INTEGRATION_TEST_AUDIENCE: $(INTEGRATION_TEST_AUDIENCE) + INTEGRATION_TESTER: $(INTEGRATION_TESTER) + PRIVATE_TENANT1: $(PRIVATE_TENANT1) + PRIVATE_TENANT2: $(PRIVATE_TENANT2) + SHARED_TENANT: $(SHARED_TENANT) + HOST: $(HOST) + VENDOR: $(VENDOR) + + - task: UsePythonVersion@0 + inputs: + versionSpec: "3.x" + addToPath: true + architecture: "x64" + - task: Bash@3 + displayName: "Deploying shared schemas" + inputs: + targetType: "inline" + script: | + #!/bin/bash + + pip install -r deployments/scripts/google/requirements.txt + + export JSON_KEY=$(INTEGRATION_TESTER) + export AUDIENCE=$(INTEGRATION_TEST_AUDIENCE) + + BEARER_TOKEN=`python deployments/scripts/google/Token.py` + + export BEARER_TOKEN=$BEARER_TOKEN + export APP_KEY="" + export DATA_PARTITION=$(DATA_PARTITION) + + python deployments/scripts/DeploySharedSchemas.py -u $(SCHEMA_DEV_URL)/schema + + - task: PublishBuildArtifacts@1 + displayName: "Publish Artifact: drop" + inputs: + PathtoPublish: "$(build.artifactstagingdirectory)" + ArtifactName: "drop" + publishLocation: "Container" + condition: succeededOrFailed() + + - stage: DeployToQA + condition: and(succeeded(), eq(variables['Build.Reason'], 'Manual')) + variables: + sourceImageName: gcr.io/opendes/$(dockerImageName) + destinationImageName: us.gcr.io/opendes-evt/$(dockerImageName) + + jobs: + - job: DeployToQA + + steps: + - task: DownloadSecureFile@1 + name: gcrKey + inputs: + secureFile: cicd-push-image-to-cr-keyfile.json + + - task: DownloadSecureFile@1 + name: gcrKeyEvt + inputs: + secureFile: cicd-push-image-to-cr-evt-keyfile.json + + - task: DownloadSecureFile@1 + name: kuberConfigEvt + inputs: + secureFile: kubeconfig-evt-opendes-qa-us + + - bash: | + #!/bin/bash + set -e + cat $(gcrKey.secureFilePath) | docker login -u _json_key --password-stdin https://gcr.io - echo $(dockerImageName) - docker-compose build $(dockerImageName) - docker tag gcr.io/opendes/$(dockerImageName) gcr.io/opendes/$(dockerImageName):$(tag) - docker push gcr.io/opendes/$(dockerImageName):$(tag) - docker push gcr.io/opendes/$(dockerImageName) echo 'Push done.' - - kubectl --kubeconfig $(kubeconfig.secureFilePath) rollout restart deployment/$(deploymentName) - - popd - sleep 10 - OUTPUT="200 OK" - ENDPOINT=$(SCHEMA_DEV_URL)/health - echo $ENDPOINT - - while [ -z "$STATUS" ]; do - STATUS=`curl -v --silent --http1.0 "$ENDPOINT" 2>&1 | grep "$OUTPUT"` - echo $STATUS - - if [ -z "$STATUS" ]; then - echo "Endpoint is not up yet." - sleep 10 - else - echo "Endpoint is up" - fi - done - condition: succeeded() - displayName: 'build,upload and deploy docker image' - - - task: Maven@3 - displayName: 'Running IntegrationTest' - inputs: - mavenPomFile: 'testing/schema-test-core/pom.xml' - goals: 'verify' - options: '--settings maven/settings.xml -DVSTS_FEED_TOKEN=$(VSTS_FEED_TOKEN)' - publishJUnitResults: false - javaHomeOption: 'JDKVersion' - mavenVersionOption: 'Default' - mavenAuthenticateFeed: false - effectivePomSkip: false - sonarQubeRunAnalysis: false - env: - INTEGRATION_TEST_AUDIENCE: $(INTEGRATION_TEST_AUDIENCE) - INTEGRATION_TESTER : $(INTEGRATION_TESTER) - PRIVATE_TENANT1 : $(PRIVATE_TENANT1) - PRIVATE_TENANT2 : $(PRIVATE_TENANT2) - SHARED_TENANT : $(SHARED_TENANT) - HOST : $(HOST) - VENDOR : $(VENDOR) - - - - task: UsePythonVersion@0 - inputs: - versionSpec: '3.x' - addToPath: true - architecture: 'x64' - - task: Bash@3 - displayName: 'Deploying shared schemas' - inputs: - targetType: 'inline' - script: | - #!/bin/bash - - pip install -r deployments/scripts/google/requirements.txt - - export JSON_KEY=$(INTEGRATION_TESTER) - export AUDIENCE=$(INTEGRATION_TEST_AUDIENCE) - - BEARER_TOKEN=`python deployments/scripts/google/Token.py` - - export BEARER_TOKEN=$BEARER_TOKEN - export APP_KEY="" - export DATA_PARTITION=$(DATA_PARTITION) - - python deployments/scripts/DeploySharedSchemas.py -u $(SCHEMA_DEV_URL)/schema - - - task: PublishBuildArtifacts@1 - displayName: 'Publish Artifact: drop' - inputs: - PathtoPublish: '$(build.artifactstagingdirectory)' - ArtifactName: 'drop' - publishLocation: 'Container' - condition: succeededOrFailed() - -- stage: DeployToQA - condition: and(succeeded(), eq(variables['Build.Reason'], 'Manual')) - variables: - sourceImageName: gcr.io/opendes/$(dockerImageName) - destinationImageName: us.gcr.io/opendes-evt/$(dockerImageName) - - jobs: - - job: DeployToQA - - steps: - - - task: DownloadSecureFile@1 - name: gcrKey - inputs: - secureFile: cicd-push-image-to-cr-keyfile.json - - - task: DownloadSecureFile@1 - name: gcrKeyEvt - inputs: - secureFile: cicd-push-image-to-cr-evt-keyfile.json - - - task: DownloadSecureFile@1 - name: kuberConfigEvt - inputs: - secureFile: kubeconfig-evt-opendes-qa-us - - - bash: | - #!/bin/bash - set -e - - cat $(gcrKey.secureFilePath) | docker login -u _json_key --password-stdin https://gcr.io - docker pull $(sourceImageName):$(tag) - - cat $(gcrKeyEvt.secureFilePath) | docker login -u _json_key --password-stdin https://us.gcr.io - docker tag $(sourceImageName):$(tag) $(destinationImageName):$(tag) - docker tag $(sourceImageName):$(tag) $(destinationImageName) - docker push $(destinationImageName):$(tag) - docker push $(destinationImageName) - - kubectl --kubeconfig $(kuberConfigEvt.secureFilePath) rollout restart deployment/$(deploymentName) \ No newline at end of file + docker pull $(sourceImageName):$(tag) + + cat $(gcrKeyEvt.secureFilePath) | docker login -u _json_key --password-stdin https://us.gcr.io + docker tag $(sourceImageName):$(tag) $(destinationImageName):$(tag) + docker tag $(sourceImageName):$(tag) $(destinationImageName) + docker push $(destinationImageName):$(tag) + docker push $(destinationImageName) + + kubectl --kubeconfig $(kuberConfigEvt.secureFilePath) rollout restart deployment/$(deploymentName) diff --git a/devops/azure/development-pipeline.yml b/devops/azure/development-pipeline.yml index 34d352605..1338bb5ab 100644 --- a/devops/azure/development-pipeline.yml +++ b/devops/azure/development-pipeline.yml @@ -23,7 +23,7 @@ trigger: - .gitignore - /docs - /provider/schema-aws - - /provider/schema-gcp + - /provider/schema-gc - /provider/schema-ibm resources: @@ -36,8 +36,8 @@ resources: name: infra-azure-provisioning variables: - - group: 'Azure - OSDU' - - group: 'Azure - OSDU Secrets' + - group: "Azure - OSDU" + - group: "Azure - OSDU Secrets" - name: serviceName value: "schema-service" @@ -45,20 +45,20 @@ variables: value: "devops/azure/chart" - name: valuesFile value: "devops/azure/chart/helm-config.yml" - - name: 'MANIFEST_REPO' + - name: "MANIFEST_REPO" value: $[ resources.repositories['FluxRepo'].name ] - - name: 'MAVEN_CACHE_FOLDER' + - name: "MAVEN_CACHE_FOLDER" value: $(Pipeline.Workspace)/.m2/repository - name: SKIP_TESTS - value: 'false' + value: "false" stages: - template: /devops/build-stage.yml@TemplateRepo parameters: - mavenGoal: 'package' + mavenGoal: "package" mavenPublishJUnitResults: true - serviceCoreMavenOptions: '-P schema-core --settings .mvn/community-maven.settings.xml' - mavenOptions: '-P schema-azure --settings .mvn/community-maven.settings.xml -Dmaven.repo.local=$(MAVEN_CACHE_FOLDER)' + serviceCoreMavenOptions: "-P schema-core --settings .mvn/community-maven.settings.xml" + mavenOptions: "-P schema-azure --settings .mvn/community-maven.settings.xml -Dmaven.repo.local=$(MAVEN_CACHE_FOLDER)" copyFileContents: | pom.xml provider/schema-azure/maven/settings.xml @@ -66,27 +66,27 @@ stages: provider/schema-azure/target/*-spring-boot.jar .mvn/community-maven.settings.xml deployments/** - copyFileContentsToFlatten: '' - mavenSettingsFile: '.mvn/community-maven.settings.xml' + copyFileContentsToFlatten: "" + mavenSettingsFile: ".mvn/community-maven.settings.xml" serviceBase: ${{ variables.serviceName }} - testingRootFolder: 'testing' + testingRootFolder: "testing" chartPath: ${{ variables.chartPath }} - template: deploy-stage.yml parameters: serviceName: ${{ variables.serviceName }} chartPath: ${{ variables.chartPath }} valuesFile: ${{ variables.valuesFile }} - testCoreMavenPomFile: 'testing/schema-test-core/pom.xml' - testCoreMavenOptions: '--settings $(System.DefaultWorkingDirectory)/drop/.mvn/community-maven.settings.xml -DskipTests -DskipITs' - integrationTestMavenGoal: 'verify' + testCoreMavenPomFile: "testing/schema-test-core/pom.xml" + testCoreMavenOptions: "--settings $(System.DefaultWorkingDirectory)/drop/.mvn/community-maven.settings.xml -DskipTests -DskipITs" + integrationTestMavenGoal: "verify" skipDeploy: ${{ variables.SKIP_DEPLOY }} skipTest: ${{ variables.SKIP_TESTS }} providers: - - name: Azure - environments: ['dev'] + - name: Azure + environments: ["dev"] - template: bootstrap-stage.yml parameters: serviceName: ${{ variables.serviceName }} providers: - - name: Azure - environments: ['dev'] \ No newline at end of file + - name: Azure + environments: ["dev"] diff --git a/devops/azure/pipeline.yml b/devops/azure/pipeline.yml index fb99ef5d1..2512cae90 100644 --- a/devops/azure/pipeline.yml +++ b/devops/azure/pipeline.yml @@ -23,7 +23,7 @@ trigger: - .gitignore - /docs - /provider/schema-aws - - /provider/schema-gcp + - /provider/schema-gc - /provider/schema-ibm resources: @@ -36,8 +36,8 @@ resources: name: infra-azure-provisioning variables: - - group: 'Azure - OSDU' - - group: 'Azure - OSDU Secrets' + - group: "Azure - OSDU" + - group: "Azure - OSDU Secrets" - name: serviceName value: "schema-service" @@ -45,22 +45,22 @@ variables: value: "devops/azure/chart" - name: valuesFile value: "devops/azure/chart/helm-config.yml" - - name: 'MANIFEST_REPO' + - name: "MANIFEST_REPO" value: $[ resources.repositories['FluxRepo'].name ] - - name: 'MAVEN_CACHE_FOLDER' + - name: "MAVEN_CACHE_FOLDER" value: $(Pipeline.Workspace)/.m2/repository - name: SKIP_TESTS - value: 'false' + value: "false" - name: SKIP_DEPLOY - value: 'false' + value: "false" stages: - template: /devops/build-stage.yml@TemplateRepo parameters: - mavenGoal: 'package' + mavenGoal: "package" mavenPublishJUnitResults: true - serviceCoreMavenOptions: '-P schema-core --settings .mvn/community-maven.settings.xml' - mavenOptions: '-P schema-azure --settings .mvn/community-maven.settings.xml -Dmaven.repo.local=$(MAVEN_CACHE_FOLDER)' + serviceCoreMavenOptions: "-P schema-core --settings .mvn/community-maven.settings.xml" + mavenOptions: "-P schema-azure --settings .mvn/community-maven.settings.xml -Dmaven.repo.local=$(MAVEN_CACHE_FOLDER)" copyFileContents: | pom.xml provider/schema-azure/maven/settings.xml @@ -68,27 +68,27 @@ stages: provider/schema-azure/target/*-spring-boot.jar .mvn/community-maven.settings.xml deployments/** - copyFileContentsToFlatten: '' - mavenSettingsFile: '.mvn/community-maven.settings.xml' + copyFileContentsToFlatten: "" + mavenSettingsFile: ".mvn/community-maven.settings.xml" serviceBase: ${{ variables.serviceName }} - testingRootFolder: 'testing' + testingRootFolder: "testing" chartPath: ${{ variables.chartPath }} - template: deploy-stage.yml parameters: serviceName: ${{ variables.serviceName }} chartPath: ${{ variables.chartPath }} valuesFile: ${{ variables.valuesFile }} - testCoreMavenPomFile: 'testing/schema-test-core/pom.xml' - testCoreMavenOptions: '--settings $(System.DefaultWorkingDirectory)/drop/.mvn/community-maven.settings.xml -DskipTests -DskipITs' - integrationTestMavenGoal: 'verify' + testCoreMavenPomFile: "testing/schema-test-core/pom.xml" + testCoreMavenOptions: "--settings $(System.DefaultWorkingDirectory)/drop/.mvn/community-maven.settings.xml -DskipTests -DskipITs" + integrationTestMavenGoal: "verify" skipDeploy: ${{ variables.SKIP_DEPLOY }} skipTest: ${{ variables.SKIP_TESTS }} providers: - - name: Azure - environments: ['demo'] + - name: Azure + environments: ["demo"] - template: bootstrap-stage.yml parameters: serviceName: ${{ variables.serviceName }} providers: - - name: Azure - environments: ['demo'] \ No newline at end of file + - name: Azure + environments: ["demo"] diff --git a/devops/gcp/bootstrap-osdu-module/Dockerfile b/devops/gc/bootstrap-osdu-module/Dockerfile similarity index 60% rename from devops/gcp/bootstrap-osdu-module/Dockerfile rename to devops/gc/bootstrap-osdu-module/Dockerfile index e487136cd..2d74e8e67 100644 --- a/devops/gcp/bootstrap-osdu-module/Dockerfile +++ b/devops/gc/bootstrap-osdu-module/Dockerfile @@ -2,11 +2,11 @@ FROM google/cloud-sdk:alpine WORKDIR /opt -COPY ./devops/gcp/bootstrap-osdu-module/*.sh ./ +COPY ./devops/gc/bootstrap-osdu-module/*.sh ./ COPY ./deployments ./ RUN apk update && apk add jq bash py3-pip -RUN pip3 install --upgrade pip && pip3 install -r ./scripts/requirements.txt && pip3 install -r ./scripts/gcp-deployment-requirements.txt && pip3 install -r ./scripts/schema-cleaner/requirements.txt +RUN pip3 install --upgrade pip && pip3 install -r ./scripts/requirements.txt && pip3 install -r ./scripts/gc-deployment-requirements.txt && pip3 install -r ./scripts/schema-cleaner/requirements.txt RUN chmod +x /opt/bootstrap_schema.sh CMD ["/bin/bash", "-c", "/opt/bootstrap_schema.sh && sleep 365d"] diff --git a/devops/gcp/bootstrap-osdu-module/README.md b/devops/gc/bootstrap-osdu-module/README.md similarity index 90% rename from devops/gcp/bootstrap-osdu-module/README.md rename to devops/gc/bootstrap-osdu-module/README.md index 0716d9cac..a0eec8b53 100644 --- a/devops/gcp/bootstrap-osdu-module/README.md +++ b/devops/gc/bootstrap-osdu-module/README.md @@ -4,7 +4,7 @@ Schema service bootstrap is based on python bootstrap scripts at Schema service Boostrap scripts contain python script which executes clean-up in Datastore to prevent incorrect bootstrap for Schema service. -After bootstrap script execution, you can go to **GCP console** and look at logs under `Kubernetes Engine -> Workloads -> schema-bootstrap deployment`. +After bootstrap script execution, you can go to **Google Cloud console** and look at logs under `Kubernetes Engine -> Workloads -> schema-bootstrap deployment`. Successful execution will lead to similar output: diff --git a/devops/gcp/bootstrap-osdu-module/bootstrap_schema.sh b/devops/gc/bootstrap-osdu-module/bootstrap_schema.sh similarity index 92% rename from devops/gcp/bootstrap-osdu-module/bootstrap_schema.sh rename to devops/gc/bootstrap-osdu-module/bootstrap_schema.sh index 47b52ba33..4cfcc9336 100644 --- a/devops/gcp/bootstrap-osdu-module/bootstrap_schema.sh +++ b/devops/gc/bootstrap-osdu-module/bootstrap_schema.sh @@ -1,15 +1,16 @@ #!/usr/bin/env bash # # Script that bootstraps schema service using Python scripts, that make requests to schema service -# Contains logic for both onprem and gcp version +# Contains logic for both Reference and Google Cloud version # # Expected environment variables: # (both environments): # - DATA_PARTITION # - SCHEMA_URL # - ENTITLEMENTS_HOST -# (for gcp): -# (for onprem): +# (for Google Cloud): +# - AUDIENCES +# (for Reference): # - OPENID_PROVIDER_URL # - OPENID_PROVIDER_CLIENT_ID # - OPENID_PROVIDER_CLIENT_SECRET @@ -39,7 +40,7 @@ bootstrap_schema_gettoken_onprem() { export BEARER_TOKEN="Bearer ${ID_TOKEN}" } -bootstrap_schema_gettoken_gcp() { +bootstrap_schema_gettoken_gc() { BEARER_TOKEN=$(gcloud auth print-identity-token) @@ -87,8 +88,8 @@ else echo "Finished schema cleanup" fi - # Get credentials for GCP - bootstrap_schema_gettoken_gcp + # Get credentials for Google Cloud + bootstrap_schema_gettoken_gc fi diff --git a/devops/gcp/bootstrap-osdu-module/validate-env.sh b/devops/gc/bootstrap-osdu-module/validate-env.sh old mode 100755 new mode 100644 similarity index 100% rename from devops/gcp/bootstrap-osdu-module/validate-env.sh rename to devops/gc/bootstrap-osdu-module/validate-env.sh diff --git a/devops/gcp/deploy/.helmignore b/devops/gc/deploy/.helmignore similarity index 100% rename from devops/gcp/deploy/.helmignore rename to devops/gc/deploy/.helmignore diff --git a/devops/gcp/deploy/Chart.yaml b/devops/gc/deploy/Chart.yaml similarity index 96% rename from devops/gcp/deploy/Chart.yaml rename to devops/gc/deploy/Chart.yaml index 0cde2760c..d3955c15f 100644 --- a/devops/gcp/deploy/Chart.yaml +++ b/devops/gc/deploy/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -name: gcp-schema-deploy +name: gc-schema-deploy description: A Helm chart for Kubernetes # A chart can be either an 'application' or a 'library' chart. @@ -21,4 +21,4 @@ version: 0.1.0 # 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. # It is recommended to use it with quotes. -appVersion: "1.16.0" +appVersion: "1.19.0" diff --git a/devops/gcp/deploy/README.md b/devops/gc/deploy/README.md similarity index 98% rename from devops/gcp/deploy/README.md rename to devops/gc/deploy/README.md index 0dae070ce..114521ce8 100644 --- a/devops/gcp/deploy/README.md +++ b/devops/gc/deploy/README.md @@ -66,6 +66,7 @@ First you need to set variables in **values.yaml** file using any code editor. S **rabbitmqSecretName** | secret for rabbitmq | string | `rabbitmq-secret` | yes ### Datastore cleanup and bootstrap schemas variables + > Datastore cleanup is used for cleaning Datastore Schema Entities if they are not present in Schema bucket | Name | Description | Type | Default |Required | @@ -81,7 +82,7 @@ First you need to set variables in **values.yaml** file using any code editor. S Run this command from within this directory: ```console -helm install gcp-schema-deploy . +helm install gc-schema-deploy . ``` ## Uninstalling the Chart @@ -89,7 +90,7 @@ helm install gcp-schema-deploy . To uninstall the helm deployment: ```console -helm uninstall gcp-schema-deploy +helm uninstall gc-schema-deploy ``` [Move-to-Top](#deploy-helm-chart) diff --git a/devops/gcp/deploy/templates/_helpers.tpl b/devops/gc/deploy/templates/_helpers.tpl similarity index 100% rename from devops/gcp/deploy/templates/_helpers.tpl rename to devops/gc/deploy/templates/_helpers.tpl diff --git a/devops/gcp/deploy/templates/configmap-bootstrap.yaml b/devops/gc/deploy/templates/configmap-bootstrap.yaml similarity index 100% rename from devops/gcp/deploy/templates/configmap-bootstrap.yaml rename to devops/gc/deploy/templates/configmap-bootstrap.yaml diff --git a/devops/gcp/deploy/templates/configmap.yaml b/devops/gc/deploy/templates/configmap.yaml similarity index 100% rename from devops/gcp/deploy/templates/configmap.yaml rename to devops/gc/deploy/templates/configmap.yaml diff --git a/devops/gcp/deploy/templates/deployment-bootstrap.yaml b/devops/gc/deploy/templates/deployment-bootstrap.yaml similarity index 100% rename from devops/gcp/deploy/templates/deployment-bootstrap.yaml rename to devops/gc/deploy/templates/deployment-bootstrap.yaml diff --git a/devops/gcp/deploy/templates/deployment.yaml b/devops/gc/deploy/templates/deployment.yaml similarity index 100% rename from devops/gcp/deploy/templates/deployment.yaml rename to devops/gc/deploy/templates/deployment.yaml diff --git a/devops/gcp/deploy/templates/service-account.yaml b/devops/gc/deploy/templates/service-account.yaml similarity index 100% rename from devops/gcp/deploy/templates/service-account.yaml rename to devops/gc/deploy/templates/service-account.yaml diff --git a/devops/gcp/deploy/templates/service.yaml b/devops/gc/deploy/templates/service.yaml similarity index 100% rename from devops/gcp/deploy/templates/service.yaml rename to devops/gc/deploy/templates/service.yaml diff --git a/devops/gcp/deploy/templates/virtual-service.yaml b/devops/gc/deploy/templates/virtual-service.yaml similarity index 100% rename from devops/gcp/deploy/templates/virtual-service.yaml rename to devops/gc/deploy/templates/virtual-service.yaml diff --git a/devops/gcp/deploy/values.yaml b/devops/gc/deploy/values.yaml similarity index 100% rename from devops/gcp/deploy/values.yaml rename to devops/gc/deploy/values.yaml diff --git a/devops/gc/pipeline/override-stages.yml b/devops/gc/pipeline/override-stages.yml new file mode 100644 index 000000000..ac982a554 --- /dev/null +++ b/devops/gc/pipeline/override-stages.yml @@ -0,0 +1,28 @@ +variables: + BUILD_BOOTSTRAP_PATH: "devops/$GC_VENDOR/bootstrap-osdu-module/Dockerfile" + GC_ENABLE_BOOTSTRAP: "true" + GC_SERVICE: schema + GC_VENDOR: gc + GC_HELM_TIMEOUT: "--timeout 15m" + # FIXME remove when all services are migrated to a single helm + GC_ENABLE_HELM_CONFIG: "false" + +gc-test: + variables: + GC_TEST_SUBDIR: testing/schema-test-core + VENDOR: gcp + script: + - $MAVEN_BUILD . test-results.log verify -q -f $GC_TEST_SUBDIR/pom.xml + +gc-dev2-test: + variables: + GC_TEST_SUBDIR: testing/schema-test-core + VENDOR: gcp + script: + - $MAVEN_BUILD . test-results.log verify -q -f $GC_TEST_SUBDIR/pom.xml + +gc-anthos-test: + variables: + GC_TEST_SUBDIR: testing/schema-test-core + script: + - $MAVEN_BUILD . test-results.log verify -q -f $GC_TEST_SUBDIR/pom.xml diff --git a/devops/gcp/pipeline/override-stages.yml b/devops/gcp/pipeline/override-stages.yml deleted file mode 100644 index 4d0589c18..000000000 --- a/devops/gcp/pipeline/override-stages.yml +++ /dev/null @@ -1,24 +0,0 @@ -variables: - BUILD_BOOTSTRAP_PATH: "devops/$OSDU_GCP_VENDOR/bootstrap-osdu-module/Dockerfile" - OSDU_GCP_ENABLE_BOOTSTRAP: "true" - OSDU_GCP_SERVICE: schema - OSDU_GCP_VENDOR: gcp - OSDU_GCP_HELM_TIMEOUT: "--timeout 15m" - -osdu-gcp-test: - variables: - OSDU_GCP_TEST_SUBDIR: testing/schema-test-core - script: - - $MAVEN_BUILD . test-results.log verify -q -f $OSDU_GCP_TEST_SUBDIR/pom.xml - -osdu-gcp-dev2-test: - variables: - OSDU_GCP_TEST_SUBDIR: testing/schema-test-core - script: - - $MAVEN_BUILD . test-results.log verify -q -f $OSDU_GCP_TEST_SUBDIR/pom.xml - -osdu-gcp-anthos-test: - variables: - OSDU_GCP_TEST_SUBDIR: testing/schema-test-core - script: - - $MAVEN_BUILD . test-results.log verify -q -f $OSDU_GCP_TEST_SUBDIR/pom.xml diff --git a/docs/SchemaService-OSDU.md b/docs/SchemaService-OSDU.md index a9db4c28d..e3f89c792 100644 --- a/docs/SchemaService-OSDU.md +++ b/docs/SchemaService-OSDU.md @@ -319,7 +319,7 @@ For deployment available public `/info` endpoint, which provides build and git r ```json { "groupId": "org.opengroup.osdu", - "artifactId": "storage-gcp", + "artifactId": "storage-gc", "version": "0.10.0-SNAPSHOT", "buildTime": "2021-07-09T14:29:51.584Z", "branch": "feature/GONRG-2681_Build_info", diff --git a/pom.xml b/pom.xml index 4c480011f..7115a1f06 100644 --- a/pom.xml +++ b/pom.xml @@ -58,7 +58,7 @@ <modules> <module>schema-core</module> <module>provider/schema-aws</module> - <module>provider/schema-gcp</module> + <module>provider/schema-gc</module> <module>provider/schema-ibm</module> <module>provider/schema-azure</module> </modules> diff --git a/provider/schema-gcp/README.md b/provider/schema-gc/README.md similarity index 85% rename from provider/schema-gcp/README.md rename to provider/schema-gc/README.md index e7cf3b3c2..96566af7b 100644 --- a/provider/schema-gcp/README.md +++ b/provider/schema-gc/README.md @@ -1,10 +1,13 @@ # Schema Service -schema-gcp is a Maven multi-module project service. + +os-schema-gc is a Maven multi-module project service. ## Getting Started + These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system. -### Prerequisites (Infra and access required) +### Prerequisites (Infra and access required) + Pre-requisites * GCloud SDK with java (latest version) @@ -15,12 +18,17 @@ Pre-requisites ### Installation ### Service Configuration -#### Anthos: -[Anthos service configuration ](docs/anthos/README.md) -#### Google Cloud: -[Google Cloud service configuration ](docs/gcp/README.md) + +#### Anthos + +[Anthos service configuration](docs/anthos/README.md) + +#### Google Cloud + +[Google Cloud service configuration](docs/gc/README.md) ### Run Locally + Check that maven is installed: ```bash @@ -56,11 +64,13 @@ $ cat ~/.m2/settings.xml </servers> </settings> ``` + * Update the Google cloud SDK to the latest version: ```bash gcloud components update ``` + * Set Google Project Id: ```bash @@ -72,54 +82,65 @@ gcloud config set project <YOUR-PROJECT-ID> ```bash gcloud auth application-default login ``` + Once the above Prerequisite are done, we can follow the below steps to run the service locally, 1. Navigate to the root of the schema project, os-schema. For building the project using command line, run below command : + ```bash mvn clean install ``` + This will build the core project as well as all the underlying projects. If we want to build projects for specific cloud vendor, we can use mvn --projects command. For example, if we want to build only for Google Cloud, we can use below command : + ```bash - mvn --projects schema-core,provider/schema-gcp clean install + mvn --projects schema-core,provider/schema-gc clean install ``` -2. Run schema service in command line. We need to select which cloud vendor specific schema-service we want to run. For example, if we want to run schema-service for Google Cloud, run the below command : - ```bash + +2. Run schema service in command line. We need to select which cloud vendor specific schema-service we want to run. For example, if we want to run schema-service for Google Cloud, run the below command : + + ```bash # Running Google Cloud : - java -jar provider\schema-gcp\target\os-schema-gcp-0.0.1-spring-boot.jar -3. The port and path for the service endpoint can be configured in ```application.properties``` in the provider folder as following. If not specified, then the web container (ex. Tomcat) default is used: + java -jar provider\schema-gc\target\os-schema-gc-0.0.1-spring-boot.jar +3. The port and path for the service endpoint can be configured in ```application.properties``` in the provider folder as following. If not specified, then the web container (ex. Tomcat) default is used: + ```bash server.servlet.contextPath=/api/schema-service/v1/ server.port=8080 - -You can access the service APIs by following the service contract in [schema.yaml](docs/api/schema.yaml) + +You can access the service APIs by following the service contract in [schema.yaml](docs/api/schema.yaml) ## Testing -#### Anthos: + +#### Anthos + [Anthos Testing](docs/anthos/README.md) -#### Google Cloud: -[Google Cloud Testing](docs/gcp/README.md) + +#### Google Cloud + +[Google Cloud Testing](docs/gc/README.md) ## Deployment Schema Service is compatible with Cloud Run. * To deploy into Cloud run, please, use this documentation: -https://cloud.google.com/run/docs/quickstarts/build-and-deploy +<https://cloud.google.com/run/docs/quickstarts/build-and-deploy> ## License Copyright © Google LLC Copyright © EPAM Systems - + Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - + [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0) - + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and -limitations under the License. \ No newline at end of file +limitations under the License. diff --git a/provider/schema-gcp/cloudbuild/Dockerfile.cloudbuild b/provider/schema-gc/cloudbuild/Dockerfile.cloudbuild similarity index 100% rename from provider/schema-gcp/cloudbuild/Dockerfile.cloudbuild rename to provider/schema-gc/cloudbuild/Dockerfile.cloudbuild diff --git a/provider/schema-gcp/cloudbuild/cloudbuild.yaml b/provider/schema-gc/cloudbuild/cloudbuild.yaml similarity index 51% rename from provider/schema-gcp/cloudbuild/cloudbuild.yaml rename to provider/schema-gc/cloudbuild/cloudbuild.yaml index a0839623e..61563cdfa 100644 --- a/provider/schema-gcp/cloudbuild/cloudbuild.yaml +++ b/provider/schema-gc/cloudbuild/cloudbuild.yaml @@ -15,17 +15,22 @@ # limitations under the License. steps: - - name: 'gcr.io/cloud-builders/docker' - args: [ - 'build', - '--build-arg', 'PROVIDER_NAME=${_PROVIDER_NAME}', - '--build-arg', 'PORT=${_PORT}', - '-t', 'gcr.io/$PROJECT_ID/${_APPLICATION_NAME}/${_GCP_SERVICE}-${_PROVIDER_NAME}:${_SHORT_SHA}', - '-t', 'gcr.io/$PROJECT_ID/${_APPLICATION_NAME}/${_GCP_SERVICE}-${_PROVIDER_NAME}:latest', - '-f', 'provider/${_GCP_SERVICE}-${_PROVIDER_NAME}/cloudbuild/Dockerfile.cloudbuild', - '.' - ] + - name: "gcr.io/cloud-builders/docker" + args: + [ + "build", + "--build-arg", + "PROVIDER_NAME=${_PROVIDER_NAME}", + "--build-arg", + "PORT=${_PORT}", + "-t", + "gcr.io/$PROJECT_ID/${_APPLICATION_NAME}/${_GC_SERVICE}-${_PROVIDER_NAME}:${_SHORT_SHA}", + "-t", + "gcr.io/$PROJECT_ID/${_APPLICATION_NAME}/${_GC_SERVICE}-${_PROVIDER_NAME}:latest", + "-f", + "provider/${_GC_SERVICE}-${_PROVIDER_NAME}/cloudbuild/Dockerfile.cloudbuild", + ".", + ] images: - - 'gcr.io/$PROJECT_ID/${_APPLICATION_NAME}/${_GCP_SERVICE}-${_PROVIDER_NAME}' - + - "gcr.io/$PROJECT_ID/${_APPLICATION_NAME}/${_GC_SERVICE}-${_PROVIDER_NAME}" diff --git a/provider/schema-gcp/docker/Dockerfile b/provider/schema-gc/docker/Dockerfile similarity index 100% rename from provider/schema-gcp/docker/Dockerfile rename to provider/schema-gc/docker/Dockerfile diff --git a/provider/schema-gcp/docker/docker-compose.yml b/provider/schema-gc/docker/docker-compose.yml similarity index 75% rename from provider/schema-gcp/docker/docker-compose.yml rename to provider/schema-gc/docker/docker-compose.yml index 4b54e053d..907e144b2 100644 --- a/provider/schema-gcp/docker/docker-compose.yml +++ b/provider/schema-gc/docker/docker-compose.yml @@ -3,7 +3,7 @@ services: os-schema-app: build: args: - JAR_FILE: target/os-schema-gcp-0.0.1-spring-boot.jar + JAR_FILE: target/os-schema-gc-0.0.1-spring-boot.jar context: .. dockerfile: docker/Dockerfile image: gcr.io/opendes/os-schema-app diff --git a/provider/schema-gcp/docs/anthos/README.md b/provider/schema-gc/docs/anthos/README.md similarity index 93% rename from provider/schema-gcp/docs/anthos/README.md rename to provider/schema-gc/docs/anthos/README.md index f7320bafd..ed5561b90 100644 --- a/provider/schema-gcp/docs/anthos/README.md +++ b/provider/schema-gc/docs/anthos/README.md @@ -1,6 +1,6 @@ ## Service Configuration for Anthos -## Environment variables: +## Environment variables Define the following environment variables. @@ -10,10 +10,10 @@ Must have: | --- | --- | --- | --- | --- | | `SPRING_PROFILES_ACTIVE` | ex `anthos` | Spring profile that activate default configuration for Google Cloud environment | false | - | | `SHARED_TENANT_NAME` | ex `anthos` | Shared account id | no | - | -| `<POSTGRES_PASSWORD_ENV_VARIABLE_NAME>` | ex `password` | Potgres user, name of that variable not defined at the service level, the name will be received through partition service. Each tenant can have it's own ENV name value, and it must be present in ENV of Indexer service, see [Partition properties set](#Properties-set-in-Partition-service) | yes | - | -| `<MINIO_SECRETKEY_ENV_VARIABLE_NAME>` | ex `password` | Minio password, name of that variable not defined at the service level, the name will be received through partition service. Each tenant can have it's own ENV name value, and it must be present in ENV of Indexer service, see [Partition properties set](#Properties-set-in-Partition-service) | yes | - | -| `<AMQP_PASSWORD_ENV_VARIABLE_NAME>` | ex `password` | RabbitMQ password, name of that variable not defined at the service level, the name will be received through partition service. Each tenant can have it's own ENV name value, and it must be present in ENV of Indexer service, see [Partition properties set](#Properties-set-in-Partition-service) | yes | - | -| `<AMQP_ADMIN_PASSWORD_ENV_VARIABLE_NAME>` | ex `password` | RabbitMQ Admin password, name of that variable not defined at the service level, the name will be received through partition service. Each tenant can have it's own ENV name value, and it must be present in ENV of Indexer service, see [Partition properties set](#Properties-set-in-Partition-service) | yes | - | +| `<POSTGRES_PASSWORD_ENV_VARIABLE_NAME>` | ex `password` | Potgres user, name of that variable not defined at the service level, the name will be received through partition service. Each tenant can have it's own ENV name value, and it must be present in ENV of Indexer service, see [Partition properties set](#properties-set-in-partition-service) | yes | - | +| `<MINIO_SECRETKEY_ENV_VARIABLE_NAME>` | ex `password` | Minio password, name of that variable not defined at the service level, the name will be received through partition service. Each tenant can have it's own ENV name value, and it must be present in ENV of Indexer service, see [Partition properties set](#properties-set-in-partition-service) | yes | - | +| `<AMQP_PASSWORD_ENV_VARIABLE_NAME>` | ex `password` | RabbitMQ password, name of that variable not defined at the service level, the name will be received through partition service. Each tenant can have it's own ENV name value, and it must be present in ENV of Indexer service, see [Partition properties set](#properties-set-in-partition-service) | yes | - | +| `<AMQP_ADMIN_PASSWORD_ENV_VARIABLE_NAME>` | ex `password` | RabbitMQ Admin password, name of that variable not defined at the service level, the name will be received through partition service. Each tenant can have it's own ENV name value, and it must be present in ENV of Indexer service, see [Partition properties set](#properties-set-in-partition-service) | yes | - | Defined in default application property file but possible to override: @@ -24,11 +24,11 @@ Defined in default application property file but possible to override: | `SERVER_SERVLET_CONTEXPATH` | `/api/schema-service/v1` | Servlet context path | no | - | | `AUTHORIZE_API` | ex `https://entitlements.com/entitlements/v1` | Entitlements API endpoint | no | output of infrastructure deployment | | `PARTITION_API` | ex `http://localhost:8081/api/partition/v1` | Partition service endpoint | 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 | +| `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> | | `GCP_SCHEMA_CHANGED_MESSAGING_ENABLED` | `true` OR `false` | Allows to configure message publishing about schemas changes to Pub/Sub | no | - | | `GCP_SCHEMA_CHANGED_TOPIC_NAME` | `schema-changed` | Topic for schema changes events | no | - | -These variables define service behavior, and are used to switch between `anthos` or `gcp` environments, their overriding +These variables define service behavior, and are used to switch between `reference` or `Google Cloud` environments, their overriding and usage in mixed mode was not tested. Usage of spring profiles is preferred. | name | value | description | sensitive? | source | @@ -37,17 +37,19 @@ and usage in mixed mode was not tested. Usage of spring profiles is preferred. | `OQMDRIVER` | `rabbitmq` or `pubsub` | Oqm driver mode that defines which message broker will be used | no | - | | `OSMDRIVER` | `datastore` or `postgres` | Osm driver mode that defines which KV storage will be used | no | - | | `OBMDRIVER` | `gcs` or `minio` | Obm driver mode that defines which object storage will be used | no | - | -| `SERVICE_TOKEN_PROVIDER` | `GCP` or `OPENID` |Service account token provider, `GCP` means use Google service account `OPEIND` means use OpenId provider like `Keycloak` | no | - | +| `SERVICE_TOKEN_PROVIDER` | `GCP` or `OPENID` |Service account token provider, `GCP` means use Google service account `OPENID` means use OpenId provider like `Keycloak` | no | - | ## Testing + ### Running E2E Tests + This section describes how to run cloud OSDU E2E tests (testing/schema-test-core). You will need to have the following environment variables defined. | name | value | description | sensitive? | source | | --- | --- | --- | --- | --- | -| `VENDOR` | `anthos` | Use value 'gcp' to run gcp tests | no | - | +| `VENDOR` | `anthos` | Use value 'gcp' to run Google Cloud tests | no | - | | `HOST` | ex`http://localhost:8080` | Schema service host | no | - | | `PRIVATE_TENANT2` | ex`opendes` | OSDU tenant used for testing | no | - | | `PRIVATE_TENANT1` | ex`osdu` | OSDU tenant used for testing | no | - | @@ -58,9 +60,9 @@ You will need to have the following environment variables defined. **Entitlements configuration for integration accounts** -| INTEGRATION_TESTER | - | --- | -| users<br/>service.schema-service.system-admin<br/>service.entitlements.user<br/>service.schema-service.viewers<br/>service.schema-service.editors<br/>data.integration.test<br/>data.test1 | +| INTEGRATION_TESTER | + | --- | +| users<br/>service.schema-service.system-admin<br/>service.entitlements.user<br/>service.schema-service.viewers<br/>service.schema-service.editors<br/>data.integration.test<br/>data.test1 | Execute following command to build code and run all the integration tests: @@ -71,12 +73,13 @@ Execute following command to build code and run all the integration tests: $ (cd testing/schema-test-core/ && mvn clean test) ``` -### Properties set in Partition service: +### Properties set in Partition service Note that properties can be set in Partition as `sensitive` in that case in property `value` should be present not value itself, but ENV variable name. This variable should be present in environment of service that need that variable. Example: + ``` "elasticsearch.port": { "sensitive": false, <- value not sensitive @@ -88,9 +91,9 @@ Example: } ``` -## Postgres configuration: +## Postgres configuration -### Properties set in Partition service: +### Properties set in Partition service **prefix:** `osm.postgres` @@ -132,11 +135,12 @@ curl -L -X PATCH 'http://partition.com/api/partition/v1/partitions/opendes' -H ' </details> -### Schema configuration: +### Schema configuration ``` CREATE SCHEMA IF NOT EXISTS dataecosystem AUTHORIZATION <SCHEMA_POSTGRESQL_USERNAME>; ``` + For private tenants: ``` @@ -219,6 +223,7 @@ CREATE INDEX IF NOT EXISTS source_datagin ``` -- For shared tenant: + ``` -- Table: dataecosystem.system_authority -- DROP TABLE IF EXISTS dataecosystem.system_authority; @@ -298,9 +303,9 @@ CREATE INDEX IF NOT EXISTS system_source_datagin TABLESPACE pg_default; ``` -## RabbitMQ configuration: +## RabbitMQ configuration -### Properties set in Partition service: +### Properties set in Partition service **prefix:** `oqm.rabbitmq` @@ -383,7 +388,7 @@ curl -L -X PATCH 'https://dev.osdu.club/api/partition/v1/partitions/opendes' -H </details> -### Exchanges & queues configuration: +### Exchanges & queues configuration At RabbitMq should be created exchange with name: @@ -396,9 +401,9 @@ It can be overridden by:  -## Minio configuration : +## Minio configuration -### Properties set in Partition service: +### Properties set in Partition service **prefix:** `obm.minio` @@ -443,6 +448,7 @@ curl -L -X PATCH 'https://dev.osdu.club/api/partition/v1/partitions/opendes' -H ### Object store configuration <a name="ObjectStoreConfig"></a> #### Used Technology + MinIO (or any other supported by OBM) #### Per-tenant buckets configuration @@ -453,7 +459,7 @@ These buckets must be defined in tenants’ dedicated object store servers. OBM <table> <tr> - <td>Bucket Naming template + <td>Bucket Naming template </td> <td>Permissions required </td> @@ -470,7 +476,7 @@ For shared tenant only: <table> <tr> - <td>Bucket Naming template + <td>Bucket Naming template </td> <td>Permissions required </td> diff --git a/provider/schema-gcp/docs/anthos/pics/rabbit.PNG b/provider/schema-gc/docs/anthos/pics/rabbit.PNG similarity index 100% rename from provider/schema-gcp/docs/anthos/pics/rabbit.PNG rename to provider/schema-gc/docs/anthos/pics/rabbit.PNG diff --git a/provider/schema-gcp/docs/gcp/README.md b/provider/schema-gc/docs/gc/README.md similarity index 88% rename from provider/schema-gcp/docs/gcp/README.md rename to provider/schema-gc/docs/gc/README.md index fd5ac6841..7de131052 100644 --- a/provider/schema-gcp/docs/gcp/README.md +++ b/provider/schema-gc/docs/gc/README.md @@ -1,6 +1,6 @@ ## Service Configuration for Google Cloud -## Environment variables: +## Environment variables Define the following environment variables. @@ -20,11 +20,11 @@ Defined in default application property file but possible to override: | `SERVER_SERVLET_CONTEXPATH` | `/api/schema-service/v1` | Servlet context path | no | - | | `AUTHORIZE_API` | ex `https://entitlements.com/entitlements/v1` | Entitlements API endpoint | no | output of infrastructure deployment | | `PARTITION_API` | ex `http://localhost:8081/api/partition/v1` | Partition service endpoint | 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 | +| `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> | | `GCP_SCHEMA_CHANGED_MESSAGING_ENABLED` | `true` OR `false` | Allows to configure message publishing about schemas changes to Pub/Sub | no | - | | `GCP_SCHEMA_CHANGED_TOPIC_NAME` | `schema-changed` | Topic for schema changes events | no | - | -These variables define service behavior, and are used to switch between `anthos` or `gcp` environments, their overriding +These variables define service behavior, and are used to switch between `Reference` or `Google Cloud` environments, their overriding and usage in mixed mode was not tested. Usage of spring profiles is preferred. | name | value | description | sensitive? | source | @@ -36,25 +36,27 @@ and usage in mixed mode was not tested. Usage of spring profiles is preferred. | `SERVICE_TOKEN_PROVIDER` | `GCP` or `OPENID` |Service account token provider, `GCP` means use Google service account `OPEIND` means use OpenId provider like `Keycloak` | no | - | ## Testing + ### Running E2E Tests + This section describes how to run cloud OSDU E2E tests (testing/schema-test-core). You will need to have the following environment variables defined. | name | value | description | sensitive? | source | | --- | --- | --- | --- | --- | -| `VENDOR` | `gcp` | Use value 'gcp' to run gcp tests | no | - | +| `VENDOR` | `gc` | Use value 'gc' to run Google Cloud tests | no | - | | `HOST` | ex`http://localhost:8080` | Schema service host | no | - | -| `INTEGRATION_TESTER` | `********` | Service account base64 encoded string for API calls. Note: this user must have entitlements configured already | yes | https://console.cloud.google.com/iam-admin/serviceaccounts | +| `INTEGRATION_TESTER` | `********` | Service account base64 encoded string for API calls. Note: this user must have entitlements configured already | yes | <https://console.cloud.google.com/iam-admin/serviceaccounts> | | `PRIVATE_TENANT2` | ex`opendes` | OSDU tenant used for testing | no | - | | `PRIVATE_TENANT1` | ex`osdu` | OSDU tenant used for testing | no | - | | `SHARED_TENANT` | ex`common` | OSDU tenant used for testing | no | - | **Entitlements configuration for integration accounts** -| INTEGRATION_TESTER | +| INTEGRATION_TESTER | | --- | -| users<br/>service.schema-service.system-admin<br/>service.entitlements.user<br/>service.schema-service.viewers<br/>service.schema-service.editors<br/>data.integration.test<br/>data.test1 | +| users<br/>service.schema-service.system-admin<br/>service.entitlements.user<br/>service.schema-service.viewers<br/>service.schema-service.editors<br/>data.integration.test<br/>data.test1 | Execute following command to build code and run all the integration tests: @@ -65,7 +67,7 @@ Execute following command to build code and run all the integration tests: $ (cd testing/schema-test-core/ && mvn clean test) ``` -## Datastore configuration: +## Datastore configuration There must be a namespace `dataecosystem`. @@ -81,7 +83,7 @@ For shared tenant: Kind `system_schema_osm` `system_authority` `system_entityType` `system_source` will be created by service if it does not exist. -## Pubsub configuration: +## Pubsub configuration At Pubsub should be created topic with name: @@ -100,7 +102,7 @@ At Google cloud storage should be created bucket: <table> <tr> - <td>Bucket Naming template + <td>Bucket Naming template </td> <td>Permissions required </td> @@ -119,7 +121,7 @@ At Google cloud storage should be created bucket: <table> <tr> - <td>Bucket Naming template + <td>Bucket Naming template </td> <td>Permissions required </td> @@ -132,10 +134,10 @@ At Google cloud storage should be created bucket: </tr> </table> -## Google cloud service account configuration : +## Google cloud service account configuration TBD | Required roles | | --- | -| - | \ No newline at end of file +| - | diff --git a/provider/schema-gcp/docs/gcp/pics/namespace.PNG b/provider/schema-gc/docs/gc/pics/namespace.PNG similarity index 100% rename from provider/schema-gcp/docs/gcp/pics/namespace.PNG rename to provider/schema-gc/docs/gc/pics/namespace.PNG diff --git a/provider/schema-gcp/pom.xml b/provider/schema-gc/pom.xml similarity index 99% rename from provider/schema-gcp/pom.xml rename to provider/schema-gc/pom.xml index 207ef6511..9464d36f3 100644 --- a/provider/schema-gcp/pom.xml +++ b/provider/schema-gc/pom.xml @@ -12,7 +12,7 @@ <jackson.version>2.13.2</jackson.version> </properties> - <artifactId>os-schema-gcp</artifactId> + <artifactId>os-schema-gc</artifactId> <description>Google cloud related implementation staff.</description> <packaging>jar</packaging> diff --git a/provider/schema-gcp/src/main/appengine/app.yaml b/provider/schema-gc/src/main/appengine/app.yaml similarity index 100% rename from provider/schema-gcp/src/main/appengine/app.yaml rename to provider/schema-gc/src/main/appengine/app.yaml diff --git a/provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/GcpSchemaApplication.java b/provider/schema-gc/src/main/java/org/opengroup/osdu/schema/GcpSchemaApplication.java similarity index 100% rename from provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/GcpSchemaApplication.java rename to provider/schema-gc/src/main/java/org/opengroup/osdu/schema/GcpSchemaApplication.java diff --git a/provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/configuration/EventMessagingPropertiesConfig.java b/provider/schema-gc/src/main/java/org/opengroup/osdu/schema/configuration/EventMessagingPropertiesConfig.java similarity index 100% rename from provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/configuration/EventMessagingPropertiesConfig.java rename to provider/schema-gc/src/main/java/org/opengroup/osdu/schema/configuration/EventMessagingPropertiesConfig.java diff --git a/provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/configuration/PropertiesConfiguration.java b/provider/schema-gc/src/main/java/org/opengroup/osdu/schema/configuration/PropertiesConfiguration.java similarity index 100% rename from provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/configuration/PropertiesConfiguration.java rename to provider/schema-gc/src/main/java/org/opengroup/osdu/schema/configuration/PropertiesConfiguration.java diff --git a/provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/configuration/mapper/TypeMapperImpl.java b/provider/schema-gc/src/main/java/org/opengroup/osdu/schema/configuration/mapper/TypeMapperImpl.java similarity index 100% rename from provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/configuration/mapper/TypeMapperImpl.java rename to provider/schema-gc/src/main/java/org/opengroup/osdu/schema/configuration/mapper/TypeMapperImpl.java diff --git a/provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/destination/provider/DestinationProvider.java b/provider/schema-gc/src/main/java/org/opengroup/osdu/schema/destination/provider/DestinationProvider.java similarity index 100% rename from provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/destination/provider/DestinationProvider.java rename to provider/schema-gc/src/main/java/org/opengroup/osdu/schema/destination/provider/DestinationProvider.java diff --git a/provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/destination/provider/DestinationProviderImpl.java b/provider/schema-gc/src/main/java/org/opengroup/osdu/schema/destination/provider/DestinationProviderImpl.java similarity index 100% rename from provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/destination/provider/DestinationProviderImpl.java rename to provider/schema-gc/src/main/java/org/opengroup/osdu/schema/destination/provider/DestinationProviderImpl.java diff --git a/provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/destination/provider/impl/ObmDestinationProvider.java b/provider/schema-gc/src/main/java/org/opengroup/osdu/schema/destination/provider/impl/ObmDestinationProvider.java similarity index 100% rename from provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/destination/provider/impl/ObmDestinationProvider.java rename to provider/schema-gc/src/main/java/org/opengroup/osdu/schema/destination/provider/impl/ObmDestinationProvider.java diff --git a/provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/destination/provider/impl/OqmDestinationProvider.java b/provider/schema-gc/src/main/java/org/opengroup/osdu/schema/destination/provider/impl/OqmDestinationProvider.java similarity index 100% rename from provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/destination/provider/impl/OqmDestinationProvider.java rename to provider/schema-gc/src/main/java/org/opengroup/osdu/schema/destination/provider/impl/OqmDestinationProvider.java diff --git a/provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/destination/provider/impl/OsmDestinationProvider.java b/provider/schema-gc/src/main/java/org/opengroup/osdu/schema/destination/provider/impl/OsmDestinationProvider.java similarity index 100% rename from provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/destination/provider/impl/OsmDestinationProvider.java rename to provider/schema-gc/src/main/java/org/opengroup/osdu/schema/destination/provider/impl/OsmDestinationProvider.java diff --git a/provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/destination/provider/model/DestinationInstructions.java b/provider/schema-gc/src/main/java/org/opengroup/osdu/schema/destination/provider/model/DestinationInstructions.java similarity index 100% rename from provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/destination/provider/model/DestinationInstructions.java rename to provider/schema-gc/src/main/java/org/opengroup/osdu/schema/destination/provider/model/DestinationInstructions.java diff --git a/provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/exception/AppExceptionHandler.java b/provider/schema-gc/src/main/java/org/opengroup/osdu/schema/exception/AppExceptionHandler.java similarity index 100% rename from provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/exception/AppExceptionHandler.java rename to provider/schema-gc/src/main/java/org/opengroup/osdu/schema/exception/AppExceptionHandler.java diff --git a/provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/impl/messagebus/MessageBusImpl.java b/provider/schema-gc/src/main/java/org/opengroup/osdu/schema/impl/messagebus/MessageBusImpl.java similarity index 100% rename from provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/impl/messagebus/MessageBusImpl.java rename to provider/schema-gc/src/main/java/org/opengroup/osdu/schema/impl/messagebus/MessageBusImpl.java diff --git a/provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/impl/messagebus/model/SchemaPubSubInfo.java b/provider/schema-gc/src/main/java/org/opengroup/osdu/schema/impl/messagebus/model/SchemaPubSubInfo.java similarity index 100% rename from provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/impl/messagebus/model/SchemaPubSubInfo.java rename to provider/schema-gc/src/main/java/org/opengroup/osdu/schema/impl/messagebus/model/SchemaPubSubInfo.java diff --git a/provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmAuthorityStore.java b/provider/schema-gc/src/main/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmAuthorityStore.java similarity index 100% rename from provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmAuthorityStore.java rename to provider/schema-gc/src/main/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmAuthorityStore.java diff --git a/provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmEntityTypeStore.java b/provider/schema-gc/src/main/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmEntityTypeStore.java similarity index 100% rename from provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmEntityTypeStore.java rename to provider/schema-gc/src/main/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmEntityTypeStore.java diff --git a/provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmSchemaInfoStore.java b/provider/schema-gc/src/main/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmSchemaInfoStore.java similarity index 100% rename from provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmSchemaInfoStore.java rename to provider/schema-gc/src/main/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmSchemaInfoStore.java diff --git a/provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmSourceStore.java b/provider/schema-gc/src/main/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmSourceStore.java similarity index 100% rename from provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmSourceStore.java rename to provider/schema-gc/src/main/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmSourceStore.java diff --git a/provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/impl/schemastore/ObmSchemaStore.java b/provider/schema-gc/src/main/java/org/opengroup/osdu/schema/impl/schemastore/ObmSchemaStore.java similarity index 100% rename from provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/impl/schemastore/ObmSchemaStore.java rename to provider/schema-gc/src/main/java/org/opengroup/osdu/schema/impl/schemastore/ObmSchemaStore.java diff --git a/provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/security/AuthorizationServiceForServiceAdminImpl.java b/provider/schema-gc/src/main/java/org/opengroup/osdu/schema/security/AuthorizationServiceForServiceAdminImpl.java similarity index 100% rename from provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/security/AuthorizationServiceForServiceAdminImpl.java rename to provider/schema-gc/src/main/java/org/opengroup/osdu/schema/security/AuthorizationServiceForServiceAdminImpl.java diff --git a/provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/security/WebSecurity.java b/provider/schema-gc/src/main/java/org/opengroup/osdu/schema/security/WebSecurity.java similarity index 100% rename from provider/schema-gcp/src/main/java/org/opengroup/osdu/schema/security/WebSecurity.java rename to provider/schema-gc/src/main/java/org/opengroup/osdu/schema/security/WebSecurity.java diff --git a/provider/schema-gcp/src/main/resources/application-anthos.properties b/provider/schema-gc/src/main/resources/application-anthos.properties similarity index 100% rename from provider/schema-gcp/src/main/resources/application-anthos.properties rename to provider/schema-gc/src/main/resources/application-anthos.properties diff --git a/provider/schema-gcp/src/main/resources/application-gcp.properties b/provider/schema-gc/src/main/resources/application-gcp.properties similarity index 100% rename from provider/schema-gcp/src/main/resources/application-gcp.properties rename to provider/schema-gc/src/main/resources/application-gcp.properties diff --git a/provider/schema-gcp/src/main/resources/application.properties b/provider/schema-gc/src/main/resources/application.properties similarity index 100% rename from provider/schema-gcp/src/main/resources/application.properties rename to provider/schema-gc/src/main/resources/application.properties diff --git a/provider/schema-gcp/src/main/resources/logback.xml b/provider/schema-gc/src/main/resources/logback.xml similarity index 100% rename from provider/schema-gcp/src/main/resources/logback.xml rename to provider/schema-gc/src/main/resources/logback.xml diff --git a/provider/schema-gcp/src/test/java/org/opengroup/osdu/schema/impl/messagebus/MessageBusImplTest.java b/provider/schema-gc/src/test/java/org/opengroup/osdu/schema/impl/messagebus/MessageBusImplTest.java similarity index 100% rename from provider/schema-gcp/src/test/java/org/opengroup/osdu/schema/impl/messagebus/MessageBusImplTest.java rename to provider/schema-gc/src/test/java/org/opengroup/osdu/schema/impl/messagebus/MessageBusImplTest.java diff --git a/provider/schema-gcp/src/test/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmAuthorityStoreTest.java b/provider/schema-gc/src/test/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmAuthorityStoreTest.java similarity index 100% rename from provider/schema-gcp/src/test/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmAuthorityStoreTest.java rename to provider/schema-gc/src/test/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmAuthorityStoreTest.java diff --git a/provider/schema-gcp/src/test/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmEntityTypeStoreTest.java b/provider/schema-gc/src/test/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmEntityTypeStoreTest.java similarity index 100% rename from provider/schema-gcp/src/test/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmEntityTypeStoreTest.java rename to provider/schema-gc/src/test/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmEntityTypeStoreTest.java diff --git a/provider/schema-gcp/src/test/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmSchemaInfoStoreTest.java b/provider/schema-gc/src/test/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmSchemaInfoStoreTest.java similarity index 100% rename from provider/schema-gcp/src/test/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmSchemaInfoStoreTest.java rename to provider/schema-gc/src/test/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmSchemaInfoStoreTest.java diff --git a/provider/schema-gcp/src/test/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmSourceStoreTest.java b/provider/schema-gc/src/test/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmSourceStoreTest.java similarity index 100% rename from provider/schema-gcp/src/test/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmSourceStoreTest.java rename to provider/schema-gc/src/test/java/org/opengroup/osdu/schema/impl/schemainfostore/OsmSourceStoreTest.java diff --git a/provider/schema-gcp/src/test/java/org/opengroup/osdu/schema/impl/schemastore/ObmSchemaStoreTest.java b/provider/schema-gc/src/test/java/org/opengroup/osdu/schema/impl/schemastore/ObmSchemaStoreTest.java similarity index 100% rename from provider/schema-gcp/src/test/java/org/opengroup/osdu/schema/impl/schemastore/ObmSchemaStoreTest.java rename to provider/schema-gc/src/test/java/org/opengroup/osdu/schema/impl/schemastore/ObmSchemaStoreTest.java diff --git a/provider/schema-gcp/src/test/resources/application.properties b/provider/schema-gc/src/test/resources/application.properties similarity index 100% rename from provider/schema-gcp/src/test/resources/application.properties rename to provider/schema-gc/src/test/resources/application.properties diff --git a/provider/schema-gcp/src/test/resources/logback-test.xml b/provider/schema-gc/src/test/resources/logback-test.xml similarity index 100% rename from provider/schema-gcp/src/test/resources/logback-test.xml rename to provider/schema-gc/src/test/resources/logback-test.xml diff --git a/provider/schema-gcp/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/provider/schema-gc/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker similarity index 100% rename from provider/schema-gcp/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker rename to provider/schema-gc/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker diff --git a/testing/pom.xml b/testing/pom.xml index 74580c6bd..975cb1476 100644 --- a/testing/pom.xml +++ b/testing/pom.xml @@ -17,7 +17,7 @@ <modules> <module>schema-test-core</module> - <module>schema-test-gcp</module> + <module>schema-test-gc</module> <module>schema-test-azure</module> <module>schema-test-anthos</module> </modules> diff --git a/testing/schema-test-anthos/pom.xml b/testing/schema-test-anthos/pom.xml index f2e468faa..e2758ff5a 100644 --- a/testing/schema-test-anthos/pom.xml +++ b/testing/schema-test-anthos/pom.xml @@ -14,7 +14,7 @@ <packaging>jar</packaging> - <name>schema-test-gcp</name> + <name>schema-test-gc</name> <description>Anthos implementation of test project for schema service</description> -</project> \ No newline at end of file +</project> diff --git a/testing/schema-test-gcp/pom.xml b/testing/schema-test-gc/pom.xml similarity index 75% rename from testing/schema-test-gcp/pom.xml rename to testing/schema-test-gc/pom.xml index f39e45d7c..9976b7e79 100644 --- a/testing/schema-test-gcp/pom.xml +++ b/testing/schema-test-gc/pom.xml @@ -9,12 +9,12 @@ </parent> <groupId>org.opengroup.osdu</groupId> - <artifactId>os-schema-test-gcp</artifactId> + <artifactId>os-schema-test-gc</artifactId> <version>0.19.0-SNAPSHOT</version> <packaging>jar</packaging> - <name>schema-test-gcp</name> - <description>GCP implementation of test project for schema service</description> + <name>schema-test-gc</name> + <description>Google Cloud implementation of test project for schema service</description> -</project> \ No newline at end of file +</project> diff --git a/testing/schema-test-gcp/src/test/resources/logback-test.xml b/testing/schema-test-gc/src/test/resources/logback-test.xml similarity index 100% rename from testing/schema-test-gcp/src/test/resources/logback-test.xml rename to testing/schema-test-gc/src/test/resources/logback-test.xml -- GitLab