New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@runnerty/executor-shell

Package Overview
Dependencies
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@runnerty/executor-shell

Runnerty module: shell executor

Source
npmnpm
Version
3.1.3
Version published
Weekly downloads
32
-47.54%
Maintainers
1
Weekly downloads
 
Created
Source

Smart Processes Management

NPM version Downloads Dependency Status code style: prettier

Shell executor for Runnerty

Installation:

Through NPM

npm i @runnerty/executor-shell

You can also add modules to your project with runnerty

npx runnerty 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 globally you can include the module with this command:

runnerty 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"
}
SSH configuratión

Executor shell SSH connection relies on [mscdex/ssh2]:https://github.com/mscdex/ssh2 and these are the exposed options:

OptionTypeDescription
hoststringHostname or IP address of the server.
portnumberPort number of the server.
forceIPv4booleanOnly connect via resolved IPv4 address for host.
forceIPv6booleanOnly connect via resolved IPv6 address for host.
hostHash"md5" or "sha1"The host's key is hashed using this method and passed to hostVerifier.
usernamestringUsername for authentication.
passwordstringPassword for password-based user authentication.
agentstringPath to ssh-agent's UNIX socket for ssh-agent-based user authentication (or 'pageant' when using Pagent on Windows).
privateKeystringPath to the file that contains a private key for either key-based or hostbased user authentication (OpenSSH format).
passphrasestringFor an encrypted private key, this is the passphrase used to decrypt it.
localHostnamestringAlong with localUsername and privateKey, set this to a non-empty string for hostbased user authentication.
localUsernamestringAlong with localHostname and privateKey, set this to a non-empty string for hostbased user authentication.
tryKeyboardbooleanTry keyboard-interactive user authentication if primary user authentication method fails.
keepaliveIntervalnumberHow often (in milliseconds) to send SSH-level keepalive packets to the server. Set to 0 to disable.
keepaliveCountMaxnumberHow many consecutive, unanswered SSH-level keepalive packets that can be sent to the server before disconnection.
readyTimeoutnumber* How long (in milliseconds) to wait for the SSH handshake to complete.
strictVendorbooleanPerforms a strict server vendor check before sending vendor-specific requests.
agentForwardbooleanSet to true to use OpenSSH agent forwarding (auth-agent@openssh.com) for the life of the connection.

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"

Keywords

runnerty

FAQs

Package last updated on 31 Dec 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts