Smart Processes Management
Shell executor for Runnerty:
Installation:
Through NPM
npm i @runnerty/executor-shell
You can also add modules to your project with runnerty-cli
npx runnerty-cli add @runnerty/executor-shell
This command installs the module in your project, adds example configuration in your config.json and creates an example plan of use.
If you have installed runnerty-cli globally you can include the module with this command:
rty add @runnerty/executor-shell
Configuration sample:
Add in config.json:
Local
{
"id": "shell_default",
"type": "@runnerty-executor-shell"
}
Remote (SSH)
{
"id": "shell_ssh",
"type": "@runnerty-executor-shell",
"host": "remote.server.com",
"username": "runnerty",
"privateKey": "./ssh/privateKeyFile.pem"
}
Plan sample:
Add in plan.json:
{
"id":"shell_default",
"command":"tar cvfz /var/backups/stf.tar /var/stranger_things/"
}
{
"id":"shell_default",
"command":"python",
"args":["myscript.py","hello"]
}
{
"id":"shell_default",
"command":"echo",
"args":["hello world"]
}
Using the outputJSON param, if you have a process which returns a JSON object, the executor will generate automatically a value for each value of the object:
{
"id":"shell_default",
"command":"node my-returning-object-process.js",
}
This the output of my-returning-object-process.js:
{
"name": "my output name",
"lastName": "my output lastName"
}
Output values with the object's values.
It is possible to access the values by GETVALUE function:
@GV(PROCESS_EXEC_JSON_NAME) --> "my output name"
@GV(PROCESS_EXEC_JSON_LASTNAME) --> "my output lastName"