Skip to content

System install and configuration

dmitrysobolev edited this page Jan 19, 2013 · 5 revisions

Installation

Genesis distribution

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.

Installation

To install genesis just unpack distribution zip file to any directory

System requirements

  • 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
    

Configuration

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:

Logging configuration

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.

Startup

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

OpenStack configuration example

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
Clone this wiki locally