{ "name": "knaster: Jobs an Runner/Hermes", "nodes": [ { "parameters": { "httpMethod": "POST", "path": "knaster/jobs", "responseMode": "responseNode", "options": {}, "authentication": "headerAuth" }, "id": "24f3f3a3-47ae-5b87-8902-bcc3465b593a", "name": "Job", "type": "n8n-nodes-base.webhook", "typeVersion": 2, "position": [ 0, 300 ], "webhookId": "03e1babe-7daa-5ab1-ba6e-8cc4de50268c", "credentials": { "httpHeaderAuth": { "id": "", "name": "knaster-webhook" } } }, { "parameters": { "assignments": { "assignments": [ { "id": "b3b14ae1-2d7f-5ef9-a96f-1d3693c703f6", "name": "router_url", "value": "http://router:8080", "type": "string" }, { "id": "a3123e42-afa4-53f7-a266-066cce1ff763", "name": "trainer_url", "value": "http://gpu-flex:9000/jobs", "type": "string" }, { "id": "c672b90a-49d5-5e50-9b23-3766353f0487", "name": "hermes_url", "value": "http://hermes:8000/jobs", "type": "string" } ] }, "options": {} }, "id": "acb2e1cb-0776-564b-b909-b5b3f613dc88", "name": "Konfiguration", "type": "n8n-nodes-base.set", "typeVersion": 3.4, "position": [ 220, 300 ], "notes": "Nach dem Import anpassen. Credential 'knaster-router' = Header Auth: Authorization / Bearer " }, { "parameters": { "conditions": { "options": { "caseSensitive": true, "leftValue": "", "typeValidation": "loose" }, "conditions": [ { "id": "9dec25ae-5535-5f01-aebb-b9d7e7397686", "leftValue": "={{ ['graduate_skill','merge_skills'].includes($('Job').item.json.body.job) }}", "rightValue": true, "operator": { "type": "boolean", "operation": "true" } } ], "combinator": "and" }, "options": {} }, "id": "a2881a83-cbb5-5cdb-96bb-d6a1833ac388", "name": "Skill-Job?", "type": "n8n-nodes-base.if", "typeVersion": 2, "position": [ 440, 300 ] }, { "parameters": { "method": "POST", "url": "={{ $('Konfiguration').item.json.hermes_url }}", "authentication": "genericCredentialType", "genericAuthType": "httpHeaderAuth", "sendBody": true, "specifyBody": "json", "jsonBody": "={{ JSON.stringify($('Job').item.json.body) }}", "options": { "timeout": 30000 } }, "id": "ba36e0ed-7cca-5c04-af60-9644177cac6f", "name": "An Hermes (Skill-Autor)", "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [ 660, 200 ], "credentials": { "httpHeaderAuth": { "id": "", "name": "knaster-router" } } }, { "parameters": { "method": "POST", "url": "={{ $('Konfiguration').item.json.trainer_url }}", "authentication": "genericCredentialType", "genericAuthType": "httpHeaderAuth", "sendBody": true, "specifyBody": "json", "jsonBody": "={{ JSON.stringify($('Job').item.json.body) }}", "options": { "timeout": 30000 } }, "id": "98abbd0d-1384-52bb-b095-cb978f2bcc37", "name": "An Trainings-Runner", "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.2, "position": [ 660, 420 ], "credentials": { "httpHeaderAuth": { "id": "", "name": "knaster-router" } } }, { "parameters": { "respondWith": "json", "responseBody": "={{ JSON.stringify({ accepted: true }) }}", "options": { "responseCode": 202 } }, "id": "6678356f-6c70-58fe-a9e0-be3d7cf23851", "name": "Angenommen", "type": "n8n-nodes-base.respondToWebhook", "typeVersion": 1.1, "position": [ 880, 300 ] } ], "connections": { "Job": { "main": [ [ { "node": "Konfiguration", "type": "main", "index": 0 } ] ] }, "Konfiguration": { "main": [ [ { "node": "Skill-Job?", "type": "main", "index": 0 } ] ] }, "Skill-Job?": { "main": [ [ { "node": "An Hermes (Skill-Autor)", "type": "main", "index": 0 } ], [ { "node": "An Trainings-Runner", "type": "main", "index": 0 } ] ] }, "An Hermes (Skill-Autor)": { "main": [ [ { "node": "Angenommen", "type": "main", "index": 0 } ] ] }, "An Trainings-Runner": { "main": [ [ { "node": "Angenommen", "type": "main", "index": 0 } ] ] } }, "active": false, "settings": { "executionOrder": "v1" }, "tags": [ { "name": "knaster" }, { "name": "lifecycle" } ], "meta": { "description": "cluster-knaster – siehe docs/spec. Import inaktiv, Credentials setzen." } }