Add integration status section
This commit is contained in:
parent
47290d365b
commit
6f174afb53
34
docs/architecture/framework.md
Normal file
34
docs/architecture/framework.md
Normal file
@ -0,0 +1,34 @@
|
||||
# Design Framework
|
||||
|
||||
This document outlines the high level design of **XControl** and how the project uses a collection of open source components, provided as optional extension modules, to build a multi-tenant, multi-service platform.
|
||||
|
||||
## Open Source Components
|
||||
|
||||
- **PulumiGo** is used to provision cloud resources across multiple providers using the Pulumi SDK with Go.
|
||||
- **KubeGuard** provides Kubernetes cluster application backups and node-level recovery.
|
||||
- **CraftWeave** orchestrates lightweight tasks and configuration changes for each service module.
|
||||
- **CodePRobot** automates GitHub Issue to Pull Request workflows and assists with code patching.
|
||||
- **OpsAgent** offers intelligent monitoring, anomaly detection and root cause analysis.
|
||||
- **XStream** accelerates developer connectivity across regions.
|
||||
These extension modules can be enabled individually, letting deployments choose only the features they need.
|
||||
|
||||
### Component Integration Status
|
||||
|
||||
| Component | Status |
|
||||
|-----------|--------|
|
||||
| PulumiGo | Planned |
|
||||
| KubeGuard | Planned |
|
||||
| CraftWeave | Planned |
|
||||
| CodePRobot | Planned |
|
||||
| OpsAgent | Planned |
|
||||
| XStream | Planned |
|
||||
|
||||
## Core Design Principles
|
||||
|
||||
1. **Multi-Tenant** – users are isolated in data and configuration while sharing the same control plane.
|
||||
2. **Multi-Service** – each component runs as an independent service that can be enabled or disabled per tenant.
|
||||
3. **Multi-Node Control** – agents deployed on nodes pull configuration, report usage and manage local services.
|
||||
4. **Subscription Configuration** – users export service configs (such as `vless://` links) via a unified API.
|
||||
5. **Modular Visual Panel** – the web UI is built from modules so features can be added as needed.
|
||||
|
||||
These principles allow XControl to scale from a single deployment to a complex environment spanning multiple clouds and Kubernetes clusters.
|
||||
@ -9,7 +9,18 @@ Define core components: controller, agents, web panel.
|
||||
- 数据库 PostgreSQL 存储用户、节点、流量等业务数据
|
||||
- 多节点 Agent 拉取配置并重启 Xray、采集流量(Xray stats 或 DeepFlow)
|
||||
- Web 面板 Vue3 + TailwindCSS,内嵌至 Go 二进制
|
||||
## 开源扩展模块
|
||||
|
||||
以下组件可按需启用,集成状态如下:
|
||||
|
||||
| 模块 | 功能 | 集成状态 |
|
||||
| ---- | ---- | ---- |
|
||||
| PulumiGo | 多云基础设施自动化 | 计划集成 |
|
||||
| KubeGuard | K8s 集群备份与恢复 | 计划集成 |
|
||||
| CraftWeave | 任务执行与配置编排 | 计划集成 |
|
||||
| CodePRobot | Issue 到 PR 自动化 | 计划集成 |
|
||||
| OpsAgent | 智能监控与异常分析 | 计划集成 |
|
||||
| XStream | 开发者跨境代理加速 | 计划集成 |
|
||||
|
||||
模块拆分建议(Go)
|
||||
|
||||
@ -17,13 +28,10 @@ internal/
|
||||
├── api/ # Gin API 实现
|
||||
├── model/ # GORM 数据模型
|
||||
├── service/ # 用户管理、节点控制逻辑
|
||||
├── xray/ # 配置渲染与下发、stats 流量采集
|
||||
├── agent/ # 多节点配置管理逻辑
|
||||
├── subscription/ # vless:// 链接生成器
|
||||
├── stats/ # 统一流量处理器(xray or deepflow)
|
||||
|
||||
|
||||
|
||||
📌 模块说明
|
||||
✅ 用户面
|
||||
通过浏览器访问 WebUI;
|
||||
|
||||
@ -5,8 +5,8 @@ For single-node setup with systemd.
|
||||
工具支持
|
||||
|
||||
工具/机制 用途
|
||||
grpcurl 采集 Xray stats API 流量
|
||||
grpcurl 采集 代理节点 流量
|
||||
embed.FS 嵌入 Vue 前端页面至 Go 二进制
|
||||
xray x25519 Reality 公钥/私钥生成
|
||||
x25519 Reality 公钥/私钥生成
|
||||
docker-compose 本地开发部署
|
||||
helm K8s 生产部署(Xray + PG + 控制器
|
||||
helm K8s 生产部署(节点 + PG + 控制器
|
||||
|
||||
@ -1,10 +1,16 @@
|
||||
# XControl Overview
|
||||
|
||||
XControl is a multi-tenant VLESS management system...
|
||||
XControl is a multi-tenant, multi-service management platform. The project integrates several open source components as optional extension modules to provide a modular and visual administration experience:
|
||||
|
||||
- **PulumiGo** – Multi-cloud IaC engine built with Pulumi SDK and Go.
|
||||
- **KubeGuard** – Kubernetes cluster application and node-level backup system.
|
||||
- **CraftWeave** – Lightweight task execution & configuration orchestration engine.
|
||||
- **CodePRobot** – AI-driven GitHub Issue to Pull Request generator and code patching tool.
|
||||
- **OpsAgent** – AIOps-powered intelligent monitoring, anomaly detection and RCA.
|
||||
- **XStream** – Cross-border developer proxy accelerator for global accessibility.
|
||||
|
||||
项目名称:XControl
|
||||
多租户 VLESS 节点与用户流量管理系统,支持配置控制、节点分流、使用统计与用户可视化界面。
|
||||
|
||||
一个面向多租户、多服务设计,具备多节点控制、用户订阅配置导出、流量统计与模块化可视化管理面板的系统。
|
||||
|
||||
📁 项目结构(Go)
|
||||
csharp
|
||||
@ -18,7 +24,6 @@ xcontrol/
|
||||
│ ├── model/ # GORM 模型
|
||||
│ ├── api/ # Gin 路由控制器
|
||||
│ ├── service/ # 核心业务逻辑
|
||||
│ ├── xray/ # 与 Xray 交互逻辑
|
||||
│ └── stats/ # 流量采集整合模块
|
||||
├── webui/ # Vue 前端
|
||||
├── deploy/
|
||||
|
||||
@ -14,8 +14,6 @@ app/
|
||||
│ └── page.tsx # API 服务状态页
|
||||
├── subscription/
|
||||
│ └── page.tsx # 订阅管理页
|
||||
├── xray/
|
||||
│ └── page.tsx # XRay 管理页
|
||||
components/
|
||||
├── Sidebar.tsx # 侧边栏
|
||||
├── Header.tsx # 顶部标题栏(可选)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user