← 목록
게이트웨이 2026-07-07 4KB 읽기 4분

크라우니 게이트웨이 npm 패키지 상품화 (v6.0.0)

개요

@crowny/gateway를 레거시 JS(v5.0.2, lib/gateway.js 메인) 표기 그대로 두던 상태에서, 현세대 라이브 엔진인 게이트웨이Q(한선씨 네이티브 + REUSEPORT N워커 무중단 + P2P 피어 메시 + 3단계 트러블대응) 기준으로 package.json/README를 정비하고 내부 Verdaccio에 게시.

무엇을 했는지

  1. package.json → v6.0.0
- description을 게이트웨이Q(한선씨 Q엔진) 기준으로 재작성, 실측 수치만 명기(293라우트, 2워커 REUSEPORT 무중단 30/30·20/20, 84 RPS 등). - 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엔진).
  1. .npmrc@crowny:registry=http://127.0.0.1:4873 강제(전역 ~/.npmrc의
@crowny:registry=https://pkg.crowny.org 스코프 매핑이 --registry 플래그를 이기는 문제 회피, feedback_verdaccio_scope_gateway_publish 패턴 적용). 토큰은 ${NPM_TOKEN} 환경변수 참조로만 기록(파일에 리터럴 시크릿 미기록 — 자동분류기 차단 경험).
  1. npm publishNPM_TOKEN=<crownyrel 계정 토큰> npm publish --registry http://127.0.0.1:4873
성공(76 files, unpacked 833.2kB). npm view @crowny/gateway version/description (프로젝트 디렉토리 내에서 실행 — .npmrc 스코프 적용) 으로 6.0.0 + 신규 description 확인, 실증 완료.
  1. README.md 제품화 — 제품명/포지셔닝/실측 표, 설치(npm 옵션A / 게이트웨이Q 패키지 옵션B),
주요기능, gateway.yaml 예시, gw/crowny-gw CLI, 게이트웨이Q 운영 명령, DNS 전환 스위치, 에디션(Community/Mesh/Enterprise) 표, systemd, 문서 링크. 기존 유용 정보(gw CLI, DNS전환) 보존.

관련 파일

  • /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:48736.0.0 (프로젝트
디렉토리 내 실행 필수 — 외부에서는 전역 스코프 매핑이 pkg.crowny.org로 리다이렉트해 ECONNRESET/Z_DATA_ERROR 발생, 이는 게이트웨이 24KB 본문 한계 함정과 별개의 기존 known-issue).
  • 라이브 게이트웨이(8080 워커 2개, 8443 stunnel, 9100, 9152) 프로세스 lsof 확인 — 작업 중
무접촉, 전부 기존 PID 그대로 LISTEN 유지.

잔여 이슈

  • npm 공개 레지스트리(pkg.crowny.org) 게시는 미실시(내부 Verdaccio만) — 필요 시
@crowny:registry를 pkg.crowny.org로 되돌리고 게이트웨이 대용량 POST 한계(24KB) 이슈 회피 경로로 별도 게시 필요.
  • 게이트웨이Q 패키지 자체의 잔여 이슈(SIGTERM 트랩 없는 롤링재활용 등)는 게이트웨이Q/설치.md
§6에 이미 기록됨 — 이번 작업 범위 밖.