rpki/scripts/soak/portable-soak.env.example

127 lines
5.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# portable soak 运行配置。
# 复制为 .env 后可以在远端直接调整;所有路径默认相对 package 根目录。
# 最大运行轮次。重复执行 run_soak.sh 时会从已有最后一轮之后继续编号。
# 正整数表示固定运行轮次;负数(例如 -1表示持续运行不自动停止0 非法。
MAX_RUNS=3
# 两轮之间等待秒数。做连续无等待验收时设置为 0。
INTERVAL_SECS=0
# 连续运行的时间预算单位秒。0 表示不启用;启用后会在每轮结束时检查并自然停止。
# 24 小时稳定性测试设置为 86400。
STOP_AFTER_SECS=0
# 要运行的 RIR 列表,逗号分隔。
# 合法值只有afrinic, apnic, arin, lacnic, ripe。
# 示例RIRS=apnic,arin 或 RIRS=afrinic,apnic,arin,lacnic,ripe
RIRS=afrinic,apnic,arin,lacnic,ripe
# 运行根目录。默认使用 package 根目录;如需把产物写到独立数据盘,可改成绝对路径。
RUN_ROOT="${PACKAGE_ROOT}"
# 保留最近多少轮 run 目录。24 小时稳定性测试默认使用最近 100 轮。
RETAIN_RUNS=10
# 每轮完成并复制出 run 产物后,是否清理 tmp/daemon-run_xxxx避免 tmp 与 runs 双份占用。
CLEAN_TMP_AFTER_RUN=0
# 是否输出 compact report JSON。1 表示启用0 表示关闭。
OUTPUT_COMPACT_REPORT=1
# 是否复用持久 rsync mirror。1 表示跨 run 复用;失败隔离数据库时也不会清理 mirror。
ALLOW_RSYNC_MIRROR_REUSE=1
# rsync 同步/去重 scope。
# module-root 表示扩大实际拉取到 rsync module 根目录,并在同一 module 下复用成功拉取结果;
# host 表示按 rsync host 做失败短路,但实际拉取仍限定当前发布点,避免同一不可达 host 重复等待超时;
# publication-point 表示只按当前发布点去重。
RSYNC_SCOPE=module-root
# 前一轮失败或不完整时,是否隔离旧数据库和运行态目录后强制下一轮 snapshot。
# 建议保持 1设置为 0 时,检测到前一轮失败会直接停止。
FAILURE_SNAPSHOT_RESET=1
# 每隔多少轮执行一次 db_stats --exact。设置为空或 0 表示关闭 exact 统计。
DB_STATS_EXACT_EVERY=3
# 是否开启 ours RP progress log。1 表示开启。
RPKI_PROGRESS_LOG=1
# progress log 慢步骤阈值,单位秒。
RPKI_PROGRESS_SLOW_SECS=10
# phase2 stage fresh 慢发布点阈值,单位毫秒。
RPKI_PROGRESS_STAGE_FRESH_SLOW_MS=1000
# phase2 PP 控制面慢发布点阈值,单位毫秒。
RPKI_PROGRESS_PP_CONTROL_SLOW_MS=100
# 是否在运行前尝试禁用 rpki-client timer 并杀掉竞争 RP 进程。
DISABLE_COMPETING_RPS=1
# 传给 rpki 子进程的额外参数。多个参数用空格分隔。
# 示例RPKI_EXTRA_ARGS="--enable-roa-validation-cache"
# 实验性 transport 预热RPKI_EXTRA_ARGS="--enable-transport-request-prefetch --enable-roa-validation-cache"
RPKI_EXTRA_ARGS=""
# 是否为每轮输出 timing profile 到 runs/run_xxxx/analyze/timing.json。
# 性能 profile 或打点验证时设置为 1普通 soak 建议保持 0避免额外开销。
RPKI_ANALYZE=0
# 长期稳定性测试 runner 配置。运行命令:./run_24h_soak_with_metrics.sh
# 总运行时长单位秒0 表示持续运行不自动停止;如需 24 小时自然停止可设置为 86400。
SOAK_DURATION_SECS=0
# 小时报告间隔,单位秒。正式运行使用 3600短周期验证可设置为 60。
HOURLY_REPORT_INTERVAL_SECS=3600
# 24 小时 runner 覆盖 run 保留数量;按 #062 要求默认保留最近 100 个 run。
SOAK_RETAIN_RUNS=100
# 是否启动 rpki_artifact_metrics sidecar。
START_METRICS_SERVICE=1
# 24 小时 runner 退出时是否停止 metrics sidecar。默认保留方便 Prometheus/Grafana 继续展示最后状态。
STOP_METRICS_SERVICE_ON_EXIT=0
# metrics sidecar 监听地址。Prometheus 容器通过 host.docker.internal 访问。
METRICS_LISTEN=0.0.0.0:9556
METRICS_POLL_SECS=5
METRICS_INSTANCE=remote231-24h
# 是否启动 package 内置 Prometheus/Grafana monitor stack。
START_MONITOR_STACK=1
# 24 小时 runner 退出时是否停止 monitor stack。默认保留方便继续查看最后状态数据 volume 会保留。
STOP_MONITOR_STACK_ON_EXIT=0
# Prometheus/Grafana 监控数据保留周期。
PROMETHEUS_RETENTION=7d
# 是否发送每小时 Feishu 摘要。需要配置 FEISHU_WEBHOOK_SCRIPT 或 FEISHU_WEBHOOK_URL。
SEND_FEISHU=1
# 只打印 Feishu 消息,不真实发送。联调时可设置为 1。
FEISHU_DRY_RUN=0
# 可选:复用 feishu-webhook skill 的发送脚本路径。
# 示例FEISHU_WEBHOOK_SCRIPT=/home/yuyr/.codex/skills/user/feishu-webhook/scripts/send_feishu_text.py
FEISHU_WEBHOOK_SCRIPT=
# 小时报告异常判定阈值。
WALL_WARN_SECS=140
VRP_MIN=900000
VAPS_MIN=1000
PP_MIN=50000
# warning 只汇总展示;默认不作为 incident 条件。设置为非负数才启用阈值。
WARNING_MAX=-1
# 可选覆盖路径;默认由 package 自动推导。
# BIN_DIR="${PACKAGE_ROOT}/bin"
# FIXTURE_DIR="${PACKAGE_ROOT}/fixtures"
# DB_DIR="${RUN_ROOT}/state/db"
# META_DIR="${RUN_ROOT}/state/meta"
# TMP_DIR="${RUN_ROOT}/tmp"
# RSYNC_MIRROR_ROOT="${RUN_ROOT}/state/rsync-mirror"