diff --git a/indexer-service-root/maven/settings.xml b/indexer-core/maven/settings.xml
similarity index 100%
rename from indexer-service-root/maven/settings.xml
rename to indexer-core/maven/settings.xml
diff --git a/indexer-service-root/mvnw b/indexer-core/mvnw
similarity index 100%
rename from indexer-service-root/mvnw
rename to indexer-core/mvnw
diff --git a/indexer-service-root/mvnw.cmd b/indexer-core/mvnw.cmd
similarity index 100%
rename from indexer-service-root/mvnw.cmd
rename to indexer-core/mvnw.cmd
diff --git a/indexer-service-root/pom.xml b/indexer-core/pom.xml
similarity index 89%
rename from indexer-service-root/pom.xml
rename to indexer-core/pom.xml
index 4f5808d9558db5f365e61e0d3bb8ba0c49d10543..a9cf05a6a0582e045706569fc1bf04a2ce3486c9 100644
--- a/indexer-service-root/pom.xml
+++ b/indexer-core/pom.xml
@@ -5,13 +5,13 @@
 	<parent>
 		<groupId>org.opengroup.osdu.indexer</groupId>
 		<artifactId>indexer-service</artifactId>
-		<version>1.0-SNAPSHOT</version>
+		<version>1.0.0</version>
 	</parent>
 
-	<artifactId>indexer-service-root</artifactId>
-	<version>1.0-SNAPSHOT</version>
-	<name>indexer-service-root</name>
-	<description>Indexer Service Root</description>
+	<artifactId>indexer-core</artifactId>
+	<version>1.0.0</version>
+	<name>indexer-core</name>
+	<description>Indexer Service Core</description>
 	<packaging>jar</packaging>
 
 	<!--<repositories>
@@ -198,5 +198,18 @@
 		</dependency>
 
 	</dependencies>
