fix: Gateway 화면에서 raw 프로필 ID 노출을 제거한다

불변 profileName은 라우팅과 저장 경계에 유지하고 사용자 출력은 공통 표시명을 사용한다. 기본 인스턴스 suffix를 숨기고 비기본 인스턴스만 사람이 읽을 수 있게 구분한다.
This commit is contained in:
2026-08-24 07:15:25 +00:00
parent 8837e49d62
commit d80ea1bd0e
19 changed files with 421 additions and 127 deletions
@@ -23,7 +23,7 @@ import {
import { isRecord } from '@sammo-ts/common';
import { resolveGatewayPostgresConfigFromEnv } from '../gatewayPostgresConfig.js';
import { resolveGatewayProfileKoreanName } from '../profileOrder.js';
import { resolveGatewayProfileDisplayName, resolveGatewayProfileKoreanName } from '../profileOrder.js';
import {
buildTurboReleaseCommand,
@@ -1626,7 +1626,11 @@ export class GatewayOrchestrator implements GatewayOrchestratorHandle {
this.processConfig.workspaceRoot
)),
];
await this.appendOperationLog(operationId, 'build', `${profile.profileName} 구성 요소를 빌드합니다.`);
await this.appendOperationLog(
operationId,
'build',
`${resolveGatewayProfileDisplayName(profile.profile, profile.instanceKey, profile.meta.korName)} 구성 요소를 빌드합니다.`
);
const result = await this.releaseBuildRunner.run(commands, this.buildProgress(operationId, 'build'), {
signal: this.activeOperationAbortSignal,
});
@@ -2233,7 +2237,11 @@ export class GatewayOrchestrator implements GatewayOrchestratorHandle {
await this.appendOperationLog(
operationId,
'build',
`${profile?.profileName ?? 'profile'} 구성 요소를 빌드합니다.`
`${
profile
? resolveGatewayProfileDisplayName(profile.profile, profile.instanceKey, profile.meta.korName)
: '대상 서버'
} 구성 요소를 빌드합니다.`
);
}
return {
@@ -2435,7 +2443,13 @@ export class GatewayOrchestrator implements GatewayOrchestratorHandle {
private async stageStaticProfileFrontend(profile: GatewayProfileRecord): Promise<StagedFrontendArtifact> {
if (!profile.buildCommitSha) {
throw new Error(`Profile ${profile.profileName} is missing the build commit SHA.`);
throw new Error(
`${resolveGatewayProfileDisplayName(
profile.profile,
profile.instanceKey,
profile.meta.korName
)} 서버의 build commit SHA가 없습니다.`
);
}
const runtimeWorkspace = profile.buildWorkspace ?? this.processConfig.workspaceRoot;
const sharedSourceRoot = buildSharedProfileFrontendOutDir(runtimeWorkspace);