From f0a86de9ab2e9671570348da52ad40e910965a4a Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Thu, 21 Dec 2023 14:25:52 +0100 Subject: [PATCH] OZG-4453 adjust porperties strucutre; extend properties --- .../OzgCloudElasticsearchProperties.java | 24 +++++++++++++------ .../OzgCloudElasticsearchSecretHelper.java | 2 +- .../ElasticsearchClientConfiguration.java | 8 +++---- .../src/main/resources/application.yml | 15 +++++++----- .../ElasticsearchSecretBuilderTest.java | 13 ++++++---- .../src/test/resources/application.yml | 18 ++++++++------ 6 files changed, 51 insertions(+), 29 deletions(-) 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 b1e2207..a28b6fc 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 2ea1151..3528cbd 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 3beb84b..fdea2f3 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 8339830..77f1e1b 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 4477189..227ff7a 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 1154419..56a0ea8 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 -- GitLab