@seqera/node-red-seqera
Version:
Node-RED nodes for interacting with the Seqera Platform API
350 lines (349 loc) • 10.7 kB
JSON
[
{
"id": "dae5714e049c0d25",
"type": "tab",
"label": "Flow 1",
"disabled": false,
"info": "",
"env": []
},
{
"id": "5f25af5b9d8216eb",
"type": "group",
"z": "dae5714e049c0d25",
"name": "Welcome",
"style": {
"label": false,
"stroke": "#6f2fa0",
"fill": "#dbcbe7"
},
"nodes": ["9da7ad3ef289bd95", "8d971eb77b2a5cfd", "a085f65a040b6d62", "4ae2da586d311c30"],
"x": 74,
"y": 47,
"w": 452,
"h": 194
},
{
"id": "2b76ac110625033d",
"type": "group",
"z": "dae5714e049c0d25",
"name": "Introduction to Seqera Node-RED nodes",
"style": {
"label": true,
"color": "#000000"
},
"nodes": [
"ed01ba29e91770f2",
"d881e2dd19406725",
"1695e4f569ffd0cf",
"67283aae2341c413",
"d5f52c36256163cc",
"826ebd1a81f888f7",
"73ea78f4fafa932c",
"ba12afe4c16fbbeb",
"767870dfc9296cf3",
"bf13bdde1ae5a326",
"cf0d89173f4a7a19",
"fc630486d3370917",
"d02a10054509db60"
],
"x": 74,
"y": 259,
"w": 452,
"h": 589.5
},
{
"id": "9da7ad3ef289bd95",
"type": "comment",
"z": "dae5714e049c0d25",
"g": "5f25af5b9d8216eb",
"name": "Welcome to Node-RED + Seqera! 🎉 \\n Click here and look at the \"info\" tab in the sidebar -->",
"info": "Thanks for setting up Node-RED with Seqera!\n\n**Click on the other comment nodes** to see how to get started.\n\nIf you need help or would like to contribute, please check out the GitHub repository for this extension: https://github.com/seqeralabs/node-red-seqera",
"x": 300,
"y": 100,
"wires": []
},
{
"id": "8d971eb77b2a5cfd",
"type": "comment",
"z": "dae5714e049c0d25",
"g": "5f25af5b9d8216eb",
"name": "Example flows",
"info": "You can find the Seqera nodes in the sidebar on the left, under the heading \"Seqera\".\nTo jump-start your development, take a look at the examples that come with the extension:\n\n* Menu (top right `≡` button)\n* Import\n* Examples (modal's left sidebar)\n* @seqera/node-red-seqera dropdown\n* Choose an example and import into your current workflow\n\nThese are designed to be drop-in automation flow chunks and can often be used together.",
"x": 200,
"y": 200,
"wires": []
},
{
"id": "a085f65a040b6d62",
"type": "comment",
"z": "dae5714e049c0d25",
"g": "5f25af5b9d8216eb",
"name": "More information",
"info": "Here are some resources to get you started:\n\n- [Node-RED tutorials](https://nodered.org/docs/tutorials/)\n- [Seqera Node-RED YouTube Playlist](#) _(coming soon)_\n- [Other Node-RED extensions](https://flows.nodered.org/)\n",
"x": 400,
"y": 200,
"wires": []
},
{
"id": "ed01ba29e91770f2",
"type": "seqera-workflow-launch",
"z": "dae5714e049c0d25",
"g": "2b76ac110625033d",
"name": "",
"seqera": "",
"launchpadName": "",
"launchpadNameType": "str",
"paramsKey": "{}",
"paramsKeyType": "json",
"workspaceId": "",
"workspaceIdType": "str",
"sourceWorkspaceId": "",
"sourceWorkspaceIdType": "str",
"x": 190,
"y": 420,
"wires": [["d881e2dd19406725"]]
},
{
"id": "d881e2dd19406725",
"type": "seqera-workflow-monitor",
"z": "dae5714e049c0d25",
"g": "2b76ac110625033d",
"name": "",
"seqera": "",
"workflowId": "workflowId",
"workflowIdType": "msg",
"workspaceId": "",
"workspaceIdType": "str",
"keepPolling": true,
"poll": "5",
"pollUnits": "seconds",
"x": 410,
"y": 420,
"wires": [[], [], []]
},
{
"id": "1695e4f569ffd0cf",
"type": "comment",
"z": "dae5714e049c0d25",
"g": "2b76ac110625033d",
"name": "Workflows",
"info": "Central to Seqera Platform are workflows.\n\nThese nodes allow you to launch and then monitor a workflow.\n\nThe _Poll workflows_ checks Platform for pipelines launched outside of Node-RED and sends events for new runs, which can then be monitored.\n\nThese nodes are designed to work together: the _Launch_ and _Poll workflows_ nodes emit `msg.workflowId` and the _Monitor_ node defaults to using this for the workflow ID to monitor.",
"x": 160,
"y": 380,
"wires": []
},
{
"id": "67283aae2341c413",
"type": "comment",
"z": "dae5714e049c0d25",
"g": "2b76ac110625033d",
"name": "A note on configuration",
"info": "Below you can see the different Node-RED nodes available to you for working with Seqera Platform.\n\nThe comment nodes above each give a brief introduction.\n\nThe Seqera Node-RED plugin uses a shared _Configuration_ node which requires an API token, as well as an optional default workspace and API URL base.\n\nNone of the Seqera nodes will work until a configuration is set up and assigned.",
"x": 200,
"y": 300,
"wires": []
},
{
"id": "d5f52c36256163cc",
"type": "comment",
"z": "dae5714e049c0d25",
"g": "2b76ac110625033d",
"name": "Files (Data Explorer)",
"info": "The _List files_ and _Poll files_ work with Seqera Platform's _Data Explorer_ **Data Links**.\n\nThey work in a similar way, except that _Poll files_ repeatedly checks a location to look for any new files.",
"x": 190,
"y": 540,
"wires": []
},
{
"id": "826ebd1a81f888f7",
"type": "seqera-datalink-list",
"z": "dae5714e049c0d25",
"g": "2b76ac110625033d",
"name": "",
"seqera": "",
"dataLinkName": "",
"dataLinkNameType": "str",
"basePath": "",
"basePathType": "str",
"prefix": "",
"prefixType": "str",
"pattern": "",
"patternType": "str",
"maxResults": "100",
"maxResultsType": "num",
"depth": "0",
"depthType": "num",
"workspaceId": "",
"workspaceIdType": "str",
"returnType": "files",
"x": 160,
"y": 580,
"wires": [[]]
},
{
"id": "73ea78f4fafa932c",
"type": "seqera-datalink-poll",
"z": "dae5714e049c0d25",
"g": "2b76ac110625033d",
"name": "",
"seqera": "",
"dataLinkName": "",
"dataLinkNameType": "str",
"basePath": "",
"basePathType": "str",
"prefix": "",
"prefixType": "str",
"pattern": "",
"patternType": "str",
"maxResults": "100",
"maxResultsType": "num",
"depth": "0",
"depthType": "num",
"workspaceId": "",
"workspaceIdType": "str",
"pollFrequency": "15",
"pollUnits": "minutes",
"returnType": "files",
"x": 380,
"y": 580,
"wires": [[], []]
},
{
"id": "ba12afe4c16fbbeb",
"type": "comment",
"z": "dae5714e049c0d25",
"g": "2b76ac110625033d",
"name": "Datasets",
"info": "This node adds a _Dataset_ in Seqera Platform for you.\n\nIt takes a CSV as input (which can be created dynamically in Node-RED) and returns the API response.\nThis includes the resolved CSV URL of the dataset (`payload.version.url`), which can be used to populate a workflow parameter.",
"x": 160,
"y": 660,
"wires": []
},
{
"id": "767870dfc9296cf3",
"type": "seqera-dataset-add",
"z": "dae5714e049c0d25",
"g": "2b76ac110625033d",
"name": "",
"seqera": "",
"datasetName": "",
"datasetNameType": "str",
"fileContents": "payload",
"fileContentsType": "msg",
"workspaceId": "",
"workspaceIdType": "str",
"description": "",
"descriptionType": "str",
"fileType": "csv",
"x": 170,
"y": 700,
"wires": [[]]
},
{
"id": "bf13bdde1ae5a326",
"type": "comment",
"z": "dae5714e049c0d25",
"g": "2b76ac110625033d",
"name": "Studios",
"info": "Seqera Studios let you run interactive analysis sessions on your compute environments.\n\nThese nodes allow you to first add and then monitor a studio.\nThe central monitoring node output emits a message when a studio is in a _Running_ state and ready to use.\n\nThey're designed to work together: the _Add_ node emits `msg.studioId` and the _Monitor_ node defaults to using this for the Studio ID to monitor.",
"x": 150,
"y": 760,
"wires": []
},
{
"id": "cf0d89173f4a7a19",
"type": "seqera-studios-add",
"z": "dae5714e049c0d25",
"g": "2b76ac110625033d",
"name": "",
"seqera": "",
"studioName": "",
"studioNameType": "str",
"description": "",
"descriptionType": "str",
"containerUri": "",
"containerUriType": "str",
"computeEnvId": "",
"computeEnvIdType": "str",
"mountData": "",
"mountDataType": "str",
"cpu": "2",
"cpuType": "num",
"memory": "8192",
"memoryType": "num",
"gpu": "0",
"gpuType": "num",
"condaEnvironment": "",
"condaEnvironmentType": "str",
"lifespanHours": "",
"lifespanHoursType": "num",
"isPrivate": false,
"isPrivateType": "bool",
"spot": false,
"spotType": "bool",
"autoStart": true,
"autoStartType": "bool",
"workspaceId": "",
"workspaceIdType": "str",
"x": 170,
"y": 800,
"wires": [["fc630486d3370917"]]
},
{
"id": "fc630486d3370917",
"type": "seqera-studios-monitor",
"z": "dae5714e049c0d25",
"g": "2b76ac110625033d",
"name": "",
"seqera": "",
"studioId": "studioId",
"studioIdType": "msg",
"workspaceId": "",
"workspaceIdType": "str",
"keepPolling": true,
"poll": 5,
"pollUnits": "seconds",
"x": 400,
"y": 800,
"wires": [[], [], []]
},
{
"id": "4ae2da586d311c30",
"type": "comment",
"z": "dae5714e049c0d25",
"g": "5f25af5b9d8216eb",
"name": "Documentation",
"info": "Node-RED has a very useful tab in the right hand sidebar:\n\n- The 📕 _Help_ tab (<kbd>⌘+g h</kbd>)\n\nTry to keep this open most of the time: as you click different nodes, it will show contextual information.\nAll of the Seqera nodes and and all of the core Node-RED nodes will have extensive docs here.\n\nIf you prefer, you can also read documentation about the Seqera nodes on the plugin website: https://seqeralabs.github.io/node-red-seqera/",
"x": 300,
"y": 160,
"wires": []
},
{
"id": "d02a10054509db60",
"type": "seqera-workflow-poll",
"z": "dae5714e049c0d25",
"g": "2b76ac110625033d",
"name": "",
"seqera": "",
"search": "",
"searchType": "str",
"maxResults": "50",
"maxResultsType": "num",
"workspaceId": "",
"workspaceIdType": "str",
"pollFrequency": "1",
"pollUnits": "minutes",
"x": 180,
"y": 460,
"wires": [[], ["d881e2dd19406725"]]
},
{
"id": "4a6f4ab534631dfe",
"type": "global-config",
"env": [],
"modules": {
"@seqera/node-red-seqera": "1.4.1"
}
}
]