VergeOS Go SDK(govergeos)
govergeos 是一个用于通过 REST API 管理 VergeOS 基础设施的 Go 客户端库,为自动化 VM、网络、存储、租户和灾难恢复提供类型安全接口。
概述
govergeos 是一个用于通过 REST API 管理 VergeOS 基础设施的 Go 客户端库。它提供类型安全、符合 Go 习惯的接口,可用于自动化虚拟机生命周期、网络、存储、多租户操作和灾难恢复工作流,非常适合构建工具、控制器和基础设施自动化。
主要功能
虚拟机管理:创建、配置、电源控制、克隆和快照
高级网络:虚拟网络、防火墙规则、DHCP、DNS、IPSec VPN 和 WireGuard
NAS 与存储: 卷管理、CIFS/NFS 共享、异步卷浏览和同步
多租户: 具有资源隔离和节点管理的租户部署
灾难恢复:云快照、站点同步和恢复工作流
类型安全 API: 用于模拟、上下文支持和线程安全并发操作的完整 Go 接口
零依赖: 仅使用标准库——无外部依赖
跨平台:支持 Windows、macOS 和 Linux
要求
Go 1.21 或更高版本
VergeOS 26.0 或更高版本
安装
使用 go get
在 go.mod 中
身份验证
该 SDK 支持多种身份验证方式:
用户名/密码
API 密钥
环境变量
VERGEOS_HOST
是
—
基础 URL(例如, https://vergeos.example.com)
VERGEOS_USERNAME
否*
—
基础认证用户名
VERGEOS_PASSWORD
否*
—
基础认证密码
VERGEOS_API_KEY
否*
—
用于 Bearer 认证的 API 密钥
VERGEOS_VERIFY_SSL
否
true
验证 TLS 证书
VERGEOS_TIMEOUT
否
30
请求超时(秒)
*必须提供(USERNAME+PASSWORD)或 API_KEY 之一。
客户端选项
该客户端支持以下额外配置选项:
可用资源
该 SDK 可访问以下 VergeOS 资源:
虚拟机
VMs, VMDrives, VMNICs, VMSnapshots, VMDevices
网络
Networks, VNetRules, VNetAddresses, VNetHosts, VNetDNSViews/Zones/Records
VPN
VNetIPSecs, VNetIPSecPhase1s/Phase2s, VNetWireGuards, VNetWireGuardPeers
NAS/存储
NASServices, Volumes, VolumeSnapshots, VolumeCIFSShares, VolumeNFSShares, VolumeSyncs
租户
Tenants, TenantNodes, TenantStorage, TenantSnapshots, TenantLayer2Networks
用户和组
Users, Groups, Members, Permissions, UserAPIKeys
系统
Clusters, Nodes, Settings, System, Certificates
监控
Alarms, Logs, Tasks, StorageTiers, ClusterTiers
备份与灾难恢复
SnapshotProfiles, CloudSnapshots, Sites, SiteSyncs
自动化
Files, CloudInitFiles, WebhookURLs, Webhooks
Organization
Tags, TagCategories, TagMembers, ResourceGroups
使用示例
管理虚拟机
创建和管理网络
过滤资源
该 SDK 支持使用列表选项进行灵活筛选:
并发操作
该 SDK 线程安全,并支持使用 goroutine 进行并发操作:
错误处理
该 SDK 为不同错误情况提供了特定错误类型:
APIError
—
所有 API 错误的基础错误
AuthError
IsAuthError(err)
凭据无效或令牌已过期
NotFoundError
IsNotFoundError(err)
请求的资源不存在
ValidationError
IsValidationError(err)
参数值无效
UnsupportedVersionError
IsUnsupportedVersionError(err)
不支持的 VergeOS 版本
常见用例
基础设施自动化:以编程方式预配虚拟机、网络和存储
Kubernetes 操作器: 为 VergeOS 资源构建自定义控制器
CI/CD 集成:在流水线中创建和销毁测试环境
监控工具: 查询资源状态并构建自定义仪表板
备份自动化:安排并管理快照和云备份
多租户预配:自动化租户创建和资源分配
文档和资源
完整文档(包括所有可用方法和详细使用示例)请访问官方仓库:
支持
如果您遇到问题或有功能请求,请在 GitHub 仓库中提交 issue:
其他资源
Python SDK(pyvergeos) - Python 替代方案
Terraform 提供程序 - 基础设施即代码
最后更新于
这有帮助吗?