propertyConsumerMap.put("mlAppServicesAuthentication", (config, prop) -> { logger.info("App Services authentication: " + prop); config.setAppServicesSecurityContextType(SecurityContextType.valueOf(prop.toUpperCase())); }); propertyConsumerMap.put("mlAppServicesCertFile", (config, prop) -> { propertyConsumerMap.put("mlRestAuthentication", (config, prop) -> { logger.info("App REST authentication: " + prop); config.setRestSecurityContextType(SecurityContextType.valueOf(prop.toUpperCase())); }); propertyConsumerMap.put("mlRestCertFile", (config, prop) -> {
if (SecurityContextType.BASIC.equals(securityContextType)) { securityContext = new DatabaseClientFactory.BasicAuthContext(config.getUsername(), config.getPassword()); } else if (SecurityContextType.CERTIFICATE.equals(securityContextType)) { securityContext = buildCertificateAuthContent(config); } else if (SecurityContextType.DIGEST.equals(securityContextType)) { securityContext = new DatabaseClientFactory.DigestAuthContext(config.getUsername(), config.getPassword()); } else if (SecurityContextType.KERBEROS.equals(securityContextType)) { securityContext = new DatabaseClientFactory.KerberosAuthContext(config.getExternalName()); } else if (SecurityContextType.NONE.equals(securityContextType)) { securityContext = null;
/** * This is needed so that mlFinal* properties that configure the connection to the final REST server are also used * for any feature in ml-gradle that expects to use the same mlRest* properties. For example, LoadModulesCommand * uses those properties to construct a DatabaseClient for loading modules; we want to ensure that the properties * mirror the mlFinal* properties. * * @param config */ private void applyFinalConnectionSettingsToMlGradleDefaultRestSettings(AppConfig config) { if (finalAuthMethod != null) { config.setRestSecurityContextType(SecurityContextType.valueOf(finalAuthMethod.toUpperCase())); } config.setRestPort(finalPort); config.setRestCertFile(finalCertFile); config.setRestCertPassword(finalCertPassword); config.setRestExternalName(finalExternalName); config.setRestSslContext(finalSslContext); config.setRestSslHostnameVerifier(finalSslHostnameVerifier); config.setRestTrustManager(finalTrustManager); }
public DatabaseClient newJobDbClient() { AppConfig appConfig = getAppConfig(); DatabaseClientConfig config = new DatabaseClientConfig(appConfig.getHost(), jobPort, mlUsername, mlPassword); config.setDatabase(jobDbName); config.setSecurityContextType(SecurityContextType.valueOf(jobAuthMethod.toUpperCase())); config.setSslHostnameVerifier(jobSslHostnameVerifier); config.setSslContext(jobSslContext); config.setCertFile(jobCertFile); config.setCertPassword(jobCertPassword); config.setExternalName(jobExternalName); config.setTrustManager(jobTrustManager); if (isHostLoadBalancer) { config.setConnectionType(DatabaseClient.ConnectionType.GATEWAY); } return appConfig.getConfiguredDatabaseClientFactory().newDatabaseClient(config); }
private DatabaseClient newStagingClient(String dbName) { AppConfig appConfig = getAppConfig(); DatabaseClientConfig config = new DatabaseClientConfig(appConfig.getHost(), stagingPort, getMlUsername(), getMlPassword()); config.setDatabase(dbName); config.setSecurityContextType(SecurityContextType.valueOf(stagingAuthMethod.toUpperCase())); config.setSslHostnameVerifier(stagingSslHostnameVerifier); config.setSslContext(stagingSslContext); config.setCertFile(stagingCertFile); config.setCertPassword(stagingCertPassword); config.setExternalName(stagingExternalName); config.setTrustManager(stagingTrustManager); if (isHostLoadBalancer) { config.setConnectionType(DatabaseClient.ConnectionType.GATEWAY); } return appConfig.getConfiguredDatabaseClientFactory().newDatabaseClient(config); }
public DatabaseClient newModulesDbClient() { AppConfig appConfig = getAppConfig(); // this has to be finalPort because final is a stock REST API. // staging will not be; but its rewriter isn't loaded yet. DatabaseClientConfig config = new DatabaseClientConfig(appConfig.getHost(), finalPort, mlUsername, mlPassword); config.setDatabase(appConfig.getModulesDatabaseName()); config.setSecurityContextType(SecurityContextType.valueOf(finalAuthMethod.toUpperCase())); config.setSslHostnameVerifier(finalSslHostnameVerifier); config.setSslContext(finalSslContext); config.setCertFile(finalCertFile); config.setCertPassword(finalCertPassword); config.setExternalName(finalExternalName); config.setTrustManager(finalTrustManager); if (isHostLoadBalancer) { config.setConnectionType(DatabaseClient.ConnectionType.GATEWAY); } return appConfig.getConfiguredDatabaseClientFactory().newDatabaseClient(config); }
@Override public DatabaseClient newFinalClient() { AppConfig appConfig = getAppConfig(); DatabaseClientConfig config = new DatabaseClientConfig(appConfig.getHost(), finalPort, getMlUsername(), getMlPassword()); config.setDatabase(finalDbName); config.setSecurityContextType(SecurityContextType.valueOf(finalAuthMethod.toUpperCase())); config.setSslHostnameVerifier(finalSslHostnameVerifier); config.setSslContext(finalSslContext); config.setCertFile(finalCertFile); config.setCertPassword(finalCertPassword); config.setExternalName(finalExternalName); config.setTrustManager(finalTrustManager); if (isHostLoadBalancer) { config.setConnectionType(DatabaseClient.ConnectionType.GATEWAY); } return appConfig.getConfiguredDatabaseClientFactory().newDatabaseClient(config); }