codex/kestra-v505600,本机健康端口仅绑定
127.0.0.1:15600;不与 Flask 请求进程共享连接池。dataops-runner,不持有业务数据库账号、密码、
密文、连接串或 Runner 签名密钥。current_app 或请求上下文。pool_size=1、max_overflow=1、
每 Worker 最多 4 个空闲池,理论业务库连接上限为 16,配置预算为 32。task_uid、DataFlow UID、流程版本、
节点 ID/类型/摘要、用途、关联 ID 和一次性 jti,不携带数据源凭据。runner_task_executions 持久账本,token_jti 为主键、
task_uid 唯一,跨 Worker 原子拒绝重复领取,并记录数据源 UID、幂等键、
状态和 commit_outcome。unknown,不会被转换为普通可重试失败。测试均先确认缺失实现、安全约束或运行契约导致失败,再实现转绿。
定向集合覆盖:
tests/runnertests/core/data_sourcetests/core/orchestration/test_kestra_compiler.pytests/test_datasource_api_security.pytests/test_datasource_pool_diagnostics.pytests/test_database_migrations.py覆盖令牌过期/篡改/节点绑定、重复领取、账本不可用失败关闭、SQL 只读边界、写授权、 未知提交结果、Python 时间/网络限制、HTTP 白名单、显式运行时、连接预算、Compose 隔离和数据库迁移。
最终 L1/L2 定向回归为 89 passed, 1 skipped, 1 warning。跳过项是需要临时
管理员数据库 URL 的通用空库迁移测试;V52 迁移已在当前隔离 PostgreSQL 中单独
完成升级、降级、再次升级和重复升级。警告来自本机 Python/LibreSSL 组合。
tests/integration/test_runner_datasource_pool.py 对真实 PostgreSQL/MySQL 完成
受治理查询;相同任务令牌第二次提交返回 409,账本只记录两次成功执行。tests/integration/test_datasource_pool_failures.py 停止 MySQL 后确认该数据源
单独熔断,外部 PostgreSQL 和平台控制数据库仍可用,恢复后连接池正常重建。tests/integration/test_kestra_runner_execution.py 完成真实链路:
Kestra 执行输入携带节点令牌,HTTP Task 调用 Runner,Runner 通过资源池读取
PostgreSQL,Kestra 执行最终为 SUCCESS。dataops-runner,Compose
只注册 runner。补充网络别名并增加自动化契约后,DNS 健康检查和完整执行转绿。20260719_70 (head)。SELECT 1 成功;重新启动 Runner 后恢复健康。最终 L3 定向回归为 3 passed, 1 warning。警告同样来自本机
Python/LibreSSL 组合。
runner_task_executions 只保存受限执行元数据,不保存业务结果或凭据。V52 的独立 Runner、受治理执行、真实数据源池、重复提交防护、故障隔离和 Kestra 端到端调用已通过,当前允许进入 V53。V53 应实现 MCP Gateway、策略审批、 受信任令牌签发和全链路审计,保持“AI 可规划但不能自行扩大写权限”的边界。