############################################################################################# ### *** This file was generated! *** ### ### It is a composition of all default settings are used in the application. ### ### To customize settings, you can define it as an application.properties located at: ### ### * User's home directory: ~/application.properties ### ### * Working directory: ./application.properties ### ### Also all properties can be defined via: ### ### * Java system properties, like: -Dopenl.home=/home/openl ### ### * System environment variable as is: export openl.home=/home/openl ### ### * or in the upper case with underscores: export OPENL_HOME=/home/openl ### ############################################################################################# #-------------------------------------------------------------------------------------------# ### From: openl-default.properties #-------------------------------------------------------------------------------------------# # This title will be displayed on the UI on the index page. openl.application.title = OpenL Tablets Rule Services # Default publisher if no publishers are defined in rules-deploy.xml. ruleservice.publishers = RESTFUL # Define HTTP timeouts in milliseconds. ruleservice.http.connectionTimeout = 300000 ruleservice.http.receiveTimeout = 300000 # Messages smaller than this threshold are not compressed. # To force compression of all messages, set the threshold to 0. # -1 is used as a default CXF level (1024 bytes). # To disable GZIPing at all, define empty value. ruleservice.gzip.threshold = -1 # Enables MBeans on the CXF Bus to collect statistics and manage CXF. # By default, it is disabled to avoid unnecessary runtime overhead during web service call processing. # The CXF CounterRepository collects the following metrics: invocations, checked application faults, unchecked application faults, # runtime faults, logical runtime faults, total handling time, max handling time, and min handling time. ruleservice.jmx.enabled = false # Enables REST API of the embedded deployer. # It must be used for development purposes only. Enabling this feature allows anyone to deploy any rules to the repository. ruleservice.deployer.enabled = false ruleservice.kafka.bootstrap.servers = localhost:9092 ruleservice.kafka.group.id = openl-webservice ### CORS support # # A list of origins that are allowed to access the resource. # Use an ansterix * to enable access to the resource from any origin. # Otherwise, use a list of comma separated origins, for example, https://www.w3.org, https://www.example.com. # The empty string means that noone can access the resource. cors.allowed.origins = # A comma separated list of HTTP methods for accessing the resource using cross-origin requests. # These methods are included as a part of the Access-Control-Allow-Methods header in pre-flight response. # Example: GET,POST. cors.allowed.methods = GET,OPTIONS,HEAD,PUT,POST # A comma separated list of request headers used for making an actual request. # These headers are returned as a part of the Access-Control-Allow-Headers header in a pre-flight response. # Example: Origin,Accept. cors.allowed.headers = Content-Type,Accept,api_key,Authorization # Number of seconds for which the browser is allowed to cache the result of the pre-flight request. # This amount is included as a part of the Access-Control-Max-Age header in the pre-flight response. # A negative value prevents CORS Filter from adding this response header to the pre-flight response. cors.preflight.maxage = 7200 ### MDC support # Defines an HTTP or Kafka header for tracking the request/response pair. # The value of the defined header in the request is copied to the response. # The same value is also saved in SLF4J MDC with the "requestId" key. # If there is no such header in a request, a random ID is generated. # If this property is not set, this logic is disabled. log.request-id.header = ### Security # The ability to disable the authentication mechanism to maintain backward compatibility. ruleservice.authentication.enabled = false # The unique identifier of the audience for an issued token. # A comma separated list of valid audience. ruleservice.authentication.aud = https://openl-tablets.org # Issuer claim identifying the principal that issued JWT. This field is mandatory. ruleservice.authentication.iss = # URL for JWK set. ruleservice.authentication.jwks = #-------------------------------------------------------------------------------------------# ### From: org.openl.rules.jackson-5.27.11.jar!/openl-default.properties #-------------------------------------------------------------------------------------------# ruleservice.isSupportVariations = false # Default list of class for registering in the Jackson databinding. ruleservice.databinding.rootClassNames = ### Define default rules for serialization/deserialization of the JSON objects in the REST services. # Object mapper setting. options: ALWAYS, NON_NULL, NON_ABSENT, NON_EMPTY, NON_DEFAULT, USE_DEFAULTS ruleservice.jackson.serializationInclusion = USE_DEFAULTS # Object mapper setting. options: JAVA_LANG_OBJECT, OBJECT_AND_NON_CONCRETE, NON_CONCRETE_AND_ARRAYS, NON_FINAL, EVERYTHING, DISABLED ruleservice.jackson.defaultTypingMode = JAVA_LANG_OBJECT ruleservice.jackson.caseInsensitiveProperties = false ruleservice.jackson.failOnUnknownProperties = false ruleservice.jackson.failOnEmptyBeans = true ruleservice.jackson.typingPropertyName = @class # The value of this property is used as JsonTypeInfo.Id for all classes are used # in ruleservice.databinding.rootClassNames and generated during rules compilation. # options: NONE, CLASS, MINIMAL_CLASS, NAME, DEDUCTION ruleservice.jackson.jsonTypeInfoId = CLASS # This property is deprecated, use ruleservice.jackson.jsonTypeInfoId=NAME instead ruleservice.jackson.simpleClassNameAsTypingPropertyValue = ruleservice.jackson.defaultDateFormat = yyyy-MM-dd'T'HH:mm:ss.SSS #-------------------------------------------------------------------------------------------# ### From: org.openl.rules.repository-5.27.11.jar!/openl-default.properties #-------------------------------------------------------------------------------------------# ### File-based local repository # Repository factory ID for org.openl.rules.repository.file.LocalRepositoryFactory. repo-file.factory = repo-file # Location in the file system where a repository must be created. repo-file.uri = ${openl.home}/repositories/local # Repository changes check interval in seconds. The value must be greater than 0. repo-file.listener-timer-period = 10 # Property used for backward compatibilities. It defines an additional level of folders to separate deployments. # This property will be moved to OpenL Tablets Rule Services code. repo-file.support-deployments = false ### Database-based repository with a connection via JDBC URL # Repository factory ID for org.openl.rules.repository.db.JdbcDBRepositoryFactory. repo-jdbc.factory = repo-jdbc # URL to a database in the jdbc: scheme, such as jdbc:mysql://localhost:3306/repo. repo-jdbc.uri = jdbc:h2:${openl.home}/repositories/db/db;AUTO_SERVER=TRUE;DB_CLOSE_DELAY=20 repo-jdbc.login = repo-jdbc.password = # Repository changes check interval in seconds. The value must be greater than 0. repo-jdbc.listener-timer-period = 10 ### Database-based repository with a connection via datasource stored in the JNDI context # Repository factory ID for org.openl.rules.repository.db.DatasourceDBRepositoryFactory. repo-jndi.factory = repo-jndi # URL to a database datasource located in the JNDI context. repo-jndi.uri = java:comp/env/jdbc/DB repo-jndi.login = repo-jndi.password = # Repository changes check interval in seconds. The value must be greater than 0. repo-jndi.listener-timer-period = 10 ### Zipped local file system repository. repo-zip.factory = repo-zip # Location in the file system where a repository must be created. repo-zip.uri = ${openl.home}/repositories/zipped # List of zipped OpenL Tablets projects that must be available in the repository. repo-zip.archives = ### JAR local repository. It resembles the repo-zip repository but it scans the classpath to find OpenL Tablets projects. # It determines an archive as a zipped OpenL Tablets project by the following files in the root of the archive: # * rules.xml # * deployment.xml # * deployment.yaml # Alternatively, it verifies whether archives are located in the /openl/*.zip folder. repo-jar.factory = repo-jar #-------------------------------------------------------------------------------------------# ### From: org.openl.rules.ruleservice-5.27.11.jar!/openl-default.properties #-------------------------------------------------------------------------------------------# # Default settings for the OpenL Tablets deployments that can be overridden by settings from the rules-deploy.xml configuration. ruleservice.isProvideRuntimeContext = true ruleservice.datasource.groups = ### Embedded Deployer Settings # It deploys OpenL projects, which are located in /openl/*.zip or in /*.jar files in the classpath. # Accepts the following values: # NEVER - disable the embedded deployer. # IF_ABSENT - scan the classpath for the OpenL Tablets projects/deployments on startup # and deploy them to the production repository if they are absent. # ALWAYS - like as IF_ABSENT, but it will always deploy the projects/deployments even if they were already deployed. # false - the same as NEVER for backward compatibility. # true - the same as IF_ABSENT for backward compatibility. ruleservice.datasource.deploy.classpath.jars = NEVER # If deployment of the scanned OpenL Tablets projects fails, deployment attempt is repeated in the specified number of seconds. ruleservice.datasource.deploy.classpath.retry-period = 10 ### Performance Tuning for Balancing Between Fast Application Startup and the First Request Time ruleservice.instantiation.strategy.maxthreadsforcompile = 3 ### Repository Settings # Reference to the configuration. # Factory-defined type of repository, which can be on of the following: # repo-jar, repo-jdbc, repo-jndi, repo-aws-s3, repo-git, repo-zip, repo-file # Repository availability in the application depends on the modules included in the application. production-repository.$ref = repo-jar # Path to the repository location where deployments are stored. The value must end with "/". production-repository.base.path = deploy/ # System properties to switch internal functionality between the old/new/experimental features. custom.spreadsheet.type = true dispatching.mode = java dispatching.validation = false # Deployment filtering by name from a datasource. Deployment names must be comma-separated. # Patterns can be specified using a wildcard letter, for example, rule-* # It is used to reduce the amount of deployments that are up in OpenL Tablets Rule Services # when a single repository is shared among multiple OpenL Tablets Rule Services applications. # It can also be used to organize (balance) resources among services. ruleservice.datasource.deployments = # Logging of OpenL method arguments/result. If enabled, it worsens performance (throughput). ruleservice.logging.enabled = false #-------------------------------------------------------------------------------------------# ### From: org.openl.rules.ruleservice.rmi-5.27.11.jar!/openl-default.properties #-------------------------------------------------------------------------------------------# ruleservice.rmiPort = 1099 ruleservice.rmiHost = 127.0.0.1 #-------------------------------------------------------------------------------------------# ### From: org.openl.spring-5.27.11.jar!/openl-default.properties #-------------------------------------------------------------------------------------------# # OpenL Tablets working directory that stores data for each instance. openl.home = ${user.home}/.openl # OpenL Tabletws shared working directory for clustered systems. # It must match the openl.home property value. # It points to the shared mount between instances to synchronize the data. openl.home.shared = ${openl.home} # A secret key (a master password) for encode/decode values of the properties. # If this property is not blank then encoded values can be defined inside of ENC(...), like: # my-property.password=ENC(eNcoDedPa$$w0RD) secret.key = ${repository.encode.decode.key} # The algorithm of the encoding is the following: # # 1. Make SHA-1 hash of the secret key in UTF-8 encoding; # 2. Get the first 32 symbols of the SHA-1 as a key; # 3. Encrypt the value in UTF-8 encoding by AES 128 bit algorithm with CBC mode, PKCS5 padding, zero initialization vector; # 4. Encode the AES binary into a Base64 string; # 5. Wrap the Base64 string into ENC(...) without whitespaces inside. # # You can use the following linux shell command to create an encoded password: # # echo -n "plain password" \ # | openssl aes-128-cbc \ # -K $(echo -n "My $eCr3T" | sha1sum | awk '{ print substr($1, 1, 32) }') \ # -e \ # -iv 00000000000000000000000000000000 \ # -base64 \ # | awk '{ print "ENC("$1")" }' # # where "My $eCr3T" is the value of the secret.key property. # Note: You can encode any properties, not only passwords. # Encoding cipher. secret.cipher = AES/CBC/PKCS5Padding # Property used for backward compatibility. Use secret.key instead. repository.encode.decode.key = ########################################## # Important: Do not override these properties # in the application level properties files, # such as application.properties. # It will not work. openl.config.location = ${spring.config.location: classpath*:application*-default.properties, classpath:, classpath:config/, file:, file:conf/, file:config/, file:${user.home}/} openl.config.name = ${spring.config.name: application.properties, application-{profile}.properties, {appName}.properties, {appName}-{profile}.properties} ########################################## # To protect against the JNDI injection and unauthorized access to private data. # RegExp pattern for white and black lists, to restrict access for property keys available for the application. openl.config.key-pattern.allowed = [\\d\\w.$-]+ openl.config.key-pattern.denied =