Files
boc/landvex-finance-sprint3/INTEGRATION_GUIDE.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

184 lines
3.9 KiB
Markdown

# LandveX Finance — Integrationsguide för Sprint 3
> Steg-för-steg guide för att integrera de nya filerna i produktion.
---
## 1. Backend-integration
### 1.1 Kopiera filer
```bash
# Skapa finance-mapp om den inte finns
sudo mkdir -p /opt/amos/api/finance
# Kopiera nya filer
sudo cp /home/bernt/.openclaw/workspace/landvex-finance-sprint3/metrics.mjs \
/home/bernt/.openclaw/workspace/landvex-finance-sprint3/logger.mjs \
/home/bernt/.openclaw/workspace/landvex-finance-sprint3/health.mjs \
/opt/amos/api/finance/
# Sätt rättigheter
sudo chown -R amos:amos /opt/amos/api/finance
sudo chmod 644 /opt/amos/api/finance/*.mjs
```
### 1.2 Modifiera server.mjs
Lägg till följande rader:
```javascript
// LÄNGST UPP (efter andra imports)
import { getMetrics, getContentType } from './api/finance/metrics.mjs';
import { financeInfo, financeError, requestLogger } from './api/finance/logger.mjs';
import { financeHealthHandler } from './api/finance/health.mjs';
// EFTER app = express()
app.use(requestLogger); // Logga alla requests
// EFTER app.get('/health/detailed', ...)
app.get('/health/finance', financeHealthHandler);
// I /prom-metrics endpoint (ersätt befintlig)
app.get('/prom-metrics', async (req, res) => {
try {
let out = await promRegistry.metrics();
out += await getMetrics(); // NYTT: Finance metrics
// ... befintlig error tracker kod ...
res.set('Content-Type', getContentType());
res.end(out);
} catch (e) {
res.status(500).end(e.message);
}
});
// VID STARTUP (efter app.listen)
financeInfo('finance_service_started', {
context: { port: PORT, node_version: process.version }
});
```
### 1.3 Verifiera
```bash
# Starta om servern
pm2 restart amos-finance
# Testa health
curl http://localhost:3100/health/finance | jq
# Testa metrics
curl http://localhost:3100/prom-metrics | grep finance_
# Testa loggning
tail -f /var/log/amos/finance.log | jq
```
---
## 2. Frontend-integration (valfritt, Sprint 4)
### 2.1 Kopiera JS-filer
```bash
sudo mkdir -p /opt/amos/public/ouroboros/finance/js
sudo cp /home/bernt/.openclaw/workspace/landvex-finance-sprint3/js/*.mjs \
/opt/amos/public/ouroboros/finance/js/
```
### 2.2 Modifiera index.html
Ersätt `<script>`-taggen med:
```html
<script type="module" src="js/main.mjs"></script>
```
### 2.3 Feature-flagg
Lägg till i index.html för bakåtkompatibilitet:
```javascript
// I befintlig <script>
const useV2 = new URLSearchParams(location.search).has('v2');
if (useV2) {
// Ladda nya modulära system
import('./js/main.mjs');
} else {
// Kör befintlig inline-kod
// ...
}
```
---
## 3. Prometheus-konfiguration
### 3.1 Lägg till scrape job
```yaml
# /etc/prometheus/prometheus.yml
scrape_configs:
- job_name: 'landvex-finance'
static_configs:
- targets: ['localhost:3100']
metrics_path: '/prom-metrics'
scrape_interval: 15s
```
### 3.2 Ladda om Prometheus
```bash
curl -X POST http://localhost:9090/-/reload
```
---
## 4. Grafana-dashboard
### 4.1 Importera dashboard
Skapa filen `grafana-dashboard.json` (se METRICS-IMPLEMENTATION.md) och importera via Grafana UI.
---
## 5. Larm (Alertmanager)
### 5.1 Lägg till regler
```yaml
# /etc/prometheus/alerts.yml
groups:
- name: finance
rules:
- alert: FinanceDBDown
expr: finance_health_status{check="database"} == 2
for: 1m
labels:
severity: critical
annotations:
summary: "Finance database is down"
- alert: FinanceDiskFull
expr: finance_disk_used_percent > 90
for: 5m
labels:
severity: warning
annotations:
summary: "Finance disk is almost full"
- alert: FinanceHighLatency
expr: histogram_quantile(0.95, rate(finance_api_duration_seconds_bucket[5m])) > 2
for: 5m
labels:
severity: warning
annotations:
summary: "Finance API latency is high"
```
---
*Senast uppdaterad: 2026-06-24*