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

SDK de VergeOS para Go (govergeos)

govergeos es una biblioteca cliente de Go para administrar la infraestructura de VergeOS a través de la API REST, que proporciona interfaces seguras en cuanto a tipos para automatizar VM, redes, almacenamiento, inquilinos y recuperación ante desastres.

Descripción general

govergeos es una biblioteca cliente de Go para gestionar la infraestructura de VergeOS a través de la API REST. Proporciona una interfaz de Go idiomática y con seguridad de tipos para automatizar el ciclo de vida de las VMs, redes, almacenamiento, operaciones multiinquilino y flujos de trabajo de recuperación ante desastres, lo que lo hace ideal para crear herramientas, operadores y automatización de infraestructura.

Características clave

  • Gestión de VM: Creación, configuración, control de energía, clonación e instantáneas

  • Redes avanzadas: Redes virtuales, reglas de firewall, DHCP, DNS, VPN IPSec y WireGuard

  • NAS y almacenamiento: Gestión de volúmenes, recursos compartidos CIFS/NFS, exploración asíncrona de volúmenes y sincronización

  • Multitenencia: Aprovisionamiento de inquilinos con aislamiento de recursos y gestión de nodos

  • Recuperación ante desastres: Instantáneas en la nube, sincronización de sitios y flujos de trabajo de recuperación

  • API con seguridad de tipos: Interfaces completas de Go para simulación, soporte de contexto y operaciones concurrentes seguras para hilos

  • Sin dependencias: Solo biblioteca estándar; sin dependencias externas

  • Multiplataforma: Compatibilidad con Windows, macOS y Linux

Requisitos

  • Go 1.21 o posterior

  • VergeOS 26.0 o posterior

Instalación

Usando go get

En go.mod

Autenticación

El SDK admite múltiples métodos de autenticación:

Nombre de usuario/contraseña

Verificación de certificado SSL

Establezca WithInsecureTLS(true) solo para entornos con certificados autofirmados. Para entornos de producción con certificados válidos, omite esta opción.

Clave API

Variables de entorno

Variable
Requerido
Predeterminado
Descripción

VERGEOS_HOST

URL base (p. ej., https://vergeos.example.com)

VERGEOS_USERNAME

No*

Nombre de usuario para autenticación básica

VERGEOS_PASSWORD

No*

Contraseña para autenticación básica

VERGEOS_API_KEY

No*

Clave API para autenticación bearer

VERGEOS_VERIFY_SSL

No

true

Verificar certificados TLS

VERGEOS_TIMEOUT

No

30

Tiempo de espera de la solicitud en segundos

*Se requiere una de las opciones (USERNAME+PASSWORD) o API_KEY.

Opciones del cliente

El cliente admite opciones de configuración adicionales:

Recursos disponibles

El SDK proporciona acceso a los siguientes recursos de VergeOS:

Categoría
Servicios

Máquinas virtuales

VMs, VMDrives, VMNICs, VMSnapshots, VMDevices

Redes

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

VPN

VNetIPSecs, VNetIPSecPhase1s/Phase2s, VNetWireGuards, VNetWireGuardPeers

NAS/Almacenamiento

NASServices, Volumes, VolumeSnapshots, VolumeCIFSShares, VolumeNFSShares, VolumeSyncs

Inquilinos

Tenants, TenantNodes, TenantStorage, TenantSnapshots, TenantLayer2Networks

Usuarios y grupos

Users, Groups, Members, Permissions, UserAPIKeys

Sistema

Clusters, Nodes, Settings, System, Certificates

Monitorización

Alarms, Logs, Tasks, StorageTiers, ClusterTiers

Copia de seguridad y DR

SnapshotProfiles, CloudSnapshots, Sites, SiteSyncs

Automatización

Files, CloudInitFiles, WebhookURLs, Webhooks

Organization

Tags, TagCategories, TagMembers, ResourceGroups

Ejemplos de uso

Administración de máquinas virtuales

Creación y administración de redes

Recursos de filtrado

El SDK admite un filtrado flexible con opciones de lista:

Operaciones concurrentes

El SDK es seguro para hilos y admite operaciones concurrentes usando goroutines:

Manejo de errores

El SDK proporciona tipos de error específicos para distintas condiciones de error:

Tipos de error disponibles

Tipo de error
Función auxiliar
Descripción

APIError

Error base para todos los errores de API

AuthError

IsAuthError(err)

Credenciales no válidas o token expirado

NotFoundError

IsNotFoundError(err)

El recurso solicitado no existe

ValidationError

IsValidationError(err)

Valores de parámetros no válidos

UnsupportedVersionError

IsUnsupportedVersionError(err)

Versión de VergeOS no compatible

Casos de uso comunes

  • Automatización de infraestructura: Aprovisione VMs, redes y almacenamiento mediante programación

  • Operadores de Kubernetes: Crear controladores personalizados para recursos de VergeOS

  • Integración CI/CD: Cree y destruya entornos de prueba en los pipelines

  • Herramientas de monitoreo: Consultar el estado de los recursos y crear paneles personalizados

  • Automatización de copias de seguridad: Programe y administre instantáneas y copias de seguridad en la nube

  • Aprovisionamiento multitenencia: Automatice la creación de inquilinos y la asignación de recursos

Documentación y recursos

Para obtener la documentación completa, incluidos todos los métodos disponibles y ejemplos de uso detallados, visite el repositorio oficial:

Soporte

Si encuentra problemas o tiene solicitudes de funciones, abra un issue en el repositorio de GitHub:

Recursos adicionales

Última actualización

¿Te fue útil?