-
Notifications
You must be signed in to change notification settings - Fork 10
System install and configuration
Genesis distribution package is a result of normal maven build process. To produce a distribution package issue mvn package command.The distribution artifact is generated by distribution module of a project. The distribution is a zip file archive.
To install genesis just unpack distribution zip file to any directory
-
Any platform with Sun JVM v 1.6
-
Any major RDBMS (optional, embedded DB can be used instead)
-
A private or public cloud service
-
A Chef server (optional, required for the Chef plugin)
-
A Git repository with remote access to be used as an environment template storage
Genesis is configured using 'backend.properties' java system property pointing to the file with Genesis properties values. Also properties values (not set in configuration file) could be edited in UI or via REST API(see REST API).
For concrete properties please consult plugins and services configuration pages:
-
[[Chef Plugin Configuration|Chef-Plugin-Configuration]]
-
[[Jclouds plugin configuration|Jclouds-plugin-configuration]]
-
[[Template repository configuration|Template-repository-configuration]]
- Email Notification plugin configuration
And system configuration reference:
Genesis uses logback as a logging tool. Default logging configuration file is placed inside genesis backend jar and therefore can't be changed easily. To configure logging externally use logback.configurationFile
property to set the location of the external config file. See logback manual for further detail on how to create a configuration file.
To start up genesis run the following command from the distribution folder:
java -Dbackend.properties=(path to the configuration file) -cp "./*" com.griddynamics.genesis.GenesisFrontend
See the configuration paragraph for information on how to configure the application. For example if your configuration file is stored in local filesystem you may use the following command:
java -Dbackend.properties=file:path/to/config/config.properties -cp "./*" com.griddynamics.genesis.GenesisFrontend
In case of you use one of the config files provided with the distribution you may use:
java -Dbackend.properties=classpath:environments/dev.properties -cp "./*" com.griddynamics.genesis.GenesisFrontend
genesis.system.bind.port=8083
genesis.system.jdbc.driver = org.h2.Driver
genesis.system.jdbc.url = jdbc:h2:mem:genesisBackendInMemoryStore;DB_CLOSE_DELAY=-1
genesis.system.jdbc.username = ""
genesis.system.jdbc.password = ""
genesis.system.jdbc.drop.db = false
genesis.plugin.chef.identity = <type user name>
genesis.plugin.chef.credential = classpath:/environments/chef/<chef-user>.pem
genesis.plugin.chef.validator.identity = gd-validator
genesis.plugin.chef.validator.credential = classpath:/environments/chef/gd-validator.pem
genesis.plugin.chef.endpoint = https://api.opscode.com/organizations/gd
genesis.plugin.jclouds.endpoint = http://172.18.41.1:5000
genesis.plugin.jclouds.identity = <type Cloud provider API account identity>
genesis.plugin.jclouds.credential = <type Cloud provider API account credential>
genesis.plugin.jclouds.provider = gdnova
genesis.system.default.vm.identity = root
genesis.system.default.vm.credential = classpath:/environments/root.pem
genesis.template.repository.mode = filesystem
genesis.template.repository.fs.path=/tmp/genesis/templates
genesis.template.repository.git.uri = https://<user>@github.com/griddynamics/genesis.git
genesis.template.repository.git.identity = <type GitHub user>
genesis.template.repository.git.credential = <type GitHub user credential>
genesis.template.repository.git.branch = master
genesis.template.repository.git.directory = ~/tmp/genesis/git/repository