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
75 lines
4.8 KiB
JavaScript
75 lines
4.8 KiB
JavaScript
/**
|
|
* AAMOS PM2 Ecosystem Config
|
|
* Unified service registry — alla tjänster under AAMOS-paraplyet
|
|
* Uppdaterad: 2026-06-01 (namnkonsolidering: prexo-* → aamos-finance-*)
|
|
*
|
|
* Env-strategi: läser /opt/amos/.env.amos-core vid laddning så att
|
|
* DATABASE_URL och övriga secrets alltid finns — oavsett hur PM2 startades.
|
|
*/
|
|
const fs = require('fs');
|
|
|
|
function parseEnvFile(path) {
|
|
try {
|
|
return fs.readFileSync(path, 'utf8')
|
|
.split('\n')
|
|
.reduce((acc, line) => {
|
|
const m = line.match(/^([A-Z_][A-Z0-9_]*)=(.*)$/);
|
|
if (m) acc[m[1]] = m[2].trim();
|
|
return acc;
|
|
}, {});
|
|
} catch { return {}; }
|
|
}
|
|
|
|
const baseEnv = parseEnvFile('/opt/amos/.env.amos-core');
|
|
const DB = baseEnv.DATABASE_URL || process.env.DATABASE_URL || '';
|
|
|
|
module.exports = {
|
|
apps: [
|
|
|
|
// ── Core Platform ────────────────────────────────────────────────────────
|
|
{ name: 'aamos-dynasty', script: '/opt/amos/services/dynasty-service/index.mjs', env: { PORT: 3001, DATABASE_URL: DB } },
|
|
{ name: 'aamos-ops', script: '/opt/amos/services/operations-service/index.mjs', env: { PORT: 3003 } },
|
|
{ name: 'aamos-cto', script: '/opt/amos/services/cto-service/index.mjs', env: { PORT: 3004 } },
|
|
{ name: 'aamos-analytics', script: '/opt/amos/services/analytics-service/index.mjs', env: { PORT: 3006 } },
|
|
{ name: 'aamos-commerce', script: '/opt/amos/services/commerce-service/index.mjs', env: { PORT: 3007 } },
|
|
{ name: 'aamos-integrations', script: '/opt/amos/services/ouroboros-integrations/index.mjs', env: { PORT: 3241, DATABASE_URL: DB } },
|
|
|
|
// ── AAMOS Finance — Ekonomimoduler ───────────────────────────────────────
|
|
{ name: 'aamos-finance-core', script: '/opt/amos/services/finance-service/index.mjs', env: { PORT: 3002, DATABASE_URL: DB } },
|
|
{ name: 'aamos-finance-payroll', script: '/opt/amos/services/ouroboros-payroll/start.mjs', env: { PORT: 3231, DATABASE_URL: DB } },
|
|
{ name: 'aamos-finance-vat', script: '/opt/amos/services/ouroboros-vat/start.mjs', env: { PORT: 3230, DATABASE_URL: DB } },
|
|
{ name: 'aamos-finance-expenses', script: '/opt/amos/services/ouroboros-expenses/start.mjs', env: { PORT: 3226, DATABASE_URL: DB } },
|
|
{ name: 'aamos-finance-inventory',script: '/opt/amos/services/ouroboros-inventory/start.mjs', env: { PORT: 3228, DATABASE_URL: DB } },
|
|
|
|
// ── AAMOS HR ─────────────────────────────────────────────────────────────
|
|
{ name: 'aamos-hr-people', script: '/opt/amos/services/people-service/index.mjs', env: { PORT: 3005 } },
|
|
{ name: 'aamos-hr-recruiting', script: '/opt/amos/services/ouroboros-recruiting/start.mjs', env: { PORT: 3229, DATABASE_URL: DB } },
|
|
|
|
// ── AAMOS Ops ────────────────────────────────────────────────────────────
|
|
{ name: 'aamos-ops-field', script: '/opt/amos/services/ouroboros-field-service/start.mjs', env: { PORT: 3232, DATABASE_URL: DB } },
|
|
|
|
// ── SEO/AEO ──────────────────────────────────────────────────────────────
|
|
{ name: 'aamos-seo', script: '/opt/amos/services/seo-aeo/index.mjs', env: { PORT: 3330, SEO_DB_PATH: '/opt/amos/data/seo-aeo.db' } },
|
|
|
|
// ── QuixZoom ─────────────────────────────────────────────────────────────
|
|
{ name: 'aamos-qx-enterprise', script: '/opt/amos/services/quixzoom-enterprise/index.mjs', env: { PORT: 7020 } },
|
|
{ name: 'aamos-qx-regulatory', script: '/opt/amos/services/quixzoom-regulatory/index.mjs', env: { PORT: 7050 } },
|
|
|
|
// ── AAMOS Ledger Engine (Etapp 1 — Vertikal stängning) ───────────────────
|
|
{
|
|
name: 'aamos-ledger',
|
|
script: '/opt/amos/services/aamos-ledger/index.mjs',
|
|
env: {
|
|
PORT: 3250,
|
|
AAMOS_LEDGER_PORT: 3250,
|
|
DATABASE_URL: DB,
|
|
REDIS_URL: 'redis://127.0.0.1:6379',
|
|
HERMES_CHANNEL: 'aamos:hermes',
|
|
HERMES_LOG_DIR: '/opt/amos/data/hermes',
|
|
SERVICE_NAME: 'aamos-ledger',
|
|
NODE_ENV: 'production',
|
|
}
|
|
},
|
|
]
|
|
};
|