Files
boc/memory/ouroboros-services-fix-2026-06-03.md
T
Bernt bae705aa97 ARCHITECTURE: NFC roadmap, edge AI, audit logging
- Add NFC ePassport roadmap (ICAO 9303, eIDAS)
- Add TensorFlow.js edge face detection (BlazeFace)
- Add structured audit logger (GDPR-compliant)
- Risk scoring support

Part of KYC Apple Native UX v1.1.0
2026-06-29 16:24:48 +00:00

107 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Ouroboros Services Fix — 2026-06-03
**Utfört:** 2026-06-03 07:3507:40 UTC
**Agent:** subagent (coding)
**Status:** ✅ KOMPLETT — 6/6 services uppe
---
## Resultat: Health Check
| Port | Service | Status | Upstream |
|------|-----------------------|--------|--------------------|
| 3105 | ouroboros-multiorg | ✅ UP | PostgreSQL (RDS) |
| 4002 | ouroboros-finance-proxy | ✅ UP | → localhost:3202 |
| 4003 | ouroboros-people-proxy | ✅ UP | → localhost:3005 |
| 4004 | ouroboros-commerce-proxy| ✅ UP | → localhost:3007 |
| 4005 | ouroboros-time | ✅ UP | PostgreSQL (RDS) |
| 4011 | ouroboros-identity-proxy| ✅ UP | → localhost:3100 |
---
## Vad som byggdes
### DEL 1 — ouroboros-multiorg (port 3105)
- Fil: `/home/bernt/services/ouroboros-multiorg/index.mjs`
- Full REST CRUD för organisations-management
- Endpoints:
- `POST /api/v1/organizations`
- `GET /api/v1/organizations`
- `GET /api/v1/organizations/:id`
- `PATCH /api/v1/organizations/:id`
- `DELETE /api/v1/organizations/:id` (soft delete → status='deleted')
- `GET /api/v1/organizations/:id/users`
- `POST /api/v1/organizations/:id/users`
- `GET /api/v1/organizations/:id/modules`
- `POST /api/v1/organizations/:id/modules`
- `GET /health`
- JWT-auth (HS256 med JWT_SECRET, fallback RS256 via /opt/amos/data/keys/jwt-public.pem)
- Skapar tabeller automatiskt: `ouroboros_organizations`, `ouroboros_users`, `ouroboros_org_modules`, `ouroboros_invitations`
- DB: PostgreSQL RDS (eu-north-1)
### DEL 2 — ouroboros-identity-proxy (port 4011)
- Fil: `/home/bernt/services/ouroboros-identity-proxy/index.mjs`
- Tunnskalig proxy:
- `POST /auth/login``localhost:3100/api/auth/login`
- `POST /auth/refresh``localhost:3100/api/auth/refresh`
- `POST /auth/logout``localhost:3100/api/auth/logout`
- `GET /auth/me``localhost:3100/api/auth/me`
### DEL 3 — ouroboros-finance-proxy (port 4002)
- Fil: `/home/bernt/services/ouroboros-finance-proxy/index.mjs`
- Proxy alla requests → `localhost:3202`
### DEL 4 — ouroboros-people-proxy (4003) + ouroboros-commerce-proxy (4004)
- People: `/home/bernt/services/ouroboros-people-proxy/index.mjs``localhost:3005`
- Commerce: `/home/bernt/services/ouroboros-commerce-proxy/index.mjs``localhost:3007`
### DEL 5 — ouroboros-time (port 4005)
- Ingen befintlig time-service hittades i /opt/amos/services/
- Skapade: `/home/bernt/services/ouroboros-time/index.mjs`
- Endpoints:
- `GET /api/time/entries?org_id=...&user_id=...`
- `POST /api/time/entries`
- `PATCH /api/time/entries/:id` (stoppa timer)
- Skapar `time_entries` tabell automatiskt (med generated column `duration_s`)
---
## Anmärkningar
### Varför ~/services och inte /opt/amos/services?
`/opt/amos/services/` är root-ägt (755, `bernt` saknar skrivrättighet). Inte möjligt att skriva utan sudo (kräver TTY). Services skapades i `/home/bernt/services/` istället — PM2 bryr sig inte om sökväg, bara att filen finns och är läsbar.
### Express 5.x wildcard-bug
`app.all('*', handler)` fungerar inte med Express 5 + ny path-to-regexp. Fixat till `app.use('/', handler)` för proxy-services.
### PM2 env-vars
`DATABASE_URL` och `JWT_SECRET` sätts via process.env eller hardcoded fallback i respektive service. För produktion, lägg till `--env` block i pm2 ecosystem config.
---
## PM2 Status (slutresultat)
```
id 2 ouroboros-multiorg online 73mb
id 3 ouroboros-identity-proxy online 66mb
id 4 ouroboros-finance-proxy online 66mb
id 5 ouroboros-people-proxy online 67mb
id 6 ouroboros-commerce-proxy online 67mb
id 7 ouroboros-time online 72mb
```
`pm2 save` kördes — services överlever restart.
---
## Servicefiler
| Service | Fil |
|---------|-----|
| ouroboros-multiorg | `/home/bernt/services/ouroboros-multiorg/index.mjs` |
| ouroboros-identity-proxy | `/home/bernt/services/ouroboros-identity-proxy/index.mjs` |
| ouroboros-finance-proxy | `/home/bernt/services/ouroboros-finance-proxy/index.mjs` |
| ouroboros-people-proxy | `/home/bernt/services/ouroboros-people-proxy/index.mjs` |
| ouroboros-commerce-proxy | `/home/bernt/services/ouroboros-commerce-proxy/index.mjs` |
| ouroboros-time | `/home/bernt/services/ouroboros-time/index.mjs` |