@gbits-jszx/dg-cli 0.0.1

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.
Files changed (3) hide show
  1. package/README.md +61 -0
  2. package/bin/dg-cli.js +30 -0
  3. package/package.json +33 -0
package/README.md ADDED
@@ -0,0 +1,61 @@
1
+ # @gbits-jszx/dg-cli
2
+
3
+ DataGateway CLI — 部署 / 运维 / 配置一站式工具,Go 二进制经由 npx 分发。
4
+
5
+ ## 安装与使用
6
+
7
+ ```bash
8
+ # 一次性运行(推荐)
9
+ npx -y @gbits-jszx/dg-cli@latest doctor
10
+
11
+ # 全局安装
12
+ npm i -g @gbits-jszx/dg-cli
13
+ dg-cli doctor
14
+
15
+ # 项目本地依赖
16
+ npm i -D @gbits-jszx/dg-cli
17
+ npx dg-cli doctor
18
+ ```
19
+
20
+ ## 平台支持
21
+
22
+ | OS | Arch |
23
+ |---|---|
24
+ | Linux | x64 / arm64 |
25
+ | macOS | Intel / Apple Silicon |
26
+ | Windows | x64 |
27
+
28
+ > npm 装包时根据 `process.platform/arch` 自动只下载当前平台的二进制(约 8MB),其它子包跳过。
29
+
30
+ ## 主要命令
31
+
32
+ - `dg-cli doctor`:环境自检
33
+ - `dg-cli config init|validate|path`:配置文件管理(schema 驱动)
34
+ - `dg-cli install|upgrade|rollback`:VM 部署
35
+ - `dg-cli docker build|push`:镜像构建发布
36
+ - `dg-cli system rotate-secret`:业务系统密钥轮换
37
+
38
+ 完整文档:[DataGateway 项目仓库](https://m68gitlab.g-bits.com/jszx-infra/datagateway)。
39
+
40
+ ## 常见问题
41
+
42
+ **Q1:装完执行报「不支持的平台」**
43
+ 当前平台未被收录(仅支持 linux x64/arm64、macOS Intel/Apple Silicon、Windows x64)。请联系维护者补齐 `@gbits-jszx/dg-cli-<platform>-<arch>` 子包,或通过仓库内 GitLab 渠道安装本地构建版本。
44
+
45
+ **Q2:`npx` 报错「需要登录 https://registry.npmjs.org」**
46
+ 本机 `~/.npmrc` 把 registry 切到了私有镜像(如 npmmirror)。临时切回:
47
+
48
+ ```bash
49
+ npm config set registry https://registry.npmjs.org/
50
+ npx -y @gbits-jszx/dg-cli@latest doctor
51
+ ```
52
+
53
+ **Q3:与 `configs/config.yaml`、`.env` 文件的优先级**
54
+ bootstrap 把所有环境变量与当前工作目录原样透传给 Go 二进制,配置加载链与直接跑 `dg-cli` 完全一致:CLI flag > env (`DG_*`) > `configs/config.yaml` > 默认值。
55
+
56
+ **Q4:内网 / 无公网出口怎么办**
57
+ 走 GitLab Generic Package 渠道(详见 `docs/dev-guide/OPS-部署指南.md` 第 4 步「离线兜底」)。
58
+
59
+ ## License
60
+
61
+ MIT
package/bin/dg-cli.js ADDED
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env node
2
+ // dg-cli npm bootstrap: 按 process.platform/arch 解析对应平台子包二进制并透传调用。
3
+ // 设计原则:stdio inherit + 默认 cwd + 默认 env,确保子进程感知到的运行环境与直接跑二进制完全一致。
4
+
5
+ "use strict";
6
+ const { execFileSync } = require("child_process");
7
+
8
+ const platform = process.platform; // 'linux' / 'darwin' / 'win32'
9
+ const arch = process.arch; // 'x64' / 'arm64'
10
+ const pkg = `@gbits-jszx/dg-cli-${platform}-${arch}`;
11
+ const exe = platform === "win32" ? "dg-cli.exe" : "dg-cli";
12
+
13
+ let binPath;
14
+ try {
15
+ binPath = require.resolve(`${pkg}/bin/${exe}`);
16
+ } catch (e) {
17
+ console.error(`[dg-cli] 不支持的平台: ${platform}-${arch}`);
18
+ console.error(`[dg-cli] 请安装对应子包:${pkg}`);
19
+ console.error(`[dg-cli] 或联系维护者补齐该平台。`);
20
+ process.exit(2);
21
+ }
22
+
23
+ try {
24
+ execFileSync(binPath, process.argv.slice(2), {
25
+ stdio: "inherit",
26
+ env: process.env,
27
+ });
28
+ } catch (err) {
29
+ process.exit(typeof err.status === "number" ? err.status : 1);
30
+ }
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@gbits-jszx/dg-cli",
3
+ "version": "0.0.1",
4
+ "description": "DataGateway CLI — 部署/运维/配置一站式(Go binary,npx 分发)",
5
+ "bin": {
6
+ "dg-cli": "bin/dg-cli.js"
7
+ },
8
+ "files": [
9
+ "bin/",
10
+ "README.md"
11
+ ],
12
+ "engines": {
13
+ "node": ">=14"
14
+ },
15
+ "optionalDependencies": {
16
+ "@gbits-jszx/dg-cli-linux-x64": "0.0.1",
17
+ "@gbits-jszx/dg-cli-linux-arm64": "0.0.1",
18
+ "@gbits-jszx/dg-cli-darwin-x64": "0.0.1",
19
+ "@gbits-jszx/dg-cli-darwin-arm64": "0.0.1",
20
+ "@gbits-jszx/dg-cli-win32-x64": "0.0.1"
21
+ },
22
+ "license": "MIT",
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git+https://m68gitlab.g-bits.com/jszx-infra/datagateway.git"
26
+ },
27
+ "keywords": [
28
+ "datagateway",
29
+ "cli",
30
+ "mcp",
31
+ "gateway"
32
+ ]
33
+ }