用途:confkey 用于处理 agent-data-plane(ADP)与 Datadog Agent 共同或各自使用的单个配置键(ConfKey),围绕配置键的分类与一致性开展工作。
主要能力:以 schema_overlay.yaml 覆盖文件为唯一事实来源,该文件将核心 schema(根为 core/core_schema.yaml,子模块文件经 $ref 引入)中的每个键划入 inventory 或 excluded。inventory 中的条目带有 support 标记,取值 full(ADP 读取且行为与 Agent 一致)、partial(ADP 读取但行为有差异)、none(属于 ADP 领域但未实现)、unknown(证据不足);还可标注 severity 影响等级、planned 与 issue 跟踪信息。excluded 表示键完全不属于 ADP 领域,需要简短原因。支持 audit(对照参考实现分析一个或多个 ConfKey 的正确分类)和 create-issue(为 ConfKey 起草 GitHub issue 文本)两种模式;无模式、help 或 --help 时读取并原样打印 README,随后停止。
使用方式:先用 find lib -name schema_overlay.yaml 定位覆盖文件。解析两个仓库路径:{{saluki}} 为本仓库根目录,{{datadog-agent}} 依次检查 {{saluki}}/../datadog-agent 与 ~/dd/datadog-agent,找不到时询问用户自定义路径,仍不可用则报告并停止。展示两个仓库的路径、HEAD 提交(消息与分支)和 dirty 状态表格,并用 AskUserQuestion 确认后再继续。
适用场景:配置键分类审查、ADP 与 Agent 行为一致性分析、缺口记录与 issue 撰写。
限制:dogstatsd.md 及生成的配置注册表文件是输出而非源文件,不可直接编辑,应先修正 schema_overlay.yaml 中的分类再重建;不得将已有覆盖条目传给干净子代理,以免污染分析结果;不得跳过用户确认环节;未经用户明确确认不得把键归为 excluded,不确定时暂放 inventory 的 unknown。ADP 专有键位于 config-overlay-model/src/saluki_keys.rs,不在覆盖文件中。可在 lib/datadog-agent/config/ 与 lib/saluki-components/ 查看 Rust 实现。其他收费、平台等细节暂未提供。