Commit Graph

38 Commits

Author SHA1 Message Date
mac 1aa984c7e5 feat(delivery): sync mysql service ledger and credentials 2026-07-30 16:09:13 +08:00
Hungerdream 2de6a1f498 feat(frontend): adapt delivery form to single root account and credential_available
- Remove mysql_admin_password from CreateMySQLDeliveryPayload;
  the delivery form submits a single root password only
- Wire the task's credential_available boolean into the Catalog
  workbench: sync on create/poll/restore, and hide the one-time
  credential entry once it has been claimed
- Preview mock credential account_host changed from localhost to %
2026-07-29 18:39:37 +08:00
mac 35875218c9 feat(delivery): refine base service integrations 2026-07-29 16:47:41 +08:00
wonder dbb930d0cb fix(frontend): 优化 task log 前端交互体验
- 简化虚拟滚动实现,移除 @tanstack/vue-virtual 依赖
- 添加分页组件,支持翻页查看历史任务
- 添加 SSE 指数退避重试机制(最多 3 次)
- 更新 API 接口支持分页参数
- 添加重试状态指示器

背景:前端存在虚拟滚动与 SSE 不兼容、缺少分页、连接断开无重试等问题

关联 commit:fix/logs 分支
2026-07-29 14:01:12 +08:00
Hungerdream f01398cc67 feat(ui): rework MySQL delivery workbench form and flow
Rebuild the MySQL standardized delivery form in Catalog.vue: sectioned layout (scope/resources/db config/advanced params), client-generated root password with regenerate/copy, storage slider, install/data path hints, inline field validation, delivery history and task polling.

Align CreateMySQLDeliveryPayload with the backend MySQLDeliveryInput contract (cpu_milli/memory_mi/storage_gi required, legacy fields optional, drop nonexistent param_template) and send mysql_root_password/mysql_admin_password as a pair so the credential shown to the user is the one actually deployed.
2026-07-28 19:15:14 +08:00
ztkkOip f28bc99401 Merge branch 'main' into feat/base-service-delivery 2026-07-28 18:03:04 +08:00
mac 93981b9aad feat: update delivery and resource frontends 2026-07-28 17:56:58 +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 d5bf42ad01 feat(ui): surface rollback actions in the service catalog
Add retryRollback / releaseRollback / retryCloudDMRegistration API
bindings and wire the corresponding actions and status presentation
into the delivery task view.
2026-07-28 14:29:34 +08:00
mac 5a260c443f feat(delivery): stream task updates with SSE 2026-07-28 09:55:04 +08:00
mac 7b4b9d2ee7 Merge remote-tracking branch 'upstream/main' into feat/base-service-delivery
# Conflicts:
#	server/.env.example
#	server/internal/config/config.go
#	server/internal/service/delivery.go
#	server/internal/service/delivery_test.go
2026-07-28 09:34:37 +08:00
mac 6ddba9aa03 feat(delivery): restore active MySQL tasks 2026-07-27 15:20:03 +08:00
mac a934380c9c feat: switch base delivery to awx task logs 2026-07-23 18:36:24 +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 a112cf742c feat(frontend): add Wayne subsystem authorization page 2026-07-17 19:27:33 +08:00
mac f49b948023 Merge remote-tracking branch 'origin/main' into auth-login 2026-07-17 15:02:47 +08:00
mac d264924d1e feat: add business line permissions and Wayne namespace mapping 2026-07-17 15:02:18 +08:00
wonder 454978be7b feat(subsystem): 调整子系统接入状态显示
- Wayne 和 CloudDM 状态设为 active(在线)
- 其他子系统状态设为 integrating(接入改造中)
- 状态文本统一调整为「在线」/「接入改造中」
- 非 active 状态的跳转按钮显示为灰色禁用状态

Co-authored-by: lx <lx@users.noreply.github.com>
2026-07-17 14:01:33 +08:00
wonder 75b71cec29 feat(subsystem): 添加 Superset 日志数据可视化子系统
- 在 mockSubsystems 中添加 Superset 子系统配置(id: 7, 可观测性分类)
- 在侧边栏子系统导航列表中添加 Superset 入口
- 添加青色系 CSS 变量(--tag-cyan-*、--logo-ss-bg)用于 Superset 主题
- 更新 SubsystemCard 和 SubsystemDetail 的颜色映射
- 添加 Superset 详情页描述文案

