diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/ElasticClientHandler.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/ElasticClientHandler.java
index 1007967178a2d2c4859ebb8f3f50c88d29c80afc..1d46ee471f59232f5eff301ba146b3cc47936a62 100644
--- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/ElasticClientHandler.java
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/ElasticClientHandler.java
@@ -1,108 +1,153 @@
-// Copyright 2017-2019, Schlumberger
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
 package org.opengroup.osdu.indexer.util;
 
+import java.security.KeyManagementException;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.util.Base64;
+import java.util.Objects;
+import javax.net.ssl.SSLContext;
+import lombok.extern.java.Log;
 import org.apache.http.Header;
 import org.apache.http.HttpHost;
 import org.apache.http.HttpStatus;
+import org.apache.http.conn.ssl.NoopHostnameVerifier;
+import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
+import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
 import org.apache.http.message.BasicHeader;
+import org.apache.http.ssl.SSLContextBuilder;
 import org.elasticsearch.client.RestClient;
 import org.elasticsearch.client.RestClientBuilder;
 import org.elasticsearch.client.RestHighLevelClient;
 import org.opengroup.osdu.core.common.model.http.AppException;
-import org.opengroup.osdu.core.common.model.search.ClusterSettings;
 import org.opengroup.osdu.core.common.model.indexer.IElasticSettingService;
+import org.opengroup.osdu.core.common.model.search.ClusterSettings;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
-import java.util.Base64;
-
 @Component
