accounts/docs/architecture/framework.md
2025-06-18 11:43:06 +08:00

35 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.