diff --git a/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchProperties.java b/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchProperties.java
index b1e22073ff46afac4cb27ba020d19ded60a8f858..a28b6fc83b226cff10ed2c3eded255fe63b297ed 100644
--- a/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchProperties.java
+++ b/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchProperties.java
@@ -12,11 +12,21 @@ import lombok.Setter;
 @Configuration
 public class OzgCloudElasticsearchProperties {
 
-	private String namespace;
-	private String secretName;
-	private String secretDataKey;
 	private String secretCredentialsName;
-	private String host;
-	private int port;
-	private String scheme;
-}
+	private String certificateSecretName;
+
+	private OzgCloudElasticsearchServerProperties serverProperties;
+
+	@Getter
+	@Setter
+	public class OzgCloudElasticsearchServerProperties {
+
+		private String namespace;
+		private String secretName;
+		private String secretDataKey;
+		private String secretCredentialsName;
+		private String host;
+		private int port;
+		private String scheme;
+	}
+}
\ No newline at end of file
diff --git a/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchSecretHelper.java b/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchSecretHelper.java
index 2ea1151edddf073f121608e9a8673d5efac7eef6..3528cbd21e392c78573cd69a454a938114338af5 100644
--- a/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchSecretHelper.java
+++ b/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchSecretHelper.java
@@ -34,7 +34,7 @@ public class OzgCloudElasticsearchSecretHelper {
 	}
 	
 	private String buildSecretAddress() {
-		return String.format("%s:%s", properties.getHost(), properties.getPort());
+		return String.format("%s:%s", properties.getServerProperties().getHost(), properties.getServerProperties().getPort());
 	}
 	
 	private String generatePassword() {
diff --git a/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/common/elasticsearch/ElasticsearchClientConfiguration.java b/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/common/elasticsearch/ElasticsearchClientConfiguration.java
index 3beb84b2eea82a92aa7d31c0e86fa472dce92742..fdea2f3ed87f2d0a033e9c688b62a5a359ed98bc 100644
--- a/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/common/elasticsearch/ElasticsearchClientConfiguration.java
+++ b/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/common/elasticsearch/ElasticsearchClientConfiguration.java
@@ -28,7 +28,7 @@ public class ElasticsearchClientConfiguration {
 	@Bean
 	@Scope("singleton")
 	ElasticsearchClient createElasticsearchClient() {
-		var credentialsProvider = createCredentialsProvider(elasticSearchProperties.getSecretDataKey(), getPassword());
+		var credentialsProvider = createCredentialsProvider(elasticSearchProperties.getServerProperties().getSecretDataKey(), getPassword());
 		var restClient = buildRestClient(credentialsProvider);
 		var transport = createRestClientTransport(restClient);
 		return new ElasticsearchClient(transport);
@@ -47,7 +47,7 @@ public class ElasticsearchClientConfiguration {
 	}
 
 	private HttpHost createHttpHost() {
-		return new HttpHost(elasticSearchProperties.getHost(), elasticSearchProperties.getPort(), elasticSearchProperties.getScheme());
+		return new HttpHost(elasticSearchProperties.getServerProperties().getHost(), elasticSearchProperties.getServerProperties().getPort(), elasticSearchProperties.getServerProperties().getScheme());
 	}
 
 	private RestClientTransport createRestClientTransport(RestClient restClient) {
@@ -55,8 +55,8 @@ public class ElasticsearchClientConfiguration {
 	}
 
 	String getPassword() {
-		var resource = kubernetesService.getSecretResource(elasticSearchProperties.getNamespace(), elasticSearchProperties.getSecretName());
-		var password = MapUtils.getString(resource.get().getStringData(), elasticSearchProperties.getSecretDataKey());
+		var resource = kubernetesService.getSecretResource(elasticSearchProperties.getServerProperties().getNamespace(), elasticSearchProperties.getServerProperties().getSecretName());
+		var password = MapUtils.getString(resource.get().getStringData(), elasticSearchProperties.getServerProperties().getSecretDataKey());
 		return password;
 	}
 }
\ No newline at end of file
diff --git a/ozgcloud-elasticsearch-operator/src/main/resources/application.yml b/ozgcloud-elasticsearch-operator/src/main/resources/application.yml
index 8339830ed51a9f1a1a7c9108f4b276af252887f4..77f1e1bbaf65fcd66330a1df0b37160082b62a4d 100644
--- a/ozgcloud-elasticsearch-operator/src/main/resources/application.yml
+++ b/ozgcloud-elasticsearch-operator/src/main/resources/application.yml
@@ -1,12 +1,15 @@
 ozgcloud:
   elasticsearch:
-    namespace: elastic-system
-    secretName: ozg-search-cluster-es-elastic-user
-    secretDataKey: elastic
     secretCredentialsName: elasticsearch-credentials
-    host: ozg-search-cluster-es-http
-    port: 9200
-    scheme: https
+    certificateSecretName: elasticsearch-certificate
+    server:
+      namespace: elastic-system
+      secretName: ozg-search-cluster-es-elastic-user
+      secretDataKey: elastic
+      host: ozg-search-cluster-es-http
+      port: 9200
+      scheme: https
+      certificateSecretName: elasticsearch-certificate
 
 management:
   server:
diff --git a/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/ElasticsearchSecretBuilderTest.java b/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/ElasticsearchSecretBuilderTest.java
index 4477189b5ab74f4756085c085401d30aa972e907..227ff7a9c3960330b0ca7a5005b42e784b33179e 100644
--- a/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/ElasticsearchSecretBuilderTest.java
+++ b/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/ElasticsearchSecretBuilderTest.java
@@ -11,6 +11,7 @@ import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Spy;
 
+import de.ozgcloud.operator.OzgCloudElasticsearchProperties.OzgCloudElasticsearchServerProperties;
 import de.ozgcloud.operator.common.kubernetes.NamespaceTestFactory;
 import de.ozgcloud.operator.common.kubernetes.SecretTestFactory;
 import io.fabric8.kubernetes.api.model.Secret;
@@ -30,10 +31,14 @@ class ElasticsearchSecretBuilderTest {
 		private final static String HOST = "dummyHost";
 		private final static int PORT = 42;
 		
+		@Mock
+		private OzgCloudElasticsearchServerProperties serverProperties;
+		
 		@BeforeEach
 		void mockProperties() {
-			when(properties.getHost()).thenReturn(HOST);
-			when(properties.getPort()).thenReturn(PORT);
+			when(properties.getServerProperties()).thenReturn(serverProperties);
+			when(serverProperties.getHost()).thenReturn(HOST);
+			when(serverProperties.getPort()).thenReturn(PORT);
 		}
 			
 		@Test
@@ -77,14 +82,14 @@ class ElasticsearchSecretBuilderTest {
 			void shouldGetHostFromProperties() {
 				buildCredentialSecret();
 				
-				verify(properties).getHost();
+				verify(serverProperties).getHost();
 			}
 			
 			@Test
 			void shouldGetPortFromPorperties() {
 				buildCredentialSecret();
 				
-				verify(properties).getPort();
+				verify(serverProperties).getPort();
 			}
 		}
 		
diff --git a/ozgcloud-elasticsearch-operator/src/test/resources/application.yml b/ozgcloud-elasticsearch-operator/src/test/resources/application.yml
index 1154419c5a8c12808b905389395e025d716d4381..56a0ea89025552429eb37bda580095dee2bd8d94 100644
--- a/ozgcloud-elasticsearch-operator/src/test/resources/application.yml
+++ b/ozgcloud-elasticsearch-operator/src/test/resources/application.yml
@@ -1,8 +1,12 @@
 ozgcloud:
-  elastic:
-    namespace: elastic-system
-    secretName: ozg-search-cluster-es-elastic-user
-    secretData: elastic
-    host: https://ozg-search-cluster-es-http
-    address: ozg-search-cluster-es-http.elastic-system
-    port: 9200
\ No newline at end of file
+  elasticsearch:
+    secretCredentialsName: elasticsearch-credentials
+    certificateSecretName: elasticsearch-certificate
+    server:
+      namespace: elastic-system
+      secretName: ozg-search-cluster-es-elastic-user
+      secretDataKey: elastic
+      host: ozg-search-cluster-es-http
+      port: 9200
+      scheme: https
+      certificateSecretName: elasticsearch-certificate
\ No newline at end of file