rpki/scripts/cir/README.md

1.1 KiB

CIR Scripts

cir-rsync-wrapper

一个用于 CIR 黑盒 replay 的 rsync wrapper。

环境变量

  • REAL_RSYNC_BIN
    • 真实 rsync 二进制路径
    • 默认优先 /usr/bin/rsync
  • CIR_MIRROR_ROOT
    • 本地镜像树根目录
    • 当命令行中出现 rsync://... source 时必需

语义

  • 仅改写 rsync://host/path 类型参数
  • 其它参数原样透传给真实 rsync
  • 改写目标:
    • rsync://example.net/repo/a.roa
    • <CIR_MIRROR_ROOT>/example.net/repo/a.roa

兼容目标

  • Routinator --rsync-command
  • rpki-client -e rsync_prog

其它脚本

  • run_cir_replay_ours.sh
  • run_cir_replay_routinator.sh
  • run_cir_replay_rpki_client.sh
  • run_cir_replay_matrix.sh

CIR_LOCAL_LINK_MODE=1 且 wrapper 检测到 source 已经被改写为本地 mirror 路径时, wrapper 不再调用真实 rsync,而是调用这个 helper 完成:

  • hardlink 优先的本地树同步
  • 失败时回退到 copy
  • 支持 --delete

run_cir_replay_matrix.sh 会顺序执行:

  • ours
  • Routinator
  • rpki-client

并汇总生成:

  • summary.json
  • summary.md
  • detail.md