CLI Contract: 配置与骨架
Command Overview
Flags
| Flag |
Type |
Default |
Description |
Behavior |
--config, -c |
string |
./config.toml |
指定配置文件路径;优先级高于 ANY_HUB_CONFIG |
解析后记录在日志字段 configPath,路径不存在则退出并提示 |
--check-config |
bool |
false |
启用只校验模式,不启动 HTTP 服务 |
运行完整加载+校验链路;成功退出码 0,失败非 0 |
--version |
bool |
false |
输出版本信息并退出 |
打印语义化版本(含 commit/hash),忽略其他标志 |
Exit Codes
| Code |
Meaning |
| 0 |
操作成功(验证通过或正常退出) |
| 1 |
配置解析/校验失败 |
| 2 |
CLI 参数错误(未知标志、冲突) |
Logging Guarantees
- 每条日志包含:
timestamp, level, action (check_config, startup, version), configPath, result, hub(若适用), domain(若适用).
- 当写文件失败时会降级到 stdout,并再记录一条
action=logger_fallback 的警告。
Sample Interactions
any-hub --check-config --config /etc/any-hub.toml
- 校验文件,通过则输出
configuration_valid,否则列出字段错误。
any-hub --version
- 输出
any-hub version 0.1.0 (commit abc1234) 并退出。
ANY_HUB_CONFIG=/etc/any-hub.toml any-hub
- 若未显式传
--config,程序读取环境变量路径并记录来源。