mirror of
https://github.com/adnanh/webhook.git
synced 2026-07-21 17:29:49 +00:00
160 lines
4.7 KiB
Text
160 lines
4.7 KiB
Text
# Webhook 配置文件
|
||
# 用法: webhook -c /etc/webhook/webhook.yaml
|
||
#
|
||
# 支持所有命令行参数。
|
||
# 列表类参数(hooks、header)使用 YAML 数组语法。
|
||
# 布尔类参数使用 true/false。
|
||
# 命令行参数优先级高于本配置文件。
|
||
|
||
# ============================================================
|
||
# 网络设置
|
||
# ============================================================
|
||
|
||
# 监听地址,默认 0.0.0.0(监听所有网卡)
|
||
ip: 0.0.0.0
|
||
|
||
# 监听端口,默认 9000
|
||
port: 1987
|
||
|
||
# URL 前缀,最终 hook 地址为 http://host:port/PREFIX/hook-id
|
||
# 默认值为 "hooks"
|
||
urlprefix: wh
|
||
|
||
# 限制允许的 HTTP 方法,多个方法用逗号分隔(如 "POST,PUT")
|
||
# 留空表示允许所有方法
|
||
# http-methods: "POST"
|
||
|
||
# ============================================================
|
||
# Hook 定义文件
|
||
# ============================================================
|
||
|
||
# hook 定义文件路径,支持 JSON 和 YAML 格式
|
||
# 可指定多个文件,每个文件中的 hook id 不能重复
|
||
hooks:
|
||
- /etc/webhook/admin.yaml
|
||
- /etc/webhook/hooks.yaml
|
||
|
||
# ============================================================
|
||
# 运行行为
|
||
# ============================================================
|
||
|
||
# 当无法加载任何 hook 时不要 panic 退出(需配合非 verbose 模式)
|
||
# 默认 false
|
||
nopanic: true
|
||
|
||
# 监视 hook 文件变化,自动热重载
|
||
# 默认 false
|
||
hotreload: true
|
||
|
||
# 将 hook 文件作为 Go template 解析
|
||
# 默认 false
|
||
# template: false
|
||
|
||
# multipart 表单解析时的最大内存(字节),超出部分写入磁盘临时文件
|
||
# 默认 1048576 (1MB)
|
||
# max-multipart-mem: 1048576
|
||
|
||
# ============================================================
|
||
# 日志设置
|
||
# ============================================================
|
||
|
||
# 启用详细日志输出
|
||
# 默认 false
|
||
# verbose: true
|
||
|
||
# 启用调试输出(会打印完整的请求/响应内容,隐含 verbose=true)
|
||
# 默认 false
|
||
# debug: false
|
||
|
||
# 日志输出到文件(设置后隐含 verbose=true)
|
||
# 留空表示输出到 stdout
|
||
# logfile: /var/log/webhook.log
|
||
|
||
# ============================================================
|
||
# 自定义响应头
|
||
# ============================================================
|
||
|
||
# 所有 hook 响应都会附带这些 header,格式为 "Name=Value"
|
||
# header:
|
||
# - "X-Custom-Header=value"
|
||
# - "Access-Control-Allow-Origin=*"
|
||
|
||
# ============================================================
|
||
# Request ID
|
||
# ============================================================
|
||
|
||
# 使用客户端传入的 X-Request-Id 头作为请求 ID(用于日志追踪)
|
||
# 默认 false
|
||
# x-request-id: false
|
||
|
||
# 截断 X-Request-Id 的最大长度,0 表示不限制
|
||
# x-request-id-limit: 0
|
||
|
||
# ============================================================
|
||
# TLS / HTTPS 设置
|
||
# ============================================================
|
||
|
||
# 启用 HTTPS 模式
|
||
# 默认 false
|
||
# secure: false
|
||
|
||
# TLS 证书文件路径
|
||
# cert: /etc/webhook/cert.pem
|
||
|
||
# TLS 私钥文件路径
|
||
# key: /etc/webhook/key.pem
|
||
|
||
# TLS 最低版本,可选 "1.0", "1.1", "1.2", "1.3"
|
||
# 默认 "1.2"
|
||
# tls-min-version: "1.2"
|
||
|
||
# TLS 加密套件,逗号分隔。留空使用 Go 默认值
|
||
# 可通过 webhook --list-cipher-suites 查看可用列表
|
||
# cipher-suites: ""
|
||
|
||
# ============================================================
|
||
# Admin 管理界面
|
||
# ============================================================
|
||
|
||
# 启用 Admin UI 和 API,用于在线管理 hooks
|
||
# 默认 false
|
||
# admin: false
|
||
|
||
# Admin 界面的 URL 前缀,最终地址为 http://host:port/PREFIX/
|
||
# 默认 "admin"
|
||
# admin-path: admin
|
||
|
||
# Admin 登录使用的 TOTP 密钥(Base32 编码)
|
||
# 可用 Google Authenticator 等 APP 扫码登录
|
||
# admin-totp-secret: ""
|
||
|
||
# 用于签发 Admin JWT 会话令牌的密钥
|
||
# admin-jwt-secret: ""
|
||
|
||
# Admin JWT 会话有效期,支持 Go duration 格式(如 12h、30m、720h)
|
||
# 默认 "12h"
|
||
# admin-session-ttl: "12h"
|
||
|
||
# ============================================================
|
||
# Unix Socket(仅 Linux/macOS)
|
||
# ============================================================
|
||
|
||
# 使用 Unix socket 代替 IP:Port 监听
|
||
# 设置后 ip 和 port 选项将被忽略
|
||
# socket: /tmp/webhook.sock
|
||
|
||
# ============================================================
|
||
# 权限降级(仅 Linux/macOS)
|
||
# ============================================================
|
||
|
||
# 打开监听端口后切换到指定的用户/组 ID 运行
|
||
# setuid 和 setgid 必须同时设置,不能与 socket 同时使用
|
||
# setuid: 1000
|
||
# setgid: 1000
|
||
|
||
# ============================================================
|
||
# PID 文件
|
||
# ============================================================
|
||
|
||
# 创建 PID 文件,用于进程管理
|
||
# pidfile: /var/run/webhook.pid
|