纯标准库实现,对齐 PRD 5.6「⑥ 部署底座」(不真执行 k8s/helm,模拟编排): - deploy_plan.py:DeployStep(4 类:pre_check/deploy/health_check/post_check) + DeployPlan(顺序约束自动校验,default_helm_release 默认 4 步计划)+ DeployOrchestrator(按序执行,必需步骤失败即中止并标记 needs_rollback, deploy/health_check 为回滚检查点,pre_check 失败无需回滚)+ HealthCheckContract(对齐 deploy/k8s/healthz 99.8% 目标)。 - rollback.py:RollbackPoint(部署前快照,values_hash SHA1 检测漂移)+ RollbackManager(快照栈 + rollback_to_latest/rollback(n),失败压回栈顶 保持一致性,FIFO 淘汰,支持回滚后健康检查)+ RollbackResult(4 状态)。 - tests:30 用例覆盖计划构造/顺序约束、全成功/各类失败、回滚检查点判定、 action 异常、dry_run、空计划、快照压栈/FIFO、回滚成功/失败/多版本/空栈/ 异常、健康检查契约、values 漂移、报告序列化。 - _sanity_check.py:冒烟验证快照→部署成功→部署失败→回滚全流程。
43 lines
1.0 KiB
Python
43 lines
1.0 KiB
Python
# -*- coding: utf-8 -*-
|
||
"""一键部署编排 + 回滚引擎包(Issue #60 / PRD 5.6「⑥ 部署底座」)。
|
||
|
||
把部署与回滚落为**可测试的纯标准库编排引擎**——不真执行 k8s/helm,但模拟
|
||
完整编排序列(pre_check → deploy → health_check → post_check)+ 部署前快照
|
||
+ 失败回滚。零运行时依赖,与 iAOP 部署底座一致。
|
||
"""
|
||
from .deploy_plan import (
|
||
DeployOrchestrator,
|
||
DeployOutcome,
|
||
DeployPlan,
|
||
DeployReport,
|
||
DeployStep,
|
||
DeployStepKind,
|
||
DeployStepResult,
|
||
DeployStatus,
|
||
HealthCheckContract,
|
||
)
|
||
from .rollback import (
|
||
RollbackManager,
|
||
RollbackPoint,
|
||
RollbackResult,
|
||
RollbackStatus,
|
||
)
|
||
|
||
__all__ = [
|
||
# deploy_plan
|
||
"DeployPlan",
|
||
"DeployStep",
|
||
"DeployStepKind",
|
||
"DeployStepResult",
|
||
"DeployStatus",
|
||
"DeployOutcome",
|
||
"DeployReport",
|
||
"DeployOrchestrator",
|
||
"HealthCheckContract",
|
||
# rollback
|
||
"RollbackPoint",
|
||
"RollbackManager",
|
||
"RollbackResult",
|
||
"RollbackStatus",
|
||
]
|