@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 +35 -8
- package/dist/index.js +716 -485
- package/package.json +1 -1
- package/skills/nhncloud-cli/SKILL.md +1 -1
- package/skills/nhncloud-cli/references/common.md +7 -2
- package/skills/nhncloud-cli/references/deploy.md +8 -5
- package/skills/nhncloud-cli/references/iaas.md +2 -0
- package/skills/nhncloud-cli/references/logncrash.md +52 -23
- package/skills/nhncloud-cli/references/ncr.md +1 -0
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` 로 본다.
|
|
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
|
-
|
|
182
|
-
`services
|
|
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) | 기술 의사결정 기록
|
|
191
|
-
| [docs/pitfalls/INDEX.md](docs/pitfalls/INDEX.md) | 반복해서 발견된 회피 패턴
|
|
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
|
|
255
|
+
엔드포인트 버전 이중 prefix 나 200 응답 속 `isSuccessful: false`처럼 직관에 반하는 동작은 관련 ADR과 반복 함정 문서에서 확인한다.
|
|
229
256
|
|
|
230
257
|
### PR 을 낼 때
|
|
231
258
|
|