@bifos/nhncloud-cli
Advanced tools
+1
-1
| { | ||
| "name": "@bifos/nhncloud-cli", | ||
| "version": "0.4.0", | ||
| "version": "0.5.0", | ||
| "description": "CLI tool for NHN Cloud services — AI agent & terminal friendly", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
+55
-2
| # nhncloud-cli | ||
| NHN Cloud 서비스를 AWS CLI 방식으로 호출하는 통합 CLI. | ||
| 현재 `configure`, `logncrash search/send` (Log & Crash 로그 검색·전송), `deploy` (배포·바이너리 조회·업로드·다운로드), `instance` (Compute 인스턴스 목록·발급·전원 제어·타입 변경·키페어 관리·이미지·가용성 영역 조회·볼륨 연결 포함), `network` (VPC·서브넷 목록 조회), `volume` (Block Storage 볼륨 목록·조회·생성) 명령을 지원한다. | ||
| 현재 `configure`, `logncrash search/send` (Log & Crash 로그 검색·전송), `deploy` (배포·바이너리 조회·업로드·다운로드), `instance` (Compute 인스턴스 목록·발급·전원 제어·타입 변경·키페어 관리·이미지·가용성 영역 조회·볼륨 연결 포함), `network` (VPC·서브넷 목록 조회), `volume` (Block Storage 볼륨 목록·조회·생성), `ncr` (NHN Container Registry 레지스트리 목록·조회·이미지 목록·태그 목록) 명령을 지원한다. | ||
@@ -20,3 +20,3 @@ ## 설치 | ||
| - profile → UAK(id/secret) → logncrash appkey/secret → iaas 자격증명 순으로 입력한다. | ||
| - profile → UAK(id/secret) → logncrash appkey/secret → iaas 자격증명 → ncr appkey 순으로 입력한다. | ||
| - 저장 전 연결 테스트를 자동으로 수행한다 (`--no-verify` 로 생략 가능). | ||
@@ -441,2 +441,54 @@ - CI/자동화는 flag 로 비대화형 설정이 가능하다. | ||
| ### NHN Container Registry (NCR) | ||
| NCR Management API 로 레지스트리를 조회한다. | ||
| 인증은 공통 UAK(`X-TC-AUTHENTICATION-ID/SECRET` 정적 헤더)를 재사용하며 OAuth 토큰 교환이 없다. | ||
| appKey 는 NHN Cloud 콘솔 → Container Registry 서비스에서 확인한다. | ||
| ```bash | ||
| # ncr appkey 설정 (비대화형) | ||
| nhncloud configure --ncr-appkey <appkey> | ||
| # 레지스트리 목록 조회 | ||
| nhncloud ncr list --app-key <appkey> | ||
| # region 지정 (기본: kr1) | ||
| nhncloud ncr list --region kr2 --app-key <appkey> | ||
| # JSON 출력 | ||
| nhncloud ncr list --app-key <appkey> --json | ||
| # 단일 레지스트리 조회 (이름 또는 ID) | ||
| nhncloud ncr get <registry-name> --app-key <appkey> | ||
| ``` | ||
| appKey 를 `nhncloud configure --ncr-appkey <appkey>` 로 저장해 두면 `--app-key` 없이도 호출할 수 있다. | ||
| ```bash | ||
| # configure 로 저장 후 --app-key 생략 | ||
| nhncloud configure --ncr-appkey <appkey> | ||
| nhncloud ncr list | ||
| nhncloud ncr get <registry-name> | ||
| ``` | ||
| 이미지(repository)·태그는 레지스트리 데이터플레인 Harbor REST API 를 직접 호출한다. | ||
| UAK 를 Basic Auth 로 사용하며 추가 설정은 없다. | ||
| ```bash | ||
| # 이미지(repository) 목록 조회 | ||
| nhncloud ncr images <registry> | ||
| # region 지정 | ||
| nhncloud ncr images <registry> --region kr2 | ||
| # JSON 출력 | ||
| nhncloud ncr images <registry> --json | ||
| # 특정 이미지의 태그 목록 조회 | ||
| nhncloud ncr tags <registry> <repository> | ||
| # JSON 출력 (태그·push_time·size) | ||
| nhncloud ncr tags <registry> <repository> --json | ||
| ``` | ||
| ## 개발 | ||
@@ -450,2 +502,3 @@ | ||
| node dist/index.js logncrash search --help | ||
| node dist/index.js ncr --help | ||
| ``` |
| --- | ||
| name: nhncloud-cli | ||
| description: NHN Cloud 서비스 CLI. 자격증명 설정(configure), Log & Crash 로그 검색·전송(logncrash search/send), Deploy 배포 실행·바이너리 그룹·바이너리 목록 조회·업로드·다운로드(deploy upload/download), Compute 인스턴스 관리(instance — 목록·발급·전원 제어·타입 변경(resize/resize-confirm/resize-revert)·키페어·이미지·가용성 영역 조회·볼륨 연결(instance volume attach/detach, instance volumes)), VPC·서브넷 조회(network list/subnet list), Block Storage 볼륨 관리(volume list/get/create), Floating IP 관리(floatingip list/create/delete) 등 NHN Cloud PaaS API 를 터미널·AI 에이전트에서 호출한다. | ||
| description: NHN Cloud 서비스 CLI. 자격증명 설정(configure), Log & Crash 로그 검색·전송(logncrash search/send), Deploy 배포 실행·바이너리 그룹·바이너리 목록 조회·업로드·다운로드(deploy upload/download), Compute 인스턴스 관리(instance — 목록·발급·전원 제어·타입 변경(resize/resize-confirm/resize-revert)·키페어·이미지·가용성 영역 조회·볼륨 연결(instance volume attach/detach, instance volumes)), VPC·서브넷 조회(network list/subnet list), Block Storage 볼륨 관리(volume list/get/create), Floating IP 관리(floatingip list/create/delete), NHN Container Registry 레지스트리·이미지·태그 조회(ncr list/get/images/tags) 등 NHN Cloud PaaS API 를 터미널·AI 에이전트에서 호출한다. | ||
| --- | ||
@@ -9,3 +9,3 @@ | ||
| NHN Cloud PaaS 서비스를 AWS CLI 방식으로 호출하는 TypeScript CLI. | ||
| `configure`, `logncrash search/send`, `deploy`, `instance` (전원 제어·keypair·볼륨 연결 포함), `network` (VPC·서브넷 조회), `volume` (Block Storage 볼륨 목록·조회·생성), `floatingip` (공인 IP 관리) 명령을 지원한다. | ||
| `configure`, `logncrash search/send`, `deploy`, `instance` (전원 제어·keypair·볼륨 연결 포함), `network` (VPC·서브넷 조회), `volume` (Block Storage 볼륨 목록·조회·생성), `floatingip` (공인 IP 관리), `ncr` (NHN Container Registry 레지스트리·이미지·태그 조회) 명령을 지원한다. | ||
@@ -46,2 +46,3 @@ ## 설치 | ||
| | `--logncrash-secret <secret>` | logncrash secret | | ||
| | `--ncr-appkey <key>` | NCR(Container Registry) appkey | | ||
| | `--no-verify` | 연결 테스트 생략 | | ||
@@ -106,2 +107,9 @@ | ||
| | Log & Crash 로그 전송 | `nhncloud logncrash send --body "<메시지>" --level INFO` | | ||
| | NCR 레지스트리 목록 조회 | `nhncloud ncr list --app-key <appkey>` | | ||
| | NCR 레지스트리 목록 (JSON 파싱용) | `nhncloud ncr list --app-key <appkey> --json` | | ||
| | NCR 단일 레지스트리 조회 | `nhncloud ncr get <registry-name> --app-key <appkey>` | | ||
| | NCR 이미지(repository) 목록 조회 | `nhncloud ncr images <registry>` | | ||
| | NCR 이미지 목록 (JSON) | `nhncloud ncr images <registry> --json` | | ||
| | NCR 태그 목록 조회 | `nhncloud ncr tags <registry> <repository>` | | ||
| | NCR 태그 목록 (JSON) | `nhncloud ncr tags <registry> <repository> --json` | | ||
@@ -630,1 +638,74 @@ ## logncrash search 옵션 | ||
| | Floating IP API 오류 | 1 (API_ERROR) | | ||
| ## ncr — NHN Container Registry 레지스트리·이미지·태그 조회 | ||
| NCR Management API 로 레지스트리(Harbor 프로젝트)를 조회한다. | ||
| 이미지(repository)·태그는 레지스트리 데이터플레인 Harbor REST API 를 직접 호출한다. | ||
| 두 경로 모두 공통 UAK 를 사용하므로 추가 설정은 없다. | ||
| appKey 는 `--app-key` 옵션 또는 `nhncloud configure --ncr-appkey <appkey>` 로 profile 에 저장한 값을 자동 사용한다. | ||
| ### 의도 → 커맨드 매핑 | ||
| | 의도 | 커맨드 | | ||
| |------|--------| | ||
| | 레지스트리 목록 조회 | `nhncloud ncr list --app-key <appkey>` | | ||
| | 레지스트리 목록 (JSON) | `nhncloud ncr list --app-key <appkey> --json` | | ||
| | 다른 region 조회 (기본 kr1) | `nhncloud ncr list --region kr2 --app-key <appkey>` | | ||
| | 단일 레지스트리 조회 | `nhncloud ncr get <registry> --app-key <appkey>` | | ||
| | appkey 저장 후 생략 | `nhncloud configure --ncr-appkey <appkey>` → `nhncloud ncr list` | | ||
| | 이미지(repository) 목록 조회 | `nhncloud ncr images <registry>` | | ||
| | 이미지 목록 (JSON) | `nhncloud ncr images <registry> --json` | | ||
| | 특정 이미지의 태그 목록 조회 | `nhncloud ncr tags <registry> <repository>` | | ||
| | 태그 목록 (JSON) | `nhncloud ncr tags <registry> <repository> --json` | | ||
| ### ncr list / get 옵션 | ||
| | 옵션 | 설명 | | ||
| |------|------| | ||
| | `--region <region>` | NCR region (기본: `kr1`). 지원: `kr1`, `kr2`, `kr3` | | ||
| | `--app-key <key>` | NCR appKey (profile 의 `ncr.appkey` 보다 우선) | | ||
| | `--profile <name>` | 사용할 profile 이름 | | ||
| ### ncr images / ncr tags 옵션 | ||
| | 옵션 | 설명 | | ||
| |------|------| | ||
| | `--region <region>` | NCR region (기본: `kr1`) | | ||
| | `--app-key <key>` | NCR appKey (profile 의 `ncr.appkey` 보다 우선) | | ||
| | `--profile <name>` | 사용할 profile 이름 | | ||
| ### 체이닝 예시 | ||
| ```bash | ||
| # 레지스트리 목록 (이름만 추출) | ||
| nhncloud ncr list --app-key <appkey> --json | jq -r '.[].name' | ||
| # 레지스트리 수 확인 | ||
| nhncloud ncr list --app-key <appkey> --json | jq length | ||
| # 단일 레지스트리 상세 조회 | ||
| nhncloud ncr get <registry> --app-key <appkey> --json | ||
| # 이미지 목록 (이름만 추출) | ||
| nhncloud ncr images <registry> --json | jq -r '.[].repository' | ||
| # 이미지별 artifact 수 확인 | ||
| nhncloud ncr images <registry> --json | jq '.[] | {repository, artifact_count}' | ||
| # 특정 이미지의 태그 목록 | ||
| nhncloud ncr tags <registry> <repository> --json | jq -r '.[].tag' | ||
| # 가장 최근 push 태그 확인 | ||
| nhncloud ncr tags <registry> <repository> --json | jq 'sort_by(.push_time) | last | .tag' | ||
| ``` | ||
| ### ncr 에러 코드 | ||
| | 상황 | exit code | | ||
| |------|-----------| | ||
| | UAK 누락·불완전 | 4 (CONFIG_ERROR) | | ||
| | NCR appkey 미설정 (`--app-key` 미지정 + configure 미설정) | 4 (CONFIG_ERROR) | | ||
| | 지원하지 않는 region | 3 (PARAM_ERROR) | | ||
| | registry / repository 인수 공백·빈값 | 3 (PARAM_ERROR) | | ||
| | UAK 인증 실패 (401/403) | 2 (AUTH_ERROR) | | ||
| | NCR API 오류 | 1 (API_ERROR) | |
Sorry, the diff of this file is too big to display
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
232111
10.69%4282
11.08%502
11.8%