+@Log
 public class ElasticClientHandler {
 
-    // Elastic cluster Rest client settings
-    private static final int CLOUD_REST_CLIENT_PORT = 9243;
-    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;
-
-   @Autowired
-    private IElasticSettingService elasticSettingService;
-
-    public RestHighLevelClient createRestClient() {
-        return getCloudRestClient(elasticSettingService.getElasticClusterInformation());
+  // Elastic cluster Rest client settings
+  private static final int CLOUD_REST_CLIENT_PORT = 9243;
+  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("#{new Boolean('${security.https.certificate.trust:false}')}")
+  private Boolean isSecurityHttpsCertificateTrust;
+
+  @Autowired
+  private IElasticSettingService elasticSettingService;
+
+  public RestHighLevelClient createRestClient() {
+    return getCloudRestClient(elasticSettingService.getElasticClusterInformation());
+  }
+
+  // TODO: Remove this temporary implementation when ECE CCS is utilized
+  public RestHighLevelClient createRestClient(final ClusterSettings clusterSettings) {
+    return getCloudRestClient(clusterSettings);
+  }
+
+  private RestHighLevelClient getCloudRestClient(final ClusterSettings clusterSettings) {
+
+    String cluster = null;
+    String host = null;
+    int port = CLOUD_REST_CLIENT_PORT;
+    String protocolScheme = "https";
+    String tls = "true";
+
+    try {
+      cluster = clusterSettings.getHost();
+      host = clusterSettings.getHost();
+      port = clusterSettings.getPort();
+      if (!clusterSettings.isHttps()) {
+        protocolScheme = "http";
+      }
+
+      if (!clusterSettings.isTls()) {
+        tls = "false";
+      }
+      String basicEncoded = Base64
+          .getEncoder().encodeToString(clusterSettings.getUserNameAndPassword().getBytes());
+      String basicAuthenticationHeaderVal = String.format("Basic %s", basicEncoded);
+
+      RestClientBuilder builder = createClientBuilder(host, basicAuthenticationHeaderVal, port,
+          protocolScheme, tls);
+
+      return new RestHighLevelClient(builder);
+    } catch (AppException e) {
+      throw e;
+    } catch (Exception e) {
+      throw new AppException(
+          HttpStatus.SC_INTERNAL_SERVER_ERROR,
+          "search client error",
+          "error creating search client",
+          String
+              .format("Elastic client connection params, cluster: %s, host: %s, port: %s", cluster,
+                  host, port),
+          e);
     }
-    // TODO: Remove this temporary implementation when ECE CCS is utilized
-    public RestHighLevelClient createRestClient(final ClusterSettings clusterSettings) {
-        return getCloudRestClient(clusterSettings);
+  }
+
+  public RestClientBuilder createClientBuilder(String host, String basicAuthenticationHeaderVal,
+      int port, String protocolScheme, String tls) {
+    RestClientBuilder builder = RestClient.builder(new HttpHost(host, port, protocolScheme));
+    builder.setRequestConfigCallback(
+        requestConfigBuilder -> requestConfigBuilder.setConnectTimeout(REST_CLIENT_CONNECT_TIMEOUT)
+            .setSocketTimeout(REST_CLIENT_SOCKET_TIMEOUT));
+    builder.setMaxRetryTimeoutMillis(REST_CLIENT_RETRY_TIMEOUT);
+
+    Header[] defaultHeaders = new Header[]{
+        new BasicHeader("client.transport.nodes_sampler_interval", "30s"),
+        new BasicHeader("client.transport.ping_timeout", "30s"),
+        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("Authorization", basicAuthenticationHeaderVal),
+    };
+    log.info(String.format(
+        "Elastic client connection uses protocolScheme = %s with a flag "
+            + "'security.https.certificate.trust' = %s",
+        protocolScheme, isSecurityHttpsCertificateTrust));
+    if ("https".equals(protocolScheme) && isSecurityHttpsCertificateTrust) {
+      log.warning("Elastic client connection uses TrustSelfSignedStrategy()");
+      SSLContext sslContext = createSSLContext();
+      builder.setHttpClientConfigCallback(httpClientBuilder ->
+      {
+        HttpAsyncClientBuilder httpAsyncClientBuilder = httpClientBuilder.setSSLContext(sslContext)
+            .setSSLHostnameVerifier(
+                NoopHostnameVerifier.INSTANCE);
+        return httpAsyncClientBuilder;
+      });
     }
 
-    private RestHighLevelClient getCloudRestClient(final ClusterSettings clusterSettings) {
-
-        String cluster = null;
-        String host = null;
-        int port = CLOUD_REST_CLIENT_PORT;
-        String protocolScheme = "https";
-        String tls = "true";
-
-        try {
-            cluster = clusterSettings.getHost();
-            host = clusterSettings.getHost();
-            port = clusterSettings.getPort();
-            if(!clusterSettings.isHttps()){
-                protocolScheme = "http";
-            }
-
-            if(!clusterSettings.isTls()){
-                tls = "false";
-            }
-            String basicEncoded = Base64.getEncoder().encodeToString(clusterSettings.getUserNameAndPassword().getBytes());
-            String basicAuthenticationHeaderVal = String.format("Basic %s", basicEncoded);
-
-            RestClientBuilder builder = createClientBuilder(host, basicAuthenticationHeaderVal, port, protocolScheme, tls);
-
-            return new RestHighLevelClient(builder);
-        } catch (AppException e) {
-            throw e;
-        } catch (Exception e) {
-            throw new AppException(
-                    HttpStatus.SC_INTERNAL_SERVER_ERROR,
-                    "search client error",
-                    "error creating search client",
-                    String.format("Elastic client connection params, cluster: %s, host: %s, port: %s", cluster, host, port),
-                    e);
-        }
+    builder.setDefaultHeaders(defaultHeaders);
+    return builder;
+  }
+
+  private SSLContext createSSLContext() {
+    SSLContextBuilder sslContextBuilder = new SSLContextBuilder();
+    try {
+      sslContextBuilder.loadTrustMaterial(null, new TrustSelfSignedStrategy());
+      return sslContextBuilder.build();
+    } catch (NoSuchAlgorithmException e) {
+      log.severe(e.getMessage());
+    } catch (KeyStoreException e) {
+      log.severe(e.getMessage());
+    } catch (KeyManagementException e) {
+      log.severe(e.getMessage());
     }
+    return null;
+  }
 
-    public RestClientBuilder createClientBuilder(String host, String basicAuthenticationHeaderVal, int port, String protocolScheme, String tls) {
-        RestClientBuilder builder = RestClient.builder(new HttpHost(host, port, protocolScheme));
-        builder.setRequestConfigCallback(requestConfigBuilder -> requestConfigBuilder.setConnectTimeout(REST_CLIENT_CONNECT_TIMEOUT)
-                .setSocketTimeout(REST_CLIENT_SOCKET_TIMEOUT));
-        builder.setMaxRetryTimeoutMillis(REST_CLIENT_RETRY_TIMEOUT);
-
-        Header[] defaultHeaders = new Header[]{
-                new BasicHeader("client.transport.nodes_sampler_interval", "30s"),
-                new BasicHeader("client.transport.ping_timeout", "30s"),
-                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("Authorization", basicAuthenticationHeaderVal),
-        };
-
-        builder.setDefaultHeaders(defaultHeaders);
-        return builder;
-    }
+  public Boolean isSecurityHttpsCertificateTrust() {
+    return isSecurityHttpsCertificateTrust;
+  }
+
+  public void setSecurityHttpsCertificateTrust(Boolean isSecurityHttpsCertificateTrust) {
+    this.isSecurityHttpsCertificateTrust = isSecurityHttpsCertificateTrust;
+  }
 }
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/application.properties b/indexer-core/src/test/resources/application.properties
new file mode 100644
index 0000000000000000000000000000000000000000..50f201247aa58eb42e6ede1d631cd2ce2127a6a8
--- /dev/null
+++ b/indexer-core/src/test/resources/application.properties
@@ -0,0 +1 @@
+security.https.certificate.trust=false
\ No newline at end of file
diff --git a/provider/indexer-gcp/README.md b/provider/indexer-gcp/README.md
index eaa3bed2cc397566cbb689d40780ec922f91591c..97143cbe634112ca553728bd7fc5b423b6488031 100644
--- a/provider/indexer-gcp/README.md
+++ b/provider/indexer-gcp/README.md
@@ -34,6 +34,8 @@ In order to run the service locally or remotely, you will need to have the follo
 | `GOOGLE_CLOUD_PROJECT` | ex `opendes` | Google Cloud Project Id| no | output of infrastructure deployment |
 | `GOOGLE_AUDIENCES` | ex `*****.apps.googleusercontent.com` | Client ID for getting access to cloud resources | yes | https://console.cloud.google.com/apis/credentials |
 | `GOOGLE_APPLICATION_CREDENTIALS` | ex `/path/to/directory/service-key.json` | Service account credentials, you only need this if running locally | yes | https://console.cloud.google.com/iam-admin/serviceaccounts |
+| `security.https.certificate.trust` | ex `false` | Elastic client connection uses TrustSelfSignedStrategy(), if it is 'true' | false | output of infrastructure deployment |
+
 
 ### Run Locally
 Check that maven is installed:
diff --git a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/ElasticClientHandlerGcp.java b/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/ElasticClientHandlerGcp.java
deleted file mode 100644
index 1643e331084e85a87a10984fddcaae43847e9ece..0000000000000000000000000000000000000000
--- a/provider/indexer-gcp/src/main/java/org/opengroup/osdu/indexer/util/ElasticClientHandlerGcp.java
+++ /dev/null
@@ -1,146 +0,0 @@
-package org.opengroup.osdu.indexer.util;
-
-import java.security.KeyManagementException;
-import java.security.KeyStoreException;
-import java.security.NoSuchAlgorithmException;
-import java.util.Base64;
-import javax.net.ssl.SSLContext;
-import lombok.extern.java.Log;
-import org.apache.http.Header;
-import org.apache.http.HttpHost;
-import org.apache.http.HttpStatus;
-import org.apache.http.conn.ssl.NoopHostnameVerifier;
-import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
-import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
-import org.apache.http.message.BasicHeader;
-import org.apache.http.ssl.SSLContextBuilder;
-import org.elasticsearch.client.RestClient;
-import org.elasticsearch.client.RestClientBuilder;
-import org.elasticsearch.client.RestHighLevelClient;
-import org.opengroup.osdu.core.common.model.http.AppException;
-import org.opengroup.osdu.core.common.model.indexer.IElasticSettingService;
-import org.opengroup.osdu.core.common.model.search.ClusterSettings;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Primary;
-import org.springframework.stereotype.Component;
-
-@Component
-@Primary
-@Log
-public class ElasticClientHandlerGcp extends ElasticClientHandler {
-
-  // Elastic cluster Rest client settings
-  private static final int CLOUD_REST_CLIENT_PORT = 9243;
-  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("#{new Boolean('${security.https.certificate.trust}')}")
-  private Boolean securityHttpsCertificateTrust;
-
-  @Autowired
-  private IElasticSettingService elasticSettingService;
-
-  public RestHighLevelClient createRestClient() {
-    return getCloudRestClient(elasticSettingService.getElasticClusterInformation());
-  }
-
-  // TODO: Remove this temporary implementation when ECE CCS is utilized
-  public RestHighLevelClient createRestClient(final ClusterSettings clusterSettings) {
-    return getCloudRestClient(clusterSettings);
-  }
-
-  private RestHighLevelClient getCloudRestClient(final ClusterSettings clusterSettings) {
-
-    String cluster = null;
-    String host = null;
-    int port = CLOUD_REST_CLIENT_PORT;
-    String protocolScheme = "https";
-    String tls = "true";
-
-    try {
-      cluster = clusterSettings.getHost();
-      host = clusterSettings.getHost();
-      port = clusterSettings.getPort();
-      if (!clusterSettings.isHttps()) {
-        protocolScheme = "http";
-      }
-
-      if (!clusterSettings.isTls()) {
-        tls = "false";
-      }
-      String basicEncoded = Base64
-          .getEncoder().encodeToString(clusterSettings.getUserNameAndPassword().getBytes());
-      String basicAuthenticationHeaderVal = String.format("Basic %s", basicEncoded);
-
-      RestClientBuilder builder = createClientBuilder(host, basicAuthenticationHeaderVal, port,
-          protocolScheme, tls);
-
-      return new RestHighLevelClient(builder);
-    } catch (AppException e) {
-      throw e;
-    } catch (Exception e) {
-      throw new AppException(
-          HttpStatus.SC_INTERNAL_SERVER_ERROR,
-          "search client error",
-          "error creating search client",
-          String
-              .format("Elastic client connection params, cluster: %s, host: %s, port: %s", cluster,
-                  host, port),
-          e);
-    }
-  }
-
-  public RestClientBuilder createClientBuilder(String host, String basicAuthenticationHeaderVal,
-      int port, String protocolScheme, String tls) {
-    RestClientBuilder builder = RestClient.builder(new HttpHost(host, port, protocolScheme));
-    builder.setRequestConfigCallback(
-        requestConfigBuilder -> requestConfigBuilder.setConnectTimeout(REST_CLIENT_CONNECT_TIMEOUT)
-            .setSocketTimeout(REST_CLIENT_SOCKET_TIMEOUT));
-    builder.setMaxRetryTimeoutMillis(REST_CLIENT_RETRY_TIMEOUT);
-
-    Header[] defaultHeaders = new Header[]{
-        new BasicHeader("client.transport.nodes_sampler_interval", "30s"),
-        new BasicHeader("client.transport.ping_timeout", "30s"),
-        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("Authorization", basicAuthenticationHeaderVal),
-    };
-    log.info(String.format(
-        "Elastic client connection uses protocolScheme = %s with a flag "
-            + "'security.https.certificate.trust' = %s",
-        protocolScheme, securityHttpsCertificateTrust));
-    if ("https".equals(protocolScheme) && securityHttpsCertificateTrust) {
-      log.warning("Elastic client connection uses TrustSelfSignedStrategy()");
-      SSLContext sslContext = createSSLContext();
-      builder.setHttpClientConfigCallback(httpClientBuilder ->
-      {
-        HttpAsyncClientBuilder httpAsyncClientBuilder = httpClientBuilder.setSSLContext(sslContext)
-            .setSSLHostnameVerifier(
-                NoopHostnameVerifier.INSTANCE);
-        return httpAsyncClientBuilder;
-      });
-    }
-
-    builder.setDefaultHeaders(defaultHeaders);
-    return builder;
-  }
-
-  private SSLContext createSSLContext() {
-    SSLContextBuilder sslContextBuilder = new SSLContextBuilder();
-    try {
-      sslContextBuilder.loadTrustMaterial(null, new TrustSelfSignedStrategy());
-      return sslContextBuilder.build();
-    } catch (NoSuchAlgorithmException e) {
-      log.severe(e.getMessage());
-    } catch (KeyStoreException e) {
-      log.severe(e.getMessage());
-    } catch (KeyManagementException e) {
-      log.severe(e.getMessage());
-    }
-    return null;
-  }
-}
diff --git a/provider/indexer-gcp/src/main/resources/application-dev.properties b/provider/indexer-gcp/src/main/resources/application-dev.properties
index 4644fef832ea9080e6eb94055f65e8e6211ff73b..61da3c7139e0f8e834b2ec5b90173b2c517d075d 100644
--- a/provider/indexer-gcp/src/main/resources/application-dev.properties
+++ b/provider/indexer-gcp/src/main/resources/application-dev.properties
@@ -18,6 +18,4 @@ CRS_API=https://crs-converter-gae-dot-opendes.appspot.com/api/crs/v1
 REDIS_GROUP_HOST=10.0.16.28
 REDIS_SEARCH_HOST=10.0.16.20
 
-GOOGLE_AUDIENCES=245464679631-ktfdfpl147m1mjpbutl00b3cmffissgq.apps.googleusercontent.com
-
-security.https.certificate.trust=${SECURITY_HTTPS_CERTIFICATE_TRUST}
\ No newline at end of file
+GOOGLE_AUDIENCES=245464679631-ktfdfpl147m1mjpbutl00b3cmffissgq.apps.googleusercontent.com
\ No newline at end of file
diff --git a/provider/indexer-gcp/src/main/resources/application-kuber.properties b/provider/indexer-gcp/src/main/resources/application-kuber.properties
index 4a92f155ba1e1b400b15ea2fcfb12474872f3a35..bc2a5f9014fa1b406a008e2cc69f161a8e3a9a8b 100644
--- a/provider/indexer-gcp/src/main/resources/application-kuber.properties
+++ b/provider/indexer-gcp/src/main/resources/application-kuber.properties
@@ -21,6 +21,4 @@ REDIS_SEARCH_HOST=${REDIS_SEARCH_HOST}
 GOOGLE_AUDIENCES=${GOOGLE_AUDIENCES}
 
 DEPLOYMENT_ENVIRONMENT=CLOUD
-disable.appengine.log.factory=true
-
-security.https.certificate.trust=${SECURITY_HTTPS_CERTIFICATE_TRUST}
\ No newline at end of file
+disable.appengine.log.factory=true
\ No newline at end of file
diff --git a/provider/indexer-gcp/src/main/resources/application-testing.properties b/provider/indexer-gcp/src/main/resources/application-testing.properties
index ef983cb6104fc6b8ad09a34a729043b9f14d0336..fb0c9e2d6ce29c87dca6f58d1afec0b420c1e663 100644
--- a/provider/indexer-gcp/src/main/resources/application-testing.properties
+++ b/provider/indexer-gcp/src/main/resources/application-testing.properties
@@ -18,6 +18,4 @@ CRS_API=https://crs-converter-gae-dot-opendes-evt.appspot.com/api/crs/v1
 REDIS_GROUP_HOST=10.253.209.196
 REDIS_SEARCH_HOST=10.118.2.140
 
-GOOGLE_AUDIENCES=833591776864-oobhqvmtdg9rpreubjvn44m5f8revglk.apps.googleusercontent.com
-
-security.https.certificate.trust=false
\ No newline at end of file
+GOOGLE_AUDIENCES=833591776864-oobhqvmtdg9rpreubjvn44m5f8revglk.apps.googleusercontent.com
\ No newline at end of file
diff --git a/provider/indexer-gcp/src/main/resources/application.properties b/provider/indexer-gcp/src/main/resources/application.properties
index 1ccde084878626a19f762e0fd8abb6a650450447..5861c67c7ddae3d2b2b572222af275646e5fdb2a 100644
--- a/provider/indexer-gcp/src/main/resources/application.properties
+++ b/provider/indexer-gcp/src/main/resources/application.properties
@@ -32,3 +32,5 @@ KMS_KEY=searchService
 
 ELASTIC_DATASTORE_KIND=SearchSettings
 ELASTIC_DATASTORE_ID=indexer-service
+
+security.https.certificate.trust=${SECURITY_HTTPS_CERTIFICATE_TRUST}