Sandboxes
Each DAG node runs in complete isolation from everything, even other nodes of the same DAG. This way we can achieve high levels of security and support node implementations in more than one languages. We consider Node.js and Javascript as the default implementation language of a node. The SDK natively supports Node.js and JavaScript implementations during development. For nodes written in all the other supported languages, including nodes which run on different versions of Node.js the SDK will need to run in a containerised mode with the help of Docker.
If you take a look at the example below, the field javascript
defines the language this node uses. The sandbox
field gives you the optional ability to pin your implementation to a specific version of the language, if you need to.
"implementation": {
"javascript": "server/node1.js",
"sandbox": "quay.io/redsift/sandbox-javascript:v6.2.2"
}
The format for the qualified name is:
quay.io/redsift/sandbox-:
In the table that follows, you can see the complete list of languages that we support, the default versions, a link to all the versions we support for each of them and the dependency management tool we will use to install your dependencies during loading.
Tags
When you follow the link to our container repository you will notice two flavours of tags. Tags with just the major version defined and tags that include the minor & patch number too. The former allow you to follow the updates for that major version automatically, whereas the latter locks your implementation to a specific version.
Updated about 7 years ago