diff --git a/software/jstestnode/instance-jstestnode-input-schema.json b/software/jstestnode/instance-jstestnode-input-schema.json
new file mode 100644
index 0000000000000000000000000000000000000000..4bf756fa62ebea03142d52e1dde48e2264996829
--- /dev/null
+++ b/software/jstestnode/instance-jstestnode-input-schema.json
@@ -0,0 +1,52 @@
+{
+  "$schema": "http://json-schema.org/draft-04/schema#",
+  "description": "Parameters to instantiate JSTestNode",
+  "additionalProperties": false,
+  "properties": {
+    "target": {
+      "description": "Target system",
+      "type": "string",
+      "default": "firefox",
+      "enum": [
+        "firefox",
+        "node",
+        "iOS"
+      ]
+    },
+    "target-version": {
+      "description": "Target browser version",
+      "type": "string",
+      "default": "11.3"
+    },
+    "target-device": {
+      "description": "Target device",
+      "type": "string",
+      "default": "iPhone Simulator"
+    },
+    "target-browser": {
+      "description": "Target browser",
+      "type": "string",
+      "default": "Safari"
+    },
+    "appium-server-auth": {
+      "description": "Authentication Key",
+      "type": "string",
+      "default": "user:key"
+    },
+    "test-suite": {
+      "description": "The test suite to run",
+      "type": "string",
+      "enum": [
+        "jio",
+        "renderjs"
+      ]
+    },
+    "remote-access-url": {
+      "description": "URL that controlled browser must access to run tests",
+      "type": "string",
+      "format": "uri",
+      "default": "(the nginx server started by this instance)",
+      "example": "https://softinst1234.host.vifib.net/"
+    }
+  }
+}
diff --git a/software/jstestnode/instance-jstestnode-output-schema.json b/software/jstestnode/instance-jstestnode-output-schema.json
new file mode 100644
index 0000000000000000000000000000000000000000..684b1716365e0e13108f8bc5bf536bc0c9d2e7a1
--- /dev/null
+++ b/software/jstestnode/instance-jstestnode-output-schema.json
@@ -0,0 +1,6 @@
+{
+  "$schema": "http://json-schema.org/draft-04/schema#",
+  "description": "Values returned by JSTestNode instantiation",
+  "additionalProperties": false,
+  "type": "object"
+}
diff --git a/software/jstestnode/software.cfg.json b/software/jstestnode/software.cfg.json
new file mode 100644
index 0000000000000000000000000000000000000000..607f72db1db84059b843bbc10749060415eb6ff5
--- /dev/null
+++ b/software/jstestnode/software.cfg.json
@@ -0,0 +1,13 @@
+{
+  "name": "JSTestNode",
+  "description": "Simple Test Runner for Javascrip projects",
+  "serialisation": "json-in-xml",
+  "software-type": {
+    "default": {
+      "title": "Default",
+      "request": "instance-jstestnode-input-schema.json",
+      "response": "instance-jstestnode-output-schema.json",
+      "index": 0
+    }
+  }
+}