Caddy가 불변 아티팩트를 직접 제공하고 runtime과 builder의 자원·비밀 경계를 분리한다. Gateway active release ref를 재기동에 복원하고 production/development/smoke 모델 검증을 확장한다.
38 lines
990 B
JavaScript
38 lines
990 B
JavaScript
const path = require('node:path');
|
|
|
|
const root = process.env.GATEWAY_WORKSPACE_ROOT || '/srv/core/repository';
|
|
const common = {
|
|
env: { ...process.env },
|
|
autorestart: true,
|
|
max_restarts: 5,
|
|
min_uptime: 10000,
|
|
restart_delay: 2000,
|
|
kill_timeout: 15000,
|
|
};
|
|
|
|
module.exports = {
|
|
apps: [
|
|
{
|
|
...common,
|
|
name: 'sammo:gateway-api',
|
|
cwd: path.join(root, 'app/gateway-api'),
|
|
script: path.join(root, 'app/gateway-api/dist/index.js'),
|
|
env: { ...process.env, GATEWAY_ROLE: 'api' },
|
|
},
|
|
{
|
|
...common,
|
|
name: 'sammo:gateway-orchestrator',
|
|
cwd: path.join(root, 'app/gateway-api'),
|
|
script: path.join(root, 'app/gateway-api/dist/index.js'),
|
|
env: { ...process.env, GATEWAY_ROLE: 'orchestrator' },
|
|
},
|
|
{
|
|
...common,
|
|
name: 'sammo:release-controller',
|
|
cwd: path.join(root, 'app/release-controller'),
|
|
script: path.join(root, 'app/release-controller/dist/index.js'),
|
|
args: 'daemon',
|
|
},
|
|
],
|
|
};
|