Properties

Properties in Higson

Higson gives user a possibility to configure and overwrite internal application properties. They are stored in dedicated file, named application.yml . File should be placed in container or may be pass using environment properties

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
  studio-api:
    image: decerto/higson:4.2.0
    container_name: higson-studio-api
    ports:
      - "48282:8282"
    volumes:
      - ./application.yml:/application.yml  # << here properties are passed from host in yaml file
    environment:
      - "HIGSON_DATABASE_URL=jdbc:postgresql..." # << this section let us define environment properties which has precedence over the yaml file.
      - "HIGSON_DATABASE_USERNAME=higson"
      - "HIGSON_DATABASE_PASSWORD=higson"
      - "HIGSON_DATABASE_DIALECT=postgresql" 

Configurable Properties#

Property Description Default value
Database
higson.database.dialect Database dialect to use. Predefined dialects available in Higson: oracle,hsqldb, h2, mssql2012, postgresql, mysql oracle
higson.database.hbm2ddl-mode proxy for hibernate property hibernate.hbm2ddl.auto validate
higson.database.autoddl-action Action to be taken during Higson Studio startup with respect to database schema update:check - verify whether schema is correctupdate - chcek database schema and update, if neededskip - do nothing update
higson.database.url JDBC connection url THIS PROPERTY MUST BE SET AT SYSTEM START BY THE USER
higson.database.username Username that Higson will use to connect to database defined in mpp.database.url THIS PROPERTY MUST BE SET AT SYSTEM START BY THE USER
higson.database.password Password that Higson will use to connect to database defined in mpp.database.url THIS PROPERTY MUST BE SET AT SYSTEM START BY THE USER
higson.database.schema Database schema wherein Higson tables exist
Environment
higson.studio.instance-name Id identifying specific Higson Studio Instance. It is visible in Higson Studio below menu toolbar
higson.studio.url Higson Studio url used in few places, for example to create url for authentication token reset, CAS authentication etc. http://localhost:8080/higson/app
higson.studio.region.updater.task-cron CRON expression used to schedule job updating system region versions in Higson Studio 0 1 0 * * *
Security
higson.security.basic.password-encode Name of using password encoder bcrypt
higson.security.basic.bcrypt.complexity Password encoder complexity 5
higson.security.jwt.secret-key Secret to decode JWT token (up to 256-bytes chars). To communicate with Runtime Rest client.
higson.studio.security.token.verification.secret-key Secret to verify JWT token (up to 256-bytes chars). To communicate with UI. THIS PROPERTY MUST BE SET AT SYSTEM START BY THE USER
higson.studio.security.token.verification.algorithm Determines JWT token verification algorithm (only HMAC256 supported) HMAC256
higson.studio.security.token.generation.enabled Determines if studio server works as authentication provider true
higson.studio.security.token.generation.secret-key Secret to sign JWT token (up to 256-bytes chars). To communicate with UI. ${higson.studio.security.token.verification.secret-key}
higson.studio.security.token.generation.algorithm Determines JWT token sign algorithm (only HMAC256 supported) ${higson.studio.security.token.verification.algorithm}
higson.studio.security.token.generation.access-token-lifetime.value Access token lifetime value 5
higson.studio.security.token.generation.access-token-lifetime.unit Access token lifetime unit Minutes
higson.studio.security.token.generation.refresh-token-lifetime.value Refresh token lifetime value 7
higson.studio.security.token.generation.refresh-token-lifetime.unit Refresh token lifetime unit Days
higson.studio.security.token.generation.persist-refresh-token Should persist refresh token to database (session idempotent) true
higson.studio.security.login.attempts-limit Limit of failed login attempts 3
higson.studio.security.login.attempts-cooldown Time (in seconds) to freeze the ability to log in after reaching the limit of failed attempts 20
higson.studio.security.password.policy.min-length Specifies the length of the password. Can take values between 10 and 128 10
Features
higson.studio.mail.host Mailer server host. If host and port are not set - mailer is not loaded ""
higson.studio.mail.port Mailer server port. If host and port are not set - mailer is not loaded ""
higson.studio.mail.username Mailer server username ""
higson.studio.mail.password Mailer server username’s password ""
higson.studio.mail.from Mailer from metadata ""
higson.studio.snapshot.param.matrix.writer.order-by-all-level Should sort by all levels during export decision table to file. Available: true/false true
higson.studio.groovy.secured Groovy function verification. Available: true/false. If set to true it is not possible to use a class of type System or Exception. If set to false the function body is not validated and possible security problems will not be caught. true
higson.studio.function.validate-arguments Flag determining whether function arguments data types should be validated before test execution false
higson.studio.max-file-size Specifies the size of the snapshot that can be uploaded 100MB
higson.persistence.ui.enabled Enables GMO in Higson Studio UI false

