Skip to content
Snippets Groups Projects
Commit 3c36411a authored by Renan Souza's avatar Renan Souza
Browse files

indexer-ibm running

parent db9a2c6c
No related branches found
No related tags found
1 merge request!6Trusted ibm
......@@ -33,15 +33,7 @@
<description>Indexer Service IBM</description>
<packaging>jar</packaging>
<properties>
<azure.version>2.1.7</azure.version>
<azure.appservice.resourcegroup></azure.appservice.resourcegroup>
<azure.appservice.plan></azure.appservice.plan>
<azure.appservice.appname></azure.appservice.appname>
<azure.appservice.subscription></azure.appservice.subscription>
</properties>
<dependencies>
<dependencies>
<!-- OSDU core service dependencies -->
<dependency>
......@@ -81,10 +73,11 @@
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-oauth2-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-oauth2-jose</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
<version>2.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
......@@ -168,7 +161,7 @@
<configuration>
<classifier>spring-boot</classifier>
<mainClass>
org.opengroup.osdu.indexer.ibm.IndexerAzureApplication
org.opengroup.osdu.indexer.ibm.IndexerIBMApplication
</mainClass>
</configuration>
</execution>
......
......@@ -20,7 +20,7 @@ import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@SpringBootApplication
@ComponentScan({"org.opengroup.osdu.core.common", "org.opengroup.osdu.indexer"})
@ComponentScan({"org.opengroup.osdu.core.common", "org.opengroup.osdu.core.ibm", "org.opengroup.osdu.indexer"})
public class IndexerIBMApplication {
public static void main(String[] args) {
......
// Copyright 2019 IBM Corp. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package org.opengroup.osdu.indexer.ibm.api;
import org.opengroup.osdu.indexer.ibm.util.ServiceAccountJwtClientImpl;
import org.springframework.http.*;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.inject.Inject;
@Controller
public class AADController {
@Inject
ServiceAccountJwtClientImpl service;
@RequestMapping("/obo_api")
@PostMapping
public ResponseEntity<String> callOboApi() throws Throwable {
String token = service.getIdToken("common");
return new ResponseEntity<String>(token, HttpStatus.OK);
}
}
//// Copyright 2019 IBM Corp. All Rights Reserved.
////
//// Licensed under the Apache License, Version 2.0 (the "License");
//// you may not use this file except in compliance with the License.
//// You may obtain a copy of the License at
////
//// http://www.apache.org/licenses/LICENSE-2.0
////
//// Unless required by applicable law or agreed to in writing, software
//// distributed under the License is distributed on an "AS IS" BASIS,
//// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//// See the License for the specific language governing permissions and
//// limitations under the License.
//
//package org.opengroup.osdu.indexer.ibm.api;
//
//import org.opengroup.osdu.indexer.ibm.util.ServiceAccountJwtClientImpl;
//
//import org.springframework.http.*;
//import org.springframework.stereotype.Controller;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.RequestMapping;
//
//import javax.inject.Inject;
//
//@Controller
//public class AADController {
//
// @Inject
// ServiceAccountJwtClientImpl service;
//
//
// @RequestMapping("/obo_api")
// @PostMapping
// public ResponseEntity<String> callOboApi() throws Throwable {
//
// String token = service.getIdToken("common");
//
// return new ResponseEntity<String>(token, HttpStatus.OK);
// }
//}
//
......@@ -14,16 +14,15 @@
package org.opengroup.osdu.indexer.ibm.persistence;
import java.net.MalformedURLException;
import javax.annotation.PostConstruct;
import javax.inject.Inject;
import org.opengroup.osdu.core.ibm.cloudant.IBMCloudantClientFactory;
import org.opengroup.osdu.core.ibm.cloudant.ICloudantFactory;
import org.opengroup.osdu.indexer.ibm.model.ElasticSettingSchema;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.slf4j.Logger;
import com.cloudant.client.api.Database;
......@@ -32,15 +31,17 @@ public class ElasticSettingSchemaRepositoryImpl implements ISchemaRepository {
private static final Logger logger = LoggerFactory.getLogger(ElasticSettingSchemaRepositoryImpl.class);
@Autowired
private IBMCloudantClientFactory cloudantFactory;
@Inject
private ICloudantFactory cloudantFactory;
private Database db;
@PostConstruct
public void init(){
try {
db = cloudantFactory.getClient().database(ElasticSettingsDoc.DB_NAME, true);
} catch (MalformedURLException e) {
db = cloudantFactory.getDatabase(ElasticSettingsDoc.DB_NAME);
} catch (Exception e) {
e.printStackTrace();
}
}
......
// Copyright 2019 IBM Corp. All Rights Reserved.
//// Copyright 2019 IBM Corp. All Rights Reserved.
////
//// Licensed under the Apache License, Version 2.0 (the "License");
//// you may not use this file except in compliance with the License.
//// You may obtain a copy of the License at
////
//// http://www.apache.org/licenses/LICENSE-2.0
////
//// Unless required by applicable law or agreed to in writing, software
//// distributed under the License is distributed on an "AS IS" BASIS,
//// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//// See the License for the specific language governing permissions and
//// limitations under the License.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//package org.opengroup.osdu.indexer.ibm.security;
//
// http://www.apache.org/licenses/LICENSE-2.0
//import com.microsoft.azure.spring.autoconfigure.aad.AADAppRoleStatelessAuthenticationFilter;
//import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
//import org.springframework.security.config.annotation.web.builders.HttpSecurity;
//import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
//import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
//import org.springframework.security.config.http.SessionCreationPolicy;
//import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package org.opengroup.osdu.indexer.ibm.security;
import com.microsoft.azure.spring.autoconfigure.aad.AADAppRoleStatelessAuthenticationFilter;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.config.http.SessionCreationPolicy;
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
import javax.inject.Inject;
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class BasicAuthSecurityConfig extends WebSecurityConfigurerAdapter {
@Inject
private AADAppRoleStatelessAuthenticationFilter appRoleAuthFilter;
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable().sessionManagement().sessionCreationPolicy(SessionCreationPolicy.NEVER)
.and()
.authorizeRequests()
.antMatchers("/", "/index.html","/obo_api",
"/index-worker", "/_dps/task-handlers", "/_dps/task-handlers/**",
"/reindex",
"/v2/api-docs",
"/swagger-resources/**",
"/configuration/security",
"/swagger",
"/swagger-ui.html",
"/webjars/**").permitAll()
.anyRequest().authenticated()
.and().addFilterBefore(appRoleAuthFilter, UsernamePasswordAuthenticationFilter.class);
}
}
//import javax.inject.Inject;
//
//@EnableWebSecurity
//@EnableGlobalMethodSecurity(prePostEnabled = true)
//public class BasicAuthSecurityConfig extends WebSecurityConfigurerAdapter {
// @Inject
// private AADAppRoleStatelessAuthenticationFilter appRoleAuthFilter;
//
// @Override
// protected void configure(HttpSecurity http) throws Exception {
// http.csrf().disable().sessionManagement().sessionCreationPolicy(SessionCreationPolicy.NEVER)
// .and()
// .authorizeRequests()
// .antMatchers("/", "/index.html","/obo_api",
// "/index-worker", "/_dps/task-handlers", "/_dps/task-handlers/**",
// "/reindex",
// "/v2/api-docs",
// "/swagger-resources/**",
// "/configuration/security",
// "/swagger",
// "/swagger-ui.html",
// "/webjars/**").permitAll()
// .anyRequest().authenticated()
// .and().addFilterBefore(appRoleAuthFilter, UsernamePasswordAuthenticationFilter.class);
// }
//}
// Copyright 2019 IBM Corp. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package org.opengroup.osdu.indexer.ibm.util;
import com.auth0.jwt.JWT;
import com.auth0.jwt.exceptions.JWTDecodeException;
import com.microsoft.aad.adal4j.AuthenticationContext;
import com.microsoft.aad.adal4j.AuthenticationResult;
import com.microsoft.aad.adal4j.ClientCredential;
import org.apache.http.HttpStatus;
import org.opengroup.osdu.core.common.model.core.DpsHeaders;
import org.opengroup.osdu.core.common.model.core.ITenantFactory;
import org.opengroup.osdu.core.common.model.core.TenantInfo;
import org.opengroup.osdu.core.common.model.coreis.AppException;
import org.opengroup.osdu.core.common.service.coreis.JaxRsDpsLog;
import org.opengroup.osdu.indexer.ibm.model.AADConfiguration;
import org.opengroup.osdu.core.common.model.coreis.IdToken;
import org.opengroup.osdu.core.common.spi.coreis.IJwtCache;
import org.opengroup.osdu.core.common.spi.coreis.IHeadersInfo;
import org.opengroup.osdu.core.common.spi.coreis.IServiceAccountJwtClient;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
import org.springframework.web.context.annotation.RequestScope;
import javax.inject.Inject;
import java.net.MalformedURLException;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
@Component
@RequestScope
public class ServiceAccountJwtClientImpl implements IServiceAccountJwtClient {
@Inject
private ITenantFactory tenantInfoServiceProvider;
@Inject
private IHeadersInfo headersInfoAzure;
@Inject
@Qualifier("dpsHeaderFactorySearch")
private DpsHeaders dpsHeaders;
@Inject
private IJwtCache cacheService;
@Inject
private JaxRsDpsLog log;
@Inject
private AADConfiguration configuration;
public String getIdToken(String tenantName) {
this.log.info("Tenant name received for auth token is: " + tenantName);
TenantInfo tenant = this.tenantInfoServiceProvider.getTenantInfo(tenantName);
if (tenant == null) {
this.log.error("Invalid tenant name receiving from azure");
throw new AppException(HttpStatus.SC_BAD_REQUEST, "Invalid tenant Name", "Invalid tenant Name from azure");
}
String ACCESS_TOKEN = "";
try {
IdToken cachedToken = (IdToken) this.cacheService.get(tenant.getServiceAccount());
this.headersInfoAzure.getHeaders().put(DpsHeaders.USER_EMAIL, tenant.getServiceAccount());
this.dpsHeaders.put(DpsHeaders.USER_EMAIL, tenant.getServiceAccount());
if (!IdToken.refreshToken(cachedToken)) {
return cachedToken.getTokenValue();
}
ExecutorService service = Executors.newFixedThreadPool(1);
AuthenticationContext context = null;
try {
context = new AuthenticationContext(configuration.getAuthority(), false, service);
ClientCredential credential = new ClientCredential(configuration.getClientId(), configuration.getSecretKey());
Future<AuthenticationResult> future = context.acquireToken(configuration.getOboApi(), credential, null);
ACCESS_TOKEN = future.get().getAccessToken();
if (future == null) {
log.error(String.format("Azure Authentication: %s", future.get().getAccessToken()));
throw new AppException(HttpStatus.SC_FORBIDDEN, "Access denied", "The user is not authorized to perform this action");
}
IdToken idToken = IdToken.builder().tokenValue(ACCESS_TOKEN).expirationTimeMillis(JWT.decode(ACCESS_TOKEN).getExpiresAt().getTime()).build();
this.cacheService.put(tenant.getServiceAccount(), idToken);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} finally {
service.shutdown();
}
} catch (JWTDecodeException e) {
throw new AppException(HttpStatus.SC_INTERNAL_SERVER_ERROR, "Persistence error", "Invalid token, error decoding", e);
} catch (AppException e) {
throw e;
} catch (Exception e) {
throw new AppException(HttpStatus.SC_INTERNAL_SERVER_ERROR, "Persistence error", "Error generating token", e);
}
return ACCESS_TOKEN;
}
}
//// Copyright 2019 IBM Corp. All Rights Reserved.
////
//// Licensed under the Apache License, Version 2.0 (the "License");
//// you may not use this file except in compliance with the License.
//// You may obtain a copy of the License at
////
//// http://www.apache.org/licenses/LICENSE-2.0
////
//// Unless required by applicable law or agreed to in writing, software
//// distributed under the License is distributed on an "AS IS" BASIS,
//// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//// See the License for the specific language governing permissions and
//// limitations under the License.
//
//package org.opengroup.osdu.indexer.ibm.util;
//
//import com.auth0.jwt.JWT;
//import com.auth0.jwt.exceptions.JWTDecodeException;
//import com.microsoft.aad.adal4j.AuthenticationContext;
//import com.microsoft.aad.adal4j.AuthenticationResult;
//import com.microsoft.aad.adal4j.ClientCredential;
//import org.apache.http.HttpStatus;
//import org.opengroup.osdu.core.common.model.core.DpsHeaders;
//import org.opengroup.osdu.core.common.model.core.ITenantFactory;
//import org.opengroup.osdu.core.common.model.core.TenantInfo;
//import org.opengroup.osdu.core.common.model.coreis.AppException;
//import org.opengroup.osdu.core.common.service.coreis.JaxRsDpsLog;
//import org.opengroup.osdu.indexer.ibm.model.AADConfiguration;
//
//import org.opengroup.osdu.core.common.model.coreis.IdToken;
//import org.opengroup.osdu.core.common.spi.coreis.IJwtCache;
//import org.opengroup.osdu.core.common.spi.coreis.IHeadersInfo;
//import org.opengroup.osdu.core.common.spi.coreis.IServiceAccountJwtClient;
//import org.springframework.beans.factory.annotation.Qualifier;
//import org.springframework.stereotype.Component;
//import org.springframework.web.context.annotation.RequestScope;
//
//import javax.inject.Inject;
//import java.net.MalformedURLException;
//import java.util.concurrent.ExecutionException;
//import java.util.concurrent.ExecutorService;
//import java.util.concurrent.Executors;
//import java.util.concurrent.Future;
//
//@Component
//@RequestScope
//public class ServiceAccountJwtClientImpl implements IServiceAccountJwtClient {
//
// @Inject
// private ITenantFactory tenantInfoServiceProvider;
// @Inject
// private IHeadersInfo headersInfoAzure;
// @Inject
// @Qualifier("dpsHeaderFactorySearch")
// private DpsHeaders dpsHeaders;
// @Inject
// private IJwtCache cacheService;
// @Inject
// private JaxRsDpsLog log;
//
// @Inject
// private AADConfiguration configuration;
//
// public String getIdToken(String tenantName) {
// this.log.info("Tenant name received for auth token is: " + tenantName);
// TenantInfo tenant = this.tenantInfoServiceProvider.getTenantInfo(tenantName);
// if (tenant == null) {
// this.log.error("Invalid tenant name receiving from azure");
// throw new AppException(HttpStatus.SC_BAD_REQUEST, "Invalid tenant Name", "Invalid tenant Name from azure");
// }
// String ACCESS_TOKEN = "";
// try {
//
// IdToken cachedToken = (IdToken) this.cacheService.get(tenant.getServiceAccount());
// this.headersInfoAzure.getHeaders().put(DpsHeaders.USER_EMAIL, tenant.getServiceAccount());
// this.dpsHeaders.put(DpsHeaders.USER_EMAIL, tenant.getServiceAccount());
//
// if (!IdToken.refreshToken(cachedToken)) {
// return cachedToken.getTokenValue();
// }
//
// ExecutorService service = Executors.newFixedThreadPool(1);
// AuthenticationContext context = null;
//
// try {
// context = new AuthenticationContext(configuration.getAuthority(), false, service);
// ClientCredential credential = new ClientCredential(configuration.getClientId(), configuration.getSecretKey());
// Future<AuthenticationResult> future = context.acquireToken(configuration.getOboApi(), credential, null);
//
// ACCESS_TOKEN = future.get().getAccessToken();
//
// if (future == null) {
// log.error(String.format("Azure Authentication: %s", future.get().getAccessToken()));
// throw new AppException(HttpStatus.SC_FORBIDDEN, "Access denied", "The user is not authorized to perform this action");
// }
// IdToken idToken = IdToken.builder().tokenValue(ACCESS_TOKEN).expirationTimeMillis(JWT.decode(ACCESS_TOKEN).getExpiresAt().getTime()).build();
//
// this.cacheService.put(tenant.getServiceAccount(), idToken);
//
// } catch (InterruptedException e) {
// e.printStackTrace();
// } catch (ExecutionException e) {
// e.printStackTrace();
// } catch (MalformedURLException e) {
// e.printStackTrace();
// } finally {
// service.shutdown();
// }
// } catch (JWTDecodeException e) {
// throw new AppException(HttpStatus.SC_INTERNAL_SERVER_ERROR, "Persistence error", "Invalid token, error decoding", e);
// } catch (AppException e) {
// throw e;
// } catch (Exception e) {
// throw new AppException(HttpStatus.SC_INTERNAL_SERVER_ERROR, "Persistence error", "Error generating token", e);
// }
//
// return ACCESS_TOKEN;
// }
//}
#server.servlet.contextPath=/api/indexer/v2/
logging.level.org.springframework.web=DEBUG
server.port=8080
JAVA_HEAP_OPTS=-Xms4096M -Xmx4096M
JAVA_GC_OPTS=-XX:+UseG1GC -XX:+UseStringDeduplication -XX:InitiatingHeapOccupancyPercent=45
DEFAULT_DATA_COUNTRY=US
AUTHORIZE_API=https://opendesproxy.azurewebsites.net/entitlements/v1
AUTHORIZE_API_KEY=dummy
LEGALTAG_API=https://opendesproxy.azurewebsites.net/legal/v1
LEGALTAG_API_KEY=dummy
CRS_API=https://opendesproxy.azurewebsites.net/crs/v1
CRS_API_KEY=dummy
#Default Cache Settings
##server.servlet.contextPath=/api/indexer/v2/
#logging.level.org.springframework.web=DEBUG
#server.port=8080
#JAVA_HEAP_OPTS=-Xms4096M -Xmx4096M
#JAVA_GC_OPTS=-XX:+UseG1GC -XX:+UseStringDeduplication -XX:InitiatingHeapOccupancyPercent=45
#
#DEFAULT_DATA_COUNTRY=US
#
#AUTHORIZE_API=https://opendesproxy.azurewebsites.net/entitlements/v1
#AUTHORIZE_API_KEY=dummy
#LEGALTAG_API=https://opendesproxy.azurewebsites.net/legal/v1
#LEGALTAG_API_KEY=dummy
#CRS_API=https://opendesproxy.azurewebsites.net/crs/v1
#CRS_API_KEY=dummy
#
##Default Cache Settings
SCHEMA_CACHE_EXPIRATION=60
INDEX_CACHE_EXPIRATION=60
ELASTIC_CACHE_EXPIRATION=1440
......@@ -24,63 +24,93 @@ KINDS_CACHE_EXPIRATION=2880
ATTRIBUTES_CACHE_EXPIRATION=2880
# Maximum size of cache value
MAX_CACHE_VALUE_SIZE=1000
#
KINDS_REDIS_DATABASE=1
CRON_INDEX_CLEANUP_THRESHOLD_DAYS=3
CRON_EMPTY_INDEX_CLEANUP_THRESHOLD_DAYS=7
STORAGE_SCHEMA_HOST=https://opendesmvp.azurewebsites.net/schemas
#
STORAGE_SCHEMA_HOST=http://os-storage.osdu-dev-7b9b848225bcb25e9d50d2c703a0ef7e-0002.us-south.containers.appdomain.cloud/api/storage/v2/schemas
STORAGE_QUERY_RECORD_HOST=https://opendesmvp.azurewebsites.net/query/records
STORAGE_QUERY_RECORD_FOR_CONVERSION_HOST=https://opendesmvp.azurewebsites.net/query/records:batch
STORAGE_RECORDS_BATCH_SIZE=20
#
#INDEXER_QUEUE_HOST=https://requeuefunction-cd1.azurewebsites.net/api/re-enqueue
#
##MSAL AAD
#aad.authority=https://login.microsoftonline.com/1668106e-2ae0-456a-bb7d-64b52104db99/oauth2/token
#aad.clientId=b70451c6-936f-4430-8680-0985817ac751
#aad.secretKey=b5GZtbS.bB7iSzLTb+Nb-AOb9G@1@LZo
#aad.oboApi=api://ffb32b1a-c6fe-4ed0-819b-6ca483de3640
#
#spring.security.oauth2.client.registration.azure.client-id=b70451c6-936f-4430-8680-0985817ac751
#spring.security.oauth2.client.registration.azure.client-secret=b5GZtbS.bB7iSzLTb+Nb-AOb9G@1@LZo
#spring.security.oauth2.client.registration.azure.client-name=Azure
#
#
spring.security.user.name=opendes@byoc.local
spring.security.user.password=123
spring.security.user.roles=service.indexer.admin
#
#
## Azure AD configuration
#azure.activedirectory.client-id=ffb32b1a-c6fe-4ed0-819b-6ca483de3640
#azure.activedirectory.tenant-id=1668106e-2ae0-456a-bb7d-64b52104db99
#azure.activedirectory.AppIdUri=api://${azure.activedirectory.client-id}
#azure.activedirectory.session-stateless=true
#
##azure.activedirectory.active-directory-groups=ADMIN, VIEWER
#
## Azure CosmosDB configuration
#azure.cosmosdb.uri=https://opendescosmosdb.documents.azure.com:443/
#azure.cosmosdb.key=AQK0VbnMGn76h9Ypw5aoirKMwoAYJBRY2XENn1dAYypoea83weVyjYcGaRDeEX7HqXIVggaDuFAhQ4Y1Y9lKDQ==
#azure.cosmosdb.database=opendesdb
#
#
## Azure Service Bus configuration
#azure.servicebus.connection-string=Endpoint=sb://pliuopendes.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=km8Nscc0gf299Ck6npmM3D14VU5Tx1lJYRdlHcExIvY=
#azure.servicebus.topic-name=recordstopic
#
##Indexer-Queue-header
indexer.queue.key=abcd
#
REDIS_GROUP_HOST=127.0.0.1
REDIS_GROUP_PORT=6379
REDIS_SEARCH_HOST=localhost
REDIS_SEARCH_PORT=6379
#
ELASTIC_DATASTORE_KIND=SearchSettings
ELASTIC_DATASTORE_ID=indexer-service
#
GAE_SERVICE=indexer
#
DEPLOYMENT_ENVIRONMENT=CLOUD
INDEXER_QUEUE_HOST=https://requeuefunction-cd1.azurewebsites.net/api/re-enqueue
#MSAL AAD
aad.authority=https://login.microsoftonline.com/1668106e-2ae0-456a-bb7d-64b52104db99/oauth2/token
aad.clientId=b70451c6-936f-4430-8680-0985817ac751
aad.secretKey=b5GZtbS.bB7iSzLTb+Nb-AOb9G@1@LZo
aad.oboApi=api://ffb32b1a-c6fe-4ed0-819b-6ca483de3640
spring.security.oauth2.client.registration.azure.client-id=b70451c6-936f-4430-8680-0985817ac751
spring.security.oauth2.client.registration.azure.client-secret=b5GZtbS.bB7iSzLTb+Nb-AOb9G@1@LZo
spring.security.oauth2.client.registration.azure.client-name=Azure
#spring.security.user.name=opendes@byoc.local
#spring.security.user.password=123
#spring.security.user.roles=service.indexer.admin
# Azure AD configuration
azure.activedirectory.client-id=ffb32b1a-c6fe-4ed0-819b-6ca483de3640
azure.activedirectory.tenant-id=1668106e-2ae0-456a-bb7d-64b52104db99
azure.activedirectory.AppIdUri=api://${azure.activedirectory.client-id}
azure.activedirectory.session-stateless=true
#azure.activedirectory.active-directory-groups=ADMIN, VIEWER
# Azure CosmosDB configuration
azure.cosmosdb.uri=https://opendescosmosdb.documents.azure.com:443/
azure.cosmosdb.key=AQK0VbnMGn76h9Ypw5aoirKMwoAYJBRY2XENn1dAYypoea83weVyjYcGaRDeEX7HqXIVggaDuFAhQ4Y1Y9lKDQ==
azure.cosmosdb.database=opendesdb
# Azure Service Bus configuration
azure.servicebus.connection-string=Endpoint=sb://pliuopendes.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=km8Nscc0gf299Ck6npmM3D14VU5Tx1lJYRdlHcExIvY=
azure.servicebus.topic-name=recordstopic
server.servlet.contextPath=/api/storage/v2/
logging.level.org.springframework.web=DEBUG
server.port=8080
JAVA_HEAP_OPTS=-Xms4096M -Xmx4096M
JAVA_GC_OPTS=-XX:+UseG1GC -XX:+UseStringDeduplication -XX:InitiatingHeapOccupancyPercent=45
#Indexer-Queue-header
indexer.queue.key=abcd
spring.security.user.name=test@ibm.com
spring.security.user.password=123
spring.security.user.roles=service.storage.admin
REDIS_GROUP_HOST=127.0.0.1
REDIS_GROUP_PORT=6379
REDIS_SEARCH_HOST=localhost
REDIS_SEARCH_PORT=6379
AUTHORIZE_API=notused
LEGALTAG_API=update
CRS_API=notused????
ELASTIC_DATASTORE_KIND=SearchSettings
ELASTIC_DATASTORE_ID=indexer-service
ibm.cloudant.dbname.prefix=mvn-build
ibm.cloudant.apikey=_nvl7qBbJ292BpnZLpvlk00dFgFg48V7pHMHgdCbFdIF
ibm.cloudant.url=https://5be9693e-3324-400a-aadc-59908c132be2-bluemix.cloudant.com
GAE_SERVICE=indexer
ibm.rabbitmq.uri=amqps://ibm_cloud_45338a90_9047_4927_a6a4_67cd2f7ad9f7:32769652ee6c161f72fd4bcee2929a1866178092b90d22e7f0d7650b8d3b6fa1@e6530902-b278-496b-92bb-230dd55edf86.bn2a2vgd01r3l0hfmvc0.databases.appdomain.cloud:30270
DEPLOYMENT_ENVIRONMENT=CLOUD
\ No newline at end of file
ibm.cos.bucket.crn=crn:v1:bluemix:public:cloud-object-storage:global:a/59506c69395f4b3f979f594bd9dc385a:69aee223-b6b5-4a26-a95b-5a65badfa85d:bucket:osdu-storage-ibm-dev-test
ibm.cos.bucketName=osdu-storage-ibm-dev-test
ibm.cos.endpoint_url=s3.us-south.cloud-object-storage.appdomain.cloud
ibm.cos.api_key=_em_p3rmHlPAdx2EbJcg4JxHsPnVh2rQ1Aisw-c01HOj
ibm.cos.service_instance_id=crn:v1:bluemix:public:cloud-object-storage:global:a/59506c69395f4b3f979f594bd9dc385a:69aee223-b6b5-4a26-a95b-5a65badfa85d::
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2019 IBM Corp. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<configuration>
<appender name="Console"
class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%black(%d{ISO8601}) %highlight(%-5level) [%blue(%t)] %yellow(%C{1.}): %msg%n%throwable
</Pattern>
</layout>
</appender>
<appender name="aiAppender"
class="com.microsoft.applicationinsights.logback.ApplicationInsightsAppender">
<instrumentationKey>${appinsights_key}</instrumentationKey>
</appender>
<!-- servicebus throws exceptions when idle -->
<logger name="com.microsoft.azure.servicebus.primitives.RequestResponseLink" level="error" />
<root level="warn">
<appender-ref ref="Console" />
<appender-ref ref="aiAppender" />
</root>
</configuration>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment