Logan
|
5770f2ccd4
|
chore: v0.1.1 发版脚本修复与 K8s 镜像坐标更新
- run.sh release 改用 docker-compose build,修复 buildx 缺失导致发版失败
- K8s deployment/quick-deploy 镜像更新为 lghost/aiops:v0.1.1
- 恢复 backend/static/.gitkeep 供 go:embed 目录占位
|
2026-07-02 08:01:22 +08:00 |
|
Logan.Li
|
aac15122e5
|
chore(deploy): 删除废弃 nginx 配置并更新部署文档
- 移除 deploy/nginx/(旧前后端分离方案已无引用)
- 重写 deploy/README.md 对齐 embed 三种部署方式
- 更新 deploy/kubernetes/README.md(lghost/aiops 镜像与 release 命令)
|
2026-06-26 19:08:10 +08:00 |
|
Logan.Li
|
9f5ce249f1
|
feat(release): 统一版本与 embed 部署,推送 lghost/aiops 镜像
- resolve_version 统一二进制/Docker/K8s 版本解析
- docker-compose 简化为 mysql+redis+aiops 单应用容器
- 新增 release/docker push/kubernetes push 构建并推送 Docker Hub
- K8s deployment 镜像改为 lghost/aiops:<tag> 语义版本
|
2026-06-26 16:37:15 +08:00 |
|
Logan.Li
|
8df0acb338
|
fix(k8s): 同步 local 模式数据路径为 /app/sqlite3.db 与二进制同级
- deployment/quick-deploy: PVC 挂载 sqlite3.db/redka.db 到 /app/,含旧 data/ 迁移
- configmap 与 run.sh 状态输出对齐新路径
- README 补充 local 模式说明
|
2026-06-26 16:19:03 +08:00 |
|
Logan.Li
|
339b24a579
|
优化 K8s 页面布局与 local 模式部署收尾
P0-P1:
- Dockerfile.embed 启用 CGO 支持 SQLite+redka
- K8s scale>1 时警告 local 模式数据不共享
K8s UI:
- 移除侧边栏资源用量/容量分析及资源页横向 Tab 栏
- 修复事件路由(/workloads/events)与 Deployment 事件过滤
- 网络/配置/存储统一 YamlViewer 编辑,加大编辑弹窗
|
2026-06-26 13:36:27 +08:00 |
|
Logan.Li
|
b7166acda4
|
优化 local 模式兼容性与部署可靠性
- SQL 方言层:agent updated_at、dashboard 小时分桶、清理任务跨 SQLite/MySQL
- Cache Capabilities:redka 跳过 ZSet/PubSub,Agent 聚合改 DB 直读
- local 模式 redka 初始化失败 Fatal;/version 返回 features
- SQLite WAL + 连接池限制;K8s data 改 PVC 持久化
- run.sh:旧参数迁移、升级后 /version 校验
|
2026-06-26 13:28:31 +08:00 |
|
Logan.Li
|
1f4f63cf6e
|
feat: mode=local 统一走 SQLite + redka 本地存储
- 二进制 --mode local 或环境变量 MODE=local 自动配置 SQLite + redka
- K8s Deployment 默认 MODE=local,移除外部 MySQL/Redis 依赖
- /version 返回 redis_driver;SQLite 兼容 agent 数据清理 SQL
|
2026-06-26 13:23:30 +08:00 |
|
attacker
|
ec7aa61948
|
feat: --mode local 一键本地模式 (SQLite + redka, 无需 MySQL/Redis)
- main.go: --mode local 自动配置 db-driver=sqlite, db-name=data/sqlite3.db, redis-driver=redka
- database: 切换纯 Go SQLite 驱动 (github.com/glebarez/sqlite) — 无需 CGO
- docker-compose.yml: backend 添加 MODE=${MODE:-release} env var + data 卷挂载
- run.sh: binary upgrade 默认 --mode local, config.yaml 模板更新为 local 模式
- K8s quick-deploy.yaml: 单容器部署, MODE=local 环境变量切换远程/本地
|
2026-06-26 04:36:09 +00:00 |
|
attacker
|
77c234b060
|
feat(audit): F1+F2 告警静默规则标记完成 + 审计日志CSV导出实现
F1 告警静默规则 [done]:
- 后端 alert_silence.go: CRUD + Toggle (onetime/daily/weekly 三模式)
- 告警引擎 isSilenced 集成 (alert_engine.go)
- 前端 SilenceRuleTab + SilenceDialog
- 路由 /alerts/silences 已注册
F2 审计日志导出 [done]:
- 重写 ExportAuditLogs: 真正的 CSV 导出 (encoding/csv + UTF-8 BOM)
- 支持 module/action/username/startTime/endTime 筛选
- 导出限制 10000 条防溢出,自动记录审计日志
- JSON 格式向后兼容 (format=json)
- 前端 exportLogs 传递查询参数
同时包含累积的前期工作:
- 目录重构 internal/ -> controller/model/router (v0.55-v0.57)
- 后端分层架构 dto/repository/service/utils
- 审计模块全功能 (终端审计/操作审计/登录日志)
- asciicast v2 录制格式
- SFTP 文件浏览器
- StatStrip 紧凑统计条
- 在线会话自动刷新
- LiveMonitor WebSocket 诊断修复
验证: go build ✅ | npm run build ✅ | Docker 部署 ✅ | 10 回归端点 ✅ | CSV 导出 ✅ | 静默 CRUD ✅
|
2026-06-25 20:16:30 +08:00 |
|
attacker
|
65636b3f5a
|
fix: favicon .ico 生成 + README 更新 + run.sh kubernetes 别名
- 新增 frontend/public/favicon.ico (4 size: 16/32/48/64)
- index.html .ico 引用调整到 .svg 前面(兼容旧浏览器)
- README.md 全量更新:Kubernetes 完整命令列表 + K8s 管理亮点
- run.sh 主入口添加 k8s 别名(向后兼容)
- aiops-development skill 更新部署命令和 favicon 文档
|
2026-06-25 00:53:57 +08:00 |
|
attacker
|
be9db65a22
|
refactor: Deployment详情页优化 — 查看/编辑/YAML模式精简, 副本数移至Tab栏, 伸缩改HPA+CronHPA
|
2026-06-24 04:23:25 +00:00 |
|
attacker
|
d65cc34354
|
refactor: trim K8s env vars to minimum (9 envs, only override code defaults)
|
2026-06-24 04:05:31 +00:00 |
|
attacker
|
bbf06204cc
|
refactor: rename deploy/k8s to deploy/kubernetes; add SetEnvKeyReplacer for env var support in K8s
|
2026-06-24 04:02:26 +00:00 |
|
attacker
|
2a0521340f
|
feat: 三种部署方式全部验证通过
方案1: docker-compose 双容器(原有,不变)
方案2: 二进制部署(go:embed 前端嵌入)
- 修复 SPA fallback(c.FileFromFS 301 → c.Data 直接返回)
- 二进制 22MB,内存 21.5MB
- 支持全部 CLI 参数(--db-host --redis-host --port 等)
方案3: K8s 部署(hostNetwork + 外部 MySQL/Redis)
- devops 声明空间
- embed 单容器 Deployment + NodePort Service
- 健康检查改为 /version(/health 尚未实现)
- hostNetwork 解决 K8s pod 网络到外部 MySQL 的连通性
新增: Dockerfile.embed, docker-compose.embed.yml, deploy/binary/
|
2026-06-21 15:03:17 +08:00 |
|
Logan
|
4631b02f13
|
feat: 三种部署方式 — embed单容器 + 二进制部署 + K8s
新增三种部署方式(原有 docker-compose 不受影响):
1. Docker embed 单容器 (docker-compose.embed.yml):
- go:embed 前端嵌入后端二进制
- 不需要 nginx 容器,3容器→2容器
- 镜像仅 54.8MB (vs 原来 1.16GB)
- 用法: make docker-embed
2. 二进制部署 (deploy/binary/):
- make build-binary 生成单二进制
- install.sh 自动创建 systemd 服务
- 适合无 Docker 环境
- 用法: scp aiops + install.sh, bash install.sh install
3. Kubernetes 部署 (deploy/k8s/):
- devops 命名空间全套 yaml
- MySQL StatefulSet + Redis StatefulSet + Backend Deployment
- ConfigMap + Secret + Ingress
- 用法: kubectl apply -f deploy/k8s/
核心改动:
- backend/cmd/embed.go: go:embed 前端 + SPA fallback 路由
- backend/Dockerfile.embed: 四阶段构建 (前端→后端embed→agent→runtime)
- Makefile: build-binary + docker-embed 目标
- deploy/README.md: 四种部署方式对比文档
|
2026-06-21 14:20:29 +08:00 |
|