Cortex Configuration Files
Cortex Configuration Files
Cortex provides a number of files for configuring various aspects of the API, like authorization and authentication. Property value changes in the Cortex configuration files are scanned and updated in the application during run time.
It is not necessary to restart the server to update the values.
Default Configuration Files
Elastic Path provides a default Cortex configuration files in the extensions/database module's /ext-data/environments/ directory.
It is recommended that you copy these default configuration files to your local file system using the following instructions:
- In the command line, navigate to the extensions/database module.
- In the extensions/database module, run the following command:
mvn clean install -Preset-conf
This command wipes your current local home directory's configuration files (if they exist), copies out of the box Cortex and Ehcache configuration files from the database/ext-data/environments/local/ directory to your file system's ${user.home}/ep/conf/ directory. For more information, see Cortex Configuration Files.
Customizing Cortex Configuration Properties
Below is a list of the configuration files Cortex supports out of the box.
authClientHost.config
Defines the URI for the Cortex authentication endpoint. For more information on authentication endpoints, see Cortex Authentication
Property Format
mappings=["DEFAULT_HOST\=http://localhost:9080/cortex/authentication/user"]
mappings=["DEFAULT_HOST\=http://localhost:9080/cortex/authentication/user", "telco\=http://localhost:13080/cortex/authentication/user"]
authTrustHeader.config
Defines the authentication endpoint trust header. For more information on endpoint trust headers, see Cortex Authentication
Property Format
name="x-ep-trust-header value="<secret trust header>"
recommendationsPageSize.config
Defines the pagination page-size setting for recommendations. Since a large number of items may be available for recommendations, this page-size setting can limit the number of items retrieved per request.
Property Format
rest.recommendations.page.size.VALUE=I"<positive integer>"Example with 5 items per page:
rest.recommendations.page.size.VALUE=I"5"
systemReadyState.config
Defines the number of resource bundles required to register their veto before Cortex is in a ready state. During Cortex startup, resource bundles register a veto once the bundle becomes active. Before a quorum is reached, Cortex returns a 503 Service Unavailable HTTP status for any request.
Property Format
quorumSize=I"<positive integer"
quorumSize=I"10"
oauthTokenExpiry.config
Defines the authentication token's expiry time, in seconds. By default, the Cortex authentication tokens expire after 1 week (60 * 60 * 24 * 7 seconds).
Property Format
seconds=L"token expiry seconds"
Example with 300 seconds:
roleHierarchy.config
Defines the role hierarchy used in Cortex authorizations. For more information on roles and permissions, see Cortex Authorization.
Property Format
roles=["ROLE_LOWEST","ROLE_HIGHER",...,"ROLE_HIGHEST"]
relosExecutorService.config
Defines thread pool size and thread idle timeout in seconds for the RelOS Executor Service. By default, the thread pool size is 500 and the thread idle timeout is 120 seconds. For more information on roles and permissions, see Cortex Authorization.
threadPoolSize=I"<positive integer>" threadIdleTimeout=L"idle timeout in seconds"
threadPoolSize=I"1000" threadIdleTimeout=L"200"
relosOperationResultCache.config
Defines maximum number of results in cache for the RelOs OperationResult Cache and the eviction timeout in seconds. By default, the maximum number of results in cache is 2000 and the eviction timeout is 60 seconds.
Property FormatmaxResults=I"<positive integer>" evictionTimeout=I"eviction timeout in seconds"Example where the maximum number of results in cache is 3000 and eviction timeout is 100 seconds:
maxResults=I"3000" evictionTimeout=I"100"