-
+    <build>
+        <defaultGoal>test</defaultGoal>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>2.4.2</version>
+                <configuration>
+                  <useSystemClassLoader>false</useSystemClassLoader>
+                  <threadCount>1</threadCount>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/SwaggerDoc.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/SwaggerDoc.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/SwaggerDoc.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/SwaggerDoc.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/api/HealthCheckApi.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/api/HealthCheckApi.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/api/HealthCheckApi.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/api/HealthCheckApi.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/api/RecordIndexerApi.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/api/RecordIndexerApi.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/api/RecordIndexerApi.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/api/RecordIndexerApi.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/api/ReindexApi.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/api/ReindexApi.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/api/ReindexApi.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/api/ReindexApi.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/logging/AuditEvents.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/logging/AuditEvents.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/logging/AuditEvents.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/logging/AuditEvents.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/logging/AuditLogger.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/logging/AuditLogger.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/logging/AuditLogger.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/logging/AuditLogger.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/logging/ServiceLogId.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/logging/ServiceLogId.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/logging/ServiceLogId.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/logging/ServiceLogId.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/middleware/AuthorizationFilter.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/middleware/AuthorizationFilter.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/middleware/AuthorizationFilter.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/middleware/AuthorizationFilter.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/ConversionStatus.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/ConversionStatus.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/ConversionStatus.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/model/ConversionStatus.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/ElasticType.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/ElasticType.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/ElasticType.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/model/ElasticType.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/IndexProgress.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/IndexProgress.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/IndexProgress.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/model/IndexProgress.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/IndexSchema.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/IndexSchema.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/IndexSchema.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/model/IndexSchema.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/IndexingStatus.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/IndexingStatus.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/IndexingStatus.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/model/IndexingStatus.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/Legal.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/Legal.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/Legal.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/model/Legal.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/MultiFieldIndexRequest.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/MultiFieldIndexRequest.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/MultiFieldIndexRequest.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/model/MultiFieldIndexRequest.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/OperationType.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/OperationType.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/OperationType.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/model/OperationType.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/RecordAncestry.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/RecordAncestry.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/RecordAncestry.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/model/RecordAncestry.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/RecordIds.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/RecordIds.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/RecordIds.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/model/RecordIds.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/RecordIndexerPayload.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/RecordIndexerPayload.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/RecordIndexerPayload.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/model/RecordIndexerPayload.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/RecordQueryResponse.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/RecordQueryResponse.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/RecordQueryResponse.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/model/RecordQueryResponse.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/RecordReindexRequest.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/RecordReindexRequest.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/RecordReindexRequest.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/model/RecordReindexRequest.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/RecordStatus.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/RecordStatus.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/RecordStatus.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/model/RecordStatus.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/Records.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/Records.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/Records.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/model/Records.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/Schema.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/Schema.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/Schema.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/model/Schema.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/StorageAcl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/StorageAcl.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/StorageAcl.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/model/StorageAcl.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/StorageType.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/model/StorageType.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/model/StorageType.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/model/StorageType.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/provider/interfaces/IPublisher.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/provider/interfaces/IPublisher.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/provider/interfaces/IPublisher.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/provider/interfaces/IPublisher.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/provider/interfaces/ISchemaCache.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/provider/interfaces/ISchemaCache.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/provider/interfaces/ISchemaCache.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/provider/interfaces/ISchemaCache.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/AttributeParsingServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/AttributeParsingServiceImpl.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/AttributeParsingServiceImpl.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/service/AttributeParsingServiceImpl.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/CronService.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/CronService.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/CronService.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/service/CronService.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/CronServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/CronServiceImpl.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/CronServiceImpl.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/service/CronServiceImpl.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/ElasticSettingServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/ElasticSettingServiceImpl.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/ElasticSettingServiceImpl.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/service/ElasticSettingServiceImpl.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/GeometryConversionService.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/GeometryConversionService.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/GeometryConversionService.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/service/GeometryConversionService.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/IAttributeParsingService.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IAttributeParsingService.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/IAttributeParsingService.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IAttributeParsingService.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/IndexCopyService.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexCopyService.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/IndexCopyService.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexCopyService.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/IndexCopyServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexCopyServiceImpl.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/IndexCopyServiceImpl.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexCopyServiceImpl.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/IndexSchemaService.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexSchemaService.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/IndexSchemaService.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexSchemaService.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/IndexSchemaServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexSchemaServiceImpl.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/IndexSchemaServiceImpl.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexSchemaServiceImpl.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/IndexerMappingService.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerMappingService.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/IndexerMappingService.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerMappingService.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceImpl.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceImpl.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceImpl.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/IndexerService.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerService.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/IndexerService.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerService.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/IndexerServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerServiceImpl.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/IndexerServiceImpl.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/service/IndexerServiceImpl.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/ReindexService.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/ReindexService.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/ReindexService.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/service/ReindexService.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/ReindexServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/ReindexServiceImpl.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/ReindexServiceImpl.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/service/ReindexServiceImpl.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/StorageService.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/StorageService.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/StorageService.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/service/StorageService.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/StorageServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/StorageServiceImpl.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/StorageServiceImpl.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/service/StorageServiceImpl.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/TenantInfoServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/TenantInfoServiceImpl.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/service/TenantInfoServiceImpl.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/service/TenantInfoServiceImpl.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/swagger/HomeController.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/swagger/HomeController.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/swagger/HomeController.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/swagger/HomeController.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/swagger/SwaggerDocumentationConfig.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/swagger/SwaggerDocumentationConfig.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/swagger/SwaggerDocumentationConfig.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/swagger/SwaggerDocumentationConfig.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/util/IndexerQueueTaskBuilder.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/IndexerQueueTaskBuilder.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/util/IndexerQueueTaskBuilder.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/util/IndexerQueueTaskBuilder.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/util/JobStatus.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/JobStatus.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/util/JobStatus.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/util/JobStatus.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/util/RecordInfo.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/RecordInfo.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/util/RecordInfo.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/util/RecordInfo.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/util/TypeMapper.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/TypeMapper.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/util/TypeMapper.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/util/TypeMapper.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/util/parser/DateTimeParser.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/parser/DateTimeParser.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/util/parser/DateTimeParser.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/util/parser/DateTimeParser.java
diff --git a/indexer-service-root/src/main/java/org/opengroup/osdu/indexer/util/parser/NumberParser.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/parser/NumberParser.java
similarity index 100%
rename from indexer-service-root/src/main/java/org/opengroup/osdu/indexer/util/parser/NumberParser.java
rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/util/parser/NumberParser.java
diff --git a/indexer-service-root/src/test/java/org/opengroup/osdu/indexer/api/HealthCheckApiTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/api/HealthCheckApiTest.java
similarity index 100%
rename from indexer-service-root/src/test/java/org/opengroup/osdu/indexer/api/HealthCheckApiTest.java
rename to indexer-core/src/test/java/org/opengroup/osdu/indexer/api/HealthCheckApiTest.java
diff --git a/indexer-service-root/src/test/java/org/opengroup/osdu/indexer/api/RecordIndexerApiTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/api/RecordIndexerApiTest.java
similarity index 100%
rename from indexer-service-root/src/test/java/org/opengroup/osdu/indexer/api/RecordIndexerApiTest.java
rename to indexer-core/src/test/java/org/opengroup/osdu/indexer/api/RecordIndexerApiTest.java
diff --git a/indexer-service-root/src/test/java/org/opengroup/osdu/indexer/api/ReindexApiTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/api/ReindexApiTest.java
similarity index 100%
rename from indexer-service-root/src/test/java/org/opengroup/osdu/indexer/api/ReindexApiTest.java
rename to indexer-core/src/test/java/org/opengroup/osdu/indexer/api/ReindexApiTest.java
diff --git a/indexer-service-root/src/test/java/org/opengroup/osdu/indexer/logging/AuditEventsTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/logging/AuditEventsTest.java
similarity index 100%
rename from indexer-service-root/src/test/java/org/opengroup/osdu/indexer/logging/AuditEventsTest.java
rename to indexer-core/src/test/java/org/opengroup/osdu/indexer/logging/AuditEventsTest.java
diff --git a/indexer-service-root/src/test/java/org/opengroup/osdu/indexer/logging/AuditLoggerTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/logging/AuditLoggerTest.java
similarity index 100%
rename from indexer-service-root/src/test/java/org/opengroup/osdu/indexer/logging/AuditLoggerTest.java
rename to indexer-core/src/test/java/org/opengroup/osdu/indexer/logging/AuditLoggerTest.java
diff --git a/indexer-service-root/src/test/java/org/opengroup/osdu/indexer/logging/JaxRsDpsLogTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/logging/JaxRsDpsLogTest.java
similarity index 100%
rename from indexer-service-root/src/test/java/org/opengroup/osdu/indexer/logging/JaxRsDpsLogTest.java
rename to indexer-core/src/test/java/org/opengroup/osdu/indexer/logging/JaxRsDpsLogTest.java
diff --git a/indexer-service-root/src/test/java/org/opengroup/osdu/indexer/model/ElasticTypeTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/model/ElasticTypeTest.java
similarity index 100%
rename from indexer-service-root/src/test/java/org/opengroup/osdu/indexer/model/ElasticTypeTest.java
rename to indexer-core/src/test/java/org/opengroup/osdu/indexer/model/ElasticTypeTest.java
diff --git a/indexer-service-root/src/test/java/org/opengroup/osdu/indexer/model/IndexingStatusTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/model/IndexingStatusTest.java
similarity index 100%
rename from indexer-service-root/src/test/java/org/opengroup/osdu/indexer/model/IndexingStatusTest.java
rename to indexer-core/src/test/java/org/opengroup/osdu/indexer/model/IndexingStatusTest.java
diff --git a/indexer-service-root/src/test/java/org/opengroup/osdu/indexer/model/RecordChagedMessagesTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/model/RecordChagedMessagesTest.java
similarity index 100%
rename from indexer-service-root/src/test/java/org/opengroup/osdu/indexer/model/RecordChagedMessagesTest.java
rename to indexer-core/src/test/java/org/opengroup/osdu/indexer/model/RecordChagedMessagesTest.java
diff --git a/indexer-service-root/src/test/java/org/opengroup/osdu/indexer/model/StorageTypeTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/model/StorageTypeTest.java
similarity index 100%
rename from indexer-service-root/src/test/java/org/opengroup/osdu/indexer/model/StorageTypeTest.java
rename to indexer-core/src/test/java/org/opengroup/osdu/indexer/model/StorageTypeTest.java
diff --git a/indexer-service-root/src/test/java/org/opengroup/osdu/indexer/service/AttributeParsingServiceImplTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/AttributeParsingServiceImplTest.java
similarity index 100%
rename from indexer-service-root/src/test/java/org/opengroup/osdu/indexer/service/AttributeParsingServiceImplTest.java
rename to indexer-core/src/test/java/org/opengroup/osdu/indexer/service/AttributeParsingServiceImplTest.java
diff --git a/indexer-service-root/src/test/java/org/opengroup/osdu/indexer/service/GeometryConversionServiceTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/GeometryConversionServiceTest.java
similarity index 100%
rename from indexer-service-root/src/test/java/org/opengroup/osdu/indexer/service/GeometryConversionServiceTest.java
rename to indexer-core/src/test/java/org/opengroup/osdu/indexer/service/GeometryConversionServiceTest.java
diff --git a/indexer-service-root/src/test/java/org/opengroup/osdu/indexer/util/JobStatusTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/util/JobStatusTest.java
similarity index 100%
rename from indexer-service-root/src/test/java/org/opengroup/osdu/indexer/util/JobStatusTest.java
rename to indexer-core/src/test/java/org/opengroup/osdu/indexer/util/JobStatusTest.java
diff --git a/indexer-service-root/src/test/java/org/opengroup/osdu/indexer/util/RecordInfoTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/util/RecordInfoTest.java
similarity index 100%
rename from indexer-service-root/src/test/java/org/opengroup/osdu/indexer/util/RecordInfoTest.java
rename to indexer-core/src/test/java/org/opengroup/osdu/indexer/util/RecordInfoTest.java
diff --git a/indexer-service-root/src/test/java/org/opengroup/osdu/indexer/util/parser/DateTimeParserTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/util/parser/DateTimeParserTest.java
similarity index 100%
rename from indexer-service-root/src/test/java/org/opengroup/osdu/indexer/util/parser/DateTimeParserTest.java
rename to indexer-core/src/test/java/org/opengroup/osdu/indexer/util/parser/DateTimeParserTest.java
diff --git a/indexer-service-root/src/test/java/org/opengroup/osdu/indexer/util/parser/NumberParserTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/util/parser/NumberParserTest.java
similarity index 100%
rename from indexer-service-root/src/test/java/org/opengroup/osdu/indexer/util/parser/NumberParserTest.java
rename to indexer-core/src/test/java/org/opengroup/osdu/indexer/util/parser/NumberParserTest.java
diff --git a/indexer-service-gcp/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/indexer-core/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
similarity index 100%
rename from indexer-service-gcp/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
rename to indexer-core/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
diff --git a/indexer-service-gcp/src/scripts/deploy.sh b/indexer-service-gcp/src/scripts/deploy.sh
deleted file mode 100644
index 9c375ce2103dfde625a33d1e9c3c1b3301ee007a..0000000000000000000000000000000000000000
--- a/indexer-service-gcp/src/scripts/deploy.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/bash
-
-# Exit as soon as a command fails
-set -e
-
-echo "  Project = $GCLOUD_PROJECT"
-echo "  Source branch = $BUILD_SOURCEBRANCHNAME"
-echo "  Build definition = $BUILD_DEFINITIONNAME"
-echo "  Build number = $BUILD_BUILDNUMBER"
-
-echo "current working directory"
-pwd
-
-echo "working directory contents"
-ls
-
-DEPLOY_DIR="deploy_dir"
-mkdir -p $DEPLOY_DIR
-
-cp app.yaml $DEPLOY_DIR
-cp indexer-service-gcp-*.jar $DEPLOY_DIR
-
-# Go to deploy directory
-cd $DEPLOY_DIR
-
-# apply sed to set PROJECT_ID with its value in app.yaml
-echo "Replacing GOOGLE_CLOUD_PROJECT_PLACE_HOLDER with GCLOUD_PROJECT"
-sed -i "s|GOOGLE_CLOUD_PROJECT_PLACE_HOLDER|$GCLOUD_PROJECT|g" app.yaml
-cat app.yaml
-
-# check the current deployed version of the same service
-SERVICE_NAME="os-indexer"
-count=$(gcloud app services list --project $GCLOUD_PROJECT | grep $SERVICE_NAME | wc -l)
-if [ $count -gt 0 ]; then
-  CURRENT_VERSION=$(gcloud app services describe $SERVICE_NAME --project $GCLOUD_PROJECT --format=json | jq --raw-output '.split.allocations | keys[0]')
-else
-  CURRENT_VERSION=""
-fi
-
-NEW_VERSION=$BUILD_BUILDNUMBER #to keep it unique
-NEW_VERSION=$(echo "$NEW_VERSION" | tr _ - | tr . - | tr '[:upper:]' '[:lower:]')
-
-echo "Current version = $CURRENT_VERSION"
-echo "Version to be deployed = $NEW_VERSION"
-
-if [ "$NEW_VERSION" != "$CURRENT_VERSION" -o "$BUILD_FORCE_DEPLOY" = "true" ]
-then
-    gcloud app deploy --quiet --version=$NEW_VERSION --project=$GCLOUD_PROJECT app.yaml
-else
-    echo "Not deploying the application because $NEW_VERSION is already deployed and force deploy flag is not set to true"
-fi
diff --git a/pom.xml b/pom.xml
index 97614e804b863ff3d5a41f5fd99bff6843ac8d38..5cd598ac9325fe7d6199aeb12f8ecfb4cc296f02 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,19 +14,13 @@
     <groupId>org.opengroup.osdu.indexer</groupId>
     <artifactId>indexer-service</artifactId>
     <packaging>pom</packaging>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0.0</version>
     <description>Indexer Service</description>
