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

VergeOS Go SDK (govergeos)

govergeos là một thư viện client Go để quản lý hạ tầng VergeOS thông qua REST API, cung cấp các giao diện an toàn 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

govergeos là một thư viện client Go để quản lý hạ tầng VergeOS thông qua REST API. Nó cung cấp một giao diện Go an toàn kiểu, đúng phong cách Go để tự động hóa vòng đời VM, mạng, lưu trữ, thao tác đa tenant và quy trình phục hồi sau thảm họa, rất phù hợp để xây dựng công cụ, operator và tự động hóa hạ tầng.

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, duyệt volume không đồng bộ và đồng bộ hóa

  • Đa thuê bao: Cấp phát tenant với cô lập tài nguyên và quản lý node

  • 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

  • API an toàn kiểu: Các interface Go đầy đủ để mock, hỗ trợ context và các thao tác đồng thời an toàn với luồng

  • Không phụ thuộc: Chỉ dùng thư viện chuẩn—không có phụ thuộc bên ngoài

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

Yêu cầu

  • Go 1.21 trở lên

  • VergeOS 26.0 trở lên

Cài đặt

Dùng go get

Trong go.mod

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 WithInsecureTLS(true) chỉ dành cho 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 tùy chọn này.

Khóa API

Biến môi trường

Biến
Bắt buộc
Mặc định
Mô tả

VERGEOS_HOST

URL cơ sở (ví dụ, https://vergeos.example.com)

VERGEOS_USERNAME

Không*

Tên người dùng cho xác thực cơ bản

VERGEOS_PASSWORD

Không*

Mật khẩu cho xác thực cơ bản

VERGEOS_API_KEY

Không*

Khóa API để xác thực bearer

VERGEOS_VERIFY_SSL

Không

true

Xác minh chứng chỉ TLS

VERGEOS_TIMEOUT

Không

30

Thời gian chờ yêu cầu tính bằng giây

*Cần một trong hai: (USERNAME+PASSWORD) hoặc API_KEY.

Tùy chọn client

Client hỗ trợ các tùy chọn cấu hình bổ sung:

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
Dịch vụ

Máy ảo

VMs, VMDrives, VMNICs, VMSnapshots, VMDevices

Mạng

Networks, VNetRules, VNetAddresses, VNetHosts, VNetDNSViews/Zones/Records

VPN

VNetIPSecs, VNetIPSecPhase1s/Phase2s, VNetWireGuards, VNetWireGuardPeers

NAS/Lưu trữ

NASServices, Volumes, VolumeSnapshots, VolumeCIFSShares, VolumeNFSShares, VolumeSyncs

Tenant

Tenants, TenantNodes, TenantStorage, TenantSnapshots, TenantLayer2Networks

Người dùng & Nhóm

Users, Groups, Members, Permissions, UserAPIKeys

Hệ thống

Clusters, Nodes, Settings, System, Certificates

Giám sát

Alarms, Logs, Tasks, StorageTiers, ClusterTiers

Sao lưu & DR

SnapshotProfiles, CloudSnapshots, Sites, SiteSyncs

Tự động hóa

Files, CloudInitFiles, WebhookURLs, Webhooks

Organization

Tags, TagCategories, TagMembers, ResourceGroups

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ợ lọc linh hoạt với các tùy chọn danh sách:

Thao tác đồng thời

SDK an toàn với luồng và hỗ trợ các thao tác đồng thời bằng goroutine:

Xử lý lỗi

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

Các kiểu lỗi có sẵn

Kiểu lỗi
Hàm trợ giúp
Mô tả

APIError

Lỗi cơ sở cho mọi lỗi API

AuthError

IsAuthError(err)

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

NotFoundError

IsNotFoundError(err)

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

ValidationError

IsValidationError(err)

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

UnsupportedVersionError

IsUnsupportedVersionError(err)

Phiên bản VergeOS không được hỗ trợ

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

  • Các operator Kubernetes: Xây dựng các controller tùy chỉnh cho tài nguyên VergeOS

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

  • Công cụ giám sát: Truy vấn trạng thái tài nguyên và xây dựng dashboard tùy chỉnh

  • 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?