Introducing WarpFleet

Discover the Warp 10 artifacts repository. Share your plugins, extensions and macros. Level up your Warp 10 instance with new capabilities.

WarpFleet

WarpFleet aims to facilitate Warp 10 add-ons sharing. You can now share extensions, plugins and macros packages easily and import them into a Warp 10 instance.

https://warpfleet.senx.io/

Browse existing artifacts

Feel free to explore existing artifacts on https://warpfleet.senx.io/browse.

WarpFleet CLI

Interaction with the WarpFleet site is performed through the use of a command line interface (CLI) written in NodeJS. Firstly be sure to have NodeJS v10+ installed.

[sudo] npm install -g @senx/warpfleet
wf
(out)       ___       __                     _______________         _____
(out)       __ |     / /_____ __________________  ____/__  /___________  /_
(out)       __ | /| / /_  __ `/_  ___/__  __ \_  /_   __  /_  _ \  _ \  __/
(out)       __ |/ |/ / / /_/ /_  /   __  /_/ /  __/   _  / /  __/  __/ /_
(out)       ____/|__/  \__,_/ /_/    _  .___//_/      /_/  \___/\___/\__/
(out)                                /_/                                        
(out)Usage: wf [options] [command]
(out)
(out)WarpFleet Command Line Interface
(out)
(out)Options:
(out)  -v, --version                                   output the version number
(out)  -d, --debug                                     Debug mode
(out)  -h, --help                                      output usage information
(out)
(out)Commands:
(out)  init|i [options]                                  Initialize a new Project
(out)  list|l [group] [artifact]                         List available artifact and/or versions
(out)  info   [version]                                  Get information about a specific artifact
(out)  install [options] [wfFile]                        Install your dependencies into your Warp 10
(out)  get|g [options]  [artifact] [version]             Retrieve the packed macros, plugin or extension archive. If no version is specified, the most recent one is retrieved.
(out)  publish|p [options] [version] [path] [repoUrl]    Publishes a plugin, macro or extension against WarpFleet
(out)  unpublish|u [options] [version] [path] [repoUrl]  Unpublishes a plugin, macro or extension against WarpFleet

Retrieve an artifact

You must specify where your Warp 10 configuration file is located. WarpFleet CLI can now automatically fetch, install and manage dependencies of the chosen artifact. It will also give you the configuration keys you will have to add to the Warp 10 configuration file.

wf g -w /path/to/warp10 io.warp10
(out)       ___       __                     _______________         _____
(out)       __ |     / /_____ __________________  ____/__  /___________  /_
(out)       __ | /| / /_  __ `/_  ___/__  __ \_  /_   __  /_  _ \  _ \  __/
(out)       __ |/ |/ / / /_/ /_  /   __  /_/ /  __/   _  / /  __/  __/ /_
(out)       ____/|__/  \__,_/ /_/    _  .___//_/      /_/  \___/\___/\__/
(out)                                /_/                                        
(out)? Which asset do you want to retrieve? (Use arrow keys)
(out)❯ warp10-ext-barcode
(out)  warp10-ext-jdbc
(out)  warp10-ext-pcap
(out)  warp10-ext-pmml
(out)  warp10-ext-polyglot
(out)  warp10-ext-s3
(out)  warp10-ext-tensorflow
(out)(Move up and down to reveal more choices)

Retrieve a group of artifacts

In your Warp 10 installation directory, create a file named wf.json:

{
  "dependencies": [
    "io.warp10:warp10-ext-barcode:0.2.0",
    "io.warp10:warp10-ext-jdbc",
    "io.warp10:warp10-ext-pmml:latest",
    "io.warp10:warp10-ext-s3:+"
  ]
}

The syntax is: <group>:<artifact>:<version>

If you want the latest version of the artifact, you can avoid to precise the version, or use + or latest.

wf install will ask you if it automatically patch your Warp 10 configuration in order to activate extensions or plugins. It will also deploy artifacts and macros into right directories.

