Skip to content
Snippets Groups Projects
Commit ee23250f authored by Lukasz Lopatowski's avatar Lukasz Lopatowski
Browse files

Merge branch '201-add-additional-global-deployment-variables-for-smtp-configuration' into 'develop'

Added two deployment parameters for SMTP

Closes #201

See merge request !6
parents ded69ba8 28462749
Branches
Tags
1 merge request!6Added two deployment parameters for SMTP
Pipeline #86830 passed
Showing
with 36 additions and 6 deletions
......@@ -166,6 +166,7 @@ kubernetes.deployment.smtpServerHostname=${SMTP_HOST}
kubernetes.deployment.smtpServerPort=${SMTP_PORT}
kubernetes.deployment.smtpServerUsername=${SMTP_LOGIN}
kubernetes.deployment.smtpServerPassword=${SMTP_PASSWORD}
kubernetes.deployment.smtpFromDefaultDomain=${SMTP_FROM_DEFAULT_DOMAIN}
kubernetes.deployment.defaultStorageClass=${K8S_DEPLOYMENT_DEFAULT_STORAGE_CLASS}
kubernetes.deployment.forceDedicatedWorkers=false
......
......@@ -44,6 +44,7 @@ public class KubernetesClusterControllerIntTest {
"\"smtpServerPort\":587," +
"\"smtpServerUsername\":\"\"," +
"\"smtpServerPassword\":\"\"," +
"\"smtpFromDefaultDomain\":\"\"," +
"\"forceDedicatedWorkers\":false" +
"}" +
"}";
......@@ -55,7 +56,7 @@ public class KubernetesClusterControllerIntTest {
private KubernetesClusterIngressManager clusterIngressManager;
@Test
public void shouldFetchKubernetesCluster() throws Exception {
void shouldFetchKubernetesCluster() throws Exception {
MockMvc mvc = MockMvcBuilders
.standaloneSetup(new KubernetesClusterController(clusterIngressManager, clusterDeploymentManager))
.setControllerAdvice(new ApiExceptionHandler())
......
......@@ -144,6 +144,7 @@ kubernetes.deployment.smtpServerHostname=test-postfix
kubernetes.deployment.smtpServerPort=587
kubernetes.deployment.smtpServerUsername=
kubernetes.deployment.smtpServerPassword=
kubernetes.deployment.smtpFromDefaultDomain=
kubernetes.deployment.defaultStorageClass=storageClass
# -------------------- #
......
......@@ -46,6 +46,9 @@ public class KubernetesClusterDeploymentManager implements KubernetesClusterName
@Value("${kubernetes.deployment.smtpServerPassword:}")
private String smtpServerPassword;
@Value("${kubernetes.deployment.smtpFromDefaultDomain}")
private String smtpFromDefaultDomain;
@Value("${kubernetes.deployment.forceDedicatedWorkers:false}")
private Boolean forceDedicatedWorkers;
......@@ -101,6 +104,8 @@ public class KubernetesClusterDeploymentManager implements KubernetesClusterName
return Optional.ofNullable(smtpServerPassword);
}
public String getSMTPFromDefaultDomain() { return smtpFromDefaultDomain; }
KClusterView.KClusterDeploymentView getKClusterDeploymentView() {
KClusterView.KClusterDeploymentView kClusterDeploymentView = new KClusterView.KClusterDeploymentView();
kClusterDeploymentView.setNamespaceConfigOption(this.namespaceConfigOption);
......@@ -110,6 +115,7 @@ public class KubernetesClusterDeploymentManager implements KubernetesClusterName
kClusterDeploymentView.setSmtpServerPort(this.smtpServerPort);
kClusterDeploymentView.setSmtpServerUsername(this.smtpServerUsername);
kClusterDeploymentView.setSmtpServerPassword(this.smtpServerPassword);
kClusterDeploymentView.setSmtpFromDefaultDomain(this.smtpFromDefaultDomain);
kClusterDeploymentView.setForceDedicatedWorkers(this.forceDedicatedWorkers);
return kClusterDeploymentView;
}
......
......@@ -33,6 +33,8 @@ public class KClusterView {
private String smtpServerPassword;
private String smtpFromDefaultDomain;
private Boolean forceDedicatedWorkers;
}
......
......@@ -16,7 +16,9 @@ import static net.geant.nmaas.nmservice.deployment.containerorchestrators.kubern
import static net.geant.nmaas.nmservice.deployment.containerorchestrators.kubernetes.entities.ParameterType.BASE_URL;
import static net.geant.nmaas.nmservice.deployment.containerorchestrators.kubernetes.entities.ParameterType.DOMAIN_CODENAME;
import static net.geant.nmaas.nmservice.deployment.containerorchestrators.kubernetes.entities.ParameterType.RELEASE_NAME;
import static net.geant.nmaas.nmservice.deployment.containerorchestrators.kubernetes.entities.ParameterType.SMTP_FROM_DEFAULT_DOMAIN;
import static net.geant.nmaas.nmservice.deployment.containerorchestrators.kubernetes.entities.ParameterType.SMTP_HOSTNAME;
import static net.geant.nmaas.nmservice.deployment.containerorchestrators.kubernetes.entities.ParameterType.SMTP_HOST_WITH_PORT;
import static net.geant.nmaas.nmservice.deployment.containerorchestrators.kubernetes.entities.ParameterType.SMTP_PASSWORD;
import static net.geant.nmaas.nmservice.deployment.containerorchestrators.kubernetes.entities.ParameterType.SMTP_PORT;
import static net.geant.nmaas.nmservice.deployment.containerorchestrators.kubernetes.entities.ParameterType.SMTP_USERNAME;
......@@ -35,13 +37,15 @@ public class KubernetesDeploymentParametersProvider implements AppDeploymentPara
Map<String, String> parametersMap = new HashMap<>();
parametersMap.put(SMTP_HOSTNAME.name(), deploymentManager.getSMTPServerHostname());
parametersMap.put(SMTP_PORT.name(), deploymentManager.getSMTPServerPort().toString());
parametersMap.put(SMTP_HOST_WITH_PORT.name(), deploymentManager.getSMTPServerHostname() + ":" + deploymentManager.getSMTPServerPort().toString());
parametersMap.put(SMTP_FROM_DEFAULT_DOMAIN.name(), deploymentManager.getSMTPFromDefaultDomain());
deploymentManager.getSMTPServerUsername().ifPresent(username -> {
if(!username.isEmpty()) {
if (!username.isEmpty()) {
parametersMap.put(SMTP_USERNAME.name(), username);
}
});
deploymentManager.getSMTPServerPassword().ifPresent(value -> {
if(!value.isEmpty()) {
if (!value.isEmpty()) {
parametersMap.put(SMTP_PASSWORD.name(), value);
}
});
......
......@@ -142,6 +142,12 @@ public class KubernetesManager implements ContainerOrchestrator {
case SMTP_PORT:
additionalParameters.put(v, deploymentParameters.get(ParameterType.SMTP_PORT.name()));
break;
case SMTP_HOST_WITH_PORT:
additionalParameters.put(v, deploymentParameters.get(ParameterType.SMTP_HOST_WITH_PORT.name()));
break;
case SMTP_FROM_DEFAULT_DOMAIN:
additionalParameters.put(v, deploymentParameters.get(ParameterType.SMTP_FROM_DEFAULT_DOMAIN.name()));
break;
case SMTP_USERNAME:
if (deploymentParameters.containsKey(ParameterType.SMTP_USERNAME.name())) {
additionalParameters.put(v, deploymentParameters.get(ParameterType.SMTP_USERNAME.name()));
......
......@@ -5,8 +5,10 @@ import java.util.Arrays;
public enum ParameterType {
SMTP_HOSTNAME,
SMTP_PORT,
SMTP_HOST_WITH_PORT,
SMTP_USERNAME,
SMTP_PASSWORD,
SMTP_FROM_DEFAULT_DOMAIN,
DOMAIN_CODENAME,
BASE_URL,
RELEASE_NAME,
......@@ -19,4 +21,4 @@ public enum ParameterType {
.orElseThrow(IllegalArgumentException::new);
}
}
}
\ No newline at end of file
......@@ -91,6 +91,8 @@ public class KubernetesManagerTest {
parametersMap.put(ParameterType.SMTP_PORT.name(), "5");
parametersMap.put(ParameterType.SMTP_USERNAME.name(), "username");
parametersMap.put(ParameterType.SMTP_PASSWORD.name(), "password");
parametersMap.put(ParameterType.SMTP_HOST_WITH_PORT.name(), "host:port");
parametersMap.put(ParameterType.SMTP_FROM_DEFAULT_DOMAIN.name(), "@fromdomain");
parametersMap.put(ParameterType.BASE_URL.name(), "extBaseUrl");
parametersMap.put(ParameterType.DOMAIN_CODENAME.name(), "domain");
parametersMap.put(ParameterType.RELEASE_NAME.name(), "descriptiveDeploymentId");
......@@ -257,7 +259,7 @@ public class KubernetesManagerTest {
assertEquals("valid", accessMethod.get().getCondition());
assertTrue(accessMethod.get().isEnabled());
assertNotNull(serviceInfo.getValue().getAdditionalParameters());
assertEquals(19, serviceInfo.getValue().getAdditionalParameters().size());
assertEquals(21, serviceInfo.getValue().getAdditionalParameters().size());
assertEquals("customvalue1", serviceInfo.getValue().getAdditionalParameters().get("customkey1"));
assertEquals("customvalue2", serviceInfo.getValue().getAdditionalParameters().get("customkey2"));
assertEquals(serviceInfo.getValue().getAdditionalParameters().get("customkey3"), serviceInfo.getValue().getAdditionalParameters().get("customkey5"));
......@@ -266,8 +268,10 @@ public class KubernetesManagerTest {
assertTrue(serviceInfo.getValue().getAdditionalParameters().get("customkey4").matches("beginning-(.*)-ending"));
assertEquals("hostname", serviceInfo.getValue().getAdditionalParameters().get("smtpHostname"));
assertEquals("5", serviceInfo.getValue().getAdditionalParameters().get("smtpPort"));
assertEquals("host:port", serviceInfo.getValue().getAdditionalParameters().get("smtpHostnameWithPort"));
assertEquals("username", serviceInfo.getValue().getAdditionalParameters().get("smtpUsername"));
assertEquals("password", serviceInfo.getValue().getAdditionalParameters().get("smtpPassword"));
assertEquals("@fromdomain", serviceInfo.getValue().getAdditionalParameters().get("smtpFromDefaultDomain"));
assertEquals("domain", serviceInfo.getValue().getAdditionalParameters().get("domainCodeName"));
assertEquals("extBaseUrl", serviceInfo.getValue().getAdditionalParameters().get("baseUrl"));
assertEquals("descriptiveDeploymentId", serviceInfo.getValue().getAdditionalParameters().get("releaseName"));
......@@ -298,6 +302,8 @@ public class KubernetesManagerTest {
deployParameters.put(ParameterType.SMTP_PORT.toString(), "smtpPort");
deployParameters.put(ParameterType.SMTP_USERNAME.toString(), "smtpUsername");
deployParameters.put(ParameterType.SMTP_PASSWORD.toString(), "smtpPassword");
deployParameters.put(ParameterType.SMTP_HOST_WITH_PORT.name(), "smtpHostnameWithPort");
deployParameters.put(ParameterType.SMTP_FROM_DEFAULT_DOMAIN.name(), "smtpFromDefaultDomain");
deployParameters.put(ParameterType.DOMAIN_CODENAME.toString(), "domainCodeName");
deployParameters.put(ParameterType.BASE_URL.toString(), "baseUrl");
deployParameters.put(ParameterType.RELEASE_NAME.toString(), "releaseName");
......@@ -477,4 +483,4 @@ public class KubernetesManagerTest {
));
}
}
}
\ No newline at end of file
......@@ -157,6 +157,7 @@ kubernetes.deployment.smtpServerHostname=nmaas-postfix
kubernetes.deployment.smtpServerPort=587
kubernetes.deployment.smtpServerUsername=
kubernetes.deployment.smtpServerPassword=
kubernetes.deployment.smtpFromDefaultDomain=
kubernetes.deployment.defaultStorageClass=storageClass
# ------------------------ #
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment