diff --git a/BUILD_SYSTEM.md b/BUILD_SYSTEM.md deleted file mode 100644 index 158349a..0000000 --- a/BUILD_SYSTEM.md +++ /dev/null @@ -1,139 +0,0 @@ -# BUILD_SYSTEM.md - -# Linux Package Installer System - -**Server IP:** 172.20.235.176 - -Mục tiêu: xây dựng hệ thống cài đặt, quản lý package `.deb` cho ứng dụng web trên Linux với luồng **Web Server → Web Client → Local Installer Agent → Web Service**. - ---- - -## 1. Thành phần hệ thống - -1. **Web Server** (`server.package.robot`) - - Node.js + Express - - Chức năng: - - Lưu trữ các file `.deb` - - Metadata JSON về package: version, dependency, mô tả - - API download package - - Admin upload package - -2. **Web Client** (`client.package.robot`) - - Frontend: React - - Backend: Node.js - - Chức năng: - - Hiển thị danh sách package - - Cho người dùng chọn Install / Modify / Update / Remove - - Relay lệnh tới Local Installer Agent - - Hiển thị tiến trình / status realtime - -3. **Local Installer Agent** - - Python - - Chạy ngầm trên Linux client - - Chức năng: - - Tải package từ Web Server - - Kiểm tra checksum / chữ ký - - Cài / gỡ / update bằng dpkg/apt - - Start / restart các service systemd - - Báo tiến trình / status về Web Client - ---- - -## 2. Flow hệ thống - - -Admin / Developer -│ Upload .deb và metadata -▼ -Web Server (172.20.235.176) -│ Serve .deb + metadata -▼ -Web Client (React + Node.js) -│ Hiển thị package list -│ User chọn Install/Modify/Update/Remove -▼ -Local Installer Agent (Python) -│ Download .deb từ server -│ Verify checksum -│ Install / Remove / Update -│ Start/Restart systemd service -▼ -Web Service / Package Service -│ Chạy sẵn -▼ -User mở browser → truy cập service - - ---- - -## 3. Cấu trúc project - - -project-root/ -├── server/ -│ ├── packages/ # .deb files -│ ├── metadata/ # JSON metadata -│ └── src/ # Node.js + Express -│ ├── routes/ -│ └── controllers/ -│ -├── client/ -│ ├── frontend/ # React UI -│ └── backend/ # Node.js relay tới Agent -│ -├── agent/ -│ ├── bin/ # Python executable / script -│ ├── service/ # systemd service file -│ └── lib/ # logic install/update/remove/status -│ -└── packages/ # Build các .deb trước khi upload - - ---- - -## 4. Metadata JSON mẫu - -```json -{ - "applications": [ - { - "id": "sample-app", - "name": "Sample Package", - "version": "1.0.0", - "packages": [ - {"id": "sample-core", "required": true, "version": "1.0.0", "file": "sample-core_1.0.0_amd64.deb"}, - {"id": "sample-web", "required": false, "version": "1.0.0", "file": "sample-web_1.0.0_amd64.deb", "depends": ["sample-core"]}, - {"id": "sample-api", "required": false, "version": "1.0.0", "file": "sample-api_1.0.0_amd64.deb", "depends": ["sample-core"]} - ] - } - ] -} -5. Flow Install / Modify / Update / Remove -User mở Web Client -Web Client fetch metadata từ Web Server -User chọn package muốn Install/Modify/Update/Remove -Web Client gửi JSON request tới Local Installer Agent -Local Agent: -Download package từ Web Server -Verify checksum -Install / Remove / Update package -Start / Restart systemd service -Báo tiến trình / status về Web Client -Sau khi cài xong, service chạy sẵn -User mở browser → truy cập Web Service -6. Công nghệ & ngôn ngữ -Thành phần Ngôn ngữ / Framework -Web Server Node.js + Express -Web Client Frontend React -Web Client Backend Node.js -Local Installer Agent Python -Web Service Tùy ứng dụng -7. Quy trình triển khai từ đầu -Build package .deb cho ứng dụng web, chia thành các package nhỏ nếu cần. -Upload package + metadata lên Web Server. -Web Client fetch metadata, hiển thị package list. -Cài đặt Local Installer Agent lần đầu trên Linux client. -User chọn package → Install / Modify / Update / Remove. -Local Installer Agent thực hiện cài/gỡ/update ngầm. -Web Service chạy sẵn, người dùng truy cập browser. -![alt text](image-1.png) \ No newline at end of file diff --git a/image-1.png b/image-1.png deleted file mode 100644 index 5b31dc1..0000000 Binary files a/image-1.png and /dev/null differ