deploy: Dockerfile, Compose pro Rolle, LiteLLM, Prometheus/Alertmanager, Canary-Prober, n8n-Workflows

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-12 00:51:31 +02:00
co-authored by Claude Opus 5.5
parent 4cbe313c62
commit cb5a413169
28 changed files with 1731 additions and 9 deletions
+141
View File
@@ -0,0 +1,141 @@
{
"name": "knaster: Benachrichtigungen",
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "knaster/notify",
"responseMode": "responseNode",
"options": {},
"authentication": "headerAuth"
},
"id": "e324dc52-1df2-54f4-916f-540c3033562a",
"name": "Healer-Meldung",
"type": "n8n-nodes-base.webhook",
"typeVersion": 2,
"position": [
0,
300
],
"webhookId": "978b850a-ca87-5dca-a16e-b737df5acad2",
"credentials": {
"httpHeaderAuth": {
"id": "",
"name": "knaster-webhook"
}
}
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "904e09c8-286a-5272-8b3f-4c6c49899e9d",
"name": "router_url",
"value": "http://router:8080",
"type": "string"
},
{
"id": "fe09313b-633c-58b6-8e80-ef4db981118f",
"name": "channel_url",
"value": "https://example.invalid/kanal-webhook",
"type": "string"
}
]
},
"options": {}
},
"id": "7868766e-ff24-5694-9338-f7b0c3aa6603",
"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 <KNASTER_API_TOKEN>"
},
{
"parameters": {
"method": "POST",
"url": "={{ $('Konfiguration').item.json.channel_url }}",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={{ JSON.stringify({ text: '[' + $('Healer-Meldung').item.json.body.severity + '] ' + $('Healer-Meldung').item.json.body.text }) }}",
"options": {}
},
"id": "28c5f6c3-74a0-5b70-8225-2196f1b9164d",
"name": "An Kanal senden",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
440,
300
]
},
{
"parameters": {
"respondWith": "json",
"responseBody": "={{ JSON.stringify({ ok: true }) }}",
"options": {
"responseCode": 200
}
},
"id": "3518decf-c8b3-5d29-b88b-b59a0980d173",
"name": "OK",
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1.1,
"position": [
660,
300
]
}
],
"connections": {
"Healer-Meldung": {
"main": [
[
{
"node": "Konfiguration",
"type": "main",
"index": 0
}
]
]
},
"Konfiguration": {
"main": [
[
{
"node": "An Kanal senden",
"type": "main",
"index": 0
}
]
]
},
"An Kanal senden": {
"main": [
[
{
"node": "OK",
"type": "main",
"index": 0
}
]
]
}
},
"active": false,
"settings": {
"executionOrder": "v1"
},
"tags": [
{
"name": "knaster"
}
],
"meta": {
"description": "cluster-knaster – siehe docs/spec. Import inaktiv, Credentials setzen."
}
}