SuperAPI AI 工具集

planetscale-webhook-automation-recommendations

部署与运维

查看项目

更新于 10-25 10:40

技能介绍

用途 该技能用于为 PlanetScale 的 Webhook 通知与自动化提供审查和推荐。它评估告警、异常、Schema 建议、Deploy Request 以及代理工作流相关事件,帮助设计既能让人类及时获知、又能安全触发自动化的 Webhook 方案。技能明确要求:未经批准不得创建或更新 Webhook。

设计原则 Webhook 可以触发自动化,但自动化默认只能产出建议、Issue、分支或 Pull Request;未经明确人工批准,不得直接修改生产数据库或生产应用行为。代理产出不得自行跨越评审关口,生产部署、合并 PR、强制执行 Traffic Control、轮换凭据和网络变更都需要人工操作,或依据既有的自主执行模式授权。

评估事件 通用与 Postgres 事件包括:branch.anomaly、branch.out_of_memory、branch.primary_promoted、branch.ready、branch.sleeping、branch.start_maintenance、cluster.storage、database.access_request、branch.schema_recommendation、webhook.test。Vitess 部署生命周期事件包括:deploy_request.opened、queued、in_progress、pending_cutover、schema_applied、errored、reverted、closed,以及 keyspace.storage。

推荐路由 人类告警发送到事件或运维渠道:branch.anomaly、branch.out_of_memory、branch.primary_promoted、branch.start_maintenance、cluster.storage、keyspace.storage、deploy_request.errored、deploy_request.reverted。工程通知发送到 Slack、Linear/Jira 或部署渠道:deploy_request 生命周期事件及 branch.schema_recommendation。代理接收队列接收 branch.anomaly、branch.schema_recommendation、deploy_request.errored、cluster.storage、keyspace.storage。

接收端要求 推荐仅使用满足以下条件的接收端:HTTPS 端点;快速返回 2xx 并将耗时工作异步排队;不依赖跟随重定向;使用 PlanetScale Webhook 签名头和密钥验证签名;按事件 ID 或时间戳/资源元组实现幂等;具备死信队列或可安全重试的日志;有可读审计轨迹、明确负责人与升级路径、密钥轮换流程。

推荐自动化流程 异常到 PR 流程:接收 branch.anomaly → 验证签名 → 排队 → 获取异常详情和 Insights 查询模式 → 通过 SQLCommenter 标签和仓库搜索定位代码 → 分类为 Schema、代码、Traffic Control 或未知 → 生成报告和可选 PR → 请人工批准影响数据库的工作。

Schema 建议到分支/部署流程:Vitess 下接收 branch.schema_recommendation,获取详情,将 DDL 应用到开发分支,打开带指纹、指标和预期效果的 PR,并打开 Deploy Request(DR 与 PR 共同构成可评审单元,打开本身无需批准);部署需人工批准或既有授权。Postgres 下将 DDL 转为应用迁移,在非生产分支测试并记录结果,开 PR,合并后经部署流水线应用或显式批准。

Vitess Deploy Request 生命周期流程:打开时通知,校验负责人和关联应用 PR;排队或进行中时告警;出错或回滚时强告警;等待切换时通知并要求负责人确认;记录 Schema 已应用并与应用部署关联。

应阻止的反模式 不要推荐:Webhook 直接运行生产 DDL 绕过 PR/Deploy Request 流程;将 Schema 建议直接应用到生产且无可评审产物;直接强制执行 Traffic Control;直接更改 IP 限制;直接轮换凭据;向公共 Slack 渠道发送密钥或含字面量的原始 SQL;接收端忽略签名验证;接收端在返回 2xx 前执行长时间工作。

输出 返回现有 Webhook 清单、缺失的推荐订阅、目标质量审查、签名验证状态、自动化机会、不安全自动化风险、需审批的 Webhook 变更建议,并以“未创建、更新或删除任何 Webhook 或自动化端点”结束。