Runtime#

Available for Higson Runtime Spring Boot Starter or Higson Runtime REST apps

Property Name Description Default Value
Database
higson.database.dialect Database dialect to use. Available values: oracle, hsqldb, h2, mssql2012, postgresql, mysql. oracle
higson.database.url JDBC connection URL. THIS PROPERTY MUST BE SET AT SYSTEM START BY THE USER
higson.database.username Username that Higson will use to connect to the database defined in higson.database.url. THIS PROPERTY MUST BE SET AT SYSTEM START BY THE USER
higson.database.password Password that Higson will use to connect to the database defined in higson.database.url. THIS PROPERTY MUST BE SET AT SYSTEM START BY THE USER
higson.database.schema Database schema wherein Higson tables exist.
Environment
higson.runtime-rest.url URL of Higson Runtime REST.
Authentication
higson.runtime-rest.security.type Defines security type for Runtime REST. Possible values: jwt, active-directory. When not set, basic authentication is enabled.
higson.security.jwt.secret-key Secret key to decrypt Runtime REST token. THIS PROPERTY MUST BE SET AT SYSTEM START BY THE USER
higson.security.active-directory.domain Active Directory main root.
higson.security.active-directory.url Active Directory server URL.
higson.security.active-directory.root-dn Active Directory root domain.
Watchers
higson.runtime.watcher.param-watcher-config.delay Time after which the watcher starts following application launch [s]. 10
higson.runtime.watcher.param-watcher-config.pause Interval at which the watcher monitors the state of decision tables. 3
higson.runtime.watcher.param-watcher-config.errorPause Duration for which the watcher is suspended after a watcher error occurs. 30
higson.runtime.watcher.param-watcher-config.force Time after which the watcher will force a full cache synchronization of decision tables. Currently only the param-watcher supports this setting. 60
higson.runtime.watcher.function-watcher-config.delay Time after which the watcher starts following application launch [s]. 10
higson.runtime.watcher.function-watcher-config.pause Interval at which the watcher monitors the state of functions. 3
higson.runtime.watcher.function-watcher-config.errorPause Duration for which the watcher is suspended after a watcher error occurs. 30
higson.runtime.watcher.version-watcher-config.delay Time after which the watcher starts following application launch [s]. 10
higson.runtime.watcher.version-watcher-config.pause Interval at which the watcher monitors the state of versions. 3
higson.runtime.watcher.version-watcher-config.errorPause Duration for which the watcher is suspended after a watcher error occurs. 30
higson.runtime.watcher.profile-watcher-config.delay Time after which the watcher starts following application launch [s]. 10
higson.runtime.watcher.profile-watcher-config.pause Interval at which the watcher monitors the state of profiles. 3
higson.runtime.watcher.profile-watcher-config.errorPause Duration for which the watcher is suspended after a watcher error occurs. 30
higson.runtime.watcher.user-region-version-watcher-config.delay Time after which the watcher starts following application launch [s]. 10
higson.runtime.watcher.user-region-version-watcher-config.pause Interval at which the watcher monitors the state of users’ perspective (in Higson Studio, set under the “My View” button). 3
higson.runtime.watcher.user-region-version-watcher-config.errorPause Duration for which the watcher is suspended after a watcher error occurs. 30
higson.runtime.watcher.domain-watcher-config.delay Time after which the watcher starts following application launch [s]. 10
higson.runtime.watcher.domain-watcher-config.pause Interval at which the watcher monitors the state of the domain. 3
higson.runtime.watcher.domain-watcher-config.errorPause Duration for which the watcher is suspended after a watcher error occurs. 30
higson.runtime.watcher.domain-watcher-config.invalidate Duration the domain value may remain unchanged in the cache. Works with domain-watcher-config.time-unit. 24
higson.runtime.watcher.domain-watcher-config.time-unit Time unit for domain cache invalidation. Works with domain-watcher-config.invalidate. Possible values: HOURS, MINUTES, etc. HOURS
higson.runtime.watcher.dev-mode-watcher-config.delay Time after which the watcher starts following application launch [s]. 10
higson.runtime.watcher.dev-mode-watcher-config.pause Interval at which the watcher monitors the state of objects modified in session. 1
higson.runtime.watcher.dev-mode-watcher-config.errorPause Duration for which the watcher is suspended after a watcher error occurs. 30
higson.runtime.watcher.schedule-runtime-watcher-config.delay Time after which the watcher starts following application launch [s]. 10
higson.runtime.watcher.schedule-runtime-watcher-config.pause Interval at which the watcher monitors the state of the version timeline. 10
higson.runtime.watcher.schedule-runtime-watcher-config.errorPause Duration for which the watcher is suspended after a watcher error occurs. 30
higson.runtime.watcher.refresh-watcher-config.delay Time after which the watcher starts following application launch [s]. 15
higson.runtime.watcher.refresh-watcher-config.pause Checks each cached decision table (in-memory index). Evicts decision table if:
- auto-refresh period has expired
- max idle time exceeded
10
higson.runtime.watcher.refresh-watcher-config.errorPause Duration for which the watcher is suspended after a watcher error occurs. 30
Other
higson.runtime.function.validate-arguments Flag determining whether function argument data types should be validated before execution. false
higson.runtime.normalization.throw-on-exception Flag determining whether an exception should be thrown when a matrix value can’t be normalized. false
higson.runtime.external-datasource.sql.names List of external SQL data source names.
higson.runtime.external-datasource.sql.%s.url URL to data source. %s is a placeholder for the name of the data source.
higson.runtime.external-datasource.sql.%s.username Username for data source. %s is a placeholder for the name of the data source.
higson.runtime.external-datasource.sql.%s.password Password for data source. %s is a placeholder for the name of the data source.
higson.runtime.external-datasource.sql.%s.min-pool-size Minimum size of connection thread pool. %s is a placeholder for the name of the data source. 1
higson.runtime.external-datasource.sql.%s.max-pool-size Maximum size of connection thread pool. %s is a placeholder for the name of the data source. 8
higson.runtime.parameter.value-never-null If true, decision tables return EmptyParamValue when no match is found; if false, decision tables return null. true
higson.runtime.watchers.enabled Flag determining whether runtime watchers should start automatically.

Properties Names Since Version 4.1

Security#

Version 4.0 Version 4.1
higson.security.jwt.access-token-lifetime.unit higson.studio.security.token.generation.access-token-lifetime.unit
higson.security.jwt.access-token-lifetime.value higson.studio.security.token.generation.access-token-lifetime.value
higson.security.jwt.authentication-server higson.studio.security.token.generation.enabled
higson.security.jwt.algorithm higson.studio.security.token.generation.algorithm
higson.security.password-encoder.name higson.security.basic.password-encoder
higson.security.password-encoder.complexity higson.security.basic.bcrypt.complexity
higson.security.jwt.refresh-token-lifetime.unit higson.studio.security.token.generation.refresh-token-lifetime.unit
higson.security.jwt.refresh-token-lifetime.value higson.studio.security.token.generation.refresh-token-lifetime.value
higson.security.jwt.secret-key higson.security.jwt.secret-key
higson.security.jwt.persist-refresh-token higson.studio.security.token.generation.persist-refresh-token
higson.security.password-encoder.name higson.security.basic.password-encoder
higson.security.password-encoder.complexity higson.security.basic.bcrypt.complexity