mirror of
https://github.com/MengMengCode/CLICD.git
synced 2026-08-05 05:36:07 +08:00
a45e063fc2
- Introduced Container Management documentation covering lifecycle operations, resource management, and console access. - Added Dashboard documentation detailing metrics and related APIs. - Created Host Report documentation summarizing host environment and resource status. - Included Image Management documentation for template handling and management actions. - Documented Networking and Routing features including NAT4 and IPv6 management. - Added Security Alerts documentation outlining alert scenarios and API usage. - Created Snapshot Management documentation for snapshot operations and scheduling. - Documented Sub-user management for granting access to specific containers. - Added Configuration guide detailing runtime settings and security recommendations. - Created Installation guide for setting up CLICD with requirements and steps. - Added Introduction and Quick Start guides for new users. - Documented Upgrade process with version checking and pre-upgrade checklist. - Created Deployment guide for service exposure and firewall recommendations. - Added FAQ section addressing common questions and concerns. - Documented Troubleshooting steps for common issues encountered.
1.5 KiB
1.5 KiB
Architecture
CLICD consists of a Go backend, a React frontend, and host virtualization capabilities.
Backend
The backend entry point is backend/main.go, and HTTP routes are centralized in backend/internal/server/server.go. Main modules:
internal/api: HTTP APIs for the web panel and/api/v1.internal/config: configuration and SQLite storage.internal/lxc: LXC container management.internal/kvm: KVM/libvirt virtual machine management.internal/cli: command-line management entry point.internal/server: embedded frontend assets and HTTP service.internal/version: version number.
Frontend
The frontend entry point is frontend/src/main.tsx. Pages live in frontend/src/pages, and shared components live in frontend/src/components.
Main pages:
- Dashboard:
Dashboard.tsx - Container list:
Containers.tsx - Container details:
ContainerDetail.tsx - Image Management:
ImageManagement.tsx - Security Alerts:
Security.tsx - Snapshot Management:
Snapshots.tsx - Routing Management:
Routing.tsx - API Integration:
ApiIntegration.tsx - Host Report:
HostReport.tsx - Sub-user Management:
SubUserManagement.tsx
Frontend Embedding
For production builds, frontend artifacts are placed in backend/internal/server/web. The backend serves them through Go embed and returns the SPA entry for non-API routes.
API Layers
/api/*: web panel and compatibility APIs./api/v1/*: versioned APIs recommended for external automation.- WebSSH and WebVNC use short-lived tickets before opening WebSocket connections.