module.json 편집 도구

ModuleID 모듈을 식별하는 고유 ID 입니다. 반드시 입력 되어야 합니다.
Name 모듈의 정보성 이름을 부여합니다.
IsBundledWithHost 모듈이 호스트 애플리케이션과 함께 번들로 제공되는지 여부를 나타냅니다. 모놀리식 아키텍처로 개발하는 경우 true로 설정하며, 이는 ack 프로젝트와 연관된 모든 module 프로젝트가 참조로 연결되어 단일 코드 베이스에서 관리됨을 의미합니다. (기본값: false)
Version 모듈 버전을 주.부.수 숫자로 관리합니다.
ModuleConfig
SystemID ack 프로그램에서 운영하는 시스템 식별 ID를 입력합니다. (기본값: HANDSTACK)
BusinessServerUrl 모듈 내에서 거래를 위한 transact 모듈을 실행하는 업무 서버의 Url을 입력합니다. (기본값: http://localhost:8421/transact/api/transaction/execute)
CircuitBreakResetSecond 거래 로그 전송 오류시 재시도 할 때 까지 대기하기 위한 초를 입력합니다. (기본값: 60)
IsValidationRequest transact 모듈의 요청에 대한 토큰 검증을 실행할 지 유무를 설정합니다. (기본값: false)
IsAllowDynamicRequest transact 모듈내에 계약 정보가 없더라도 요청 정보를 기준으로 실행할 지 유무를 설정합니다. (기본값: false)
AllowTenantTransactionCommands 요청 처리 모듈(dbclient, graphclient, function 등)에 태넌트 ID를 전달할 명령 구분입니다. Ctrl + Click 조합으로 여러 항목을 선택할 수 있습니다. (기본값: D, G)
AvailableEnvironment 요청 가능한 환경 구분입니다. Ctrl + Click 조합으로 여러 항목을 선택할 수 있습니다. (기본값: D)
IsTransactAggregate 요청/응답 정보에 대한 집계 유무를 설정합니다. (기본값: false)
IsTransactAggregateRolling 주간별 SQLite 파일 롤오버를 사용합니다. (기본값: false)
TransactAggregateDeleteOldCronTime 비-롤링 모드에서 moved 데이터 정리 주기를 cron 형식으로 설정합니다. (기본값: 0 1 * * *)
TransactionAggregateBasePath 요청/응답 정보에 대한 집계 데이터베이스 기본 디렉토리 입니다. 개발 목적이 아닌경우 기본값을 적용 해야 합니다. (기본값: ../sqlite/aggregate)
IsDataMasking 데이터 마스킹 기능의 유무를 설정합니다. (기본값: true)
MaskingChar 마스킹을 처리할 때 치환하는 문자를 설정합니다. (기본값: *)
MaskingMethod 마스킹 데이터를 확인하기 위한 암호화 방식을 설정합니다. (기본값: Syn)
ContractBasePath
디렉토리 경로 관리
transact 모듈의 거래 파일들이 있는 기본 디렉토리 경로를 입력합니다. 상대경로는 모듈의 기본 디렉토리를 기준으로 설정됩니다.
ModuleLogFilePath 모듈 내에서 작성하는 로그의 파일명을 포함하는 파일 경로입니다.
IsLogServer transact 모듈의 로그를 logger 모듈을 운영하는 서버로 저장합니다. (기본값: false)
LogServerUrl logger 모듈을 운영하는 서버의 URL 경로입니다. (기본값: http://localhost:8421/logger/api/log/insert)
TrustedProxyIP 내부 시스템간의 관리 목적의 X-Forwarded-For 헤더를 사용하여 신뢰하는 IP 주소를 설정합니다.
UseApiAuthorize 사용자 인증 토큰 확인 기능의 동작 유무를 설정합니다. 운영 환경에서는 true 를 권장합니다. (기본값: false)
BypassAuthorizeIP 내부 시스템간의 관리 목적의 거래를 위한 인증을 건너뛰고 거래를 수행할 수 있는 IP 주소를 설정합니다. "," 로 구분하여 여러 패턴을 등록할 수 있습니다. (기본값: D)
SecurityHardening
EnforceRealClientIP 우회 IP 판정에 조작 가능한 요청 본문 sourceIP 대신 실제 소켓/신뢰 프록시(TrustedProxyIP) 기반 IP만 신뢰합니다. (기본값: false)
TrustedLocalhostBypass 레거시의 localhost 인가 우회 유지 여부입니다. 운영 환경은 false를 권장합니다. (기본값: true)
LockdownMetadataEndpoints 열거/관리 엔드포인트(has, refresh, retrieve, meta, get, cache-*)에서 AllowClientIP 와일드카드(*) 단독 통과를 차단하고 AuthorizationKey 또는 명시 등록 IP만 허용합니다. (기본값: false)
RateLimit.Enabled IP 및 토큰(없으면 operatorID)별 분당 요청 유량 제어 사용 여부입니다. (기본값: false)
RateLimit.PerIpPerMinute IP별 분당 허용 요청 수입니다. 0은 무제한입니다. (기본값: 600)
RateLimit.PerTokenPerMinute 토큰별 분당 허용 요청 수입니다. 0은 무제한입니다. (기본값: 1200)
RateLimit.Mode 유량 초과 시 동작 방식입니다. 운영 반영 전 AuditOnly로 관측한 뒤 Enforce로 전환하는 것을 권장합니다. (기본값: AuditOnly)
MaxRoutes system.routes 개수 상한입니다. 0은 무제한(레거시)입니다. (기본값: 0)
MaxDataMapSetCount 입력 데이터맵 세트 개수 상한입니다. 0은 무제한(레거시)입니다. (기본값: 0)
MaxDecompressedBytes 입력 복호화/압축 해제 후 크기 상한(문자 길이 근사)입니다. 0은 무제한(레거시)이며 압축 폭탄 방어에 사용합니다. (기본값: 0)
SanitizeErrorText 상세 오류를 서버 로그에만 남기고 클라이언트 응답에는 참조 ID를 포함한 일반 메시지만 반환합니다(차분 오라클 제거). (기본값: false)
RegexTimeoutMilliseconds 권한 검사 정규식 매칭 타임아웃(ms)입니다. 0은 무제한(레거시)이며 ReDoS 방어에 사용합니다. (기본값: 0)
MaxConcurrentPushTasks action이 PSH인 fire-and-forget 태스크의 동시 실행 상한입니다. 0은 무제한(레거시)입니다. (기본값: 0)
EnforceWorkflowContractGuard X-Workflow-Contract(1회성 동적 Workflow) 역직렬화 이전에 토큰 없는 호출을 거부하고, MaxDecompressedBytes가 0보다 크면 계약 헤더 크기 상한도 적용합니다. (기본값: false)
자동화 공격(대량·지능형 프로빙, 자원 고갈) 대응을 위한 서버측 하드닝 설정입니다. 모든 항목은 기본값이 레거시 동작 유지이며 항목별로 점진 활성화합니다.
IsCodeDataCache 코드 데이터를 캐시에 저장합니다. (기본값: true)
CodeDataCacheTimeout 코드 데이터를 캐시에 유지하는 주기(분)을 설정합니다. (기본값: 20)
ModuleBasePath 모듈의 기본 경로입니다. 개발 목적이 아닌경우 기본값을 적용 해야 합니다. (기본값: ../modules/transact)
AllowRequestTransaction
ApplicationID ProjectID 관리
거래 요청을 허용할 애플리케이션 ID 및 프로젝트 ID 범위를 설정합니다.
RoutingCommandUri
Routing CommandUri 관리
거래 요청을 라우트하여 실행하는 모듈을 운영중인 서버 URL을 설정합니다.
EventAction
항목 관리
모듈 간의 Mediator 발신 이벤트 통신을 위한 식별 ID를 설정합니다. 예) [대상 모듈 ID].Events.[호출 이벤트 ID]
SubscribeAction
항목 관리
모듈 간의 Mediator 수신 이벤트 통신을 위한 식별 ID를 설정합니다. 예) [공개 모듈 ID].Events.[수신 이벤트 ID]
PublicTransaction
ApplicationID ProjectID TransactionID 관리
공개 거래를 적용할 애플리케이션 ID, 프로젝트 ID, 거래 ID 범위를 설정합니다.