Add docs tab with local READMEs and login form to monitoring UI
Build and Push Docker Images / detect-changes (pull_request) Successful in 13s
Build and Push Docker Images / build-transit-api (pull_request) Has been skipped
Build and Push Docker Images / build-monitoring-ui (pull_request) Has been skipped
Build and Push Docker Images / deploy-test-node (pull_request) Has been skipped
Build and Push Docker Images / build-employee-api (pull_request) Has been skipped
Build and Push Docker Images / build-auth-api (pull_request) Has been skipped
Build and Push Docker Images / build-error-log-api (pull_request) Has been skipped
Build and Push Docker Images / build-admin-ui (pull_request) Has been skipped
Build and Push Docker Images / detect-changes (push) Successful in 9s
Build and Push Docker Images / build-auth-api (push) Successful in 1m0s
Build and Push Docker Images / build-employee-api (push) Successful in 59s
Build and Push Docker Images / build-transit-api (push) Successful in 57s
Build and Push Docker Images / build-error-log-api (push) Successful in 1m4s
Build and Push Docker Images / build-admin-ui (push) Successful in 1m17s
Build and Push Docker Images / build-monitoring-ui (push) Successful in 1m14s
Build and Push Docker Images / deploy-test-node (push) Successful in 3s

This commit is contained in:
Sven laptop
2026-09-22 00:14:01 +02:00
parent 6e0b7e4793
commit d7100e6f2a
5 changed files with 521 additions and 4 deletions
@@ -0,0 +1,45 @@
# Error Log API
Centralized error logging service for XTransit. Collects errors from all services.
## Setup
### Environment Variables
```env
PG_HOST=localhost
PG_PORT=5432
PG_USER=your_user
PG_PASS=your_password
PG_DB=your_database
PORT=5003
JWT_SECRET=your_jwt_secret
```
### Start API
```bash
npm start
```
Runs at `https://error.xtransit.testinstance.nl`
## API Endpoints
**POST** `/error_log`
- Body: `{ "service": "transit_api", "partofservice": "/schedule/daily", "error": "DB connection failed" }`
- Logs error to database
- Returns: `{ "ok": true }`
**GET** `/error_log?limit=100&service=transit_api`
- Requires: `Authorization: Bearer <admin_token>`
- Returns: `{ "errors": [...] }`
**GET** `/health`
- Returns: `{ "status": "ok", "service": "error_log_api", "database": "ok" }` or 503
## Database
Uses `data.errors` table (id, date, service, partofservice, error)
Admin access controlled via JWT `isAdmin` claim from auth_api.