wf install -w /path/to/warp10
(out)       ___       __                     _______________         _____
(out)       __ |     / /_____ __________________  ____/__  /___________  /_
(out)       __ | /| / /_  __ `/_  ___/__  __ \_  /_   __  /_  _ \  _ \  __/
(out)       __ |/ |/ / / /_/ /_  /   __  /_/ /  __/   _  / /  __/  __/ /_
(out)       ____/|__/  \__,_/ /_/    _  .___//_/      /_/  \___/\___/\__/
(out)                                /_/                                        
(out)    ✔ ext io.warp10:warp10-ext-pmml#0.2.0 retrieved
(out)    ✔ ext io.warp10:warp10-ext-jdbc#0.1.0 retrieved
(out)    ✔ ext io.warp10:warp10-ext-barcode#0.2.0 retrieved
(out)    ✔ ext io.warp10:warp10-ext-s3#0.2.0-uberjar retrieved
(out)    ✔ Download successful: gradle-wrapper.jar
(out)    ✔ Download successful: gradlew
(out)    ✔ Download successful: gradlew.bat
(out)    ✔ Dependency commons-math3-3.6.1.jar successfully deployed
(out)    ✔ Dependency core-3.3.3.jar successfully deployed
(out)    ✔ Dependency guava-27.0-jre.jar successfully deployed
(out)    ✔ Dependency pmml-agent-1.4.8.jar successfully deployed
(out)    ✔ Dependency pmml-evaluator-1.4.6.jar successfully deployed
(out)    ✔ Dependency pmml-model-1.4.8.jar successfully deployed
(out)    ✔ Dependency warp10-ext-barcode-0.2.0.jar successfully deployed
(out)    ✔ Dependency warp10-ext-jdbc-0.1.0.jar successfully deployed
(out)    ✔ Dependency warp10-ext-pmml-0.2.0.jar successfully deployed
(out)    ✔ Dependency warp10-ext-s3-0.2.0-uberjar.jar successfully deployed
(out)    ✔ Please add this conf entries to /opt/warp10-1.2.11-rc4/etc/conf-standalone.conf
(out)    warpscript.extension.jdbc=o.warp10.script.ext.jdbc.JDBCWarpScriptExtension
(out)    ✔ Done

Create an extension

For security reasons, if you want to be a WarpFleet publisher, you have to be authenticated. Find more info here.

wf i
(out)       ___       __                     _______________         _____
(out)       __ |     / /_____ __________________  ____/__  /___________  /_
(out)       __ | /| / /_  __ `/_  ___/__  __ \_  /_   __  /_  _ \  _ \  __/
(out)       __ |/ |/ / / /_/ /_  /   __  /_/ /  __/   _  / /  __/  __/ /_
(out)       ____/|__/  \__,_/ /_/    _  .___//_/      /_/  \___/\___/\__/
(out)                                /_/                                        
(out)? What do you want to develop? (Use arrow keys)
(out)❯ Extension
(out)  Macro package
(out)  Plugin

Choose extension for example. Some indications:

  • group: must reflect a domain name you own (ie. com.mycompany)
  • artifact: your module name
(out)? What do you want to develop? Extension
(out)? Enter project's group: io.warp10.ext.example
(out)? Enter assets's name: my-awesome-module
(out)? Enter assets's version: 0.0.1
(out)? Enter project's description: A great extension for Warp 10
(out)? Enter author's name: Your Name
(out)? Enter email address: your.email@server.com
(out)? Enter license: Whatever
(out)? Enter GIT repo url: https://github.com/pseudo/my-awesome-module
(out)? Enter Maven repo url root: https://dl.bintray.com/myCompany/maven/
(out)? Coma separated list of tags
(out)? Is all OK?
(out){
(out)    "type": "ext",
(out)    "group": "io.warp10.ext.example",
(out)    "artifact": "my-awesome-module",
(out)    "version": "0.0.1",
(out)    "description": "A great extension for Warp 10",
(out)    "author": "Your Name",
(out)    "email": "your.email@server.com",
(out)    "license": "Whatever",
(out)    "git": "https://github.com/pseudo/my-awesome-module",
(out)    "tags": []
(out)} (Y/n)

Confirm. You can change everything later. It is stored in src/main/resources/wf.json.

(out)? Is all OK?
(out){
(out)    "type": "ext",
(out)    "group": "io.warp10.ext.example",
(out)    "artifact": "my-awesome-module",
(out)    "version": "0.0.1",
(out)    "description": "A great extension for Warp 10",
(out)    "author": "Your Name",
(out)    "email": "your.email@server.com",
(out)    "license": "Whatever",
(out)    "git": "https://github.com/pseudo/my-awesome-module",
(out)    "repoUrl": "https://dl.bintray.com/myCompany/maven/",
(out)    "tags": []
(out)} Yes
(out)[INFO] Retrieving starter kit
(out)[INFO] Cleaning starter kit
(out)[INFO] Generating artifacts
(out)[INFO] Generating WarpFleet files
(out)? my-awesome-module/README.md already exists, do you want to overwrite it? Yes
(out)[SUCCESS] Successful
(out)[SUCCESS] Asset generated

You now have a bootstrapped Warp 10 extension.

Read on with WarpFleet Synchronizer and WarpFleet for all.