-<!--    <modules>-->
-<!--        <module>indexer-service-root</module>-->
-<!--        <module>indexer-service-gcp</module>-->
-<!--        <module>indexer-service-azure</module>-->
-<!--    </modules>-->
 
     <properties>
         <java.version>1.8</java.version>
         <springfox-version>2.7.0</springfox-version>
         <spring-cloud.version>Greenwich.SR2</spring-cloud.version>
-<!--        <java.version>1.8</java.version>-->
 <!--        <maven.compiler.target>1.8</maven.compiler.target>-->
 <!--        <maven.compiler.source>1.8</maven.compiler.source>-->
 <!--        <maven.war.plugin>2.6</maven.war.plugin>-->
@@ -50,72 +44,55 @@
         </repository>
     </repositories>
 
+    <distributionManagement>
+        <repository>
+            <id>dev-azure-com-slb-des-ext-collaboration-os-core</id>
+            <url>https://pkgs.dev.azure.com/slb-des-ext-collaboration/_packaging/os-core/maven/v1</url>
+            <releases>
+                <enabled>true</enabled>
+            </releases>
+            <snapshots>
+                <enabled>true</enabled>
+            </snapshots>
+        </repository>
+    </distributionManagement>
+    
     <profiles>
         <profile>
-            <id>root</id>
+            <id>indexer-core</id>
             <activation>
                 <!-- this profile is active by default -->
                 <activeByDefault>true</activeByDefault>
             </activation>
 
             <modules>
-                <module>indexer-service-root</module>
+                <module>indexer-core</module>
             </modules>
         </profile>
-
         <profile>
-            <id>gcp</id>
+            <id>indexer-azure</id>
             <activation>
                 <property>
-                    <name>vendor</name>
-                    <value>gcp</value>
+                    <name>provider</name>
+                    <value>indexer-azure</value>
                 </property>
             </activation>
-
             <modules>
-                <module>indexer-service-gcp</module>
+                <module>provider/indexer-azure</module>
             </modules>
-
         </profile>
         <profile>
-            <id>azure</id>
+            <id>indexer-gcp</id>
             <activation>
                 <property>
-                    <name>vendor</name>
-                    <value>azure</value>
+                    <name>provider</name>
+                    <value>indexer-gcp</value>
                 </property>
             </activation>
-
             <modules>