状态设置为 integrating,支持 SSO 单点登录
2026-07-17 13:55:14 +08:00
ztkkOip e1d755b2df Merge pull request #82 from 2311719626/feature/frontend-bl-scoped-delivery
feat(frontend): v3→v4 前端对齐重构
review完没有问题仅微调前端代码
2026-07-17 11:42:19 +08:00
wonder 66352c08e5 fix(subsystem): 修正 qpass 描述为七牛云内部系统
- subsystem.ts: description 和 category 更新
- SubsystemDetail.vue: 详情页描述同步更新
2026-07-17 11:36:20 +08:00
wonder 506752747d feat(subsystem): 子系统导航增加可展开子 Tab 与详情页
- AppSidebar: 统一入口组下子系统导航改为可展开列表,展示 6 个子系统子 Tab
- 每个子 Tab 带功能描述前缀(如 多集群发布平台 Wayne)便于用户定位
- 新建 SubsystemDetail.vue 统一详情模板(统计卡片 + 门户卡片 + 打开按钮)
- 新增路由 /subsystem/detail/:name
- subsystem API mock 数据补充 label、domain、category 字段
- SubsystemCard 概览卡片同步显示 label + name 格式
2026-07-17 11:20:17 +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 81d2a8a60b refactor(frontend): merge authserver web login 2026-07-15 14:47:42 +08:00
wonder 3de59c4fc2 feat(frontend): 对接后端统一响应格式,增强错误处理
- 新增 types/api.ts,定义 ApiResponse/PaginatedData 泛型类型和业务错误码常量
- 增强 request.ts 拦截器:提取后端错误信息、映射 HTTP 状态码和业务错误码为中文提示
- 为 auth/audit/subsystem API 添加泛型返回类型
- 为各视图添加 try/catch 防止未处理的 Promise 拒绝
2026-07-15 10:52:41 +08:00
wonder c5e86949b1 chore(frontend): 清理 .gitkeep 占位文件
删除所有目录中的 .gitkeep 文件,因为目录中已有实际文件
2026-07-14 15:41:11 +08:00
wonder 0b94583796 feat(frontend): 实现审计面板模块
页面:
- views/audit/LoginAudit.vue,登录审计页(查询登录记录、按时间/IP/结果筛选)
- views/audit/OpsAudit.vue,运维操作审计页(查询操作记录、按类型/状态筛选)

组件:
- components/AuditLogTable.vue,审计日志表格组件(分页、筛选)

API:
- api/audit.ts,审计相关接口(登录审计、运维操作审计)

MVP 验收:可查询所有用户的登录记录和运维操作记录
2026-07-14 15:39:54 +08:00
wonder 35e626971c feat(frontend): 实现仪表盘和子系统导航
页面:
- views/dashboard/Index.vue,首页仪表盘(资源大盘、集群拓扑、最近任务)
- views/subsystem/Navigation.vue,子系统导航页(6 个卡片网格展示)

组件:
- components/SubsystemCard.vue,子系统卡片组件(图标、名称、状态、SSO 跳转)

API:
- api/subsystem.ts,子系统相关接口(获取列表、SSO URL)

子系统:Wayne、CloudDM、CacheCloud、Apollo、qpass、Grafana
2026-07-14 15:39:44 +08:00
wonder a4a0f84bf4 feat(frontend): 实现认证模块
页面:
- views/auth/Login.vue,登录页(用户名密码表单、LDAP 认证入口)

API:
- api/auth.ts,认证相关接口(登录、登出、获取用户信息)

功能:
- 登录表单验证
- Mock 数据支持(MVP 阶段无需后端)
- 登录成功后跳转首页
2026-07-14 15:39:32 +08:00
wonder 84394f4674 feat(frontend): 添加基础设施模块
工具函数:
- utils/auth.ts,Token 存储、解析、过期校验

API 模块:
- api/request.ts,Axios 实例封装,请求/响应拦截器

状态管理:
- stores/auth.ts,认证状态管理(Pinia)

组合式函数:
- composables/useAuth.ts,认证逻辑封装

路由配置:
- router/index.ts,路由表定义、路由守卫(未登录重定向)
2026-07-14 15:39:19 +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