@newbeebox/newbeebox-app-engine-cli 1.0.2 → 1.1.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
@@ -1,8 +1,8 @@
1
1
  # nae —— NewBee App Engine CLI
2
2
 
3
- 平台命令行客户端。**参数直达、默认人类可读**,加 `-o json` 即出 JSON,便于 CodeAgent 编排调用。
3
+ 平台命令行客户端。**参数直达、默认人类可读**,加 `-o json` 即出 JSON,便于脚本/管道里解析。
4
4
 
5
- > 📖 **完整文档(含 Agent 用法范例 / 调试技巧)**:<https://workshop.newbeebox.com/app_engine/documents/nae-cli/>
5
+ > 📖 **完整文档(含用法范例 / 调试技巧)**:<https://workshop.newbeebox.com/app_engine/documents/nae-cli/>
6
6
  > markdown 原文:<https://workshop.newbeebox.com/app_engine/documents/nae-cli/md/>
7
7
 
8
8
  ---
@@ -31,7 +31,7 @@ nae login
31
31
  nae login --token nae_xxxxxxxx
32
32
  ```
33
33
 
34
- CI / Agent 场景免登录,直接用环境变量(优先级高于本地配置):
34
+ CI / 脚本场景免登录,直接用环境变量(优先级高于本地配置):
35
35
 
36
36
  ```bash
37
37
  export NAE_TOKEN=nae_xxxxxxxx
@@ -49,7 +49,7 @@ nae apps
49
49
  - **stderr**:只放给人看的提示、进度、错误。
50
50
  - **退出码**:`0` 成功;`1` 业务错误;`2` 未登录/密钥失效;`3` 网络不可达。
51
51
 
52
- 所以 Agent 可以安全地 `nae apps -o json 2>/dev/null | jq '.[].AppID'`。
52
+ 所以脚本里可以安全地 `nae apps -o json 2>/dev/null | jq '.[].AppID'`。
53
53
 
54
54
  ---
55
55
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@newbeebox/newbeebox-app-engine-cli",
3
- "version": "1.0.2",
4
- "description": "NewBee App Engine 命令行客户端(nae)——参数直达、默认人类可读(加 -o json 出 JSON),便于人用与 CodeAgent 调用平台能力。",
3
+ "version": "1.1.0",
4
+ "description": "NewBee App Engine 命令行客户端(nae)——参数直达、默认人类可读(加 -o json 出 JSON),便于在终端使用与脚本/管道里解析。",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "nae": "src/index.js"
@@ -20,7 +20,6 @@
20
20
  "paas",
21
21
  "kubernetes",
22
22
  "deploy",
23
- "codeagent",
24
23
  "nae"
25
24
  ],
26
25
  "homepage": "https://workshop.newbeebox.com/app_engine/documents/nae-cli/",
package/src/config.js CHANGED
@@ -10,7 +10,7 @@ const CONFIG_DIR = join(homedir(), '.nae')
10
10
  const CONFIG_FILE = join(CONFIG_DIR, 'config.json')
11
11
 
12
12
  // load 读配置;文件不存在/损坏一律回落到默认(不抛错,让首次使用顺畅)。
