wonder a9319e77b9 refactor(observable): 拆分监控告警为独立页面
- 侧边栏"监控/日志/告警"拆分为"监控"和"告警"两个导航项
- Monitor.vue 移除日志相关内容,保留 VictoriaMetrics 和 Zabbix 面板
- 新增 Alert.vue 告警页面,展示当前告警、告警通道、告警记录
- 路由新增 /alert 路径,meta.title 设为"告警"
2026-07-17 11:35:03 +08:00
2026-07-14 14:34:10 +08:00
2026-07-06 23:22:51 +08:00
2026-07-14 14:34:10 +08:00

XINFRA - 统一运维入口平台

XINFRA 是一个统一运维入口平台,整合多个运维子系统,提供统一的登录认证、子系统导航、审计日志和 Ansible 运维调度功能。

项目特性

  • 🔐 统一认证:支持 LDAP + SAML + OAuth 2.0 认证
  • 🎯 子系统导航:卡片式展示 6 个运维子系统,支持 SSO 跳转
  • 📊 审计面板:登录审计 + 运维操作审计,完整的操作追溯
  • 🚀 Ansible 调度:Playbook 执行、实时日志推送
  • 🔒 安全可靠:JWT 认证、HTTPS 传输、敏感配置 K8s Secret 管理

技术栈

层级 技术
后端 Go 1.21+ / Gin
前端 Vue 3.3+ / Element Plus / Vite
数据库 MySQL 8.0
缓存 Redis
部署 Kubernetes + Nginx

项目结构

xinfra/
├── frontend/              # 前端 Vue 3 项目
│   ├── src/
│   │   ├── api/           # API 请求封装
│   │   ├── components/    # 可复用组件
│   │   ├── composables/   # 组合式函数
│   │   ├── layouts/       # 页面布局
│   │   ├── router/        # 路由配置
│   │   ├── stores/        # Pinia 状态管理
│   │   ├── views/         # 页面视图
│   │   └── utils/         # 工具函数
│   └── ...
├── server/                # 后端 Go 项目
│   ├── cmd/               # 程序入口
│   ├── internal/          # 内部包(分层架构)
│   ├── pkg/               # 可复用公共包
│   └── migrations/        # 数据库迁移
├── deploy/                # 部署配置
│   ├── docker/            # Docker 构建配置
│   └── k8s/               # Kubernetes 配置
├── docs/                  # 项目文档
└── ...

快速开始

环境要求

  • Go 1.21+
  • Node.js 18+
  • MySQL 8.0
  • Redis 7.0+

本地开发

  1. 克隆项目

    git clone <repository-url>
    cd xinfra
    
  2. 启动开发环境

    make dev-up
    
  3. 启动前端开发服务器

    make run-frontend
    
  4. 启动后端开发服务器

    make run-server
    

构建部署

  1. 构建项目

    make build
    
  2. 构建 Docker 镜像

    make docker
    
  3. 部署到 Kubernetes

    kubectl apply -f deploy/k8s/
    

开发规范

Git 提交规范

使用语义化提交信息:

  • feat: 新功能
  • fix: 修复 bug
  • docs: 文档更新
  • style: 代码格式调整
  • refactor: 重构
  • test: 测试相关
  • chore: 构建/工具相关

代码规范

  • Go 代码遵循 gofmt 格式
  • Vue/TypeScript 代码遵循 ESLint 规范
  • 提交前请确保代码通过所有测试

相关文档

许可证

[待添加]

S
Description
No description provided
Readme 1,003 KiB
Languages
Go 56.4%
Vue 31.9%
TypeScript 6.3%
Shell 2.6%
CSS 1.5%
Other 1.2%