Documentation
¶
Overview ¶
internal/cli/config_set.go
config set 把「写盘 + 自启同步 + 运行状态验证 + 动作建议」整体委托给 configapp.Application.ApplyConfig。CLI 层只负责:
- 读取用户层 snapshot(raw bytes + Config 同源),取 revision;
- 应用 dotted-key 草稿修改(内存,config.Set);
- 调 ApplyConfig(control lock 内原子编排:revision 冲突保护、写盘、自启同步、 stale metadata 清理、动作建议生成);
- 按 stdout/stderr 合同输出:稳定成功行写 stdout,动作建议/说明/warning 写 stderr。
不在 CLI 复制 effect 判断或自启判断(全交给 ApplyConfig)。
internal/cli/config_tui.go
config tui 把保存依赖收敛为单一 configapp.Application.ApplyConfig 入口。 CLI 层只负责:
- 装配 Application(与 config set 同一工厂);
- 用 runtimecfg.LoadUserConfigSnapshot 做一次读取,同时初始化 TUI 的 draft(用户层)、diskRevision(expectedRevision 基准);
- 用 loadConfig() 加载 display(运行时层,显示参考);
- 把 ApplyConfig 包装成 tui.ApplyFunc(固定 confirmDataDirMigration=false, data_dir 在 TUI 只读)。
不再注入独立的 write/sync/checker 回调;自启同步、revision 冲突保护、动作建议 全部由 ApplyConfig 在 control lock 内原子编排。TUI 不直接 import control/service (通过 ApplyFunc 解耦)。
internal/cli/restart.go
internal/cli/run_internal.go
internal/cli/start.go
internal/cli/status.go
internal/cli/stop.go
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExecuteWithConsole ¶ added in v0.1.1
ExecuteWithConsole 是 main 的执行骨架:先建立控制台 UTF-8 会话再执行命令, 成功与错误两条路径都恰好恢复一次原代码页(进程退出路径不能依赖 defer)。 错误文本已由 cobra 单次输出("Error: …"),此处只把错误映射为退出码, 不重复打印。
func InitConsole ¶ added in v0.1.1
func InitConsole() func()
InitConsole 在非 Windows 平台无控制台代码页概念,返回 nil 表示无需恢复。
func NewRootCmd ¶
NewRootCmd 构造用户可见的根命令。
仅在此处调用一次 buildinfo.Current(),随后由内部 newRootCmd 同时配置根命令的 Version/template 与 version 子命令,保证两者 使用同一份构建信息快照。
Types ¶
type UpdateService ¶
type UpdateService interface {
Check(ctx context.Context, opts update.CheckOptions) (update.CheckResult, error)
Apply(ctx context.Context, opts update.ApplyOptions) (update.ApplyResult, error)
}
UpdateService 是 update 命令对 update.Service 的窄依赖,仅暴露 Check 与 Apply 两个方法。 用接口而非 *update.Service,使 CLI 测试可注入 stub 覆盖所有结果合同, 不触及真实网络或文件系统;生产实现由默认 updateServiceFactory 装配真实 *update.Service。
Source Files
¶
- client_utils.go
- collect.go
- collect_all.go
- collect_retry.go
- collect_router.go
- config_cmd.go
- config_get.go
- config_set.go
- config_show.go
- config_tui.go
- console_other.go
- date.go
- errors.go
- execute.go
- init.go
- query.go
- restart.go
- root.go
- run_internal.go
- runtime.go
- start.go
- status.go
- stop.go
- update.go
- update_helper.go
- update_helper_posix.go
- update_posix.go
- version.go