Skip to content

System properties reference

Svyatoslav Reyentenko edited this page Aug 5, 2014 · 6 revisions

All genesis core system (i. e. not related to any plugins or providers) properties names start with prefix genesis.system.

Web container configuration

genesis.system.bind.host Address to bind. Default is 0.0.0.0, i.e., any network interface

genesis.system.bind.port Port to listen. Default is 8080.
genesis.system.use.http Enable HTTP connector. Default is true.
genesis.system.use.https Enable HTTPS connector. Default is false.

genesis.web.admin.username Username for admin user
genesis.web.admin.sha.password SHA-256 hash of admin password (aeebad4a796fcc2e15dc4c6061b45ed9b373f26adfc798ca7d2d8cc58182718e for the word 'genesis'. You may use sha256sum command on Linux to generate another one. Also you can consult Ruby, Python, Perl, PHP documentation. All these languages contains SHA-256 implementation).

For example, to generate SHA-256 hash with Python, use following repl transcript:

Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import hashlib
>>> hashlib.sha256('genesis').hexdigest()
'aeebad4a796fcc2e15dc4c6061b45ed9b373f26adfc798ca7d2d8cc58182718e'
>>>

On Linux shell command will be: echo -n genesis | sha256sum

Don't forget -n switch to suppress newline in echo command output

HTTPS additional settings

genesis.system.https.keystore Path to Java keystore file for HTTPS connector.
genesis.system.https.keystore.password Password for Java keystore file

Application database configuration

Genesis requires a DB connection in order to work properly. DB schema will be created automatically if absent. The connection to DB is configured in backend properties file.

genesis.system.jdbc.driver: JDBC driver class name to use for access to the application database
genesis.system.jdbc.url: Application database JDBC URL
genesis.system.jdbc.username: user name for access to the application database
genesis.system.jdbc.password: password for access to the application database
genesis.system.jdbc.drop.db: Recreate DB schema even if the schema already exists. Possible values: true, false

Here is the example for embedded DB configuration:

genesis.system.jdbc.driver = org.h2.Driver
genesis.system.jdbc.url = jdbc:h2:file:~/genesis_db
genesis.system.jdbc.username = ""
genesis.system.jdbc.password = ""

Using MS SQLServer

Genesis must be build with profile mssql.

If you intend to use integrated security, unzip file jdbc-3.0.1301.101-native-x64.jar in Genesis directory and add system property java.library.path pointing to Genesis directory as follows: -Djava.library.path=<Genesis_dir>

Change database configuration in Genesis backend properties (assuming MS SQL running on host db.example.com and on default port, and contains database Genesis):

genesis.system.jdbc.driver = com.microsoft.sqlserver.jdbc.SQLServerDriver  
genesis.system.jdbc.url = jdbc:sqlserver://db.example.com;databaseName=Genesis  
genesis.system.jdbc.username = user  
genesis.system.jdbc.password = password  

For integrated security configuration is slightly different:

genesis.system.jdbc.driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
genesis.system.jdbc.url = jdbc:sqlserver://db.example.com;databaseName=Genesis;integratedSecurity=true
genesis.system.jdbc.username = ""
genesis.system.jdbc.password = ""

Note that genesis.system.jdbc.username and genesis.system.jdbc.password still should be present, though empty.

On the first run database Genesis or whatever name you choose must exists and has to be empty (no user tables). Genesis will make attempt to create all tables it needs at start, so it's important for user that run Genesis application to have all necessary permission on database.

To drop and recreate table use property

genesis.system.jdbc.drop.db = true

as usual.

Due to bug in Java version 6u29 Genesis must be run with Java version lesser or greater than 6u29 to be able to connect to MS SQLServer.

SSH access specific properties

genesis.system.default.vm.identity: User name for acccess to cloud VM via SSH
genesis.system.default.vm.credential: URL pointing to SSH private key for the VM user account

Other

genesis.system.shutdown.timeout.sec Time to wait for graceful workflows termination in seconds. 0 - do not shutdown until everything canceled.

Workflow engine configuration

genesis.system.beat.period.ms: Workflow execution actors heartbeats period. Default value: 1000
genesis.system.flow.timeout.ms: Workflow execution timeout. Default value: 3600000
genesis.system.flow.executor.sync.threads.max: Maximum number of simultaneously executing synchronous actions. Default value: 5

Security

genesis.system.security.environment.restriction.enabled: If true project adminstrator can restrict access to specific created environment for particular users

Databag templates management

genesis.system.databag.template.repository.wildcard : Extension for databag templates files. Default value: *.dbtemplate genesis.system.databag.template.repository.path: Absolute or relative path to databag templates folder. Default value: templates

Internal logging configuration

OpenGenesis uses internal logging to store messages from executing steps and actions. By default main database is used to store such logs. Also, logs can be stored in filesystem. To enable it, add following properties:

genesis.logging.type : Must be set to filesystem. Default value is db genesis.logging.filesystem.path : Top directory for logs. By default it's directory logs in current directory.

Clone this wiki locally