15 Commits

Author SHA1 Message Date
Hungerdream 0ca3af39dc feat(server): 支持 MySQL 一主多从拓扑调度与复制健康检查
- DeliveryTask/DeploymentResult 新增 target_hosts/target_host_ips 完整节点列表(主节点在前)
- 交付输入支持 replica_count(1-7)与有序 target_hosts,按节点数放大配额/预留/资源用量
- 端口占用与已占主机解析改为逗号列表,兼容存量单主机字段
- 指定主机校验池成员/重复/单机实例数,自动补齐剩余节点或延后调度
- AWX Limit 与回滚覆盖全部节点,extra_vars 下发主从主机与 IP 列表
- completeTask 全节点 TCP 探活,副本经 mysqlReplicationReady 校验复制线程状态
- awxTaskSummary 按服务类型生成摘要;go-sql-driver/mysql 提为直接依赖
2026-07-31 18:12:05 +08:00
l x 363ad5f9be fix(delivery): add PostgreSQL rollback and CloudDM isolation 2026-07-31 11:16:19 +08:00
l x 66fde73792 feat(delivery): integrate PostgreSQL delivery 2026-07-31 10:30:03 +08:00
mac 35875218c9 feat(delivery): refine base service integrations 2026-07-29 16:47:41 +08:00
mac f7be87c7d9 feat: wire delivery result and infra data backends 2026-07-28 17:56:00 +08:00
mac 897670b721 Merge remote-tracking branch 'upstream/main' into feat/base-service-delivery
# Conflicts:
#	ansible/mysql-deploy.yml
#	frontend/src/api/delivery.ts
#	frontend/src/views/service/Catalog.vue
#	server/.env.example
#	server/internal/config/config.go
#	server/internal/handler/task_log.go
#	server/internal/service/delivery.go
2026-07-28 15:08:37 +08:00
Hungerdream f0c1b38c5b feat(delivery): add automatic rollback state machine for failed deployments
Introduce a compensating workflow that launches the dedicated AWX
rollback template when a deployment cannot be started or fails midway.

- add task states: rollback_pending, rolling_back, rolled_back,
  rollback_failed, rollback_acknowledged
- add RollbackJob model to track the compensating AWX run separately
  from the deploy run, preserving both job IDs for audit
- hold resource reservations in 'rollback' status until cleanup
  succeeds so a failed cleanup cannot be masked by a later delivery
- poll rollback jobs with a 2-minute launch timeout; an unknown launch
  result surfaces as a recoverable failure instead of re-launching
- protect finished/register_failed/rolled-back tasks from rollback;
  register_failed keeps the healthy instance and its resource usage
- add DELIVERY_ROLLBACK_TEMPLATE_ID config; without it, failures are
  marked rollback_failed and require manual cleanup
- use unique pending-<task_id> placeholder for executor job IDs
2026-07-28 14:29:09 +08:00
mac e0ee36cadb feat(delivery): switch AWX delivery to callbacks 2026-07-27 15:19:18 +08:00
mac a934380c9c feat: switch base delivery to awx task logs 2026-07-23 18:36:24 +08:00
mac 8676963bac feat(delivery): add delivery data models and auto-migration
Add 8 GORM models for MySQL one-click delivery: DeploymentTarget,
ResourceQuota, DeliveryTask, ResourceReservation, ResourceUsage,
MySQLInstance, ExecutionJob, TaskEvent. Register them in AutoMigrate.

Relates-to: #97
2026-07-23 12:03:47 +08:00
mac 2db8264c8e feat(service): add deployment task integration 2026-07-21 18:26:50 +08:00
mac c324e2ec59 feat(auth): use Wayne native role APIs 2026-07-21 17:05:48 +08:00
mac d264924d1e feat: add business line permissions and Wayne namespace mapping 2026-07-17 15:02:18 +08:00
mac 6af511ed0b refactor(server): merge authserver implementation 2026-07-15 14:05:22 +08:00
wonder 1bd5921fd4 chore: 初始化项目骨架结构
- 创建前端 Vue3 项目目录结构(components、views、router、stores 等)
- 创建后端 Go 项目目录结构(cmd、internal、pkg 等分层架构)
- 创建部署配置目录(docker、k8s)
- 创建文档目录
- 添加 .gitignore 忽略规则
- 添加 Makefile 构建脚本
- 更新 README.md 项目说明文档
- 每个目录添加 .gitkeep 文件说明目录用途
2026-07-14 14:34:10 +08:00