All Downloads are FREE. Search and download functionalities are using the official Maven repository.

prerna.io.connector.secrets.SecretsFactory Maven / Gradle / Ivy

The newest version!
package prerna.io.connector.secrets;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import prerna.io.connector.secrets.azure.keyvault.AzureKeyVaultUtil;
import prerna.io.connector.secrets.hashicorp.vault.HashiCorpVaultUtil;
import prerna.util.Constants;
import prerna.util.Utility;

public final class SecretsFactory {

	private static final Logger classLogger = LogManager.getLogger(SecretsFactory.class);
	
	private SecretsFactory() {
		
	}
	
	public static ISecrets getSecretConnector() {
		if(!Utility.isSecretsStoreEnabled()) {
			return null;
		}
		
		String storeType = Utility.getDIHelperProperty(Constants.SECRET_STORE_TYPE);
		if(storeType.equalsIgnoreCase(ISecrets.HASHICORP_VAULT)) {
			return HashiCorpVaultUtil.getInstance();
		} else if(storeType.equalsIgnoreCase(ISecrets.AZURE_KEYVAULT)) {
			return AzureKeyVaultUtil.getInstance();
		}
		else {
			classLogger.warn("Secret store is enabled but could not find type for input = '" + storeType + "'");
			return null;
		}
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy