Skip to content
Snippets Groups Projects
Commit f0a86de9 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-4453 adjust porperties strucutre; extend properties

parent 9ba3ef2c
No related branches found
No related tags found
No related merge requests found
...@@ -12,6 +12,15 @@ import lombok.Setter; ...@@ -12,6 +12,15 @@ import lombok.Setter;
@Configuration @Configuration
public class OzgCloudElasticsearchProperties { public class OzgCloudElasticsearchProperties {
private String secretCredentialsName;
private String certificateSecretName;
private OzgCloudElasticsearchServerProperties serverProperties;
@Getter
@Setter
public class OzgCloudElasticsearchServerProperties {
private String namespace; private String namespace;
private String secretName; private String secretName;
private String secretDataKey; private String secretDataKey;
...@@ -20,3 +29,4 @@ public class OzgCloudElasticsearchProperties { ...@@ -20,3 +29,4 @@ public class OzgCloudElasticsearchProperties {
private int port; private int port;
private String scheme; private String scheme;
} }
}
\ No newline at end of file
...@@ -34,7 +34,7 @@ public class OzgCloudElasticsearchSecretHelper { ...@@ -34,7 +34,7 @@ public class OzgCloudElasticsearchSecretHelper {
} }
private String buildSecretAddress() { 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() { private String generatePassword() {
......
...@@ -28,7 +28,7 @@ public class ElasticsearchClientConfiguration { ...@@ -28,7 +28,7 @@ public class ElasticsearchClientConfiguration {
@Bean @Bean
@Scope("singleton") @Scope("singleton")
ElasticsearchClient createElasticsearchClient() { ElasticsearchClient createElasticsearchClient() {
var credentialsProvider = createCredentialsProvider(elasticSearchProperties.getSecretDataKey(), getPassword()); var credentialsProvider = createCredentialsProvider(elasticSearchProperties.getServerProperties().getSecretDataKey(), getPassword());
var restClient = buildRestClient(credentialsProvider); var restClient = buildRestClient(credentialsProvider);
var transport = createRestClientTransport(restClient); var transport = createRestClientTransport(restClient);
return new ElasticsearchClient(transport); return new ElasticsearchClient(transport);
...@@ -47,7 +47,7 @@ public class ElasticsearchClientConfiguration { ...@@ -47,7 +47,7 @@ public class ElasticsearchClientConfiguration {
} }
private HttpHost createHttpHost() { 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) { private RestClientTransport createRestClientTransport(RestClient restClient) {
...@@ -55,8 +55,8 @@ public class ElasticsearchClientConfiguration { ...@@ -55,8 +55,8 @@ public class ElasticsearchClientConfiguration {
} }
String getPassword() { String getPassword() {
var resource = kubernetesService.getSecretResource(elasticSearchProperties.getNamespace(), elasticSearchProperties.getSecretName()); var resource = kubernetesService.getSecretResource(elasticSearchProperties.getServerProperties().getNamespace(), elasticSearchProperties.getServerProperties().getSecretName());
var password = MapUtils.getString(resource.get().getStringData(), elasticSearchProperties.getSecretDataKey()); var password = MapUtils.getString(resource.get().getStringData(), elasticSearchProperties.getServerProperties().getSecretDataKey());
return password; return password;
} }
} }
\ No newline at end of file
ozgcloud: ozgcloud:
elasticsearch: elasticsearch:
secretCredentialsName: elasticsearch-credentials
certificateSecretName: elasticsearch-certificate
server:
namespace: elastic-system namespace: elastic-system
secretName: ozg-search-cluster-es-elastic-user secretName: ozg-search-cluster-es-elastic-user
secretDataKey: elastic secretDataKey: elastic
secretCredentialsName: elasticsearch-credentials
host: ozg-search-cluster-es-http host: ozg-search-cluster-es-http
port: 9200 port: 9200
scheme: https scheme: https
certificateSecretName: elasticsearch-certificate
management: management:
server: server:
......
...@@ -11,6 +11,7 @@ import org.mockito.InjectMocks; ...@@ -11,6 +11,7 @@ import org.mockito.InjectMocks;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.Spy; import org.mockito.Spy;
import de.ozgcloud.operator.OzgCloudElasticsearchProperties.OzgCloudElasticsearchServerProperties;
import de.ozgcloud.operator.common.kubernetes.NamespaceTestFactory; import de.ozgcloud.operator.common.kubernetes.NamespaceTestFactory;
import de.ozgcloud.operator.common.kubernetes.SecretTestFactory; import de.ozgcloud.operator.common.kubernetes.SecretTestFactory;
import io.fabric8.kubernetes.api.model.Secret; import io.fabric8.kubernetes.api.model.Secret;
...@@ -30,10 +31,14 @@ class ElasticsearchSecretBuilderTest { ...@@ -30,10 +31,14 @@ class ElasticsearchSecretBuilderTest {
private final static String HOST = "dummyHost"; private final static String HOST = "dummyHost";
private final static int PORT = 42; private final static int PORT = 42;
@Mock
private OzgCloudElasticsearchServerProperties serverProperties;
@BeforeEach @BeforeEach
void mockProperties() { void mockProperties() {
when(properties.getHost()).thenReturn(HOST); when(properties.getServerProperties()).thenReturn(serverProperties);
when(properties.getPort()).thenReturn(PORT); when(serverProperties.getHost()).thenReturn(HOST);
when(serverProperties.getPort()).thenReturn(PORT);
} }
@Test @Test
...@@ -77,14 +82,14 @@ class ElasticsearchSecretBuilderTest { ...@@ -77,14 +82,14 @@ class ElasticsearchSecretBuilderTest {
void shouldGetHostFromProperties() { void shouldGetHostFromProperties() {
buildCredentialSecret(); buildCredentialSecret();
verify(properties).getHost(); verify(serverProperties).getHost();
} }
@Test @Test
void shouldGetPortFromPorperties() { void shouldGetPortFromPorperties() {
buildCredentialSecret(); buildCredentialSecret();
verify(properties).getPort(); verify(serverProperties).getPort();
} }
} }
......
ozgcloud: ozgcloud:
elastic: elasticsearch:
secretCredentialsName: elasticsearch-credentials
certificateSecretName: elasticsearch-certificate
server:
namespace: elastic-system namespace: elastic-system
secretName: ozg-search-cluster-es-elastic-user secretName: ozg-search-cluster-es-elastic-user
secretData: elastic secretDataKey: elastic
host: https://ozg-search-cluster-es-http host: ozg-search-cluster-es-http
address: ozg-search-cluster-es-http.elastic-system
port: 9200 port: 9200
scheme: https
certificateSecretName: elasticsearch-certificate
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment