mac
35875218c9
feat(delivery): refine base service integrations
2026-07-29 16:47:41 +08:00
wonder
11a92c429f
test(server): 添加 task log 模块单元测试
...
- 添加 handler 层 16 个纯函数单元测试(状态映射、ID 解析、排序、格式化等)
- 添加 service 层 11 个 pub/sub 与缓存单元测试(订阅、取消、并发安全、TTL 过期等)
- 共 27 个测试用例,覆盖 task log 核心逻辑
背景:task log 模块经历了大量修改但缺乏测试覆盖,需要确保日志模块可用
关联 commit:61eeb0c, dbb930d
2026-07-29 14:13:53 +08:00
wonder
61eeb0c8ac
fix(server): 修复 task log 接口多个问题
...
- 修复 Wayne 任务状态映射,将数字状态统一为字符串状态
- 添加分页支持,支持 page/page_size 参数
- 添加 AWXJobStdout 内存缓存,减少重复 API 调用
- 修复 SubscribeTask 内存泄漏,自动清理 closed channel
- 统一 Stream 端点,AWX 使用 pub/sub,Wayne 使用轮询
背景:task log 接口存在多个潜在问题,包括状态判断错误导致无限轮询、
缺少分页、重复 API 调用性能问题、内存泄漏风险等
关联 commit:fix/logs 分支
2026-07-29 14:00:40 +08:00
ztkkOip
f28bc99401
Merge branch 'main' into feat/base-service-delivery
2026-07-28 18:03:04 +08:00
mac
f7be87c7d9
feat: wire delivery result and infra data backends
2026-07-28 17:56:00 +08:00
Wonder
c0ec5758c6
Merge branch 'main' into feat/task-logs-virtual-scroll
2026-07-28 17:47:26 +08:00
wonder
2fb9c3ccfd
fix(auth): remove access_token query parameter from AuthMiddleware
...
移除认证中间件中 access_token 查询参数的回退逻辑,防止令牌通过 URL 暴露
- 仅支持 Authorization: Bearer 请求头认证
- 防止令牌被反向代理日志、浏览器历史、监控系统等捕获
- 前端已使用安全的头部认证方式
2026-07-28 17:30:46 +08:00
wonder
8904330632
feat(task-logs): 实现任务日志 SSE 实时推送
...
实现任务日志 SSE 实时推送功能,解决前端无法流式输出日志的问题
变更内容:
- 后端:新增 /task-logs/stream SSE 端点,支持实时日志推送
- 后端:实现 2 秒轮询间隔检测新日志,支持心跳机制
- 后端:支持通过 query 参数 access_token 传递 JWT 认证
- 前端:新增 createTaskLogStream 函数封装 EventSource
- 前端:修改 TaskCenter.vue 集成 SSE,支持实时更新和自动滚动
- 前端:添加流式连接状态指示器
关联 commit:
- 实现后端 SSE Stream 方法
- 注册 SSE 路由
- 实现前端 SSE 客户端
- 集成 SSE 到任务中心页面
2026-07-28 17:06:44 +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
mac
8e09c30d21
feat: wire mysql delivery to awx callbacks
2026-07-28 14:45:17 +08:00
Hungerdream
be39f2a03c
feat(delivery): expose rollback retry, release ack and CloudDM retry APIs
...
- POST /delivery/tasks/:id/rollback/retry (platform admin) re-launches
the rollback job after a previous cleanup failure
- POST /delivery/tasks/:id/rollback/release (platform admin) releases
bookkeeping after the operator verified the target host manually
- POST /delivery/tasks/:id/clouddm/retry retries only the CloudDM
registration step for an already healthy instance
- task logs now include rollback AWX job stdout and localized
text/classes for the new rollback states
2026-07-28 14:29:26 +08:00
mac
5a260c443f
feat(delivery): stream task updates with SSE
2026-07-28 09:55:04 +08:00
mac
8378427d3d
fix(delivery): use unique pending AWX job placeholders
2026-07-27 18:33:33 +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
ztkkOip
96aa493034
Merge branch 'main' into feat/mysql-service-delivery
2026-07-23 14:21:06 +08:00
mac
c421be3ae9
docs(delivery): add Swagger annotations and regenerate API docs
...
Add Swagger annotations to all 7 delivery handlers. Fix existing
test.go type references (Response -> response.Response). Add swaggo
dependencies to go.mod. Regenerate swagger.json/yaml/docs.go with
delivery endpoints visible in /swagger/index.html.
Relates-to: #97
2026-07-23 13:50:21 +08:00
mac
699eaa5225
feat(delivery): add HTTP handlers and route registration
...
Add DeliveryHandler (7 endpoints under /auth/api/v1/delivery/*):
CreateMySQL, List, Get, Cancel, Targets, CreateTarget, UpsertQuota.
Add ExecutionHandler for internal service callback. Register routes
with JWT auth middleware and start scheduler goroutine when enabled.
Relates-to: #97
2026-07-23 12:04:51 +08:00
mac
d150d0f0dd
feat(business-line): auto bind Wayne namespace on create
2026-07-22 15:05:41 +08:00
mac
7f6f6fa41e
feat(container): show business line workloads from Wayne
2026-07-22 15:05:41 +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
8d49230247
feat(server): add Wayne subsystem authorization APIs
2026-07-17 19:26:40 +08:00
mac
a10d4a5921
fix: require Wayne user ID for role binding
2026-07-17 15:47:32 +08:00
mac
d264924d1e
feat: add business line permissions and Wayne namespace mapping
2026-07-17 15:02:18 +08:00
mac
b151356045
fix(auth): handle saml logout and xml encryption padding
2026-07-17 09:43:42 +08:00
mac
2835cf2576
fix(auth): keep subsystem oauth working without sso
2026-07-16 16:43:01 +08:00
mac
cafa8bc840
feat(auth): support local username login mode
2026-07-16 16:19:25 +08:00
mac
eb2621d914
feat(auth): complete sso subsystem integration
2026-07-16 15:52:56 +08:00
mac
da38acfcb5
merge: sync origin main into auth-login
2026-07-15 15:12:54 +08:00
mac
6af511ed0b
refactor(server): merge authserver implementation
2026-07-15 14:05:22 +08:00
wonder
8898437e9e
feat(server): 集成 Swagger API 文档
...
- 引入 swaggo/gin-swagger 和 swaggo/files 依赖
- 配置 Swagger UI 路由 /swagger/*
- 为测试 handler 函数添加 Swagger 注解
- 将 main.go 中的内联 handler 重构到 handler/test.go 以支持注解
- 生成 Swagger 文档 (docs.go, swagger.json, swagger.yaml)
- Makefile 新增 make swagger 命令
- .gitignore 添加 server/docs/ 以跟踪生成的文档
- 添加 API 元信息(标题、版本、联系方式、许可证、安全定义)
2026-07-15 11:33:00 +08:00
wonder
4f1df02f53
feat(server): 实现统一响应格式和错误码
...
- 添加 server/go.mod,模块路径为 github.com/1024XEngineer/xinfra/server
- 实现 response.go 统一 JSON 响应结构:
- 响应信封:{ code, message, data, details }
- 业务错误码 (10001-20002) 与 MVP 规范一致
- 便捷函数:Success, Error, BadRequest, Unauthorized 等
- 分页响应支持,包含 total 和 items
- 添加 recovery 中间件捕获 panic 并返回 500 错误
- 添加 logger 中间件记录请求日志
为所有后端处理器建立统一的 API 响应基础,与前端期望的格式保持一致。
2026-07-15 10:44:32 +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