Swimlane Turbine SDK
Requirements
- Docker Desktop
- Docker registry
docker run -d -p 5000:5000 --name registry registry:2
- nvm - (https://github.com/nvm-sh/nvm#installing-and-updating)
- Node >= 16.13.0
Installation
npm install -g @swimlane/turbine-sdk@latest
Usage
$ npm install -g @swimlane/turbine-sdk
$ tsdk COMMAND
running command...
$ tsdk (--version|-v)
@swimlane/turbine-sdk/2.11.1 darwin-arm64 node-v16.20.0
$ tsdk --help [COMMAND]
USAGE
$ tsdk COMMAND
...
Commands
tsdk action add
tsdk action generate data
tsdk action generate input
tsdk action generate output
tsdk action run local
tsdk asset add
tsdk autocomplete [SHELL]
tsdk commands
tsdk connector build
tsdk connector create
tsdk connector create openapi
tsdk connector create source
tsdk connector logo
tsdk connector sign
tsdk connector update
tsdk connector validate
tsdk help [COMMAND]
tsdk plugins
tsdk plugins:install PLUGIN...
tsdk plugins:inspect PLUGIN...
tsdk plugins:install PLUGIN...
tsdk plugins:link PLUGIN
tsdk plugins:uninstall PLUGIN...
tsdk plugins:uninstall PLUGIN...
tsdk plugins:uninstall PLUGIN...
tsdk plugins update
tsdk turbine config list
tsdk turbine config remove URL
tsdk turbine config set URL
tsdk turbine config use URL
tsdk turbine connector keys generate [URL]
tsdk turbine connector keys list local
tsdk turbine connector keys list remote [URL]
tsdk turbine connector keys push URL
tsdk turbine connector push FILE [URL]
tsdk version
tsdk which
tsdk action add
Update a connector action.
USAGE
$ tsdk action add [-d <value>] [-t node_18|python_definition|python] [-h]
FLAGS
-d, --directory=<value> [default: ./] Root directory of the repository.
-h, --help Show CLI help.
-t, --template=<option> [default: python_definition] action template to scaffold
<options: node_18|python_definition|python>
DESCRIPTION
Update a connector action.
tsdk action generate data
Use to test a task in an integration
USAGE
$ tsdk action generate data [-h] [-a <value>] [--asset <value>] [--inputs <value>] [-d <value>] [--include-optional]
[--force]
FLAGS
-a, --action=<value> action to generate data
-d, --directory=<value> [default: ./] current directory to mount
-h, --help Show CLI help.
--asset=<value> Filename for asset, defaults to the task name under the data folder. ie: data/asset_name.json
--force overwrites current files
--include-optional used to only generate required properties
--inputs=<value> Filename for JSON inputs, defaults to the task name under the data folder. ie:
data/my_task.json
DESCRIPTION
Use to test a task in an integration
tsdk action generate input
Update action input schema.
USAGE
$ tsdk action generate input [-a <value>] [-d <value>] [--amend] [--action-config-path <value>] [--input-path <value>]
[-h]
FLAGS
-a, --action=<value> Action name to run
-d, --directory=<value> [default: ./] Root directory of the repository.
-h, --help Show CLI help.
--action-config-path=<value> Override path to action configuration file. Defaults to
/connector/config/actions/<action>.yaml
--amend Merge with existing schema.
--input-path=<value> Relative path to the output data JSON file, defaults to the task name under the data
folder. ie: /data/<taskName>_output.json
DESCRIPTION
Update action input schema.
tsdk action generate output
Update a connector action.
USAGE
$ tsdk action generate output [-a <value>] [-d <value>] [--action-config-path <value>] [--amend] [--output-path <value>]
[-h]
FLAGS
-a, --action=<value> Action name to run
-d, --directory=<value> [default: ./] Root directory of the repository.
-h, --help Show CLI help.
--action-config-path=<value> Override path to action configuration file. Defaults to /connector/config/<action>.yaml
--amend Merge with existing schema.
--output-path=<value> Relative path to the output data JSON file, defaults to the task name under the data
folder. ie: /data/<taskName>_output.json
DESCRIPTION
Update a connector action.
tsdk action run local
Runs a connector action. (Defaults to current image version in local repository).
USAGE
$ tsdk action run local [-a <value>] [-d <value>] [--input-path <value>] [--output-path <value>] [--error-path
<value>] [--asset-path <value>] [--template
python_37_swimlane|node_18|python_39_definition|python_310_definition|python_311_definition] [-f] [-h]
FLAGS
-a, --action=<value> Action name to run
-d, --directory=<value> [default: ./] Root directory of the repository.
-f, --force-rebuild forces nocache on the image build
-h, --help Show CLI help.
--asset-path=<value> File to asset data JSON file, defaults to /data/asset.json
--error-path=<value> File to write the errors to, defaults to /data/<action>_error.json
--input-path=<value> File to input data JSON file, defaults to /data/<action>.json
--output-path=<value> File to write the outputs to, defaults to /data/<action>_output.json
--template=<option> connector template
<options:
python_37_swimlane|node_18|python_39_definition|python_310_definition|python_311_definition>
DESCRIPTION
Runs a connector action. (Defaults to current image version in local repository).
tsdk asset add
Update a connector action.
USAGE
$ tsdk asset add [-d <value>] [-s custom|apikey|oauth2_client_credentials|http_basic|http_bearer] [-h]
FLAGS
-d, --directory=<value> [default: ./] Root directory of the repository.
-h, --help Show CLI help.
-s, --scheme=<option> asset template to scaffold
<options: custom|apikey|oauth2_client_credentials|http_basic|http_bearer>
DESCRIPTION
Update a connector action.
tsdk autocomplete [SHELL]
display autocomplete installation instructions
USAGE
$ tsdk autocomplete [SHELL] [-r]
ARGUMENTS
SHELL shell type
FLAGS
-r, --refresh-cache Refresh cache (ignores displaying instructions)
DESCRIPTION
display autocomplete installation instructions
EXAMPLES
$ tsdk autocomplete
$ tsdk autocomplete bash
$ tsdk autocomplete zsh
$ tsdk autocomplete --refresh-cache
See code: @oclif/plugin-autocomplete
tsdk commands
list all the commands
USAGE
$ tsdk commands [--json] [-h] [--hidden] [--columns <value> | -x] [--sort <value>] [--filter <value>]
[--output csv|json|yaml | | [--csv | --no-truncate]] [--no-header | ]
FLAGS
-h, --help Show CLI help.
-x, --extended show extra columns
--columns=<value> only show provided columns (comma-separated)
--csv output is csv format [alias: --output=csv]
--filter=<value> filter property by partial string matching, ex: name=foo
--hidden show hidden commands
--no-header hide table header from output
--no-truncate do not truncate output to fit screen
--output=<option> output in a more machine friendly format
<options: csv|json|yaml>
--sort=<value> property to sort by (prepend '-' for descending)
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
list all the commands
See code: @oclif/plugin-commands
tsdk connector build
Builds a local docker image of the connector.
USAGE
$ tsdk connector build [--template
python_37_swimlane|node_18|python_39_definition|python_310_definition|python_311_definition] [-d <value>] [--save]
[-f] [--signing-password <value>] [--key-name <value>] [--registry <value>] [-o <value>] [-h]
FLAGS
-d, --directory=<value> [default: ./] root directory of the repository.
-f, --force-rebuild forces nocache on the image build
-h, --help Show CLI help.
-o, --output=<value> output path to where to store the image.
--key-name=<value> name used for the key (default: username_yyyy-MM-dd)
--registry=<value> [default: localhost:5000] registry to use for signing
--save saves a signed docker image as tar in local directory.
--signing-password=<value> password used for the private key (ENV: TURBINE_SIGNING_PASSWORD)
--template=<option> connector language
<options: python_37_swimlane|node_18|python_39_definition|python_310_definition|python_311
_definition>
DESCRIPTION
Builds a local docker image of the connector.
tsdk connector create
Scaffold a new connector
USAGE
$ tsdk connector create [-d <value>] [-t python_310_definition|python_311_definition|python_3] [--vendor <value>]
[--product <value>] [--keywords <value>] [--description <value>] [--logoPath <value>] [--author <value>]
[--authorEmail <value>] [--homepage <value>] [-h]
FLAGS
-d, --directory=<value> [default: ./] root directory for where to store connectors, the connector directory will be
generated.
-h, --help Show CLI help.
-t, --template=<option> [default: python_311_definition] connector template to scaffold
<options: python_310_definition|python_311_definition|python_3>
--author=<value> Connector Author
--authorEmail=<value> Connector Author Email
--description=<value> Description (e.g. CrowdStrike Host Query API)
--homepage=<value> Connector Author Support URL
--keywords=<value> Enter keywords (Comma-Separated)
--logoPath=<value> URL or absolute path to logo file
--product=<value> Product (e.g. Falcon)
--vendor=<value> Vendor (e.g. CrowdStrike)
DESCRIPTION
Scaffold a new connector
tsdk connector create openapi
Scaffold a new connector
USAGE
$ tsdk connector create openapi [-d <value>] [--vendor <value>] [--product <value>] [-k <value>] [--description <value>]
[--logoPath <value>] [--author <value>] [--authorEmail <value>] [--homepage <value>] [-o <value>] [-h]
FLAGS
-d, --directory=<value> [default: ./] root directory for where to store connectors, the connector directory will be
generated.
-h, --help Show CLI help.
-k, --keywords=<value> Please enter keyword (Comma-Separated)
-o, --specs=<value> root directory for where to store connectors, the connector directory will be generated.
--author=<value> Connector Author
--authorEmail=<value> Connector Author Email
--description=<value> Description (e.g. CrowdStrike Host Query API)
--homepage=<value> Connector Author Support URL
--logoPath=<value> URL or absolute path to logo file
--product=<value> Product (e.g. Falcon)
--vendor=<value> Vendor (e.g. CrowdStrike)
DESCRIPTION
Scaffold a new connector
tsdk connector create source
Generates 11x source from 10x
USAGE
$ tsdk connector create source [-d <value>] [-h]
FLAGS
-d, --directory=<value> [default: ./] root directory of the repository.
-h, --help Show CLI help.
DESCRIPTION
Generates 11x source from 10x
tsdk connector logo
Update a connector.
USAGE
$ tsdk connector logo -p <value> [-d <value>] [-h]
FLAGS
-d, --directory=<value> [default: .] root directory of the connector folder.
-h, --help Show CLI help.
-p, --path=<value> (required) path or URL to product logo in PNG format.
DESCRIPTION
Update a connector.
tsdk connector sign
Builds a local docker image of the connector.
USAGE
$ tsdk connector sign --image <value> --key-name <value> [-d <value>] [--signing-password <value>] [--save]
[--registry <value>] [-o <value>] [-h]
FLAGS
-d, --directory=<value> [default: ./] root directory of the repository.
-h, --help Show CLI help.
-o, --output=<value> output path to where to store the image.
--image=<value> (required) image name to sign
--key-name=<value> (required) name used for the key (default: username)
--registry=<value> [default: localhost:5000] registry to use for signing
--save saves docker image as tar in local directory.
--signing-password=<value> password used for the private key
DESCRIPTION
Builds a local docker image of the connector.
tsdk connector update
Update a connector.
USAGE
$ tsdk connector update [-d <value>] [-v <value>] [-f <value>] [-h]
FLAGS
-d, --directory=<value> [default: .] root directory of the connector folder.
-f, --manifest-path=<value> [default: /connector/connector.yaml] connector manifest path relative to directory.
-h, --help Show CLI help.
-v, --version=<value> new version of the connector.
DESCRIPTION
Update a connector.
tsdk connector validate
Use to validate an integration
USAGE
$ tsdk connector validate -c <value> [-h] [-i <value>] [--key <value> --signed] [-s] [-d <value>]
FLAGS
-c, --connector=<value> (required) [default: connector] connector to validate (relative to directory)
-d, --directory=<value> [default: ./] current directory to mount
-h, --help Show CLI help.
-i, --image=<value> image to use
-s, --skip-pull skips pulling the image
--key=<value> public key for verification
--signed validates a signed connector
DESCRIPTION
Use to validate an integration
tsdk help [COMMAND]
Display help for tsdk.
USAGE
$ tsdk help [COMMAND] [-n]
ARGUMENTS
COMMAND Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for tsdk.
See code: @oclif/plugin-help
tsdk plugins
List installed plugins.
USAGE
$ tsdk plugins [--core]
FLAGS
--core Show core plugins.
DESCRIPTION
List installed plugins.
EXAMPLES
$ tsdk plugins
See code: @oclif/plugin-plugins
tsdk plugins:install PLUGIN...
Installs a plugin into the CLI.
USAGE
$ tsdk plugins:install PLUGIN...
ARGUMENTS
PLUGIN Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ tsdk plugins add
EXAMPLES
$ tsdk plugins:install myplugin
$ tsdk plugins:install https://github.com/someuser/someplugin
$ tsdk plugins:install someuser/someplugin
tsdk plugins:inspect PLUGIN...
Displays installation properties of a plugin.
USAGE
$ tsdk plugins:inspect PLUGIN...
ARGUMENTS
PLUGIN [default: .] Plugin to inspect.
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Displays installation properties of a plugin.
EXAMPLES
$ tsdk plugins:inspect myplugin
tsdk plugins:install PLUGIN...
Installs a plugin into the CLI.
USAGE
$ tsdk plugins:install PLUGIN...
ARGUMENTS
PLUGIN Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ tsdk plugins add
EXAMPLES
$ tsdk plugins:install myplugin
$ tsdk plugins:install https://github.com/someuser/someplugin
$ tsdk plugins:install someuser/someplugin
tsdk plugins:link PLUGIN
Links a plugin into the CLI for development.
USAGE
$ tsdk plugins:link PLUGIN
ARGUMENTS
PATH [default: .] path to plugin
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Links a plugin into the CLI for development.
Installation of a linked plugin will override a user-installed or core plugin.
e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
command will override the user-installed or core plugin implementation. This is useful for development work.
EXAMPLES
$ tsdk plugins:link myplugin
tsdk plugins:uninstall PLUGIN...
Removes a plugin from the CLI.
USAGE
$ tsdk plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ tsdk plugins unlink
$ tsdk plugins remove
tsdk plugins:uninstall PLUGIN...
Removes a plugin from the CLI.
USAGE
$ tsdk plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ tsdk plugins unlink
$ tsdk plugins remove
tsdk plugins:uninstall PLUGIN...
Removes a plugin from the CLI.
USAGE
$ tsdk plugins:uninstall PLUGIN...
ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ tsdk plugins unlink
$ tsdk plugins remove
tsdk plugins update
Update installed plugins.
USAGE
$ tsdk plugins update [-h] [-v]
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Update installed plugins.
tsdk turbine config list
Use to login to Turbine
USAGE
$ tsdk turbine config list [-h]
FLAGS
-h, --help Show CLI help.
DESCRIPTION
Use to login to Turbine
tsdk turbine config remove URL
Use to login to Turbine
USAGE
$ tsdk turbine config remove [URL] [-h]
ARGUMENTS
URL the url of the turbine instance [https://turbine.acme.com]
FLAGS
-h, --help Show CLI help.
DESCRIPTION
Use to login to Turbine
tsdk turbine config set URL
Use to login to Turbine
USAGE
$ tsdk turbine config set [URL] [-u <value>] [-p <value>] [-b] [--default] [--skip-check] [-h]
ARGUMENTS
URL the url of the turbine instance [https://turbine.acme.com]
FLAGS
-b, --bypass-certificate-check disable certificate validation for Turbine instance (ENV:
TURBINE_BYPASS_CERTIFICATE_CHECK)
-h, --help Show CLI help.
-p, --password=<value> Turbine password (ENV: TURBINE_PASSWORD)
-u, --username=<value> Turbine username
--default sets the turbine instance as the default
--skip-check skips checking the credentials
DESCRIPTION
Use to login to Turbine
tsdk turbine config use URL
Use to login to Turbine
USAGE
$ tsdk turbine config use [URL] [-h]
ARGUMENTS
URL the url of the turbine instance [https://turbine.acme.com]
FLAGS
-h, --help Show CLI help.
DESCRIPTION
Use to login to Turbine
tsdk turbine connector keys generate [URL]
Use to generate and store signing keys in Turbine
USAGE
$ tsdk turbine connector keys generate [URL] [-u <value>] [-p <value>] [--signing-password <value>] [--key-name
<value>] [-b] [-h]
ARGUMENTS
URL the url of the turbine instance [https://turbine.acme.com]
FLAGS
-b, --bypass-certificate-check disable certificate validation for Turbine instance (ENV:
TURBINE_BYPASS_CERTIFICATE_CHECK)
-h, --help Show CLI help.
-p, --password=<value> Turbine password (ENV: TURBINE_PASSWORD)
-u, --username=<value> Turbine username
--key-name=<value> name used for the key (default: username_yyyy-MM-dd)
--signing-password=<value> password used for the private key (ENV: TURBINE_SIGNING_PASSWORD)
DESCRIPTION
Use to generate and store signing keys in Turbine
tsdk turbine connector keys list local
Use to list local keys
USAGE
$ tsdk turbine connector keys list local [-h]
FLAGS
-h, --help Show CLI help.
DESCRIPTION
Use to list local keys
tsdk turbine connector keys list remote [URL]
Use to list remote keys
USAGE
$ tsdk turbine connector keys list remote [URL] [-u <value>] [-p <value>] [-b] [-h]
ARGUMENTS
URL the url of the turbine instance [https://turbine.acme.com]
FLAGS
-b, --bypass-certificate-check disable certificate validation for Turbine instance (ENV:
TURBINE_BYPASS_CERTIFICATE_CHECK)
-h, --help Show CLI help.
-p, --password=<value> Turbine password (ENV: TURBINE_PASSWORD)
-u, --username=<value> Turbine username
DESCRIPTION
Use to list remote keys
tsdk turbine connector keys push URL
Use to generate and store signing keys in Turbine
USAGE
$ tsdk turbine connector keys push [URL] [-u <value>] [-p <value>] [--keyName <value>] [-b] [-h]
ARGUMENTS
URL the url of the turbine instance [https://turbine.acme.com]
FLAGS
-b, --bypass-certificate-check disable certificate validation for Turbine instance (ENV:
TURBINE_BYPASS_CERTIFICATE_CHECK)
-h, --help Show CLI help.
-p, --password=<value> Turbine password (ENV: TURBINE_PASSWORD)
-u, --username=<value> Turbine username
--keyName=<value> name used for the key (default: username_YYYY)
DESCRIPTION
Use to generate and store signing keys in Turbine
tsdk turbine connector push FILE [URL]
Use to push an integration to Turbine
USAGE
$ tsdk turbine connector push [FILE] [URL] [-u <value>] [-p <value>] [-b] [-h]
ARGUMENTS
FILE path of the file to be uploaded to Turbine
URL the url of the turbine instance [https://turbine.acme.com]
FLAGS
-b, --bypass-certificate-check disable certificate validation for Turbine instance (ENV:
TURBINE_BYPASS_CERTIFICATE_CHECK)
-h, --help Show CLI help.
-p, --password=<value> Turbine password (ENV: TURBINE_PASSWORD)
-u, --username=<value> Turbine username
DESCRIPTION
Use to push an integration to Turbine
tsdk version
USAGE
$ tsdk version
See code: @oclif/plugin-version
tsdk which
Show which plugin a command is in.
USAGE
$ tsdk which
DESCRIPTION
Show which plugin a command is in.
See code: @oclif/plugin-which