feat(runtime): 정적 프런트엔드와 격리 빌더를 구성한다

Caddy가 불변 아티팩트를 직접 제공하고 runtime과 builder의 자원·비밀 경계를 분리한다.

Gateway active release ref를 재기동에 복원하고 production/development/smoke 모델 검증을 확장한다.
This commit is contained in:
2026-08-22 09:32:54 +00:00
parent d4af23c0d7
commit 6461ee5773
18 changed files with 759 additions and 38 deletions
+4 -3
View File
@@ -5,12 +5,13 @@ import { createRequire } from 'node:module';
const require = createRequire(import.meta.url);
const ecosystem = require('../runtime/ecosystem.config.cjs');
test('defines exactly four unique, bounded Gateway processes', () => {
test('defines only backend Gateway processes and no Vite preview process', () => {
assert.deepEqual(
ecosystem.apps.map((app) => app.name),
['sammo:gateway-api', 'sammo:gateway-frontend', 'sammo:gateway-orchestrator', 'sammo:release-controller'],
['sammo:gateway-api', 'sammo:gateway-orchestrator', 'sammo:release-controller'],
);
assert.equal(new Set(ecosystem.apps.map((app) => app.name)).size, 4);
assert.equal(new Set(ecosystem.apps.map((app) => app.name)).size, 3);
assert.equal(ecosystem.apps.some((app) => String(app.args ?? '').includes('preview')), false);
for (const app of ecosystem.apps) {
assert.equal(app.autorestart, true);
assert.equal(app.max_restarts, 5);