bae705aa97
- 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
3.9 KiB
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