-                <module>indexer-service-azure</module>
+                <module>provider/indexer-gcp</module>
             </modules>
-
         </profile>
-
-<!--        &lt;!&ndash; Unit test only &ndash;&gt;-->
-<!--        <profile>-->
-<!--            <id>dev</id>-->
-<!--            <properties>-->
-<!--                <skip.unit.tests>false</skip.unit.tests>-->
-<!--                <skip.integration.tests>true</skip.integration.tests>-->
-<!--            </properties>-->
-<!--        </profile>-->
-<!--        &lt;!&ndash; Integration test only &ndash;&gt;-->
-<!--        <profile>-->
-<!--            <id>integration-test</id>-->
-<!--            <properties>-->
-<!--                <skip.integration.tests>false</skip.integration.tests>-->
-<!--                <skip.unit.tests>true</skip.unit.tests>-->
-<!--            </properties>-->
-<!--        </profile>-->
-<!--        &lt;!&ndash; Unit and Integration tests combined &ndash;&gt;-->
-<!--        <profile>-->
-<!--            <id>test-all</id>-->
-<!--            <properties>-->
-<!--                <skip.integration.tests>false</skip.integration.tests>-->
-<!--                <skip.unit.tests>false</skip.unit.tests>-->
-<!--            </properties>-->
-<!--        </profile>-->
     </profiles>
 
 </project>
\ No newline at end of file
diff --git a/azure-pipelines.yml b/provider/indexer-azure/azure-build.yml
similarity index 55%
rename from azure-pipelines.yml
rename to provider/indexer-azure/azure-build.yml
index 36bd0f664139ff8946ecadafe698fb61f035c604..705d5f2168a7f1c6a077d21d9c69066ed673f303 100644
--- a/azure-pipelines.yml
+++ b/provider/indexer-azure/azure-build.yml
@@ -21,22 +21,19 @@ steps:
   displayName: 'build, test, code coverage'
   inputs:
     mavenPomFile: 'pom.xml'
-    options: '--settings ./indexer-service-root/maven/settings.xml -DVSTS_FEED_TOKEN=$(VSTS_FEED_TOKEN) -P root,gcp,azure'
-    #testResultsFiles: '**/*/TEST-*.xml'
-    #codeCoverageToolOption: JaCoCo
+    options: '--settings ./indexer-core/maven/settings.xml -DVSTS_FEED_TOKEN=$(VSTS_FEED_TOKEN)'
+    testResultsFiles: '**/*/TEST-*.xml'
+    codeCoverageToolOption: JaCoCo
     goals: 'install'
 
-- task: CopyFiles@2
-  displayName: 'Copy GCP artifacts to: $(build.artifactstagingdirectory)'
+- task: Maven@3
+  displayName: 'build, test, code coverage'
   inputs:
-    SourceFolder:
-    Contents: |
-      indexer-service-gcp/target/*-spring-boot.jar
-      indexer-service-gcp/src/main/appengine/app.yaml
-      indexer-service-gcp/src/main/resources/application.properties
-      indexer-service-gcp/scripts/deploy.sh
-    TargetFolder: '$(build.artifactstagingdirectory)'
-    flattenFolders: true
+    mavenPomFile: 'pom.xml'
+    options: '--settings ./provider/indexer-azure/maven/settings.xml -DVSTS_FEED_TOKEN=$(VSTS_FEED_TOKEN) -P indexer-azure'
+    testResultsFiles: '**/*/TEST-*.xml'
+    codeCoverageToolOption: JaCoCo
+    goals: 'package'
 
 - task: CopyFiles@2
   displayName: 'Copy Azure artifacts for maven deploy to: $(build.artifactstagingdirectory)'
@@ -44,9 +41,9 @@ steps:
     SourceFolder:
     Contents: |
       pom.xml
