mirror of https://github.com/apache/cloudstack.git
Externalize tls version and security protocols configuration on mail sending (#5119)
* Externalize configs to alert * Externalize configs to project Co-authored-by: GutoVeronezi <daniel@scclouds.com.br>
This commit is contained in:
parent
1f8b34f5c5
commit
eb3acc334b
|
|
@ -35,6 +35,12 @@ public interface AlertManager extends Manager, AlertService {
|
|||
"Alert", "0.75", "Percentage (as a value between 0 and 1) of allocated storage utilization above which alerts will be sent about low storage available.", true,
|
||||
ConfigKey.Scope.Cluster, null);
|
||||
|
||||
public static final ConfigKey<Boolean> AlertSmtpUseStartTLS = new ConfigKey<Boolean>("Advanced", Boolean.class, "alert.smtp.useStartTLS", "false",
|
||||
"If set to true and if we enable security via alert.smtp.useAuth, this will enable StartTLS to secure the conection.", true);
|
||||
|
||||
public static final ConfigKey<String> AlertSmtpEnabledSecurityProtocols = new ConfigKey<String>("Advanced", String.class, "alert.smtp.enabledSecurityProtocols", "",
|
||||
"White-space separated security protocols; ex: \"TLSv1 TLSv1.1\". Supported protocols: SSLv2Hello, SSLv3, TLSv1, TLSv1.1 and TLSv1.2", true);
|
||||
|
||||
void clearAlert(AlertType alertType, long dataCenterId, long podId);
|
||||
|
||||
void recalculateCapacity();
|
||||
|
|
|
|||
|
|
@ -759,7 +759,8 @@ public class AlertManagerImpl extends ManagerBase implements AlertManager, Confi
|
|||
|
||||
@Override
|
||||
public ConfigKey<?>[] getConfigKeys() {
|
||||
return new ConfigKey<?>[] {CPUCapacityThreshold, MemoryCapacityThreshold, StorageAllocatedCapacityThreshold, StorageCapacityThreshold};
|
||||
return new ConfigKey<?>[] {CPUCapacityThreshold, MemoryCapacityThreshold, StorageAllocatedCapacityThreshold, StorageCapacityThreshold, AlertSmtpEnabledSecurityProtocols,
|
||||
AlertSmtpUseStartTLS};
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -19,8 +19,15 @@ package com.cloud.projects;
|
|||
import java.util.List;
|
||||
|
||||
import com.cloud.user.Account;
|
||||
import org.apache.cloudstack.framework.config.ConfigKey;
|
||||
|
||||
public interface ProjectManager extends ProjectService {
|
||||
public static final ConfigKey<Boolean> ProjectSmtpUseStartTLS = new ConfigKey<Boolean>("Advanced", Boolean.class, "project.smtp.useStartTLS", "false",
|
||||
"If set to true and if we enable security via project.smtp.useAuth, this will enable StartTLS to secure the conection.", true);
|
||||
|
||||
public static final ConfigKey<String> ProjectSmtpEnabledSecurityProtocols = new ConfigKey<String>("Advanced", String.class, "project.smtp.enabledSecurityProtocols", "",
|
||||
"White-space separated security protocols; ex: \"TLSv1 TLSv1.1\". Supported protocols: SSLv2Hello, SSLv3, TLSv1, TLSv1.1 and TLSv1.2", true);
|
||||
|
||||
boolean canAccessProjectAccount(Account caller, long accountId);
|
||||
|
||||
boolean canModifyProjectAccount(Account caller, long accountId);
|
||||
|
|
|
|||
|
|
@ -82,13 +82,15 @@ import com.cloud.utils.db.TransactionStatus;
|
|||
import com.cloud.utils.exception.CloudRuntimeException;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import org.apache.cloudstack.framework.config.ConfigKey;
|
||||
import org.apache.cloudstack.framework.config.Configurable;
|
||||
import org.apache.cloudstack.utils.mailing.MailAddress;
|
||||
import org.apache.cloudstack.utils.mailing.SMTPMailProperties;
|
||||
import org.apache.cloudstack.utils.mailing.SMTPMailSender;
|
||||
import org.apache.commons.lang3.BooleanUtils;
|
||||
|
||||
@Component
|
||||
public class ProjectManagerImpl extends ManagerBase implements ProjectManager {
|
||||
public class ProjectManagerImpl extends ManagerBase implements ProjectManager, Configurable {
|
||||
public static final Logger s_logger = Logger.getLogger(ProjectManagerImpl.class);
|
||||
|
||||
@Inject
|
||||
|
|
@ -1366,4 +1368,13 @@ public class ProjectManagerImpl extends ManagerBase implements ProjectManager {
|
|||
return _allowUserToCreateProject;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getConfigComponentName() {
|
||||
return ProjectManager.class.getSimpleName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ConfigKey<?>[] getConfigKeys() {
|
||||
return new ConfigKey<?>[] {ProjectSmtpEnabledSecurityProtocols, ProjectSmtpUseStartTLS};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue