@bifos/nhncloud-cli 0.15.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -38,6 +38,28 @@ nhncloud doctor # 설정이 제대로 됐는지 확인
38
38
  자격증명은 `~/.nhncloud/credentials.json`(mode 0600), 설정은 `~/.nhncloud/config.json` 에 저장한다.
39
39
  profile 우선순위는 `--profile` > `NHNCLOUD_PROFILE` > `config.defaultProfile` > `default` 다.
40
40
 
41
+ 공공기관용 NHN Cloud를 사용한다면 해당 profile의 `credentials.json` 블록에 `"environment": "gov"`를 추가한다.
42
+ 기존 profile은 이 필드를 생략하면 일반망을 사용한다.
43
+ 공공망 endpoint 선택은 OAuth, Deploy, NCR, IaaS 호출에 적용된다.
44
+ 공공망 NCR은 `kr1`, IaaS는 `kr1`과 `kr2`만 지원한다.
45
+
46
+ ```json
47
+ {
48
+ "version": 1,
49
+ "profiles": {
50
+ "public-project": {
51
+ "environment": "gov",
52
+ "userAccessKey": { "id": "<uak-id>", "secret": "<uak-secret>" },
53
+ "deploy": { "appkey": "<appkey>" }
54
+ }
55
+ }
56
+ }
57
+ ```
58
+
59
+ `nhncloud deploy artifacts --profile public-project --json`으로 조회할 수 있다.
60
+ 현재 `configure`의 연결 테스트는 일반망 주소를 사용하므로, 공공망 자격증명을 저장할 때는 `--no-verify`를 지정한다.
61
+ 공공망 표시를 추가한 뒤 조회 명령으로 연결과 권한을 확인한다.
62
+
41
63
  > **iaas 자격증명의 함정 두 가지**
42
64
  >
43
65
  > `--iaas-password` 는 NHN Cloud 콘솔 IAM 의 **API 비밀번호**다. 로그인 비밀번호와 다르다.
@@ -64,7 +86,8 @@ nhncloud skills install
64
86
  nhncloud skills status
65
87
  ```
66
88
 
67
- 전역 설치 없이 `npx --yes @bifos/nhncloud-cli@latest skills install` 로도 설치된다 — 관리 저장소에 복사되므로 임시 패키지 경로가 사라져도 남는다.
89
+ 전역 설치 없이 `npx --yes @bifos/nhncloud-cli@latest skills install` 로도 설치된다.
90
+ 관리 저장소에 복사되므로 임시 패키지 경로가 사라져도 남는다.
68
91
  CLI 를 새 버전으로 올린 뒤에는 `nhncloud skills update` 를 실행해야 스킬도 갱신된다.
69
92
 
70
93
  상태는 `current`, `missing`, `outdated`, `broken`, `unmanaged`, `modified`, `corrupt` 중 하나이고, 출력에 딸린 복구 명령을 따르면 된다.
@@ -103,14 +126,17 @@ nhncloud loadbalancer list # 로드밸런서
103
126
  nhncloud ncr list # 컨테이너 레지스트리
104
127
  nhncloud nks cluster list # Kubernetes 클러스터
105
128
  nhncloud deploy artifacts # 배포 아티팩트
129
+ nhncloud deploy scenarios --artifact-id <id> --server-group-id <id> # 서버그룹 시나리오
130
+ nhncloud logncrash available-token # 남은 조회 토큰과 추정 대기 시간
106
131
  nhncloud logncrash search --query '*' --from 1h --to now # 최근 1시간 로그
132
+ nhncloud logncrash export --query '<lucene>' --from 1h --to now --output logs.jsonl # 대량 로그 파일 저장
107
133
  nhncloud apigateway service list # API Gateway 서비스
108
134
  nhncloud apigateway stage update <service-id> <stage-id> --description "설명" --yes # API Gateway 스테이지 수정
109
135
  nhncloud apigateway stage import-resources <service-id> <stage-id> --yes # 리소스를 스테이지로 반영
110
136
  nhncloud apigateway stage deploy create <service-id> <stage-id> --yes # API Gateway 스테이지 배포
111
137
  ```