-      indexer-service-azure/maven/settings.xml
-      indexer-service-azure/pom.xml
-      indexer-service-azure/target/*-spring-boot.jar
+      provider/indexer-azure/maven/settings.xml
+      provider/indexer-azure/pom.xml
+      provider/indexer-azure/target/*-spring-boot.jar
     TargetFolder: '$(build.artifactstagingdirectory)'
     
 - task: PublishBuildArtifacts@1
diff --git a/indexer-service-azure/maven/settings.xml b/provider/indexer-azure/maven/settings.xml
similarity index 100%
rename from indexer-service-azure/maven/settings.xml
rename to provider/indexer-azure/maven/settings.xml
diff --git a/indexer-service-azure/pom.xml b/provider/indexer-azure/pom.xml
similarity index 96%
rename from indexer-service-azure/pom.xml
rename to provider/indexer-azure/pom.xml
index ab8a7cee1c8e87d6ea77b7a34679d677b5c1240a..7771caf252e9896f0b18a642648a04e6daa7426f 100644
--- a/indexer-service-azure/pom.xml
+++ b/provider/indexer-azure/pom.xml
@@ -23,12 +23,13 @@
     <parent>
         <groupId>org.opengroup.osdu.indexer</groupId>
         <artifactId>indexer-service</artifactId>
-        <version>1.0-SNAPSHOT</version>
+        <version>1.0.0</version>
+        <relativePath>../../pom.xml</relativePath>
     </parent>
 
-    <artifactId>indexer-service-azure</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <name>indexer-service-azure</name>
+    <artifactId>indexer-azure</artifactId>
+    <version>1.0.0</version>
+    <name>indexer-azure</name>
     <description>Indexer Service Azure</description>
     <packaging>jar</packaging>
 
@@ -92,8 +93,8 @@
 
         <dependency>
             <groupId>org.opengroup.osdu.indexer</groupId>
-            <artifactId>indexer-service-root</artifactId>
-            <version>1.0-SNAPSHOT</version>
+            <artifactId>indexer-core</artifactId>
+            <version>1.0.0</version>
         </dependency>
 
         <dependency>
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/IndexerAzureApplication.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/IndexerAzureApplication.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/IndexerAzureApplication.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/IndexerAzureApplication.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/ServletInitializer.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/ServletInitializer.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/ServletInitializer.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/ServletInitializer.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/api/AADController.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/api/AADController.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/api/AADController.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/api/AADController.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/AttributesCache.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/AttributesCache.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/AttributesCache.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/AttributesCache.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/CosmosDBSchemaCache.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/CosmosDBSchemaCache.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/CosmosDBSchemaCache.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/CosmosDBSchemaCache.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/ElasticCredentialsCache.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/ElasticCredentialsCache.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/ElasticCredentialsCache.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/ElasticCredentialsCache.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/IndexCache.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/IndexCache.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/IndexCache.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/IndexCache.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/JwtCache.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/JwtCache.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/JwtCache.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/JwtCache.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/KindsCache.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/KindsCache.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/KindsCache.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/KindsCache.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/SchemaCache.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/SchemaCache.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/SchemaCache.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/cache/SchemaCache.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/DpsLogFactory.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/DpsLogFactory.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/DpsLogFactory.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/DpsLogFactory.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/EntitlementsFactoryAzure.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/EntitlementsFactoryAzure.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/EntitlementsFactoryAzure.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/EntitlementsFactoryAzure.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/EntitlementsServiceAzure.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/EntitlementsServiceAzure.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/EntitlementsServiceAzure.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/EntitlementsServiceAzure.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/TenantFactoryImpl.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/TenantFactoryImpl.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/TenantFactoryImpl.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/TenantFactoryImpl.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/TenantInfoDoc.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/TenantInfoDoc.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/TenantInfoDoc.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/TenantInfoDoc.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/TenantInfoFactory.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/TenantInfoFactory.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/TenantInfoFactory.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/di/TenantInfoFactory.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/model/AADConfiguration.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/model/AADConfiguration.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/model/AADConfiguration.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/model/AADConfiguration.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/model/ElasticSettingSchema.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/model/ElasticSettingSchema.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/model/ElasticSettingSchema.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/model/ElasticSettingSchema.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/persistence/ElasticRepositoryCosmosDB.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/persistence/ElasticRepositoryCosmosDB.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/persistence/ElasticRepositoryCosmosDB.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/persistence/ElasticRepositoryCosmosDB.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/persistence/ElasticSettingSchemaRepositoryImpl.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/persistence/ElasticSettingSchemaRepositoryImpl.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/persistence/ElasticSettingSchemaRepositoryImpl.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/persistence/ElasticSettingSchemaRepositoryImpl.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/persistence/ElasticSettingsDoc.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/persistence/ElasticSettingsDoc.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/persistence/ElasticSettingsDoc.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/persistence/ElasticSettingsDoc.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/persistence/ISchemaRepository.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/persistence/ISchemaRepository.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/persistence/ISchemaRepository.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/persistence/ISchemaRepository.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/publish/PublisherImpl.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/publish/PublisherImpl.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/publish/PublisherImpl.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/publish/PublisherImpl.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/security/BasicAuthSecurityConfig.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/security/BasicAuthSecurityConfig.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/security/BasicAuthSecurityConfig.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/security/BasicAuthSecurityConfig.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/security/WhoamiController.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/security/WhoamiController.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/security/WhoamiController.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/security/WhoamiController.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/util/HeadersInfoAzureImpl.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/util/HeadersInfoAzureImpl.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/util/HeadersInfoAzureImpl.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/util/HeadersInfoAzureImpl.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/util/RequestInfoImpl.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/util/RequestInfoImpl.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/util/RequestInfoImpl.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/util/RequestInfoImpl.java
diff --git a/indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/util/ServiceAccountJwtClientImpl.java b/provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/util/ServiceAccountJwtClientImpl.java
similarity index 100%
rename from indexer-service-azure/src/main/java/org/opengroup/osdu/indexer/azure/util/ServiceAccountJwtClientImpl.java
rename to provider/indexer-azure/src/main/java/org/opengroup/osdu/indexer/azure/util/ServiceAccountJwtClientImpl.java
diff --git a/indexer-service-azure/src/main/resources/logback-spring.xml b/provider/indexer-azure/src/main/resources/logback-spring.xml
similarity index 100%
rename from indexer-service-azure/src/main/resources/logback-spring.xml
rename to provider/indexer-azure/src/main/resources/logback-spring.xml
diff --git a/indexer-service-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/CronServiceImplTest.java b/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/CronServiceImplTest.java
similarity index 100%
rename from indexer-service-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/CronServiceImplTest.java
rename to provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/CronServiceImplTest.java
diff --git a/indexer-service-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/ElasticSettingServiceTest.java b/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/ElasticSettingServiceTest.java
similarity index 100%
rename from indexer-service-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/ElasticSettingServiceTest.java
rename to provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/ElasticSettingServiceTest.java
diff --git a/indexer-service-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/IndexCopyServiceImplTest.java b/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/IndexCopyServiceImplTest.java
similarity index 100%
rename from indexer-service-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/IndexCopyServiceImplTest.java
rename to provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/IndexCopyServiceImplTest.java
diff --git a/indexer-service-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/IndexerMappingServiceTest.java b/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/IndexerMappingServiceTest.java
similarity index 100%
rename from indexer-service-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/IndexerMappingServiceTest.java
rename to provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/IndexerMappingServiceTest.java
diff --git a/indexer-service-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/IndexerSchemaServiceTest.java b/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/IndexerSchemaServiceTest.java
similarity index 100%
rename from indexer-service-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/IndexerSchemaServiceTest.java
rename to provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/IndexerSchemaServiceTest.java
diff --git a/indexer-service-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/IndexerServiceTest.java b/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/IndexerServiceTest.java
similarity index 100%
rename from indexer-service-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/IndexerServiceTest.java
rename to provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/IndexerServiceTest.java
diff --git a/indexer-service-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/ReindexServiceTest.java b/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/ReindexServiceTest.java
similarity index 100%
rename from indexer-service-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/ReindexServiceTest.java
rename to provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/ReindexServiceTest.java
diff --git a/indexer-service-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/StorageServiceTest.java b/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/StorageServiceTest.java
similarity index 100%
rename from indexer-service-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/StorageServiceTest.java
rename to provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/StorageServiceTest.java
diff --git a/indexer-service-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/TenantInfoServiceTest.java b/provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/TenantInfoServiceTest.java
similarity index 100%
rename from indexer-service-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/TenantInfoServiceTest.java
rename to provider/indexer-azure/src/test/java/org/opengroup/osdu/indexer/azure/service/TenantInfoServiceTest.java
diff --git a/provider/indexer-gcp/azure-build.yml b/provider/indexer-gcp/azure-build.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d100317636cdb97d8fabdf458c40dd6f88d0e096
--- /dev/null
+++ b/provider/indexer-gcp/azure-build.yml
@@ -0,0 +1,48 @@
+# Maven
+# Build your Java project and run tests with Apache Maven.
+# Add steps that analyze code, save build artifacts, deploy, and more:
+# https://docs.microsoft.com/azure/devops/pipelines/languages/java
+
+trigger:
+  branches:
+    include:
+    - master
+  paths:
+    exclude:
+      - README.md
+      - .gitignore
+
+pool:
+  name: dps-build
+  demands: maven
+
+steps:
+- task: Maven@3
+  displayName: 'build, test, code coverage'
+  inputs:
+    mavenPomFile: 'pom.xml'
+    options: '--settings ./indexer-core/maven/settings.xml -DVSTS_FEED_TOKEN=$(VSTS_FEED_TOKEN)'
+    testResultsFiles: '**/*/TEST-*.xml'
+    codeCoverageToolOption: JaCoCo
+    goals: 'install'
+
+- task: Maven@3
+  displayName: 'build, test, code coverage'
+  inputs:
+    mavenPomFile: 'pom.xml'
+    options: '--settings ./provider/indexer-gcp/maven/settings.xml -DVSTS_FEED_TOKEN=$(VSTS_FEED_TOKEN) -P indexer-gcp'
+    testResultsFiles: '**/*/TEST-*.xml'
+    codeCoverageToolOption: JaCoCo
+    goals: 'package'
+
+- task: ShellScript@2
+  displayName: 'Bash Script: Stage artifacts'
+  inputs:
+    scriptPath: 'provider/indexer-gcp/scripts/stage-artifacts.sh'
+    args: '$(Build.ArtifactStagingDirectory)'
+
+- task: PublishBuildArtifacts@1
+  displayName: 'Publish Artifact: drop'
+  inputs:
+    PathtoPublish: '$(build.artifactstagingdirectory)'
+  condition: succeededOrFailed()
diff --git a/provider/indexer-gcp/maven/settings.xml b/provider/indexer-gcp/maven/settings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..601aa71ea3679d558de22b4e530c9dc2a9467f7f
--- /dev/null
+++ b/provider/indexer-gcp/maven/settings.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
+	<servers>
+		<server>
+			<id>dev-azure-com-slb-des-ext-collaboration-os-core</id>
+			<username>os-core</username>
+			<!-- Treat this auth token like a password. Do not share it with anyone, including Microsoft support. -->
+			<!-- The generated token expires on or before 10/8/2019 -->
+			<password>${VSTS_FEED_TOKEN}</password>
+		</server>
+	</servers>
+</settings>
\ No newline at end of file
diff --git a/indexer-service-gcp/pom.xml b/provider/indexer-gcp/pom.xml
similarity index 89%
rename from indexer-service-gcp/pom.xml
rename to provider/indexer-gcp/pom.xml
index d401dc4bde54c384e3c40317d30462f62bcb68bb..dcaf688d5dbb15d42cd02b6d12338539bdcc091c 100644
--- a/indexer-service-gcp/pom.xml
+++ b/provider/indexer-gcp/pom.xml
@@ -7,20 +7,31 @@
     <parent>
         <groupId>org.opengroup.osdu.indexer</groupId>
         <artifactId>indexer-service</artifactId>