13
- // 环境变量优先级最高:NAE_BASE_URL / NAE_TOKEN 覆盖文件值(CI/agent 免登录直跑)。
13
+ // 环境变量优先级最高:NAE_BASE_URL / NAE_TOKEN 覆盖文件值(CI/脚本 免登录直跑)。
14
14
  export function load() {
15
15
  let cfg = { baseUrl: DEFAULT_BASE_URL, token: '' }
16
16
  try {
package/src/index.js CHANGED
@@ -13,8 +13,8 @@ const program = new Command()
13
13
 
14
14
  program
15
15
  .name('nae')
16
- .description('NewBee App Engine CLI —— 默认人类可读,-o json 输出 JSON 供 CodeAgent 调用')
17
- .version('1.0.2')
16
+ .description('NewBee App Engine CLI —— 默认人类可读,-o json 输出 JSON 供脚本解析')
17
+ .version('1.1.0')
18
18
  .option('--base-url <url>', '覆盖平台地址(也可用环境变量 NAE_BASE_URL)')
19
19
  .option('--token <token>', '覆盖访问密钥(也可用环境变量 NAE_TOKEN)')
20
20
  .option('-o, --output <format>', '输出格式:text(默认,人类可读)| json', 'text')
@@ -176,7 +176,7 @@ program
176
176
  .option('--env <json>', '环境变量 JSON,如 \'{"KEY":"val"}\'')
177
177
  .option(
178
178
  '--config <json>',
179
- "模板应用的服务特性参数 JSON。可用字段随模板而定,运行 'nae templates' 看每个模板的 ConfigSchema(key/类型/默认值/可选项)。redis: {\"password\",\"persistence\":\"rdb|aof|none\"};milvus: {\"root_password\"}"
179
+ "模板应用的服务特性参数 JSON。可用字段随模板而定,运行 'nae templates' 看每个模板的 ConfigSchema(key/类型/默认值/可选项)。redis: {\"password\",\"persistence\":\"rdb|aof|none\"};postgres: {\"database\",\"username\",\"password\"};milvus: {\"root_password\"}"
180
180
  )
181
181
  .option('--owner <uid>', '管理员代他人创建时的归属用户 ID', (v) => parseInt(v, 10))
182
182
  .addHelpText(
@@ -193,6 +193,10 @@ program
193
193
  nae create --kind template --app-id myredis --template redis --storage 2Gi \\
194
194
  --config '{"password":"s3cret","persistence":"rdb"}'
195
195
 
196
+ # 模板应用 PostgreSQL 14:持久化 + 库名/用户名/密码
197
+ nae create --kind template --app-id mypg --template postgres --storage 5Gi \\
198
+ --config '{"database":"appdb","username":"appuser","password":"s3cret"}'
199
+
196
200
  # 模板应用 Milvus
197
201
  nae create --kind template --app-id myvec --template milvus --storage 10Gi \\
198
202
  --config '{"root_password":"s3cret"}'
@@ -247,6 +251,20 @@ program
247
251
  .description('滚动重启应用')
248
252
  .action(run(async (id) => emit(await request(cfg(), 'POST', `/apps/${id}/restart`))))
249
253
 
254
+ program
255
+ .command('reset-password <appid>')
256
+ .description('重置模板应用连接密码(不清数据;当前支持 Redis/PostgreSQL)。留空 --password 则随机生成')
257
+ .option('--password <pw>', '指定新密码(留空=平台随机生成;可打印 ASCII,1-128 位)')
258
+ .action(
259
+ run(async (id, opts) => {
260
+ emit(
261
+ await request(cfg(), 'POST', `/apps/${id}/reset-credential`, {
262
+ body: { password: opts.password ?? '' },
263
+ })
264
+ )
265
+ })
266
+ )
267
+
250
268
  program
251
269
  .command('scale <appid> <replicas>')
252
270
  .description('扩缩容到指定副本数')
package/src/output.js CHANGED
@@ -1,8 +1,8 @@
1
1
  // 输出契约:
2
- // - 默认输出「人类可读」文本到 stdout;加 `-o json`(或 `-c` 紧凑)才出 JSON,供 Agent 解析。
2
+ // - 默认输出「人类可读」文本到 stdout;加 `-o json`(或 `-c` 紧凑)才出 JSON,供脚本解析。
3
3
  // - stderr 只放「给人看的」:提示、进度、错误。
4
4
  // - 退出码:成功 0,失败非 0。
5
- // 人读默认、机读按需——人直接看懂,Agent `nae … -o json 2>/dev/null | jq …`。
5
+ // 人读默认、机读按需——人直接看懂,脚本用 `nae … -o json 2>/dev/null | jq …`。
6
6
 
7
7
  // data 把结果写到 stdout(JSON)。pretty=false 时输出紧凑单行。
8
8
  export function data(value, { pretty = true } = {}) {