크라우니 게이트웨이 npm 패키지 상품화 (v6.0.0)
개요
@crowny/gateway를 레거시 JS(v5.0.2, lib/gateway.js 메인) 표기 그대로 두던 상태에서,
현세대 라이브 엔진인 게이트웨이Q(한선씨 네이티브 + REUSEPORT N워커 무중단 + P2P 피어 메시 +
3단계 트러블대응) 기준으로 package.json/README를 정비하고 내부 Verdaccio에 게시.
무엇을 했는지
- package.json → v6.0.0
files 배열에 게이트웨이Q/(Q감독.sh·Q피어.한선/.sh·Q감독판정.한선·Q트러블3단계.한선·
Q연동검증.한선·설치.md·Q설치.sh·Q패키지생성.sh)와 한선게이트웨이/(게이트웨이통합.한선·
설정.한선·게이트웨이방어코어.한선·gwlive헬스워치독.sh·게이트웨이재기동.sh) 추가.
- keywords에 hanseon/ternary-vm/reuseport/p2p-mesh/failover 추가, homepage를
gateway.crowny.org로, repository 필드 제거(crowny-hub 방식이라 불필요).
- lib/*.js(v5.x)는 호환용 레거시로 남기고 설명에 명기(라이브는 한선씨 Q엔진).
- .npmrc —
@crowny:registry=http://127.0.0.1:4873강제(전역 ~/.npmrc의
@crowny:registry=https://pkg.crowny.org 스코프 매핑이 --registry 플래그를 이기는 문제
회피, feedback_verdaccio_scope_gateway_publish 패턴 적용). 토큰은 ${NPM_TOKEN} 환경변수
참조로만 기록(파일에 리터럴 시크릿 미기록 — 자동분류기 차단 경험).
- npm publish —
NPM_TOKEN=<crownyrel 계정 토큰> npm publish --registry http://127.0.0.1:4873
npm view @crowny/gateway version/description (프로젝트
디렉토리 내에서 실행 — .npmrc 스코프 적용) 으로 6.0.0 + 신규 description 확인, 실증 완료.
- README.md 제품화 — 제품명/포지셔닝/실측 표, 설치(npm 옵션A / 게이트웨이Q 패키지 옵션B),
관련 파일
/Users/ef/crowny-gateway/package.json/Users/ef/crowny-gateway/.npmrc/Users/ef/crowny-gateway/README.md/Users/ef/crowny-gateway/게이트웨이Q/설치.md(참조원)
검증
node -e "require('./package.json')"→ JSON 유효.npm publish --registry http://127.0.0.1:4873→ exit 0, tarball 76 files.npm view @crowny/gateway version --registry http://127.0.0.1:4873→6.0.0(프로젝트
- 라이브 게이트웨이(8080 워커 2개, 8443 stunnel, 9100, 9152) 프로세스 lsof 확인 — 작업 중
잔여 이슈
- npm 공개 레지스트리(pkg.crowny.org) 게시는 미실시(내부 Verdaccio만) — 필요 시
@crowny:registry를 pkg.crowny.org로 되돌리고 게이트웨이 대용량 POST 한계(24KB) 이슈
회피 경로로 별도 게시 필요.
- 게이트웨이Q 패키지 자체의 잔여 이슈(SIGTERM 트랩 없는 롤링재활용 등)는
게이트웨이Q/설치.md