-        <version>1.0-SNAPSHOT</version>
+        <version>1.0.0</version>
     </parent>
 
-    <artifactId>indexer-service-gcp</artifactId>
-    <version>1.0-SNAPSHOT</version>
-    <name>indexer-service-gcp</name>
-    <description>Indexer Service GCP</description>
+    <artifactId>indexer-gcp</artifactId>
+    <version>1.0.0</version>
+    <name>indexer-gcp</name>
+    <description>Indexer Service GCP App Engine</description>
     <packaging>jar</packaging>
-
+    <repositories>
+        <repository>
+            <id>dev-azure-com-slb-des-ext-collaboration-os-core</id>
+            <url>https://pkgs.dev.azure.com/slb-des-ext-collaboration/_packaging/os-core/maven/v1</url>
+            <releases>
+            <enabled>true</enabled>
+            </releases>
+            <snapshots>
+            <enabled>true</enabled>
+            </snapshots>
+        </repository>
+    </repositories>
     <dependencies>
         <dependency>
             <groupId>org.opengroup.osdu.indexer</groupId>
-            <artifactId>indexer-service-root</artifactId>
-            <version>1.0-SNAPSHOT</version>
+            <artifactId>indexer-core</artifactId>
+            <version>1.0.0</version>
         </dependency>
 
         <dependency>
@@ -174,7 +185,7 @@
                 <artifactId>appengine-maven-plugin</artifactId>
                 <version>1.3.2</version>
                 <configuration>
-                    <version>2</version>
+                    <version>1</version>
                 </configuration>
             </plugin>
         </plugins>
