SDK Go VergeOS (govergeos)
govergeos est une bibliothèque cliente Go pour gérer l’infrastructure VergeOS via l’API REST, fournissant des interfaces typées pour automatiser les VM, le réseau, le stockage, les locataires et la reprise après sinistre.
Vue d’ensemble
govergeos est une bibliothèque cliente Go pour la gestion de l’infrastructure VergeOS via l’API REST. Elle fournit une interface Go typée et idiomatique pour automatiser le cycle de vie des VM, le réseau, le stockage, les opérations multi-locataires et les workflows de reprise après sinistre, ce qui en fait un outil idéal pour créer des outils, des opérateurs et de l’automatisation d’infrastructure.
Fonctionnalités clés
Gestion des VM: Création, configuration, contrôle d'alimentation, clonage et instantanés
Réseautage avancé: Réseaux virtuels, règles de pare-feu, DHCP, DNS, VPN IPSec et WireGuard
NAS et stockage: Gestion des volumes, partages CIFS/NFS, navigation asynchrone des volumes et synchronisation
Multi-location: Provisionnement des locataires avec isolation des ressources et gestion des nœuds
Reprise après sinistre: Instantanés cloud, synchronisation des sites et flux de récupération
API typée: Interfaces Go complètes pour le mock, la prise en charge du contexte et les opérations concurrentes sûres pour les threads
Aucune dépendance: Bibliothèque standard uniquement — aucune dépendance externe
Multiplateforme: Prise en charge de Windows, macOS et Linux
Prérequis
Go 1.21 ou version ultérieure
VergeOS 26.0 ou version ultérieure
Installation
Utilisation de go get
Dans go.mod
Authentification
Le SDK prend en charge plusieurs méthodes d'authentification :
Nom d'utilisateur/mot de passe
Clé API
Variables d'environnement
VERGEOS_HOST
Oui
—
URL de base (par exemple, https://vergeos.example.com)
VERGEOS_USERNAME
Non*
—
Nom d’utilisateur pour l’authentification de base
VERGEOS_PASSWORD
Non*
—
Mot de passe pour l’authentification de base
VERGEOS_API_KEY
Non*
—
Clé API pour l’authentification Bearer
VERGEOS_VERIFY_SSL
Non
true
Vérifier les certificats TLS
VERGEOS_TIMEOUT
Non
30
Délai d’attente de la requête en secondes
*L’un des éléments (USERNAME+PASSWORD) ou API_KEY est requis.
Options du client
Le client prend en charge des options de configuration supplémentaires :
Ressources disponibles
Le SDK donne accès aux ressources VergeOS suivantes :
Machines virtuelles
VMs, VMDrives, VMNICs, VMSnapshots, VMDevices
Réseautage
Networks, VNetRules, VNetAddresses, VNetHosts, VNetDNSViews/Zones/Records
VPN
VNetIPSecs, VNetIPSecPhase1s/Phase2s, VNetWireGuards, VNetWireGuardPeers
NAS/Stockage
NASServices, Volumes, VolumeSnapshots, VolumeCIFSShares, VolumeNFSShares, VolumeSyncs
Locataires
Tenants, TenantNodes, TenantStorage, TenantSnapshots, TenantLayer2Networks
Utilisateurs et groupes
Users, Groups, Members, Permissions, UserAPIKeys
Système
Clusters, Nodes, Settings, System, Certificates
Surveillance
Alarmes, journaux, tâches, niveaux de stockage, niveaux de cluster
Sauvegarde et reprise après sinistre
SnapshotProfiles, CloudSnapshots, Sites, SiteSyncs
Automatisation
Files, CloudInitFiles, WebhookURLs, Webhooks
Organisation
Tags, TagCategories, TagMembers, ResourceGroups
Exemples d'utilisation
Gestion des machines virtuelles
Création et gestion des réseaux
Filtrage des ressources
Le SDK prend en charge un filtrage flexible avec les options de liste :
Opérations concurrentes
Le SDK est sûr pour les threads et prend en charge les opérations concurrentes à l’aide de goroutines :
Gestion des erreurs
Le SDK fournit des types d’erreur spécifiques pour différentes conditions d’erreur :
APIError
—
Erreur de base pour toutes les erreurs d’API
AuthError
IsAuthError(err)
Identifiants invalides ou jeton expiré
NotFoundError
IsNotFoundError(err)
La ressource demandée n'existe pas
ValidationError
IsValidationError(err)
Valeurs de paramètre invalides
UnsupportedVersionError
IsUnsupportedVersionError(err)
Version de VergeOS non prise en charge
Cas d'utilisation courants
Automatisation de l'infrastructure: Provisionner des VM, des réseaux et du stockage par programmation
Opérateurs Kubernetes: Créez des contrôleurs personnalisés pour les ressources VergeOS
Intégration CI/CD: Créer et détruire des environnements de test dans les pipelines
Outils de surveillance: Interrogez l’état des ressources et créez des tableaux de bord personnalisés
Automatisation des sauvegardes: Planifier et gérer les instantanés et les sauvegardes cloud
Provisionnement multi-locataire: Automatiser la création des locataires et l'allocation des ressources
Documentation et ressources
Pour une documentation complète, y compris toutes les méthodes disponibles et des exemples d'utilisation détaillés, visitez le dépôt officiel :
Support
Si vous rencontrez des problèmes ou avez des demandes de fonctionnalités, veuillez ouvrir un ticket sur le dépôt GitHub :
Ressources supplémentaires
SDK Python (pyvergeos) - Alternative Python
Fournisseur Terraform - Infrastructure as code
Mis à jour
Ce contenu vous a-t-il été utile ?