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

3.9 KiB

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

# 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:

// 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

# 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

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:

<script type="module" src="js/main.mjs"></script>

2.3 Feature-flagg

Lägg till i index.html för bakåtkompatibilitet:

// 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

# /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

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

# /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