For the complete documentation index, see llms.txt. This page is also available as Markdown.

VergeOS Python SDK (pyvergeos)

pyvergeos là một Python SDK để quản lý VergeOS thông qua REST API, cung cấp giao diện kiểu Python có chú thích kiểu để tự động hóa VM, mạng, lưu trữ, tenant và khôi phục thảm họa.

Tổng quan

pyvergeos là một SDK Python để quản lý hạ tầng VergeOS thông qua REST API. Nó cung cấp một giao diện theo phong cách Python, có chú thích kiểu, để tự động hóa vòng đời VM, mạng, lưu trữ, thao tác đa thuê bao và quy trình khôi phục sau thảm họa, khiến nó lý tưởng cho các script tự động hóa, phát triển công cụ và tích hợp.

Tính năng chính

  • Quản lý VM: Tạo, cấu hình, điều khiển nguồn, sao chép và snapshot

  • Mạng nâng cao: Mạng ảo, quy tắc tường lửa, DHCP, DNS, VPN IPSec và WireGuard

  • NAS & Lưu trữ: Quản lý volume, chia sẻ CIFS/NFS và đồng bộ hóa

  • Đa thuê bao: Cấp phát tenant với cách ly tài nguyên

  • Khôi phục sau thảm họa: Snapshot đám mây, đồng bộ hóa site và quy trình khôi phục

  • Lọc: Hỗ trợ bộ lọc OData với API xây dựng bộ lọc linh hoạt

  • Chú thích kiểu: Đầy đủ gợi ý kiểu cho tự động hoàn thành IDE và phân tích tĩnh

  • Đa nền tảng: Hỗ trợ Windows, macOS và Linux

Yêu cầu

  • Python 3.9 trở lên

  • VergeOS 26.0 trở lên

Cài đặt

Từ PyPI (Khuyến nghị)

Sử dụng uv

Từ mã nguồn

Xác thực

SDK hỗ trợ nhiều phương thức xác thực:

Tên người dùng/Mật khẩu

Xác minh chứng chỉ SSL

Đặt verify_ssl=False chỉ cho các môi trường có chứng chỉ tự ký. Với môi trường sản xuất có chứng chỉ hợp lệ, hãy bỏ qua tham số này hoặc đặt nó thành True.

Mã thông báo API

Biến môi trường

Trình quản lý ngữ cảnh

Tài nguyên có sẵn

SDK cung cấp quyền truy cập vào các tài nguyên VergeOS sau:

Danh mục
Tài nguyên

Máy ảo

VM, ổ đĩa, NIC, snapshot

Mạng

Mạng, quy tắc, DNS, DHCP, bí danh, máy chủ

VPN

Kết nối IPSec, giao diện và peer WireGuard

NAS/Lưu trữ

Dịch vụ, volume, chia sẻ CIFS/NFS, đồng bộ volume

Tenant

Quản lý tenant, snapshot, lưu trữ, khối mạng

Người dùng & Nhóm

Người dùng, nhóm, quyền, khóa API

Hệ thống

Cụm, nút, tầng lưu trữ, chứng chỉ

Giám sát

Cảnh báo, nhật ký, tác vụ

Sao lưu & DR

Hồ sơ snapshot, snapshot đám mây, site, đồng bộ site

Ví dụ sử dụng

Quản lý máy ảo

Tạo và quản lý mạng

Lọc tài nguyên

SDK hỗ trợ nhiều cách tiếp cận lọc:

Chờ tác vụ

Nhiều thao tác trong VergeOS chạy không đồng bộ. Hãy dùng trình quản lý tác vụ để chờ hoàn tất:

Thao tác không đồng bộ

Các thao tác như snapshot, nhân bản và di chuyển sẽ trả về ngay với một task ID. Hãy dùng client.tasks.wait() để chặn cho đến khi thao tác hoàn tất.

Xử lý lỗi

SDK cung cấp các loại ngoại lệ cụ thể cho các điều kiện lỗi khác nhau:

Các loại ngoại lệ có sẵn

Ngoại lệ
Mô tả

VergeError

Ngoại lệ cơ sở cho mọi lỗi của SDK

AuthenticationError

Thông tin xác thực không hợp lệ hoặc token đã hết hạn

NotFoundError

Tài nguyên được yêu cầu không tồn tại

ConflictError

Xung đột trạng thái tài nguyên (ví dụ: VM đã chạy)

ValidationError

Giá trị tham số không hợp lệ

TaskTimeoutError

Tác vụ không hoàn tất trong thời gian chờ

TaskError

Tác vụ thất bại trong khi thực thi

Các trường hợp sử dụng phổ biến

  • Tự động hóa hạ tầng: Cấp phát VM, mạng và lưu trữ bằng chương trình

  • Tích hợp CI/CD: Tạo và hủy môi trường thử nghiệm trong pipeline

  • Giám sát và báo cáo: Truy vấn trạng thái tài nguyên và tạo báo cáo kiểm kê

  • Tự động hóa sao lưu: Lên lịch và quản lý snapshot cùng bản sao lưu đám mây

  • Cấp phát đa thuê bao: Tự động hóa việc tạo tenant và phân bổ tài nguyên

Tài liệu và tài nguyên

Để có tài liệu đầy đủ, bao gồm tất cả các phương thức có sẵn và ví dụ sử dụng chi tiết, hãy truy cập kho lưu trữ chính thức:

Hỗ trợ

Nếu bạn gặp sự cố hoặc có yêu cầu tính năng, vui lòng mở một issue trên kho lưu trữ GitHub:

Tài nguyên bổ sung

Cập nhật lần cuối

Nội dung này có hữu ích không?