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

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

Vérification du certificat SSL

Définissez WithInsecureTLS(true) uniquement pour les environnements avec des certificats auto-signés. Pour les environnements de production avec des certificats valides, omettez cette option.

Clé API

Variables d'environnement

Variable
Requis
Par défaut
Description

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 :

Catégorie
Services

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 :

Types d’erreur disponibles

Type d’erreur
Fonction d’aide
Description

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

Mis à jour

Ce contenu vous a-t-il été utile ?