#Geppetto
SOA local development made easy.
Geppetto makes it simple to script the launch of all your local services with the desired environment variables
##Contents
##Installation
npm install -g geppetto
##Usage
geppetto config.json
Define a json configuration file with the processes that you want running. You can define a:
command
(required) The command being called to launch the processdir
(optional) The directory you want the process to be launched from. dir
supports $ENVIRONMENT variable expansion.env
(optional) A hash of process specific environment variables you want the process to haveinstall
(optional) A sub level of options to perform to install the necessary files (if dir
is nonexistent)for the process (install
overrides git
option)postinstall
(optional) A sub level of options to perform after installationgit
(optional) If dir
is nonexistent it will be cloned down locallypostgit
(optional) Sub level options to run on directory after cloning down with git
{
"api_server": {
"dir": "$PWD/node-server",
"install": {
"command": "curl",
"arguments": ["-O", "https://example.com/api_server"]
},
"postinstall": {
"command": "npm",
"arguments": ["install"]
},
"command": "node",
"arguments": [ "app.js" ],
"env": {
"PORT": "1337"
},
},
"app_server": {
"git": "https://github.com/me/app_server",
"postgit": {
"command": "bundle",
"arguments": ["install"]
},
"command": "rails",
"arguments": ["s"],
"env": {
"API_URL": "http://localhost:1337"
}
}
}
###Common Globals
There are also top level keys that can be defined to set global common options:
_env
Common environment variables for each service
{
"_env": {"LEVEL": "1", "BOSS": "SnapBack"},
"game": {"command": "cat", "arguments": ["index.js"], "env": {"LEVEL": "2"}}
}
Made with ⚡️ by @taterbase