diff --git a/indexer-core/pom.xml b/indexer-core/pom.xml
index bdcfd6912cc3a867e1782b3cb0be421829ee4e31..ba48b3cc7976a73c3b69b4433ca9110e91f03562 100644
--- a/indexer-core/pom.xml
+++ b/indexer-core/pom.xml
@@ -4,12 +4,12 @@
 	<parent>
 		<groupId>org.opengroup.osdu.indexer</groupId>
 		<artifactId>indexer-service</artifactId>
-		<version>0.8.0-SNAPSHOT</version>
+		<version>0.9.0-SNAPSHOT</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 
 	<artifactId>indexer-core</artifactId>
-	<version>0.8.0-SNAPSHOT</version>
+	<version>0.9.0-SNAPSHOT</version>
 	<name>indexer-core</name>
 	<description>Indexer Service Core</description>
 	<packaging>jar</packaging>
diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/PropertiesProcessor.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/PropertiesProcessor.java
index 52e171dfa1bf2cf76508a912d04b5ade3768fafe..d0dd334ca3833344ead7fbd6a24a1ef8ec2c019c 100644
--- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/PropertiesProcessor.java
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/PropertiesProcessor.java
@@ -114,22 +114,26 @@ public class PropertiesProcessor {
 
     private String getDefinitionIdentity(String definitionSubRef) {
         String[] components = definitionSubRef.split(":");
-        if (components.length < 4) {
-            throw new AppException(HttpStatus.SC_CONFLICT, "Wrong definition format:" + definitionSubRef,
-                    "Wrong definition format:" + definitionSubRef);
+        switch (components.length) {
+            case 1:
+                return components[0];
+            case 4:
+                return components[2];
         }
-
-        return components[2];
+        throw new AppException(HttpStatus.SC_CONFLICT, "Wrong definition format:" + definitionSubRef,
+                "Wrong definition format:" + definitionSubRef);
     }
 
     private String getDefinitionColonVersion(String definitionSubRef) {
         String[] components = definitionSubRef.split(":");
-        if (components.length < 4) {
-            throw new AppException(HttpStatus.SC_CONFLICT, "Wrong definition format:" + definitionSubRef,
-                    "Wrong definition format:" + definitionSubRef);
+        switch (components.length) {
+            case 1:
+                return ":1.0.0";
+            case 4:
+                return ":" + components[3];
         }
-
-        return ":" + components[3];
+        throw new AppException(HttpStatus.SC_CONFLICT, "Wrong definition format:" + definitionSubRef,
+                "Wrong definition format:" + definitionSubRef);
     }
 
     private Stream<Map<String, Object>> processOfItems(List<AllOfItem> allOf, List<AllOfItem> anyOf, List<AllOfItem> oneOf) {
diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/readme.md b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/readme.md
index aafac004ecb70a82185b0b2f9ebd52e6071c23e5..4c39a276469a7a3b43d7c4caf2d78d940fb70a42 100644
--- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/readme.md
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/readme.md
@@ -5,7 +5,7 @@ Purpose
 -------
 
 The purpose of this document is to describe schema conversion from the
-Schema Service format to the Storage Service format.
+Schema Service formats to the Storage Service format.
 
 Storage Service schema has the following JSON format
 ----------------------------------------------------
@@ -162,7 +162,7 @@ For instance
 
 ```json
 opendes:wks:AbstractAnyCrsFeatureCollection:1.0.0
-opendes:wks:anyJsonFeatureCollection
+opendes:wks:anyJsonFeatureCollection:1.0.0
 ```
 
 Ignored definition(-s) name(-s) are not included into Storage Service schema:
@@ -318,14 +318,14 @@ For instance
 ```json
 {
   "definitions": {
-    "opendes:wks:wellboreData1:1.0.0": {
+    "wellboreData1": {
       "properties": {
         "prop1": {
           "type": "string"
         }
       }
     },
-    "opendes:wks:wellboreData2:1.0.0": {
+    "wellboreData2": {
       "properties": {
         "prop2": {
           "type": "string"
@@ -339,11 +339,11 @@ For instance
         {
           "anyOf": [
             {
-              "$ref": "#/definitions/opendes:wks:wellboreData1:1.0.0"
+              "$ref": "#/definitions/wellboreData1"
             } ],
           "oneOf": [
             {
-              "$ref": "#/definitions/opendes:wks:wellboreData2:1.0.0"
+              "$ref": "#/definitions/wellboreData2"
             }
           ]
         }
diff --git a/indexer-core/src/test/resources/converter/tags/allOf/allOf-inside-allOf.json b/indexer-core/src/test/resources/converter/tags/allOf/allOf-inside-allOf.json
index 950a7ed62ef135be3b6518de449bf78e60eea974..8ba3af2519d300e8dfcbcc17f77f8cf12bfb3bb0 100644
--- a/indexer-core/src/test/resources/converter/tags/allOf/allOf-inside-allOf.json
+++ b/indexer-core/src/test/resources/converter/tags/allOf/allOf-inside-allOf.json
@@ -1,27 +1,27 @@
 {
   "definitions": {
-    "opendes:wks:wellboreData1:1.0.0": {
+    "wellboreData1": {
       "properties": {
         "prop1": {
           "type": "string"
         }
       }
     },
-    "opendes:wks:wellboreData2:1.0.0": {
+    "wellboreData2": {
       "properties": {
         "prop2": {
           "type": "string"
         }
       }
     },
-    "opendes:wks:wellboreData3:1.0.0": {
+    "wellboreData3": {
       "properties": {
         "prop3": {
           "type": "string"
         }
       }
     },
-    "opendes:wks:wellboreData4:1.0.0": {
+    "wellboreData4": {
       "properties": {
         "prop4": {
           "type": "string"
@@ -35,18 +35,18 @@
         {
           "allOf": [
             {
-              "$ref": "#/definitions/opendes:wks:wellboreData1:1.0.0"
+              "$ref": "#/definitions/wellboreData1"
             },
             {
-              "$ref": "#/definitions/opendes:wks:wellboreData2:1.0.0"
+              "$ref": "#/definitions/wellboreData2"
             }
           ]
         },
         {
-          "$ref": "#/definitions/opendes:wks:wellboreData3:1.0.0"
+          "$ref": "#/definitions/wellboreData3"
         },
         {
-          "$ref": "#/definitions/opendes:wks:wellboreData4:1.0.0"
+          "$ref": "#/definitions/wellboreData4"
         }
       ]
     }
diff --git a/indexer-core/src/test/resources/converter/tags/allOf/allOf-inside-property.json b/indexer-core/src/test/resources/converter/tags/allOf/allOf-inside-property.json
index ec3efcd3cefad7952c7b2a3beedcd19ef2ef1d08..66df67afc03fad6e76a526399253a2d610afb8a4 100644
--- a/indexer-core/src/test/resources/converter/tags/allOf/allOf-inside-property.json
+++ b/indexer-core/src/test/resources/converter/tags/allOf/allOf-inside-property.json
@@ -1,6 +1,6 @@
 {
   "definitions": {
-    "opendes:wks:def1:1.0.0": {
+    "def1": {
       "properties": {
         "prop1": {
           "type": "string"
@@ -14,12 +14,12 @@
         "FacilityName": {
           "allOf": [
             {
-              "$ref": "#/definitions/opendes:wks:def1:1.0.0"
+              "$ref": "#/definitions/def1"
             },
             {
               "properties": {
                 "val" : {
-                "type": "string" }
+                  "type": "string" }
               }
             }
           ]
diff --git a/indexer-core/src/test/resources/converter/tags/allOf/indefinitions.json b/indexer-core/src/test/resources/converter/tags/allOf/indefinitions.json
index db27b0b957d00516a53dbca08b5755c71c05b3fe..0064dd0ae4bc8ee01c7dff273f986a762f05ead7 100644
--- a/indexer-core/src/test/resources/converter/tags/allOf/indefinitions.json
+++ b/indexer-core/src/test/resources/converter/tags/allOf/indefinitions.json
@@ -1,16 +1,16 @@
 {
   "definitions": {
-    "opendes:wks:wellboreData1:1.0.0": {
+    "wellboreData1": {
       "properties": {
         "prop1": {
           "type": "string"
         }
       }
     },
-    "opendes:wks:wellboreData2:1.0.0": {
+    "wellboreData2": {
       "allOf": [
         {
-          "$ref": "#/definitions/opendes:wks:wellboreData1:1.0.0"
+          "$ref": "#/definitions/wellboreData1"
         }
       ]
     }
@@ -20,7 +20,7 @@
       "type": "object",
       "properties": {
         "Field": {
-          "$ref": "#/definitions/opendes:wks:wellboreData2:1.0.0"
+          "$ref": "#/definitions/wellboreData2"
         }
       }
     }
diff --git a/indexer-core/src/test/resources/converter/tags/mixAllAnyOneOf/mix.json b/indexer-core/src/test/resources/converter/tags/mixAllAnyOneOf/mix.json
index c94d1649bf33ddf0c9a8929f9f43f8496056a628..2eb9de93a9911ad6407366a362fa0604219f7361 100644
--- a/indexer-core/src/test/resources/converter/tags/mixAllAnyOneOf/mix.json
+++ b/indexer-core/src/test/resources/converter/tags/mixAllAnyOneOf/mix.json
@@ -1,27 +1,27 @@
 {
   "definitions": {
-    "opendes:wks:wellboreData1:1.0.0": {
+    "wellboreData1": {
       "properties": {
         "prop1": {
           "type": "string"
         }
       }
     },
-    "opendes:wks:wellboreData2:1.0.0": {
+    "wellboreData2": {
       "properties": {
         "prop2": {
           "type": "string"
         }
       }
     },
-    "opendes:wks:wellboreData3:1.0.0": {
+    "wellboreData3": {
       "properties": {
         "prop3": {
           "type": "string"
         }
       }
     },
-    "opendes:wks:wellboreData4:1.0.0": {
+    "wellboreData4": {
       "properties": {
         "prop4": {
           "type": "string"
@@ -35,19 +35,19 @@
         {
           "anyOf": [
             {
-              "$ref": "#/definitions/opendes:wks:wellboreData1:1.0.0"
+              "$ref": "#/definitions/wellboreData1"
             } ],
           "oneOf": [
             {
-              "$ref": "#/definitions/opendes:wks:wellboreData2:1.0.0"
+              "$ref": "#/definitions/wellboreData2"
             }
           ]
         },
         {
-          "$ref": "#/definitions/opendes:wks:wellboreData3:1.0.0"
+          "$ref": "#/definitions/wellboreData3"
         },
         {
-          "$ref": "#/definitions/opendes:wks:wellboreData4:1.0.0"
+          "$ref": "#/definitions/wellboreData4"
         }
       ]
     }
diff --git a/indexer-core/src/test/resources/converter/tags/oneOf/indefinitions.json b/indexer-core/src/test/resources/converter/tags/oneOf/indefinitions.json
index ab87712afe11ccbd52120cbc0abb89b1a26210e1..4733286c10bd2d081ae85fa44ee22d499a86908d 100644
--- a/indexer-core/src/test/resources/converter/tags/oneOf/indefinitions.json
+++ b/indexer-core/src/test/resources/converter/tags/oneOf/indefinitions.json
@@ -1,16 +1,16 @@
 {
   "definitions": {
-    "opendes:wks:wellboreData1:1.0.0": {
+    "wellboreData1": {
       "properties": {
         "prop1": {
           "type": "string"
         }
       }
     },
-    "opendes:wks:wellboreData2:1.0.0": {
+    "wellboreData2": {
       "anyOf": [
         {
-          "$ref": "#/definitions/opendes:wks:wellboreData1:1.0.0"
+          "$ref": "#/definitions/wellboreData1"
         }
       ]
     }
@@ -20,7 +20,7 @@
       "type": "object",
       "properties": {
         "Field": {
-          "$ref": "#/definitions/opendes:wks:wellboreData2:1.0.0"
+          "$ref": "#/definitions/wellboreData2"
         }
       }
     }
diff --git a/indexer-core/src/test/resources/converter/wks/slb_wke_wellbore.json b/indexer-core/src/test/resources/converter/wks/slb_wke_wellbore.json
index 32ca4d6d3bee19fcfb397abfb292d3522964fdb3..4750faf2cd40de8a375ee67350af2f6eea1fe295 100644
--- a/indexer-core/src/test/resources/converter/wks/slb_wke_wellbore.json
+++ b/indexer-core/src/test/resources/converter/wks/slb_wke_wellbore.json
@@ -3,7 +3,7 @@
   "$license": "Copyright 2017-2020, Schlumberger\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
   "$schema": "http://json-schema.org/draft-07/schema#",
   "definitions": {
-    "opendes:wks:core_dl_geopoint:1.0.0": {
+    "core_dl_geopoint": {
       "description": "A 2D point location in latitude and longitude referenced to WGS 84 if not specified otherwise.",
       "properties": {
         "latitude": {
@@ -28,7 +28,7 @@
       "title": "2D Map Location",
       "type": "object"
     },
-    "opendes:wks:geoJsonFeature:1.0.0": {
+    "geoJsonFeature": {
       "properties": {
         "bbox": {
           "items": {
@@ -40,27 +40,27 @@
         "geometry": {
           "oneOf": [
             {
-              "$ref": "#/definitions/opendes:wks:geoJsonPoint:1.0.0",
+              "$ref": "#/definitions/geoJsonPoint",
               "title": "GeoJSON Point"
             },
             {
-              "$ref": "#/definitions/opendes:wks:geoJsonMultiPoint:1.0.0",
+              "$ref": "#/definitions/geoJsonMultiPoint",
               "title": "GeoJSON MultiPoint"
             },
             {
-              "$ref": "#/definitions/opendes:wks:geoJsonLineString:1.0.0",
+              "$ref": "#/definitions/geoJsonLineString",
               "title": "GeoJSON LineString"
             },
             {
-              "$ref": "#/definitions/opendes:wks:geoJsonMultiLineString:1.0.0",
+              "$ref": "#/definitions/geoJsonMultiLineString",
               "title": "GeoJSON MultiLineString"
             },
             {
-              "$ref": "#/definitions/opendes:wks:polygon:1.0.0",
+              "$ref": "#/definitions/polygon",
               "title": "GeoJSON Polygon"
             },
             {
-              "$ref": "#/definitions/opendes:wks:geoJsonMultiPolygon:1.0.0",
+              "$ref": "#/definitions/geoJsonMultiPolygon",
               "title": "GeoJSON MultiPolygon"
             },
             {
@@ -76,27 +76,27 @@
                   "items": {
                     "oneOf": [
                       {
-                        "$ref": "#/definitions/opendes:wks:geoJsonPoint:1.0.0",
+                        "$ref": "#/definitions/geoJsonPoint",
                         "title": "GeoJSON Point"
                       },
                       {
-                        "$ref": "#/definitions/opendes:wks:geoJsonMultiPoint:1.0.0",
+                        "$ref": "#/definitions/geoJsonMultiPoint",
                         "title": "GeoJSON MultiPoint"
                       },
                       {
-                        "$ref": "#/definitions/opendes:wks:geoJsonLineString:1.0.0",
+                        "$ref": "#/definitions/geoJsonLineString",
                         "title": "GeoJSON LineString"
                       },
                       {
-                        "$ref": "#/definitions/opendes:wks:geoJsonMultiLineString:1.0.0",
+                        "$ref": "#/definitions/geoJsonMultiLineString",
                         "title": "GeoJSON MultiLineString"
                       },
                       {
-                        "$ref": "#/definitions/opendes:wks:polygon:1.0.0",
+                        "$ref": "#/definitions/polygon",
                         "title": "GeoJSON Polygon"
                       },
                       {
-                        "$ref": "#/definitions/opendes:wks:geoJsonMultiPolygon:1.0.0",
+                        "$ref": "#/definitions/geoJsonMultiPolygon",
                         "title": "GeoJSON MultiPolygon"
                       }
                     ]
@@ -144,7 +144,7 @@
       "title": "GeoJSON Feature",
       "type": "object"
     },
-    "opendes:wks:geoJsonFeatureCollection:1.0.0": {
+    "geoJsonFeatureCollection": {
       "properties": {
         "bbox": {
           "items": {
@@ -155,7 +155,7 @@
         },
         "features": {
           "items": {
-            "$ref": "#/definitions/opendes:wks:geoJsonFeature:1.0.0",
+            "$ref": "#/definitions/geoJsonFeature",
             "title": "GeoJSON Feature"
           },
           "type": "array"
@@ -174,7 +174,7 @@
       "title": "GeoJSON FeatureCollection",
       "type": "object"
     },
-    "opendes:wks:geoJsonLineString:1.0.0": {
+    "geoJsonLineString": {
       "description": "GeoJSON LineString as defined in http://geojson.org/schema/LineString.json.",
       "properties": {
         "bbox": {
@@ -209,7 +209,7 @@
       "title": "GeoJSON LineString",
       "type": "object"
     },
-    "opendes:wks:geoJsonMultiLineString:1.0.0": {
+    "geoJsonMultiLineString": {
       "$schema": "http://json-schema.org/draft-07/schema#",
       "properties": {
         "bbox": {
@@ -247,7 +247,7 @@
       "title": "GeoJSON MultiLineString",
       "type": "object"
     },
-    "opendes:wks:geoJsonMultiPoint:1.0.0": {
+    "geoJsonMultiPoint": {
       "properties": {
         "bbox": {
           "items": {
@@ -280,7 +280,7 @@
       "title": "GeoJSON Point",
       "type": "object"
     },
-    "opendes:wks:geoJsonMultiPolygon:1.0.0": {
+    "geoJsonMultiPolygon": {
       "description": "GeoJSON MultiPolygon derived from http://geojson.org/schema/MultiPolygon.json",
       "properties": {
         "bbox": {
@@ -323,7 +323,7 @@
       "title": "MultiPolygon",
       "type": "object"
     },
-    "opendes:wks:geoJsonPoint:1.0.0": {
+    "geoJsonPoint": {
       "properties": {
         "bbox": {
           "items": {
@@ -353,7 +353,7 @@
       "title": "GeoJSON Point",
       "type": "object"
     },
-    "opendes:wks:geographicPosition:1.0.0": {
+    "geographicPosition": {
       "description": "A position in the native geographic CRS (latitude and longitude) combined with an elevation from mean seal level (MSL)",
       "properties": {
         "crsKey": {
@@ -362,7 +362,7 @@
           "type": "string"
         },
         "elevationFromMsl": {
-          "$ref": "#/definitions/opendes:wks:valueWithUnit:1.0.0",
+          "$ref": "#/definitions/valueWithUnit",
           "description": "Elevation from Mean Seal Level, downwards negative. The unit definition is found via 'elevationFromMsl.unitKey' in 'frameOfReference.units' dictionary.",
           "title": "Elevation from MSL"
         },
@@ -386,7 +386,7 @@
       "title": "Geographic Position",
       "type": "object"
     },
-    "opendes:wks:legal:1.0.0": {
+    "legal": {
       "description": "Legal meta data like legal tags, relevant other countries, legal status.",
       "properties": {
         "legaltags": {
@@ -414,7 +414,7 @@
       "title": "Legal Meta Data",
       "type": "object"
     },
-    "opendes:wks:linkList:1.0.0": {
+    "linkList": {
       "additionalProperties": {
         "description": "An array of one or more entity references in the data lake.",
         "items": {
@@ -427,7 +427,7 @@
       "title": "Link List",
       "type": "object"
     },
-    "opendes:wks:metaItem:1.0.0": {
+    "metaItem": {
       "description": "A meta data item, which allows the association of named properties or property values to a Unit/Measurement/CRS/Azimuth/Time context.",
       "properties": {
         "kind": {
@@ -496,7 +496,7 @@
       "title": "Frame of Reference Meta Data Item",
       "type": "object"
     },
-    "opendes:wks:plssLocation:1.0.0": {
+    "plssLocation": {
       "$id": "definitions/plssLocation",
       "description": "A location described by the Public Land Survey System (United States)",
       "properties": {
@@ -542,7 +542,7 @@
       "title": "US PLSS Location",
       "type": "object"
     },
-    "opendes:wks:point3dNonGeoJson:1.0.0": {
+    "point3dNonGeoJson": {
       "description": "A 3-dimensional point with a CRS key, which is further described in 'frameOfReference.crs' and a unitKey for the z or 3rd coordinate; the unit key is further described in 'frameOfReference.units'.",
       "properties": {
         "coordinates": {
@@ -574,7 +574,7 @@
       "title": "3D Point with CRS/Unit key",
       "type": "object"
     },
-    "opendes:wks:polygon:1.0.0": {
+    "polygon": {
       "$schema": "http://json-schema.org/draft-07/schema#",
       "description": "GeoJSON Polygon derived from http://geojson.org/schema/Polygon.json",
       "properties": {
@@ -613,7 +613,7 @@
       "title": "GeoJSON Polygon",
       "type": "object"
     },
-    "opendes:wks:projectedPosition:1.0.0": {
+    "projectedPosition": {
       "description": "A position in the native CRS in Cartesian coordinates combined with an elevation from mean seal level (MSL)",
       "properties": {
         "crsKey": {
@@ -622,7 +622,7 @@
           "type": "string"
         },
         "elevationFromMsl": {
-          "$ref": "#/definitions/opendes:wks:valueWithUnit:1.0.0",
+          "$ref": "#/definitions/valueWithUnit",
           "description": "Elevation from Mean Seal Level, downwards negative. The unit definition is found via 'elevationFromMsl.unitKey' in 'frameOfReference.units' dictionary.",
           "title": "Elevation from MSL"
         },
@@ -646,23 +646,23 @@
       "title": "Projected Position",
       "type": "object"
     },
-    "opendes:wks:relationships:1.0.0": {
+    "relationships": {
       "description": "All relationships from this entity.",
       "properties": {
         "definitiveTimeDepthRelation": {
-          "$ref": "#/definitions/opendes:wks:toOneRelationship:1.0.0",
+          "$ref": "#/definitions/toOneRelationship",
           "description": "The definitive tome-depth relation providing the MD to seismic travel-time transformation.",
           "title": "Definitive Time-Depth Relation",
           "x-slb-targetEntity": "timeDepthRelation_logSet"
         },
         "definitiveTrajectory": {
-          "$ref": "#/definitions/opendes:wks:toOneRelationship:1.0.0",
+          "$ref": "#/definitions/toOneRelationship",
           "description": "The definitive trajectory providing the MD to 3D space transformation.",
           "title": "Definitive Trajectory",
           "x-slb-targetEntity": "trajectory"
         },
         "tieInWellbore": {
-          "$ref": "#/definitions/opendes:wks:toOneRelationship:1.0.0",
+          "$ref": "#/definitions/toOneRelationship",
           "description": "The tie-in wellbore if this wellbore is a side-track.",
           "title": "Tie-in Wellbore",
           "x-slb-aliasProperties": [
@@ -672,7 +672,7 @@
           "x-slb-targetEntity": "wellbore"
         },
         "well": {
-          "$ref": "#/definitions/opendes:wks:toOneRelationship:1.0.0",
+          "$ref": "#/definitions/toOneRelationship",
           "description": "The well to which this wellbore belongs.",
           "title": "Well",
           "x-slb-aliasProperties": [
@@ -685,11 +685,11 @@
       "title": "Relationships",
       "type": "object"
     },
-    "opendes:wks:simpleElevationReference:1.0.0": {
+    "simpleElevationReference": {
       "description": "The entity's elevation reference, the elevation above MSL where vertical property is 0. Examples: MD==0, Elevation_Depth==0, TVD==0.",
       "properties": {
         "elevationFromMsl": {
-          "$ref": "#/definitions/opendes:wks:valueWithUnit:1.0.0",
+          "$ref": "#/definitions/valueWithUnit",
           "description": "The elevation above mean sea level (MSL), at which the vertical origin is 0.0. The 'unitKey' is further defined in 'frameOfReference.units'.",
           "example": 123.45,
           "title": "Elevation from MSL",
@@ -713,7 +713,7 @@
       "title": "Simple Elevation Reference",
       "type": "object"
     },
-    "opendes:wks:tagDictionary:1.0.0": {
+    "tagDictionary": {
       "additionalProperties": {
         "description": "An array of one or more tag items, e.g. access control list tags, legal tags, etc.",
         "items": {
@@ -726,7 +726,7 @@
       "title": "Tag Dictionary",
       "type": "object"
     },
-    "opendes:wks:toManyRelationship:1.0.0": {
+    "toManyRelationship": {
       "description": "A relationship from this entity to many other entities either by natural key (name) or explicit id, optionally classified by confidence level.",
       "properties": {
         "confidences": {
@@ -765,7 +765,7 @@
         }
       }
     },
-    "opendes:wks:toOneRelationship:1.0.0": {
+    "toOneRelationship": {
       "description": "A relationship from this entity to one other entity either by natural key (name) or id, optionally classified by confidence level",
       "properties": {
         "confidence": {
@@ -797,7 +797,7 @@
       "title": "To One Relationship",
       "type": "object"
     },
-    "opendes:wks:valueArrayWithUnit:1.0.0": {
+    "valueArrayWithUnit": {
       "description": "Array of values associated with unit context. The 'unitKey' can be looked up in the 'frameOfReference.units'.",
       "properties": {
         "unitKey": {
@@ -826,7 +826,7 @@
       "title": "Values with unitKey",
       "type": "object"
     },
-    "opendes:wks:valueWithUnit:1.0.0": {
+    "valueWithUnit": {
       "description": "Number value associated with unit context. The 'unitKey' can be looked up in the root property meta[] array.",
       "properties": {
         "unitKey": {
@@ -849,12 +849,12 @@
       "title": "Value with unitKey",
       "type": "object"
     },
-    "opendes:wks:wellboreData:1.0.0": {
+    "wellboreData": {
       "$id": "definitions/wellboreData",
       "description": "The domain specific data container for a wellbore.",
       "properties": {
         "airGap": {
-          "$ref": "#/definitions/opendes:wks:valueWithUnit:1.0.0",
+          "$ref": "#/definitions/valueWithUnit",
           "description": "The gap between water surface and offshore drilling platform.",
           "example": [
             11,
@@ -911,7 +911,7 @@
           "type": "string"
         },
         "drillingDaysTarget": {
-          "$ref": "#/definitions/opendes:wks:valueWithUnit:1.0.0",
+          "$ref": "#/definitions/valueWithUnit",
           "description": "Target days for drilling wellbore.",
           "example": [
             12.5,
@@ -924,7 +924,7 @@
           "x-slb-measurement": "Time"
         },
         "elevationReference": {
-          "$ref": "#/definitions/opendes:wks:simpleElevationReference:1.0.0",
+          "$ref": "#/definitions/simpleElevationReference",
           "description": "The wellbore's elevation reference from mean sea level (MSL), positive above MSL. This is where MD == 0 and TVD == 0",
           "title": "Elevation Reference",
           "type": "object"
@@ -982,7 +982,7 @@
           ]
         },
         "kickOffMd": {
-          "$ref": "#/definitions/opendes:wks:valueWithUnit:1.0.0",
+          "$ref": "#/definitions/valueWithUnit",
           "description": "The kick-off point in measured depth (MD); for the main well the kickOffMd is set to 0.",
           "example": [
             6543.2,
@@ -995,7 +995,7 @@
           "x-slb-measurement": "Standard_Depth_Index"
         },
         "kickOffTvd": {
-          "$ref": "#/definitions/opendes:wks:valueWithUnit:1.0.0",
+          "$ref": "#/definitions/valueWithUnit",
           "description": "Kickoff true vertical depth of the wellbore; for the main wellbore the kickOffMd is set to 0.",
           "example": [
             6543.2,
@@ -1008,7 +1008,7 @@
           "x-slb-measurement": "Standard_Depth_Index"
         },
         "locationWGS84": {
-          "$ref": "#/definitions/opendes:wks:geoJsonFeatureCollection:1.0.0",
+          "$ref": "#/definitions/geoJsonFeatureCollection",
           "description": "A 2D GeoJSON FeatureCollection defining wellbore location or trajectory in WGS 84 CRS.",
           "title": "Wellbore Shape WGS 84",
           "type": "object"
@@ -1045,7 +1045,7 @@
           "type": "string"
         },
         "plssLocation": {
-          "$ref": "#/definitions/opendes:wks:plssLocation:1.0.0",
+          "$ref": "#/definitions/plssLocation",
           "description": "A location described by the Public Land Survey System (United States)",
           "title": "US PLSS Location",
           "type": "object"
@@ -1059,7 +1059,7 @@
           "type": "string"
         },
         "relationships": {
-          "$ref": "#/definitions/opendes:wks:relationships:1.0.0",
+          "$ref": "#/definitions/relationships",
           "description": "The related entities.",
           "title": "Relationships"
         },
@@ -1100,7 +1100,7 @@
           "type": "string"
         },
         "totalDepthMd": {
-          "$ref": "#/definitions/opendes:wks:valueWithUnit:1.0.0",
+          "$ref": "#/definitions/valueWithUnit",
           "description": "The measured depth of the borehole. If status is plugged, indicates the maximum depth reached before plugging. It is recommended that this value be updated about every 10 minutes by an assigned raw data provider at a site.",
           "example": [
             13200,
@@ -1114,7 +1114,7 @@
           "x-slb-measurement": "Standard_Depth_Index"
         },
         "totalDepthMdDriller": {
-          "$ref": "#/definitions/opendes:wks:valueWithUnit:1.0.0",
+          "$ref": "#/definitions/valueWithUnit",
           "description": "The total depth along the wellbore as reported by the drilling contractor from 'elevationReference'. The unit definition is found via the property's unitKey' in 'frameOfReference.units' dictionary..",
           "example": [
             13200.23,
@@ -1127,7 +1127,7 @@
           "x-slb-measurement": "Standard_Depth_Index"
         },
         "totalDepthMdPlanned": {
-          "$ref": "#/definitions/opendes:wks:valueWithUnit:1.0.0",
+          "$ref": "#/definitions/valueWithUnit",
           "description": "Planned measured depth for the wellbore total depth.",
           "example": [
             13200,
@@ -1140,7 +1140,7 @@
           "x-slb-measurement": "Standard_Depth_Index"
         },
         "totalDepthMdSubSeaPlanned": {
-          "$ref": "#/definitions/opendes:wks:valueWithUnit:1.0.0",
+          "$ref": "#/definitions/valueWithUnit",
           "description": "Planned measured for the wellbore total depth - with respect to seabed.",
           "example": [
             13100,
@@ -1153,7 +1153,7 @@
           "x-slb-measurement": "Standard_Depth_Index"
         },
         "totalDepthProjectedMd": {
-          "$ref": "#/definitions/opendes:wks:valueWithUnit:1.0.0",
+          "$ref": "#/definitions/valueWithUnit",
           "description": "The projected total measured depth of the borehole. This property is questionable as there is not precise documentation available.",
           "example": [
             13215,
@@ -1163,7 +1163,7 @@
           "x-slb-measurement": "Standard_Depth_Index"
         },
         "totalDepthTvd": {
-          "$ref": "#/definitions/opendes:wks:valueWithUnit:1.0.0",
+          "$ref": "#/definitions/valueWithUnit",
           "description": "The true vertical depth of the borehole. If status is plugged, indicates the maximum depth reached before plugging. It is recommended that this value be updated about every 10 minutes by an assigned raw data provider at a site.",
           "example": [
             12200.23,
@@ -1176,7 +1176,7 @@
           "x-slb-measurement": "Standard_Depth_Index"
         },
         "totalDepthTvdDriller": {
-          "$ref": "#/definitions/opendes:wks:valueWithUnit:1.0.0",
+          "$ref": "#/definitions/valueWithUnit",
           "description": "The total depth true vertical as reported by the drilling contractor from 'elevationReference', Downwards increasing. The unit definition is found via the property's unitKey' in 'frameOfReference.units' dictionary.",
           "example": [
             12200.23,
@@ -1189,7 +1189,7 @@
           "x-slb-measurement": "Standard_Depth_Index"
         },
         "totalDepthTvdPlanned": {
-          "$ref": "#/definitions/opendes:wks:valueWithUnit:1.0.0",
+          "$ref": "#/definitions/valueWithUnit",
           "description": "Planned true vertical depth for the wellbore total depth.",
           "example": [
             12200.23,
@@ -1202,7 +1202,7 @@
           "x-slb-measurement": "Standard_Depth_Index"
         },
         "totalDepthTvdSubSeaPlanned": {
-          "$ref": "#/definitions/opendes:wks:valueWithUnit:1.0.0",
+          "$ref": "#/definitions/valueWithUnit",
           "description": "Planned true vertical depth for the wellbore total depth - with respect to seabed.",
           "example": [
             12100.23,
@@ -1229,25 +1229,25 @@
           ]
         },
         "wellHeadElevation": {
-          "$ref": "#/definitions/opendes:wks:valueWithUnit:1.0.0",
+          "$ref": "#/definitions/valueWithUnit",
           "description": "The wellbore's vertical position is an elevation from mean sea level (MSL), positive above MSL.",
           "title": "Well Head Elevation",
           "x-slb-measurement": "Standard_Depth_Index"
         },
         "wellHeadGeographic": {
-          "$ref": "#/definitions/opendes:wks:geographicPosition:1.0.0",
+          "$ref": "#/definitions/geographicPosition",
           "description": "The wellbore's well head position in the native, geographic CRS; vertical position is an elevation from mean sea level (MSL), positive above MSL.",
           "title": "Well Head Position, Geographic",
           "type": "object"
         },
         "wellHeadProjected": {
-          "$ref": "#/definitions/opendes:wks:projectedPosition:1.0.0",
+          "$ref": "#/definitions/projectedPosition",
           "description": "The wellbore's well head position in the native, projected CRS; vertical position is an elevation from mean sea level (MSL), positive above MSL.",
           "title": "Well Head Position, Projected",
           "type": "object"
         },
         "wellHeadWgs84": {
-          "$ref": "#/definitions/opendes:wks:core_dl_geopoint:1.0.0",
+          "$ref": "#/definitions/core_dl_geopoint",
           "description": "The wellbore's position in WGS 84 latitude and longitude.",
           "format": "core:dl:geopoint:1.0.0",
           "title": "WGS 84 Position",
@@ -1366,17 +1366,17 @@
   "description": "The well-known wellbore schema. Used to capture the general information about a wellbore. This information is sometimes called a \"wellbore header\". A wellbore represents the path from surface to a unique bottomhole location. The wellbore object is uniquely identified within the context of one well object.",
   "properties": {
     "acl": {
-      "$ref": "#/definitions/opendes:wks:tagDictionary:1.0.0",
+      "$ref": "#/definitions/tagDictionary",
       "description": "The access control tags associated with this entity.",
       "title": "Access Control List"
     },
     "ancestry": {
-      "$ref": "#/definitions/opendes:wks:linkList:1.0.0",
+      "$ref": "#/definitions/linkList",
       "description": "The links to data, which constitute the inputs.",
       "title": "Ancestry"
     },
     "data": {
-      "$ref": "#/definitions/opendes:wks:wellboreData:1.0.0",
+      "$ref": "#/definitions/wellboreData",
       "description": "Wellbore data container",
       "title": "Wellbore Data"
     },
@@ -1392,14 +1392,14 @@
       "type": "string"
     },
     "legal": {
-      "$ref": "#/definitions/opendes:wks:legal:1.0.0",
+      "$ref": "#/definitions/legal",
       "description": "The geological interpretation's legal tags",
       "title": "Legal Tags"
     },
     "meta": {
       "description": "The meta data section linking the 'unitKey', 'crsKey' to self-contained definitions (persistableReference)",
       "items": {
-        "$ref": "#/definitions/opendes:wks:metaItem:1.0.0"
+        "$ref": "#/definitions/metaItem"
       },
       "title": "Frame of Reference Meta Data",
       "type": "array"
diff --git a/pom.xml b/pom.xml
index 4f446acee36301ae0b82e4b3ff1f7536b218c576..7546228a31d394b89b303783770b268ef74ded5a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,7 @@
     <groupId>org.opengroup.osdu.indexer</groupId>
     <artifactId>indexer-service</artifactId>
     <packaging>pom</packaging>
-    <version>0.8.0-SNAPSHOT</version>
+    <version>0.9.0-SNAPSHOT</version>
     <description>Indexer Service</description>
 
     <properties>
diff --git a/provider/indexer-aws/pom.xml b/provider/indexer-aws/pom.xml
index 7fad557f0e8324b8df8cf15a3fd39878a40d0299..1c576b02acfcd913008f0fbb34b60d1b99767b19 100644
--- a/provider/indexer-aws/pom.xml
+++ b/provider/indexer-aws/pom.xml
@@ -18,7 +18,7 @@
   <parent>
       <groupId>org.opengroup.osdu.indexer</groupId>
       <artifactId>indexer-service</artifactId>
-      <version>0.8.0-SNAPSHOT</version>
+      <version>0.9.0-SNAPSHOT</version>
       <relativePath>../../pom.xml</relativePath>
   </parent>
 
@@ -26,7 +26,7 @@
   <artifactId>indexer-aws</artifactId>
   <description>Storage service on AWS</description>
   <packaging>jar</packaging>
-    <version>0.8.0-SNAPSHOT</version>
+    <version>0.9.0-SNAPSHOT</version>
 
   <properties>
       <aws.version>1.11.637</aws.version>
@@ -43,7 +43,7 @@
     <dependency>
         <groupId>org.opengroup.osdu.indexer</groupId>
         <artifactId>indexer-core</artifactId>
-        <version>0.8.0-SNAPSHOT</version>
+        <version>0.9.0-SNAPSHOT</version>
     </dependency>
     <dependency>
         <groupId>org.opengroup.osdu.core.aws</groupId>
diff --git a/provider/indexer-aws/src/main/java/org/opengroup/osdu/indexer/aws/persistence/ElasticRepositoryImpl.java b/provider/indexer-aws/src/main/java/org/opengroup/osdu/indexer/aws/persistence/ElasticRepositoryImpl.java
index b65add33a07eb10ce43a89218344f01ab3dae4b0..93e6acd37039acda8c22e7b02b827447f58a8ecc 100644
--- a/provider/indexer-aws/src/main/java/org/opengroup/osdu/indexer/aws/persistence/ElasticRepositoryImpl.java
+++ b/provider/indexer-aws/src/main/java/org/opengroup/osdu/indexer/aws/persistence/ElasticRepositoryImpl.java
@@ -33,7 +33,17 @@ public class ElasticRepositoryImpl implements IElasticRepository {
     @Value("${aws.es.port}")
     int port;
 
-    String userNameAndPassword = "testing";
+    @Value("${aws.es.isHttps}")
+    boolean isHttps;
+
+    @Value("${aws.es.username}")
+    String username;
+
+    @Value("${aws.es.password}")
+    String password;
+
+    String usernameAndPassword;
+
 
     @Value("${aws.elasticsearch.port}")
     String portParameter;
@@ -41,6 +51,12 @@ public class ElasticRepositoryImpl implements IElasticRepository {
     @Value("${aws.elasticsearch.host}")
     String hostParameter;
 
+    @Value("${aws.elasticsearch.username}")
+    String usernameParameter;
+
+    @Value("${aws.elasticsearch.password}")
+    String passwordParameter;
+
     @Value("${aws.ssm}")
     String ssmEnabledString;
 
@@ -52,12 +68,24 @@ public class ElasticRepositoryImpl implements IElasticRepository {
             SSMConfig ssmConfig = new SSMConfig();
             ssm = ssmConfig.amazonSSM();
             host = ssm.getProperty(hostParameter).toString();
-            port = Integer.parseInt(ssm.getProperty(portParameter).toString());
+            port = Integer.parseInt(ssm.getProperty(portParameter).toString());            
+            username = ssm.getProperty(usernameParameter).toString();            
+            password = ssm.getProperty(passwordParameter).toString();            
         }
+        
+        //elastic expects username:password format
+        usernameAndPassword = String.format("%s:%s", username, password);
     }
 
     @Override
     public ClusterSettings getElasticClusterSettings(TenantInfo tenantInfo) {
-        return new ClusterSettings(host, port, userNameAndPassword);
+        ClusterSettings settings = new ClusterSettings(host, port, usernameAndPassword);
+        
+        if (!isHttps) {
+            settings.setHttps(false);
+            settings.setTls(false);
+        }
+
+        return settings;
     }
 }
diff --git a/provider/indexer-aws/src/main/java/org/opengroup/osdu/indexer/aws/service/ElasticClientHandlerAws.java b/provider/indexer-aws/src/main/java/org/opengroup/osdu/indexer/aws/service/ElasticClientHandlerAws.java
index e6003130aad08cfdb49e57d70cee54f17eca625c..bb0407cdb5a44aa83c765da48708a2a29532c784 100644
--- a/provider/indexer-aws/src/main/java/org/opengroup/osdu/indexer/aws/service/ElasticClientHandlerAws.java
+++ b/provider/indexer-aws/src/main/java/org/opengroup/osdu/indexer/aws/service/ElasticClientHandlerAws.java
@@ -16,7 +16,9 @@ package org.opengroup.osdu.indexer.aws.service;
 
 import org.apache.http.Header;
 import org.apache.http.HttpHost;
+import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
 import org.apache.http.message.BasicHeader;
+import org.apache.http.ssl.SSLContextBuilder;
 import org.elasticsearch.client.RestClient;
 import org.opengroup.osdu.indexer.util.ElasticClientHandler;
 import org.elasticsearch.client.RestClientBuilder;
@@ -24,17 +26,30 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Component;
 
+import lombok.extern.java.Log;
+
+import java.security.KeyManagementException;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+
 import javax.inject.Inject;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.TrustManager;
 // TODO: Elastic Client Handler should be designed to allow cloud providers to implement their own handler if not we have to inherited
 // SPI needs to be refactored
 @Primary
 @Component
+@Log
 public class ElasticClientHandlerAws extends ElasticClientHandler {
 
     private static final int REST_CLIENT_CONNECT_TIMEOUT = 60000;
     private static final int REST_CLIENT_SOCKET_TIMEOUT = 60000;
     private static final int REST_CLIENT_RETRY_TIMEOUT = 60000;
 
+    @Value("${aws.es.certificate.disableTrust:false}")
+    // @Value("#{new Boolean('${aws.es.certificate.disableTrust:false}')}")
+    private Boolean disableSslCertificateTrust;
+
     public ElasticClientHandlerAws() {
     }
 
@@ -46,8 +61,23 @@ public class ElasticClientHandlerAws extends ElasticClientHandler {
                 .setConnectTimeout(REST_CLIENT_CONNECT_TIMEOUT)
                 .setSocketTimeout(REST_CLIENT_SOCKET_TIMEOUT));        
 
-        if(isLocalHost(host)) {
-            builder.setHttpClientConfigCallback(httpAsyncClientBuilder -> httpAsyncClientBuilder.setSSLHostnameVerifier((s, sslSession) -> true));
+        if(isLocalHost(host) || disableSslCertificateTrust) {            
+
+            SSLContext sslContext;            
+            try {
+                sslContext = SSLContext.getInstance("TLS");
+                sslContext.init(null, new TrustManager[]{ UnsafeX509ExtendedTrustManager.INSTANCE }, null);
+                builder.setHttpClientConfigCallback(httpClientBuilder -> 
+                httpClientBuilder.setSSLContext(sslContext)
+                                .setSSLHostnameVerifier((s, session) -> true));
+            } catch (NoSuchAlgorithmException e) {
+                // TODO Auto-generated catch block
+                e.printStackTrace();
+            } catch (KeyManagementException e) {
+                // TODO Auto-generated catch block
+                e.printStackTrace();
+            }
+
         }
         Header[] defaultHeaders = new Header[]{
                 new BasicHeader("client.transport.nodes_sampler_interval", "30s"),
@@ -55,7 +85,8 @@ public class ElasticClientHandlerAws extends ElasticClientHandler {
                 new BasicHeader("client.transport.sniff", "false"),
                 new BasicHeader("request.headers.X-Found-Cluster", host),
                 new BasicHeader("cluster.name", host),
-                new BasicHeader("xpack.security.transport.ssl.enabled", tls)
+                new BasicHeader("xpack.security.transport.ssl.enabled", tls),
+                new BasicHeader("Authorization", basicAuthenticationHeaderVal),
         };
         builder.setDefaultHeaders(defaultHeaders);
         return builder;
diff --git a/provider/indexer-aws/src/main/java/org/opengroup/osdu/indexer/aws/service/UnsafeX509ExtendedTrustManager.java b/provider/indexer-aws/src/main/java/org/opengroup/osdu/indexer/aws/service/UnsafeX509ExtendedTrustManager.java
new file mode 100644
index 0000000000000000000000000000000000000000..c2a9af091ababbe359394cc1256eeb3071f2bfae
--- /dev/null
+++ b/provider/indexer-aws/src/main/java/org/opengroup/osdu/indexer/aws/service/UnsafeX509ExtendedTrustManager.java
@@ -0,0 +1,81 @@
+package org.opengroup.osdu.indexer.aws.service;
+
+import javax.net.ssl.SSLEngine;
+import javax.net.ssl.X509ExtendedTrustManager;
+
+import java.net.Socket;
+import java.security.cert.X509Certificate;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * An insecure {@link UnsafeX509ExtendedTrustManager TrustManager} that trusts all X.509 certificates without any verification.
+ * <p>
+ * <strong>NOTE:</strong>
+ * Never use this {@link UnsafeX509ExtendedTrustManager} in production.
+ * It is purely for testing purposes, and thus it is very insecure.
+ * </p>
+ * <br>
+ * Suppressed warning: java:S4830 - "Server certificates should be verified during SSL/TLS connections"
+ *                                  This TrustManager doesn't validate certificates and should not be used at production.
+ *                                  It is just meant to be used for testing purposes and it is designed not to verify server certificates.
+ */
+class UnsafeX509ExtendedTrustManager extends X509ExtendedTrustManager {
+
+    public static final UnsafeX509ExtendedTrustManager INSTANCE = new UnsafeX509ExtendedTrustManager();
+    private static final Logger LOGGER = LoggerFactory.getLogger(UnsafeX509ExtendedTrustManager.class);
+    private static final X509Certificate[] EMPTY_X509_CERTIFICATES = new X509Certificate[0];
+    private static final String CLIENT_CERTIFICATE_LOG_MESSAGE = "Accepting a client certificate: [{}]";
+    private static final String SERVER_CERTIFICATE_LOG_MESSAGE = "Accepting a server certificate: [{}]";
+
+    private UnsafeX509ExtendedTrustManager() {}
+
+    @Override
+    public void checkClientTrusted(X509Certificate[] x509Certificates, String authType) {
+        if (LOGGER.isDebugEnabled()) {
+            LOGGER.debug(CLIENT_CERTIFICATE_LOG_MESSAGE, x509Certificates[0].getSubjectDN());
+        }
+    }
+
+    @Override
+    public void checkClientTrusted(X509Certificate[] x509Certificates, String authType, Socket socket) {
+        if (LOGGER.isDebugEnabled()) {
+            LOGGER.debug(CLIENT_CERTIFICATE_LOG_MESSAGE, x509Certificates[0].getSubjectDN());
+        }
+    }
+
+    @Override
+    public void checkClientTrusted(X509Certificate[] x509Certificates, String authType, SSLEngine sslEngine) {
+        if (LOGGER.isDebugEnabled()) {
+            LOGGER.debug(CLIENT_CERTIFICATE_LOG_MESSAGE, x509Certificates[0].getSubjectDN());
+        }
+    }
+
+    @Override
+    public void checkServerTrusted(X509Certificate[] x509Certificates, String authType) {
+        if (LOGGER.isDebugEnabled()) {
+            LOGGER.debug(SERVER_CERTIFICATE_LOG_MESSAGE, x509Certificates[0].getSubjectDN());
+        }
+    }
+
+    @Override
+    public void checkServerTrusted(X509Certificate[] x509Certificates, String authType, Socket socket) {
+        if (LOGGER.isDebugEnabled()) {
+            LOGGER.debug(SERVER_CERTIFICATE_LOG_MESSAGE, x509Certificates[0].getSubjectDN());
+        }
+    }
+
+    @Override
+    public void checkServerTrusted(X509Certificate[] x509Certificates, String authType, SSLEngine sslEngine) {
+        if (LOGGER.isDebugEnabled()) {
+            LOGGER.debug(SERVER_CERTIFICATE_LOG_MESSAGE, x509Certificates[0].getSubjectDN());
+        }
+    }
+
+    @Override
+    public X509Certificate[] getAcceptedIssuers() {
+        return EMPTY_X509_CERTIFICATES;
+    }
+
+}
\ No newline at end of file
diff --git a/provider/indexer-aws/src/main/resources/application.properties b/provider/indexer-aws/src/main/resources/application.properties
index d42824c82a6154f8d27c9366053323857f9e847a..299e9198eb748c87648e11f54835429e835c045f 100644
--- a/provider/indexer-aws/src/main/resources/application.properties
+++ b/provider/indexer-aws/src/main/resources/application.properties
@@ -11,14 +11,14 @@ CRON_INDEX_CLEANUP_THRESHOLD_DAYS=3
 CRON_EMPTY_INDEX_CLEANUP_THRESHOLD_DAYS=7
 
 # AWS ES configuration
-# DO NOT COMMENT THESE OUT THEY ARE PLACE HOLDERS
-ELASTIC_HOST=""
-ELASTIC_PORT=0
-aws.es.host=${ELASTIC_HOST}
-aws.es.port=${ELASTIC_PORT}
-aws.es.userNameAndPassword=notused
+aws.es.host=${ELASTIC_HOST:}
+aws.es.port=${ELASTIC_PORT:0}
+aws.es.isHttps=${ELASTIC_HTTPS:true}
+aws.es.username=${ELASTIC_USERNAME:empty}
+aws.es.password=${ELASTIC_PASSWORD:empty}
 aws.region=${AWS_REGION}
 aws.es.serviceName=es
+aws.es.certificate.disableTrust=${ELASTIC_DISABLE_CERTIFICATE_TRUST:false}
 
 GAE_SERVICE=indexer
 
@@ -53,8 +53,10 @@ aws.dynamodb.endpoint=dynamodb.${AWS_REGION}.amazonaws.com
 aws.ssm=${SSM_ENABLED}
 aws.ssm.prefix=/osdu/${ENVIRONMENT}
 
-aws.elasticsearch.host=${aws.ssm.prefix}/elastic-search/end-point
-aws.elasticsearch.port=${aws.ssm.prefix}/elastic-search/end-point-port
+aws.elasticsearch.host=${aws.ssm.prefix}/elasticsearch/end-point
+aws.elasticsearch.port=${aws.ssm.prefix}/elasticsearch/end-point-port
+aws.elasticsearch.username=${aws.ssm.prefix}/elasticsearch/username
+aws.elasticsearch.password=${aws.ssm.prefix}/elasticsearch/password
 aws.indexer.sns.topic.arn=${aws.ssm.prefix}/indexer/indexer-sns-topic-arn
 aws.storage.sns.topic.arn=${aws.ssm.prefix}/storage/storage-sns-topic-arn
 
diff --git a/provider/indexer-azure/pom.xml b/provider/indexer-azure/pom.xml
index 88c81b927e5cce9085b9dd747731fc3d93630845..239bfe36f7f64a3e8a7ea93c64dd6b3432d557d5 100644
--- a/provider/indexer-azure/pom.xml
+++ b/provider/indexer-azure/pom.xml
@@ -21,12 +21,12 @@
     <parent>
         <groupId>org.opengroup.osdu.indexer</groupId>
         <artifactId>indexer-service</artifactId>
-        <version>0.8.0-SNAPSHOT</version>
+        <version>0.9.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
     <artifactId>indexer-azure</artifactId>
-    <version>0.8.0-SNAPSHOT</version>
+    <version>0.9.0-SNAPSHOT</version>
     <name>indexer-azure</name>
     <description>Indexer Service Azure</description>
     <packaging>jar</packaging>
@@ -39,7 +39,7 @@
         <azure.appservice.subscription />
         <log4j.version>2.11.2</log4j.version>
         <nimbus-jose-jwt.version>8.2</nimbus-jose-jwt.version>
-        <indexer-core.version>0.8.0-SNAPSHOT</indexer-core.version>
+        <indexer-core.version>0.9.0-SNAPSHOT</indexer-core.version>
         <spring-security-jwt.version>1.1.1.RELEASE</spring-security-jwt.version>
         <osdu.corelibazure.version>0.6.2</osdu.corelibazure.version>
         <reactor-netty.version>0.9.12.RELEASE</reactor-netty.version>
diff --git a/provider/indexer-gcp/pom.xml b/provider/indexer-gcp/pom.xml
index ff16763679abd9096948923f2ac504cd6e92ae57..bd5ed65ec20508a34f618533bc0b443dcb113557 100644
--- a/provider/indexer-gcp/pom.xml
+++ b/provider/indexer-gcp/pom.xml
@@ -5,12 +5,12 @@
     <parent>
         <groupId>org.opengroup.osdu.indexer</groupId>
         <artifactId>indexer-service</artifactId>
-        <version>0.8.0-SNAPSHOT</version>
+        <version>0.9.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
     <artifactId>indexer-gcp</artifactId>
-    <version>0.8.0-SNAPSHOT</version>
+    <version>0.9.0-SNAPSHOT</version>
     <name>indexer-gcp</name>
     <description>Indexer Service GCP App Engine</description>
     <packaging>jar</packaging>
@@ -19,7 +19,7 @@
         <dependency>
             <groupId>org.opengroup.osdu.indexer</groupId>
             <artifactId>indexer-core</artifactId>
-            <version>0.8.0-SNAPSHOT</version>
+            <version>0.9.0-SNAPSHOT</version>
         </dependency>
 
         <dependency>
diff --git a/provider/indexer-ibm/pom.xml b/provider/indexer-ibm/pom.xml
index abe6a5ad4769c95e854a1cc58e3c8702b8db3968..b022781486d47c2478d46349651f4be77166b44a 100644
--- a/provider/indexer-ibm/pom.xml
+++ b/provider/indexer-ibm/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.opengroup.osdu.indexer</groupId>
         <artifactId>indexer-service</artifactId>
-        <version>0.8.0-SNAPSHOT</version>
+        <version>0.9.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
@@ -53,7 +53,7 @@
         <dependency>
             <groupId>org.opengroup.osdu.indexer</groupId>
             <artifactId>indexer-core</artifactId>
-            <version>0.8.0-SNAPSHOT</version>
+            <version>0.9.0-SNAPSHOT</version>
         </dependency>
         
    		<dependency>
diff --git a/provider/indexer-reference/pom.xml b/provider/indexer-reference/pom.xml
index 4a20a160116a32dd5b35a133f3cd24295262b815..3e5a5328dd666658d15098f5cb003613da6b0ee9 100644
--- a/provider/indexer-reference/pom.xml
+++ b/provider/indexer-reference/pom.xml
@@ -22,12 +22,12 @@
     <parent>
         <groupId>org.opengroup.osdu.indexer</groupId>
         <artifactId>indexer-service</artifactId>
-        <version>0.8.0-SNAPSHOT</version>
+        <version>0.9.0-SNAPSHOT</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
     <artifactId>indexer-reference</artifactId>
-    <version>0.8.0-SNAPSHOT</version>
+    <version>0.9.0-SNAPSHOT</version>
     <name>indexer-reference</name>
     <description>Indexer Service GCP Anthos</description>
     <packaging>jar</packaging>
@@ -36,7 +36,7 @@
         <dependency>
             <groupId>org.opengroup.osdu.indexer</groupId>
             <artifactId>indexer-core</artifactId>
-            <version>0.8.0-SNAPSHOT</version>
+            <version>0.9.0-SNAPSHOT</version>
         </dependency>
 
         <dependency>
diff --git a/testing/indexer-test-aws/build-aws/run-tests.sh b/testing/indexer-test-aws/build-aws/run-tests.sh
index 78c727bd4a85a1fb99adb1988fd997f19c853de0..2123c4956735d7c9cb5e8f0cfabd8b04c83d9629 100755
--- a/testing/indexer-test-aws/build-aws/run-tests.sh
+++ b/testing/indexer-test-aws/build-aws/run-tests.sh
@@ -28,10 +28,15 @@ export ENTITLEMENTS_DOMAIN=testing.com
 export OTHER_RELEVANT_DATA_COUNTRIES=US
 export STORAGE_HOST=$STORAGE_URL
 export HOST=$SCHEMA_URL
+export ELASTIC_HOST=$ELASTIC_HOST
+export ELASTIC_PORT=$ELASTIC_PORT
+export ELASTIC_PASSWORD=$ELASTIC_PASSWORD
+export ELASTIC_USER_NAME=$ELASTIC_USERNAME
 
 #### RUN INTEGRATION TEST #########################################################################
 
 mvn -ntp test -f "$SCRIPT_SOURCE_DIR"/../pom.xml -Dcucumber.options="--plugin junit:target/junit-report.xml"
+# mvn -Dmaven.surefire.debug test -f "$SCRIPT_SOURCE_DIR"/../pom.xml -Dcucumber.options="--plugin junit:target/junit-report.xml"
 TEST_EXIT_CODE=$?
 
 #### COPY TEST REPORTS #########################################################################
diff --git a/testing/indexer-test-aws/pom.xml b/testing/indexer-test-aws/pom.xml
index 39bb3942553c46295342e73a07fb12c31a300b24..a2686385de571c4f159e8d9c7494b6bcf829a734 100644
--- a/testing/indexer-test-aws/pom.xml
+++ b/testing/indexer-test-aws/pom.xml
@@ -21,13 +21,13 @@
     <parent>
         <groupId>org.opengroup.osdu</groupId>
         <artifactId>indexer-test</artifactId>
-        <version>0.8.0-SNAPSHOT</version>
+        <version>0.9.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.opengroup.osdu.indexer</groupId>
     <artifactId>indexer-test-aws</artifactId>
-    <version>0.8.0-SNAPSHOT</version>
+    <version>0.9.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 
     <properties>
@@ -42,7 +42,7 @@
         <dependency>
             <groupId>org.opengroup.osdu.indexer</groupId>
             <artifactId>indexer-test-core</artifactId>
-            <version>0.8.1-SNAPSHOT</version>
+            <version>0.9.0-SNAPSHOT</version>
         </dependency>
 
         <!-- AWS specific packages -->
diff --git a/testing/indexer-test-aws/src/test/java/org/opengroup/osdu/util/ElasticUtilsAws.java b/testing/indexer-test-aws/src/test/java/org/opengroup/osdu/util/ElasticUtilsAws.java
index fa172dddc65900906a66e98f6a3fe1b58982bb12..e464354dbebd4d35cca9e916cd5a5fa0845dae68 100644
--- a/testing/indexer-test-aws/src/test/java/org/opengroup/osdu/util/ElasticUtilsAws.java
+++ b/testing/indexer-test-aws/src/test/java/org/opengroup/osdu/util/ElasticUtilsAws.java
@@ -14,6 +14,13 @@
 
 package org.opengroup.osdu.util;
 
+import java.security.KeyManagementException;
+import java.security.NoSuchAlgorithmException;
+import java.util.Base64;
+
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.TrustManager;
+
 import org.apache.http.Header;
 import org.apache.http.HttpHost;
 import org.apache.http.message.BasicHeader;
@@ -32,7 +39,30 @@ public class ElasticUtilsAws extends ElasticUtils {
         RestClientBuilder builder = RestClient.builder(new HttpHost(host, port, "https"));
         builder.setRequestConfigCallback(requestConfigBuilder -> requestConfigBuilder.setConnectTimeout(REST_CLIENT_CONNECT_TIMEOUT)
                 .setSocketTimeout(REST_CLIENT_SOCKET_TIMEOUT));
-        builder.setHttpClientConfigCallback(httpAsyncClientBuilder -> httpAsyncClientBuilder.setSSLHostnameVerifier((s, sslSession) -> true));
+        
+       
+        //dont enforce CA/cert validity for tests
+        SSLContext sslContext;            
+        try {
+            sslContext = SSLContext.getInstance("TLS");
+            sslContext.init(null, new TrustManager[]{ UnsafeX509ExtendedTrustManager.INSTANCE }, null);
+            builder.setHttpClientConfigCallback(httpClientBuilder -> 
+            httpClientBuilder.setSSLContext(sslContext)
+                            .setSSLHostnameVerifier((s, session) -> true));
+        } catch (NoSuchAlgorithmException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        } catch (KeyManagementException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+
+
+        String basicEncoded = Base64
+                            .getEncoder().encodeToString(usernameAndPassword.getBytes());
+        String basicAuthenticationHeaderVal = String.format("Basic %s", basicEncoded);
+
+    
 
         Header[] defaultHeaders = new Header[]{
                 new BasicHeader("client.transport.nodes_sampler_interval", "30s"),
@@ -40,7 +70,8 @@ public class ElasticUtilsAws extends ElasticUtils {
                 new BasicHeader("client.transport.sniff", "false"),
                 new BasicHeader("request.headers.X-Found-Cluster", Config.getElasticHost()),
                 new BasicHeader("cluster.name", Config.getElasticHost()),
-                new BasicHeader("xpack.security.transport.ssl.enabled", Boolean.toString(true))
+                new BasicHeader("xpack.security.transport.ssl.enabled", Boolean.toString(true)),
+                new BasicHeader("Authorization", basicAuthenticationHeaderVal),
         };
 
         builder.setDefaultHeaders(defaultHeaders);
diff --git a/testing/indexer-test-aws/src/test/java/org/opengroup/osdu/util/UnsafeX509ExtendedTrustManager.java b/testing/indexer-test-aws/src/test/java/org/opengroup/osdu/util/UnsafeX509ExtendedTrustManager.java
new file mode 100644
index 0000000000000000000000000000000000000000..ea06a756d75d56961be80c7c2594ab97ecafde4c
--- /dev/null
+++ b/testing/indexer-test-aws/src/test/java/org/opengroup/osdu/util/UnsafeX509ExtendedTrustManager.java
@@ -0,0 +1,81 @@
+package org.opengroup.osdu.util;
+
+import javax.net.ssl.SSLEngine;
+import javax.net.ssl.X509ExtendedTrustManager;
+
+import java.net.Socket;
+import java.security.cert.X509Certificate;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * An insecure {@link UnsafeX509ExtendedTrustManager TrustManager} that trusts all X.509 certificates without any verification.
+ * <p>
+ * <strong>NOTE:</strong>
+ * Never use this {@link UnsafeX509ExtendedTrustManager} in production.
+ * It is purely for testing purposes, and thus it is very insecure.
+ * </p>
+ * <br>
+ * Suppressed warning: java:S4830 - "Server certificates should be verified during SSL/TLS connections"
+ *                                  This TrustManager doesn't validate certificates and should not be used at production.
+ *                                  It is just meant to be used for testing purposes and it is designed not to verify server certificates.
+ */
+class UnsafeX509ExtendedTrustManager extends X509ExtendedTrustManager {
+
+    public static final UnsafeX509ExtendedTrustManager INSTANCE = new UnsafeX509ExtendedTrustManager();
+    private static final Logger LOGGER = LoggerFactory.getLogger(UnsafeX509ExtendedTrustManager.class);
+    private static final X509Certificate[] EMPTY_X509_CERTIFICATES = new X509Certificate[0];
+    private static final String CLIENT_CERTIFICATE_LOG_MESSAGE = "Accepting a client certificate: [{}]";
+    private static final String SERVER_CERTIFICATE_LOG_MESSAGE = "Accepting a server certificate: [{}]";
+
+    private UnsafeX509ExtendedTrustManager() {}
+
+    @Override
+    public void checkClientTrusted(X509Certificate[] x509Certificates, String authType) {
+        if (LOGGER.isDebugEnabled()) {
+            LOGGER.debug(CLIENT_CERTIFICATE_LOG_MESSAGE, x509Certificates[0].getSubjectDN());
+        }
+    }
+
+    @Override
+    public void checkClientTrusted(X509Certificate[] x509Certificates, String authType, Socket socket) {
+        if (LOGGER.isDebugEnabled()) {
+            LOGGER.debug(CLIENT_CERTIFICATE_LOG_MESSAGE, x509Certificates[0].getSubjectDN());
+        }
+    }
+
+    @Override
+    public void checkClientTrusted(X509Certificate[] x509Certificates, String authType, SSLEngine sslEngine) {
+        if (LOGGER.isDebugEnabled()) {
+            LOGGER.debug(CLIENT_CERTIFICATE_LOG_MESSAGE, x509Certificates[0].getSubjectDN());
+        }
+    }
+
+    @Override
+    public void checkServerTrusted(X509Certificate[] x509Certificates, String authType) {
+        if (LOGGER.isDebugEnabled()) {
+            LOGGER.debug(SERVER_CERTIFICATE_LOG_MESSAGE, x509Certificates[0].getSubjectDN());
+        }
+    }
+
+    @Override
+    public void checkServerTrusted(X509Certificate[] x509Certificates, String authType, Socket socket) {
+        if (LOGGER.isDebugEnabled()) {
+            LOGGER.debug(SERVER_CERTIFICATE_LOG_MESSAGE, x509Certificates[0].getSubjectDN());
+        }
+    }
+
+    @Override
+    public void checkServerTrusted(X509Certificate[] x509Certificates, String authType, SSLEngine sslEngine) {
+        if (LOGGER.isDebugEnabled()) {
+            LOGGER.debug(SERVER_CERTIFICATE_LOG_MESSAGE, x509Certificates[0].getSubjectDN());
+        }
+    }
+
+    @Override
+    public X509Certificate[] getAcceptedIssuers() {
+        return EMPTY_X509_CERTIFICATES;
+    }
+
+}
\ No newline at end of file
diff --git a/testing/indexer-test-azure/pom.xml b/testing/indexer-test-azure/pom.xml
index baa5cd8b14b926f98b4a979e5efbe23d9309b4cd..961263fefb4798ab2c3305c0957a21dc70f88455 100644
--- a/testing/indexer-test-azure/pom.xml
+++ b/testing/indexer-test-azure/pom.xml
@@ -21,13 +21,13 @@
     <parent>
         <groupId>org.opengroup.osdu</groupId>
         <artifactId>indexer-test</artifactId>
-        <version>0.8.0-SNAPSHOT</version>
+        <version>0.9.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.opengroup.osdu.indexer</groupId>
     <artifactId>indexer-test-azure</artifactId>
-    <version>0.8.0-SNAPSHOT</version>
+    <version>0.9.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 
     <properties>
@@ -45,7 +45,7 @@
         <dependency>
             <groupId>org.opengroup.osdu.indexer</groupId>
             <artifactId>indexer-test-core</artifactId>
-            <version>0.8.1-SNAPSHOT</version>
+            <version>0.9.0-SNAPSHOT</version>
         </dependency>
 
         <!-- Azure dependencies -->
diff --git a/testing/indexer-test-core/pom.xml b/testing/indexer-test-core/pom.xml
index e9c63cd00626c17b308d31727da789878acf3e1a..cdcc8eb5752f007ec5757910352043c0fadd5ff8 100644
--- a/testing/indexer-test-core/pom.xml
+++ b/testing/indexer-test-core/pom.xml
@@ -5,13 +5,13 @@
     <parent>
         <groupId>org.opengroup.osdu</groupId>
         <artifactId>indexer-test</artifactId>
-        <version>0.8.0-SNAPSHOT</version>
+        <version>0.9.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.opengroup.osdu.indexer</groupId>
     <artifactId>indexer-test-core</artifactId>
-    <version>0.8.1-SNAPSHOT</version>
+    <version>0.9.0-SNAPSHOT</version>
 
     <properties>
         <maven.compiler.target>1.8</maven.compiler.target>
diff --git a/testing/indexer-test-gcp/pom.xml b/testing/indexer-test-gcp/pom.xml
index cbefb50737b58238b5869cd65c159d45d515f67a..e25538ed89f404b93bd6f2cee8bae8992475e726 100644
--- a/testing/indexer-test-gcp/pom.xml
+++ b/testing/indexer-test-gcp/pom.xml
@@ -6,13 +6,13 @@
     <parent>
         <groupId>org.opengroup.osdu</groupId>
         <artifactId>indexer-test</artifactId>
-        <version>0.8.0-SNAPSHOT</version>
+        <version>0.9.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
     <groupId>org.opengroup.osdu.indexer</groupId>
     <artifactId>indexer-test-gcp</artifactId>
-    <version>0.8.0-SNAPSHOT</version>
+    <version>0.9.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 
     <properties>
@@ -37,7 +37,7 @@
         <dependency>
             <groupId>org.opengroup.osdu.indexer</groupId>
             <artifactId>indexer-test-core</artifactId>
-            <version>0.8.1-SNAPSHOT</version>
+            <version>0.9.0-SNAPSHOT</version>
         </dependency>
 
         <!-- Cucumber -->
diff --git a/testing/indexer-test-ibm/pom.xml b/testing/indexer-test-ibm/pom.xml
index af1fd0eec5e992c8b1ad8d8c35b75d0f6d73c413..599761e657c782bab128ac69dd0f3945eaaacaf0 100644
--- a/testing/indexer-test-ibm/pom.xml
+++ b/testing/indexer-test-ibm/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.opengroup.osdu</groupId>
         <artifactId>indexer-test</artifactId>
-        <version>0.8.0-SNAPSHOT</version>
+        <version>0.9.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -38,7 +38,7 @@
         <dependency>
             <groupId>org.opengroup.osdu.indexer</groupId>
             <artifactId>indexer-test-core</artifactId>
-            <version>0.8.1-SNAPSHOT</version>
+            <version>0.9.0-SNAPSHOT</version>
         </dependency>
 
         <dependency>
diff --git a/testing/pom.xml b/testing/pom.xml
index 9d36987c79ff99bbea774dd4ebf269ff1d7fc156..7ad59c09a01617bbcc5dcf2c747e467e8f68ecfd 100644
--- a/testing/pom.xml
+++ b/testing/pom.xml
@@ -18,7 +18,7 @@
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.opengroup.osdu</groupId>
 	<artifactId>indexer-test</artifactId>
-	<version>0.8.0-SNAPSHOT</version>
+	<version>0.9.0-SNAPSHOT</version>
 	<description>Indexer Service Integration Test Root Project</description>
 	<properties>
 		<spring.version>5.1.19.RELEASE</spring.version>