112
138
 
113
- 전체 명령과 옵션은 `--help` 로 본다. 현재 170개다.
139
+ 전체 명령과 옵션은 `--help` 로 본다.
114
140
 
115
141
  ```bash
116
142
  nhncloud --help
@@ -130,7 +156,7 @@ nhncloud commands --json | jq '.commands[] | select(.path=="nks cluster list")'
130
156
  | --- | --- | --- |
131
157
  | (없음) | 사람이 읽는 표 | 터미널 |
132
158
  | `--json` | JSON | 파싱, 명령 연결 |
133
- | `--quiet` | 식별자만 | 스크립트 |
159
+ | `--quiet` | 명령이 문서화한 핵심 값 한 줄 | 스크립트 |
134
160
 
135
161
  전역 옵션이라 모든 명령에 붙일 수 있다. `--no-color` 와 `--request-timeout <sec>` 도 같은 자리에서 쓴다.
136
162
  요청 타임아웃은 초 단위이며 기본값은 30초, 허용 범위는 1~3600초다.
@@ -142,6 +168,7 @@ nhncloud commands --json | jq '.commands[] | select(.path=="nks cluster list")'
142
168
 
143
169
  ```bash
144
170
  nhncloud instance get <instance-id> --json | jq -r '.status'
171
+ nhncloud logncrash available-token --json | jq -r '.availableToken'
145
172
  nhncloud logncrash search --query '*' --from 1h --to now --json | jq -r '.data[].logBody'
146
173
  ```
147
174
 
@@ -178,8 +205,8 @@ src/
178
205
  utils/ 에러, 스피너, 종료 코드
179
206
  ```
180
207
 
181
- 의존 방향은 `commands/` → `services/` → `api/` 이고, `utils/` 와 `formatters/` 는 그 아래에서 공유한다.
182
- `services/` 가 `commands/` 를 import 하지 않는다 — 역류는 금지다.
208
+ `commands/`는 `services/`, `api/`, `config/`의 기능을 조합한다.
209
+ `services/`가 `commands/`를 import하지 않는 경계와 상세 의존 방향은 `docs/code-architecture.md`를 기준으로 삼는다.
183
210
 
184
211
  | 문서 | 담는 것 |
185
212
  | --- | --- |
@@ -187,8 +214,8 @@ src/
187
214
  | [docs/flow.md](docs/flow.md) | 사용자 흐름 |
188
215
  | [docs/code-architecture.md](docs/code-architecture.md) | 디렉터리 트리, 레이어, 경계 |
189
216
  | [docs/data-schema.md](docs/data-schema.md) | 자격증명과 캐시 스키마 |
190
- | [docs/adr/INDEX.md](docs/adr/INDEX.md) | 기술 의사결정 기록 (33건) |
191
- | [docs/pitfalls/INDEX.md](docs/pitfalls/INDEX.md) | 반복해서 발견된 회피 패턴 (108건) |
217
+ | [docs/adr/INDEX.md](docs/adr/INDEX.md) | 기술 의사결정 기록 |
218
+ | [docs/pitfalls/INDEX.md](docs/pitfalls/INDEX.md) | 반복해서 발견된 회피 패턴 |
192
219
 
193
220
  ## 기여하기
194
221
 
@@ -225,7 +252,7 @@ HTTP 호출은 `ky` 만 쓰고, 사용자 오류는 `NhnCloudCliError` 와 `src/
225
252
  데이터는 stdout, 진행 상황·경고·오류는 stderr 로 분리한다.
226
253
 
227
254
  NHN Cloud API 가 문서와 다르거나 직관에 반하면 [docs/adr/](docs/adr/) 에 기록한다.
228
- 엔드포인트 버전 이중 prefix 나 200 응답 속 `isSuccessful: false` 처럼, 모르고 접근하면 다시 막히는 것들이 이미 27건 쌓여 있다.
255
+ 엔드포인트 버전 이중 prefix 나 200 응답 속 `isSuccessful: false`처럼 직관에 반하는 동작은 관련 ADR과 반복 함정 문서에서 확인한다.
229
256
 
230
257
  ### PR 을 낼 때
231
258