Socket
Socket
Sign inDemoInstall

@ckstack/ck-gw-core

Package Overview
Dependencies
10
Maintainers
1
Versions
429
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @ckstack/ck-gw-core

core api gateway module


Version published
Weekly downloads
2
decreased by-99.54%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

버전 제한

  • NodeJS : 14.16.0
  • npm : 7.6.1

package-lock.json 은 npm 버전에 따라서 바뀔 수 있기 때문에, npm 버전을 맞추어야 한다.

NodeJS 특정 버전 설치하기 위해서는 NodeJS 홈페이지에서 버전 다운로드 받아 설치하면 된다. NPM 은 다음 명령어로 특정 버전을 설치 하면 된다.

$ npm i -g npm@7.6.1

GRPC

GRPC 서버 접근 소스에 접근 하기 위해서 다음 파일을 복사 해야 한다.

  • ms-core/src/proto : src/proto 에 덮어 쓰도록 한다.

Docker

설명

ras5 기본 Rest API를 처리하는 docker 이미지 이다. 다음과 같이 버전 관리 하도록 한다.

  • 개발 : x.<0 또는 odd>.x
  • 상용 : x..x

즉, 개발은 중간 버전을 홀수(1.0.0, 또는 1.1.0) 으로 상용은 짝수(1.2.0) 으로 한다. 즉, 1.0.0 과 1.2.0 은 같은 버전이고, 1.1.0 과 1.4.0 도 같은 버전이다.(환경-개발, 상용만 다름)

이미지 생성

$ docker image build --build-arg BUILDER_TYPE=development -t ras5/gw_core:1.0.0 .
$ docker image build --build-arg BUILDER_TYPE=production -t ras5/gw_core:1.0.0 .

이미지 삭제

$ docker image rm ras5/gw_core:1.0.0

dangle 이미지

  • 조회
$ docker image ls -f dangling=true
  • 삭제
$ docker image rm -f $(docker images -f "dangling=true" -q)

이미지 추출

$ docker image save -o ras5_gw_core_1_0_0.tar ras5/gw_core:1.0.0

이미지 로드

$ docker image load -i ras5_gw_core_1_0_0.tar

컨테이너

테스트용 실행
$ docker container run -dit --name ras5_gw_core \
          -p 9000:9000 \
          ras5/gw_core:1.0.0 \
          /bin/sh
접근
$ docker container attach ras5_gw_core
중단
$ docker container stop ras5_gw_core ; docker container rm ras5_gw_core

환경 변수

  • PG_TIME_ZONE : 기본 타임존
  • PG_LANG : 기본 언어
  • PG_LOG_LEVEL : 로그 레벨
  • PG_FILE_ERR_MILLI_SEC : 파일 처리 제한 시간. 파일 처리시 설정 시간 보다 더 걸리면 에러 로그 출력. milli-sec 단위
  • PG_PROC_ERR_MILLI_SEC : 로직 처리 제한 시간. 로직 처리시 설정 시간 보다 더 걸리면 에러 로그 출력. milli-sec 단위
  • PG_REDIS_ERR_MILLI_SEC : Redis 처리 제한 시간. Redis 처리시 설정 시간 보다 더 걸리면 에러 로그 출력. milli-sec 단위
  • PG_INFLUX_ERR_MILLI_SEC : Influx 처리 제한 시간. Influx 처리시 설정 시간 보다 더 걸리면 에러 로그 출력. milli-sec 단위
  • PG_MQTT_PUB_ERR_MILLI_SEC : Mqtt publish 처리 제한 시간. Mqtt publish 처리시 설정 시간 보다 더 걸리면 에러 로그 출력. milli-sec 단위
  • PG_GRPC_ERR_MILLI_SEC : GRPC 서버 연동 제한 시간. GRPC 연동시 설정 시간 보다 더 걸리면 에러 로그 출력. milli-sec 단위
  • PG_GWCORE_MSCORE_USE : ms-core 를 사용 할지 여부. true 라면 사용 한다.
  • PG_GWCORE_MSCORE_GRPC_HOST : ms-core 의 hostname
  • PG_GWCORE_MSCORE_GRPC_PORT : ms-core 의 port
  • PG_GWCORE_MSBOARD_USE : ms-board 를 사용 할지 여부. true 라면 사용 한다.
  • PG_GWCORE_MSBOARD_GRPC_HOST : ms-board 의 hostname
  • PG_GWCORE_MSBOARD_GRPC_PORT : ms-board 의 port
  • PG_GWCORE_API_URL_PATH_PREFIX : Rest API 의 prefix. 일반적으로 버전명을 붙인다. v1, v2 등등
  • PG_GWCORE_USER_EXTRA_TEMPLATE_RID : 유저 가입시 사용될 유저 부가 정보 템플릿의 리소스 아이디. 값이 없으면 부가 정보 사용 하지 않음
  • PG_GWCORE_HTTP_REQUEST_JSON_BODY_SIZE_LIMIT : Rest API 의 body max size. 10000kb 형태로 사용
  • PG_GWCORE_AUTH_FILTER_ERR_MILLI_SEC : authorization 필터 처리 제한 시간. 설정 시간 보다 더 걸리면 에러 로그 출력. milli-sec 단위
  • PG_GWCORE_FILE_UPLOAD_MAX_BYTE : 파일 업로드 허용 최대 사이즈. byte 단위.
  • PG_GWCORE_NON_S3_PRIVATE_FILE_URL_PREFIX : S3에 업로드 되지 않고, private 파일이 아닐때, 파일에 접근하는 URL Prefix. nginx 에서 해당 패스에 대해서 url location alias 설정을 해 주어야 한다.
  • PG_GWCORE_FILE_SERVER : 파일에 접근 할 수 있는 파일 서버 주소. https://ras5.ckpush.com 형태
  • PG_GWCORE_GOOGLE_OAUTH2_CLIENT_ID : 구글 로그인을 위한 OAuth2 클라이언트 아이디

디렉토리 및 파일

  • /data/log/gw : 로그 디렉토리
  • /data/files/gw : 파일 업로드시 저장되는 디렉토리
  • /data/oauth2/apple/key.p8 : 애플 로그인시 사용될 Apple Developer Key 파일의 파일 경로

Keywords

FAQs

Last updated on 16 Jan 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc