Skip to main content

Executing blueprints

Introduction

There are several ways in which a blueprint can be executed. This chapter will guide you through each one.

Executing blueprint files

A blueprint is just a regular JSON file that contains the information required to run the blueprint from which it was generated. This information is composed by the actions that were placed in the blueprint, their settings and the way they were connected.

The blueprint can be downloaded either from the web app builder (by opening the "blueprint" menu and clicking on the "Save as Blueprint" option) or from the user panel, under the list of blueprints. Once downloaded, the blueprint can be executed by passing it's path as an argument to the CLI:

./nebulant ca606657-b159-4b5d-9d9e-8ed153bd062a.json

Keep in mind that while the blueprints are stored in an encrypted form in our backend, the blueprints are generated on the fly and provided to you as plain files, not encrypted in any way, which means that all the settings of all the actions in the blueprint are saved as plain text. Exposing your blueprint files might be a security risk (depending on the information you have stored in your action's settings). This is why there is an alternative way for running your blueprints: fileless blueprint execution.

Executing encrypted blueprint files

TODO

Fileless blueprint execution

This way of executing blueprints is a direct response to the possible security risk described in the previous section. Instead of downloading blueprints and storing them in a protected environment, we provide a way for the CLI to automatically fetch blueprints and run them on the fly, without leaving traces on the disk. The downside of this approach is that the CLI requires network connectivity to our backend.

In order to perform a fileless blueprint execution, append the prefix nebulant:// to the UUID of the blueprint you want to run. This will make the CLI request to our backend the blueprint version of the blueprint, fetch it and run it as if you'd have executed the blueprint file itself.

./nebulant nebulant://ca606657-b159-4b5d-9d9e-8ed153bd062a

Keep in mind that in order for the CLI to be able to fetch your blueprint, you must provide your pair of token access keys (namely, the NEBULANT_TOKEN_ID and the NEBULANT_TOKEN_SECRET). You can generate as many pairs of keys as you wish. This can be done from the user panel, in the "Tokens" section.

export NEBULANT_TOKEN_ID=foo
export NEBULANT_TOKEN_SECRET=bar
./nebulant nebulant://ca606657-b159-4b5d-9d9e-8ed153bd062a