Webhook endpoint at /api/webhooks/gitea receives Gitea status events,
matches them against configurable event triggers with conditions
(event type, repo glob, state, context), renders task templates with
{{variable}} substitution, and creates harness tasks automatically.
Includes circuit breaker: after N consecutive task failures from the
same trigger (default 3), the trigger auto-disables. Re-enable
manually via PATCH /api/event-triggers/:id.
New tables: harness_event_triggers (rules + circuit breaker state),
harness_event_log (audit trail + dedup via X-Gitea-Delivery).
37 lines
890 B
JSON
37 lines
890 B
JSON
{
|
|
"name": "@homelab/harness",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev --port 3100",
|
|
"build": "node scripts/build-mcp.mjs && next build",
|
|
"start": "next start",
|
|
"lint": "next lint",
|
|
"test": "echo \"no tests yet\""
|
|
},
|
|
"dependencies": {
|
|
"@homelab/db": "workspace:^",
|
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
"@xterm/addon-fit": "^0.11.0",
|
|
"@xterm/xterm": "^6.0.0",
|
|
"drizzle-orm": "^0.36.0",
|
|
"next": "^15.1.0",
|
|
"node-pty": "^1.1.0",
|
|
"postgres": "^3.4.0",
|
|
"react": "^19.0.0",
|
|
"react-dom": "^19.0.0",
|
|
"tsx": "^4.19.0",
|
|
"ws": "^8.20.0",
|
|
"yaml": "^2.7.0",
|
|
"zod": "^4.3.6"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.10.0",
|
|
"@types/react": "^19.0.0",
|
|
"@types/react-dom": "^19.0.0",
|
|
"@types/ws": "^8.18.1",
|
|
"esbuild": "^0.27.4",
|
|
"typescript": "^5.7.0"
|
|
}
|
|
}
|