X-Git-Url: https://gerrit.onap.org/r/gitweb?p=aai%2Fmodel-loader.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Faai%2Fmodelloader%2Fconfig%2FModelLoaderConfig.java;h=6723e75a2c74ca9f9cb1d4d7248116eaddb9209b;hp=77693bc7919ce3c82507413b318d4b3afd9fb382;hb=HEAD;hpb=117237ac7b65395e0f29b6cead9f6ffec2e7dc0f diff --git a/src/main/java/org/onap/aai/modelloader/config/ModelLoaderConfig.java b/src/main/java/org/onap/aai/modelloader/config/ModelLoaderConfig.java index 77693bc..b01086c 100644 --- a/src/main/java/org/onap/aai/modelloader/config/ModelLoaderConfig.java +++ b/src/main/java/org/onap/aai/modelloader/config/ModelLoaderConfig.java @@ -21,18 +21,16 @@ package org.onap.aai.modelloader.config; -import java.io.File; import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Properties; + import org.apache.commons.lang3.StringUtils; import org.eclipse.jetty.util.security.Password; import org.onap.sdc.api.consumer.IConfiguration; -import org.springframework.core.env.Environment; - /** * Properties for the Model Loader * @@ -42,16 +40,11 @@ public class ModelLoaderConfig implements IConfiguration { // Configuration file structure public static final String PREFIX_MODEL_LOADER_CONFIG = "ml"; public static final String PREFIX_DISTRIBUTION_CLIENT = PREFIX_MODEL_LOADER_CONFIG + ".distribution."; - public static final String PREFIX_AAI = PREFIX_MODEL_LOADER_CONFIG + ".aai."; - public static final String PREFIX_BABEL = PREFIX_MODEL_LOADER_CONFIG + ".babel."; public static final String PREFIX_DEBUG = PREFIX_MODEL_LOADER_CONFIG + ".debug."; private static final String SUFFIX_KEYSTORE_FILE = "KEYSTORE_FILE"; private static final String SUFFIX_KEYSTORE_PASS = "KEYSTORE_PASSWORD"; - private static final String SUFFIX_TRUSTSTORE_FILE = "TRUSTSTORE_FILE"; - private static final String SUFFIX_TRUSTSTORE_PASS = "TRUSTSTORE_PASSWORD"; - // Configuration file properties protected static final String PROP_ML_DISTRIBUTION_ACTIVE_SERVER_TLS_AUTH = PREFIX_DISTRIBUTION_CLIENT + "ACTIVE_SERVER_TLS_AUTH"; @@ -77,27 +70,12 @@ public class ModelLoaderConfig implements IConfiguration { protected static final String PROP_ML_DISTRIBUTION_HTTP_PROXY_PORT = PREFIX_DISTRIBUTION_CLIENT + "HTTP_PROXY_PORT"; protected static final String PROP_ML_DISTRIBUTION_HTTPS_PROXY_HOST = PREFIX_DISTRIBUTION_CLIENT + "HTTPS_PROXY_HOST"; protected static final String PROP_ML_DISTRIBUTION_HTTPS_PROXY_PORT = PREFIX_DISTRIBUTION_CLIENT + "HTTPS_PROXY_PORT"; - protected static final String PROP_AAI_BASE_URL = PREFIX_AAI + "BASE_URL"; - protected static final String PROP_AAI_KEYSTORE_FILE = PREFIX_AAI + SUFFIX_KEYSTORE_FILE; - protected static final String PROP_AAI_KEYSTORE_PASSWORD = PREFIX_AAI + SUFFIX_KEYSTORE_PASS; - protected static final String PROP_AAI_MODEL_RESOURCE_URL = PREFIX_AAI + "MODEL_URL"; - protected static final String PROP_AAI_NAMED_QUERY_RESOURCE_URL = PREFIX_AAI + "NAMED_QUERY_URL"; - protected static final String PROP_AAI_VNF_IMAGE_RESOURCE_URL = PREFIX_AAI + "VNF_IMAGE_URL"; - protected static final String PROP_AAI_AUTHENTICATION_USER = PREFIX_AAI + "AUTH_USER"; - protected static final String PROP_AAI_AUTHENTICATION_PASSWORD = PREFIX_AAI + "AUTH_PASSWORD"; - protected static final String PROP_AAI_USE_GIZMO = PREFIX_AAI + "USE_GIZMO"; - protected static final String PROP_AAI_USE_HTTPS = PREFIX_AAI + "USE_HTTPS"; - protected static final String PROP_BABEL_BASE_URL = PREFIX_BABEL + "BASE_URL"; - protected static final String PROP_BABEL_KEYSTORE_FILE = PREFIX_BABEL + SUFFIX_KEYSTORE_FILE; - protected static final String PROP_BABEL_KEYSTORE_PASSWORD = PREFIX_BABEL + SUFFIX_KEYSTORE_PASS; - protected static final String PROP_BABEL_TRUSTSTORE_FILE = PREFIX_BABEL + SUFFIX_TRUSTSTORE_FILE; - protected static final String PROP_BABEL_TRUSTSTORE_PASSWORD = PREFIX_BABEL + SUFFIX_TRUSTSTORE_PASS; - protected static final String PROP_BABEL_GENERATE_RESOURCE_URL = PREFIX_BABEL + "GENERATE_ARTIFACTS_URL"; - protected static final String PROP_BABEL_USE_HTTPS = PREFIX_BABEL + "USE_HTTPS"; + protected static final String PROP_ML_DISTRIBUTION_SASL_JAAS_CONFIG = PREFIX_DISTRIBUTION_CLIENT + "SASL_JAAS_CONFIG"; + protected static final String PROP_ML_DISTRIBUTION_SASL_MECHANISM = PREFIX_DISTRIBUTION_CLIENT + "SASL_MECHANISM"; + protected static final String PROP_ML_DISTRIBUTION_SECURITY_PROTOCOL = PREFIX_DISTRIBUTION_CLIENT + "SECURITY_PROTOCOL"; protected static final String PROP_DEBUG_INGEST_SIMULATOR = PREFIX_DEBUG + "INGEST_SIMULATOR"; protected static final String FILESEP = (System.getProperty("file.separator") == null) ? "/" : System.getProperty("file.separator"); - private static String configHome; private Properties modelLoaderProperties = null; private String certLocation = "."; @@ -231,68 +209,6 @@ public class ModelLoaderConfig implements IConfiguration { return getIntegerPropertyOrZero(PROP_ML_DISTRIBUTION_HTTPS_PROXY_PORT); } - public String getAaiKeyStorePath() { - return certLocation + File.separator + modelLoaderProperties.getProperty(PROP_AAI_KEYSTORE_FILE); - } - - public String getBabelKeyStorePath() { - String filename = get(PROP_BABEL_KEYSTORE_FILE); - if (filename == null) { - return null; - } else { - return certLocation + File.separator + filename; - } - } - - public String getAaiKeyStorePassword() { - return getDeobfuscatedValue(get(PROP_AAI_KEYSTORE_PASSWORD)); - } - - public String getBabelKeyStorePassword() { - return getDeobfuscatedValue(get(PROP_BABEL_KEYSTORE_PASSWORD)); - } - - public String getBabelTrustStorePath() { - String filename = get(PROP_BABEL_TRUSTSTORE_FILE); - if (filename == null) { - return null; - } else { - return certLocation + File.separator + filename; - } - } - - public String getBabelTrustStorePassword() { - return getDeobfuscatedValue(get(PROP_BABEL_TRUSTSTORE_PASSWORD)); - } - - public String getAaiBaseUrl() { - return get(PROP_AAI_BASE_URL); - } - - public String getBabelBaseUrl() { - return get(PROP_BABEL_BASE_URL); - } - - public String getBabelGenerateArtifactsUrl() { - return get(PROP_BABEL_GENERATE_RESOURCE_URL); - } - - public String getAaiModelUrl(String version) { - setModelVersion(version); - return updatePropertyOXMVersion(PROP_AAI_MODEL_RESOURCE_URL, version); - } - - public String getAaiNamedQueryUrl(String version) { - return updatePropertyOXMVersion(PROP_AAI_NAMED_QUERY_RESOURCE_URL, version); - } - - public String getAaiVnfImageUrl() { - return updatePropertyOXMVersion(PROP_AAI_VNF_IMAGE_RESOURCE_URL, getModelVersion()); - } - - public String getAaiAuthenticationUser() { - return get(PROP_AAI_AUTHENTICATION_USER); - } public String getModelVersion() { return modelVersion; @@ -302,34 +218,6 @@ public class ModelLoaderConfig implements IConfiguration { this.modelVersion = modelVersion; } - public boolean useGizmo() { - String useGizmo = get(PROP_AAI_USE_GIZMO); - return useGizmo != null && useGizmo.equalsIgnoreCase("true"); - } - - public boolean useHttpsWithAAI() { - String useHttps = get(PROP_AAI_USE_HTTPS); - return useHttps != null && useHttps.equalsIgnoreCase("true"); - } - - public boolean useHttpsWithBabel() { - String useHttps = get(PROP_BABEL_USE_HTTPS); - return useHttps != null && useHttps.equalsIgnoreCase("true"); - } - - /** - * @return password for AAI authentication that has been reverse-engineered from its obfuscated form. - */ - public String getAaiAuthenticationPassword() { - String password = getDeobfuscatedValue(get(PROP_AAI_AUTHENTICATION_PASSWORD)); - - if (password != null && password.isEmpty()) { - password = null; - } - - return password; - } - /** * @return a boolean value indicating whether the simulator is enabled. */ @@ -338,23 +226,6 @@ public class ModelLoaderConfig implements IConfiguration { return propValue != null && "enabled".equalsIgnoreCase(propValue); } - /** - * Read the value of the property and replace any wildcard OXM version "v*" with the supplied default OXM version - * - * @param propertyName - * the name of the property storing the OXM version (possibly containing v*) - * @param version - * the default OXM version - * @return the String value of the defined property (with any wildcard OXM version defaulted) - */ - private String updatePropertyOXMVersion(String propertyName, String version) { - String value = get(propertyName); - if (version != null && value != null) { - value = value.replace("v*", version); - } - return value; - } - /** * @return a boolean value indicating whether model loader is connected to ASDC. */ @@ -401,4 +272,35 @@ public class ModelLoaderConfig implements IConfiguration { } } + @Override + public String getKafkaSaslJaasConfig() { + String saslJaasConfFromEnv = System.getenv("SASL_JAAS_CONFIG"); + if(saslJaasConfFromEnv != null) { + return saslJaasConfFromEnv; + } + if(get(PROP_ML_DISTRIBUTION_SASL_JAAS_CONFIG) != null) { + return get(PROP_ML_DISTRIBUTION_SASL_JAAS_CONFIG); + } + return null; + } + + @Override + public String getKafkaSaslMechanism() { + if(get(PROP_ML_DISTRIBUTION_SASL_MECHANISM) != null) { + return get(PROP_ML_DISTRIBUTION_SASL_MECHANISM); + } + return System.getenv().getOrDefault("SASL_MECHANISM", "SCRAM-SHA-512"); + } + + /** + * One of PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL + */ + @Override + public String getKafkaSecurityProtocolConfig() { + if(get(PROP_ML_DISTRIBUTION_SECURITY_PROTOCOL) != null) { + return get(PROP_ML_DISTRIBUTION_SECURITY_PROTOCOL); + } + return System.getenv().getOrDefault("SECURITY_PROTOCOL", "SASL_PLAINTEXT"); + } + }