diff --git a/provider/indexer-gcp/scripts/config.sh b/provider/indexer-gcp/scripts/config.sh
new file mode 100644
index 0000000000000000000000000000000000000000..102b1bc9b5e86f5a8d93cc5697a7dd0739fbeb5e
--- /dev/null
+++ b/provider/indexer-gcp/scripts/config.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+if [ "$PROJECT_ID" = "" ]
+then
+    export PROJECT_ID=$(gcloud config get-value project)
+fi
diff --git a/provider/indexer-gcp/scripts/deploy.sh b/provider/indexer-gcp/scripts/deploy.sh
new file mode 100644
index 0000000000000000000000000000000000000000..ae88fe8fe872e22bef9b69507b5ab490cfb7a002
--- /dev/null
+++ b/provider/indexer-gcp/scripts/deploy.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+# deploy script
+
+# Exit as soon as a command fails
+set -e
+
+SCRIPTS_DIR=$(dirname $0)
+DROP_DIR=$(dirname $SCRIPTS_DIR)
+
+# Go to drop directory
+cd $DROP_DIR
+# convert to full path
+DROP_DIR=`pwd`
+echo "Current working directory: $DROP_DIR"
+
+DEPLOY_DIR=$DROP_DIR/deploy
+
+if [ -s $DEPLOY_DIR ]; then
+  rm -rf $DEPLOY_DIR/*
+else
+  mkdir $DEPLOY_DIR
+fi
+
+DEPLOY_SCRIPTS_DIR=$DEPLOY_DIR/scripts
+
+mkdir -p $DEPLOY_SCRIPTS_DIR
+
+echo "Copy artifacts to folder: $DEPLOY_DIR"
+cp $DROP_DIR/app.yaml $DEPLOY_DIR
+cp $DROP_DIR/indexer-gcp-*.jar  $DEPLOY_DIR
+# cp $DROP_DIR/testing.zip  $DEPLOY_DIR
+cp $DROP_DIR/scripts/* $DEPLOY_SCRIPTS_DIR
+chmod a+x $DEPLOY_SCRIPTS_DIR/*.sh
+
+# Go to deploy directory
+cd $DEPLOY_DIR
+echo "Current working directory: $DEPLOY_DIR"
+
+source $DEPLOY_SCRIPTS_DIR/config.sh
+
+echo "Deploying to gcp"
+$DEPLOY_SCRIPTS_DIR/deploy2gcp.sh
+echo "Deployed to gcp"
\ No newline at end of file
diff --git a/provider/indexer-gcp/scripts/deploy2gcp.sh.tmpl b/provider/indexer-gcp/scripts/deploy2gcp.sh.tmpl
new file mode 100644
index 0000000000000000000000000000000000000000..4f2faf192b621ffcb074f87415f1a02d01f96637
--- /dev/null
+++ b/provider/indexer-gcp/scripts/deploy2gcp.sh.tmpl
@@ -0,0 +1,85 @@
+#!/bin/bash
+
+# Exit as soon as a command fails
+set -e
+
+{{$definitionName := getenv "BUILD_DEFINITIONNAME" -}}
+{{$sourceBranchName := getenv "BUILD_SOURCEBRANCHNAME" -}}
+{{$buildNumber := getenv "BUILD_BUILDNUMBER" -}}
+
+BUILD_DEFINITIONNAME={{$definitionName}}
+BUILD_SOURCEBRANCHNAME={{$sourceBranchName}}
+BUILD_BUILDNUMBER={{$buildNumber}}
+
+SCRIPTS_DIR=$(dirname $0)
+DEPLOY_DIR=$(dirname $SCRIPTS_DIR)
+
+# Go to deploy directory
+cd $DEPLOY_DIR
+# convert to full path
+DEPLOY_DIR=`pwd`
+echo "Current working directory: $DEPLOY_DIR"
+
+source $SCRIPTS_DIR/config.sh
+
+echo "This script will deploy the app to $PROJECT_ID"
+
+if [ "$REGION" = "" ]
+then
+    REGION=$(gcloud config get-value compute/region)
+fi
+
+echo "Environment"
+echo "  Project = $PROJECT_ID"
+echo "  Compute zone = $CLOUDSDK_COMPUTE_ZONE"
+echo "  Build definition = $BUILD_DEFINITIONNAME"
+echo "  Source branch = $BUILD_SOURCEBRANCHNAME"
+echo "  Build number = $BUILD_BUILDNUMBER"
+echo "  Directory = $DEPLOY_DIR"
+
+VERSION_NUMBER=$BUILD_BUILDNUMBER
+VERSION_NUMBER=$(echo "$VERSION_NUMBER" | tr _ - | tr . - | tr '[:upper:]' '[:lower:]')
+
+count=$(gcloud app services list --project $PROJECT_ID | grep indexer-service | wc -l)
+if [ $count -gt 0 ]; then
+  CURRENT_VERSION=$(gcloud app services describe indexer-service --project $PROJECT_ID --format=json | jq --raw-output '.split.allocations | keys[0]')
+else
+  CURRENT_VERSION=""
+fi
+
+echo "Current version = $CURRENT_VERSION"
+echo "Version to be deployed = $VERSION_NUMBER"
+
+if [ "$VERSION_NUMBER" != "$CURRENT_VERSION" -o "$BUILD_FORCE_DEPLOY" = "true" -o "$BUILD_FORCE_DEPLOY" = "True" -o "$BUILD_FORCE_DEPLOY" = "TRUE" ]
+then
+    if [ "$BUILD_SOURCEBRANCHNAME" = "master" -o "$BUILD_FORCE_DEPLOY" = "true" -o "$BUILD_FORCE_DEPLOY" = "True" -o "$BUILD_FORCE_DEPLOY" = "TRUE" ]
+    then
+        SERVICE_NAME="indexer-service"
+        # If the version $VERSION_NUMBER already exists, but not serving traffic, gcloud app deploy will fail. In this case, simply start that version and migrate traffic to it
+        doesVersionExist=`gcloud app versions list --service=$SERVICE_NAME --project=$PROJECT_ID | grep $VERSION_NUMBER | wc -l`
+        if [ "$doesVersionExist" -eq "1" ]
+        then
+            echo "Starting version $VERSION_NUMBER"
+            gcloud app versions start $VERSION_NUMBER --service=$SERVICE_NAME --project=$PROJECT_ID --quiet
+            echo "Migrating all traffic to version $VERSION_NUMBER"
+            gcloud app services set-traffic $SERVICE_NAME --splits $VERSION_NUMBER=1 --project=$PROJECT_ID --quiet
+        else
+            export INDEXER_HOSTNAME="indexer-service-dot-$PROJECT_ID.appspot.com"
+
+            echo "Replacing GOOGLE_CLOUD_PROJECT_PLACE_HOLDER with $PROJECT_ID"
+            sed -i "s|GOOGLE_CLOUD_PROJECT_PLACE_HOLDER|$PROJECT_ID|g" app.yaml
+
+            echo "Content of app.yaml:"
+            cat app.yaml
+
+            echo "Deploying $INDEXER_HOSTNAME service"
+            gcloud app deploy --project=$PROJECT_ID --version=$VERSION_NUMBER app.yaml
+            echo "$INDEXER_HOSTNAME service deployed successfully"
+
+        fi
+    else
+        echo "Not deploying the application because build source branch was not master"
+    fi
+else
+    echo "Not deploying the application because $VERSION_NUMBER is already deployed and force deploy flag is not set to true"
+fi
diff --git a/provider/indexer-gcp/scripts/stage-artifacts.sh b/provider/indexer-gcp/scripts/stage-artifacts.sh
new file mode 100644
index 0000000000000000000000000000000000000000..af42acd727039188c60ada5d6c8a4d65ca0f3fa3
--- /dev/null
+++ b/provider/indexer-gcp/scripts/stage-artifacts.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+# Exit as soon as a command fails
+set -e
+
+if [ ! $# = 1 ]; then
+    echo "Usage: $0 dir"
+    exit 1
+fi
+
+STAGE_DIR=$1
+
+cd $BUILD_REPOSITORY_LOCALPATH/provider/indexer-gcp/scripts
+
+source ./config.sh
+
+#apply gomplate to deploy2gcp.sh.tmpl
+gomplate -f ./deploy2gcp.sh.tmpl -o ./deploy2gcp.sh
+chmod a+x ./*.sh
+echo "Contents of deploy2gcp.sh:"
+cat ./deploy2gcp.sh
+
+cd ..
+
+# Upload all build and deploy scripts as artifacts
+cp -R ./scripts $STAGE_DIR
+# Upload the build generated .jar file as an artifact
+cp ./target/indexer-gcp-1.0.0.jar $STAGE_DIR
+
+echo "Staging deployment artifacts to folder: $STAGE_DIR"
+cp ./src/main/appengine/app.yaml $STAGE_DIR
+
+# set current directory back to build repo root
+cd $BUILD_REPOSITORY_LOCALPATH
+
+# Zip integration tests and upload it as artifact
+# pushd testing
+# zip -r testing.zip *
+# cp testing.zip $STAGE_DIR
+# popd
+
diff --git a/indexer-service-gcp/src/main/appengine/app.yaml b/provider/indexer-gcp/src/main/appengine/app.yaml
similarity index 97%
rename from indexer-service-gcp/src/main/appengine/app.yaml
rename to provider/indexer-gcp/src/main/appengine/app.yaml
index 730fb9b3a7f858a87ea128206d7d48c434d3d078..8b890f9fdbfc04e07ca15a5e11dcc1c1abf42a0c 100644
--- a/indexer-service-gcp/src/main/appengine/app.yaml
+++ b/provider/indexer-gcp/src/main/appengine/app.yaml
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-service: os-indexer
+service: indexer-service
 
 runtime: java
 env: flex
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/IndexerGcpApplication.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/IndexerGcpApplication.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/IndexerGcpApplication.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/IndexerGcpApplication.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/ServletInitializer.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/ServletInitializer.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/ServletInitializer.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/ServletInitializer.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/auth/AuthorizationServiceEntitlements.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/auth/AuthorizationServiceEntitlements.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/auth/AuthorizationServiceEntitlements.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/auth/AuthorizationServiceEntitlements.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/cache/AttributesCache.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/AttributesCache.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/cache/AttributesCache.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/AttributesCache.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/cache/DatastoreCredentialCache.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/DatastoreCredentialCache.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/cache/DatastoreCredentialCache.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/DatastoreCredentialCache.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/cache/ElasticCredentialsCache.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/ElasticCredentialsCache.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/cache/ElasticCredentialsCache.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/ElasticCredentialsCache.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/cache/IndexCache.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/IndexCache.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/cache/IndexCache.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/IndexCache.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/cache/JwtCache.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/JwtCache.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/cache/JwtCache.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/JwtCache.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/cache/KindsCache.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/KindsCache.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/cache/KindsCache.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/KindsCache.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/cache/SchemaCache.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/SchemaCache.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/cache/SchemaCache.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/cache/SchemaCache.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/di/DpsLogFactory.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/di/DpsLogFactory.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/di/DpsLogFactory.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/di/DpsLogFactory.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/di/PubSubExtensionsFactory.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/di/PubSubExtensionsFactory.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/di/PubSubExtensionsFactory.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/di/PubSubExtensionsFactory.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/di/TenantFactoryService.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/di/TenantFactoryService.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/di/TenantFactoryService.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/di/TenantFactoryService.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/di/TenantInfoFactory.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/di/TenantInfoFactory.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/di/TenantInfoFactory.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/di/TenantInfoFactory.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/kms/KmsClient.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/kms/KmsClient.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/kms/KmsClient.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/kms/KmsClient.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/middleware/IndexFilter.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/middleware/IndexFilter.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/middleware/IndexFilter.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/middleware/IndexFilter.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/DatastoreCredential.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/DatastoreCredential.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/DatastoreCredential.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/DatastoreCredential.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/DatastoreFactory.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/DatastoreFactory.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/DatastoreFactory.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/DatastoreFactory.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/ElasticRepositoryDatastore.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/ElasticRepositoryDatastore.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/ElasticRepositoryDatastore.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/persistence/ElasticRepositoryDatastore.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/publish/PublisherImpl.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/publish/PublisherImpl.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/publish/PublisherImpl.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/publish/PublisherImpl.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/security/GSuiteSecurityConfig.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/security/GSuiteSecurityConfig.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/security/GSuiteSecurityConfig.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/security/GSuiteSecurityConfig.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/util/HeadersInfoGcpImpl.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/HeadersInfoGcpImpl.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/util/HeadersInfoGcpImpl.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/HeadersInfoGcpImpl.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/util/RequestInfoImpl.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/RequestInfoImpl.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/util/RequestInfoImpl.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/RequestInfoImpl.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/util/ServiceAccountJwtGcpClientImpl.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/ServiceAccountJwtGcpClientImpl.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/util/ServiceAccountJwtGcpClientImpl.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/ServiceAccountJwtGcpClientImpl.java
diff --git a/indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/util/TraceIdExtractor.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/TraceIdExtractor.java
similarity index 100%
rename from indexer-service-gcp/src/main/java/org/opengroup/osdu/indexer/util/TraceIdExtractor.java
rename to provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/TraceIdExtractor.java
diff --git a/indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/auth/AuthorizationServiceEntitlementsTest.java b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/auth/AuthorizationServiceEntitlementsTest.java
similarity index 100%
rename from indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/auth/AuthorizationServiceEntitlementsTest.java
rename to provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/auth/AuthorizationServiceEntitlementsTest.java
diff --git a/indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/service/CronServiceImplTest.java b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/CronServiceImplTest.java
similarity index 100%
rename from indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/service/CronServiceImplTest.java
rename to provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/CronServiceImplTest.java
diff --git a/indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/service/ElasticSettingServiceTest.java b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/ElasticSettingServiceTest.java
similarity index 100%
rename from indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/service/ElasticSettingServiceTest.java
rename to provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/ElasticSettingServiceTest.java
diff --git a/indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexCopyServiceImplTest.java b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexCopyServiceImplTest.java
similarity index 100%
rename from indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexCopyServiceImplTest.java
rename to provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexCopyServiceImplTest.java
diff --git a/indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceTest.java b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceTest.java
similarity index 100%
rename from indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceTest.java
rename to provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexerMappingServiceTest.java
diff --git a/indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexerSchemaServiceTest.java b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexerSchemaServiceTest.java
similarity index 100%
rename from indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexerSchemaServiceTest.java
rename to provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexerSchemaServiceTest.java
diff --git a/indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexerServiceTest.java b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexerServiceTest.java
similarity index 100%
rename from indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexerServiceTest.java
rename to provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexerServiceTest.java
diff --git a/indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/service/ReindexServiceTest.java b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/ReindexServiceTest.java
similarity index 100%
rename from indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/service/ReindexServiceTest.java
rename to provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/ReindexServiceTest.java
diff --git a/indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/service/StorageServiceTest.java b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/StorageServiceTest.java
similarity index 100%
rename from indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/service/StorageServiceTest.java
rename to provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/StorageServiceTest.java
diff --git a/indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/service/TenantInfoServiceTest.java b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/TenantInfoServiceTest.java
similarity index 100%
rename from indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/service/TenantInfoServiceTest.java
rename to provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/TenantInfoServiceTest.java
diff --git a/indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/util/HeadersInfoGcpImplTest.java b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/util/HeadersInfoGcpImplTest.java
similarity index 100%
rename from indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/util/HeadersInfoGcpImplTest.java
rename to provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/util/HeadersInfoGcpImplTest.java
diff --git a/indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/util/ServiceAccountJwtGcpClientImplTest.java b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/util/ServiceAccountJwtGcpClientImplTest.java
similarity index 100%
rename from indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/util/ServiceAccountJwtGcpClientImplTest.java
rename to provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/util/ServiceAccountJwtGcpClientImplTest.java
diff --git a/indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/util/TraceIdExtractorTest.java b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/util/TraceIdExtractorTest.java
similarity index 100%
rename from indexer-service-gcp/src/test/java/org/opengroup/osdu/indexer/util/TraceIdExtractorTest.java
rename to provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/util/TraceIdExtractorTest.java
diff --git a/indexer-service-root/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/provider/indexer-gcp/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
similarity index 100%
rename from indexer-service-root/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
rename to provider/indexer-gcp/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker