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

VergeOS TypeScript SDK (tsvergeos)

tsvergeos ist ein TypeScript-SDK zur Verwaltung von VergeOS über die REST API und bietet eine dependanzfreie, tree-shakeable, typisierte Schnittstelle zur Automatisierung von VMs, Netzwerken, Speicher, Mandanten und Multi-Site.

Übersicht

tsvergeos ist ein TypeScript-SDK zur Verwaltung der VergeOS-Infrastruktur über die REST-API. Es bietet eine Zero-Dependency-, tree-shakebare, vollständig typisierte Schnittstelle zur Automatisierung von VM-Lebenszyklus, Netzwerken, Speicher, Multi-Tenant-Operationen und Multi-Site-Verwaltung und ist damit ideal für Automatisierungsskripte, Tool-Entwicklung und Integrationen.

Hauptmerkmale

  • Keine Abhängigkeiten: Nichts zu prüfen, nichts zu brechen

  • Tree-Shakebar: Importiere nur die Dienste, die du verwendest; ungenutzte Dienste werden als Dead Code entfernt

  • Vollständige Typabdeckung: Jede Ressource, jeder Parameter und jede Antwort ist mit TSDoc-Dokumentation typisiert

  • 93 Dienste: Vollständige Abdeckung jedes VergeOS-API-Endpunkts

  • Multi-Site integriert: Abfrage und Verwaltung mehrerer VergeOS-Deployments von einer einzigen SiteManager

  • Plattformübergreifend: Funktioniert in Node.js 20+, Deno, Bun und modernen Browsern

  • Filterung: OData-Filterunterstützung mit sowohl einem fließenden Filter Builder als auch einer funktionalen buildFilter Kurzschreibweise

Anforderungen

  • Node.js 20+ (unterstützt auch Deno und Bun)

  • VergeOS 6.x (API v4)

Installation

Über npm (empfohlen)

Mit pnpm / yarn / bun

Authentifizierung

Das SDK unterstützt mehrere Authentifizierungsmethoden:

API-Schlüssel (empfohlen)

SSL-Zertifikatsprüfung

Setzen Sie verifySsl: false nur für Umgebungen mit selbstsignierten Zertifikaten. In Produktionsumgebungen mit gültigen Zertifikaten lassen Sie diesen Parameter weg oder setzen Sie ihn auf true.

Benutzername / Passwort

Umgebungsvariablen

Die Verwendung von Umgebungsvariablen hält Anmeldedaten aus Ihrem Quellcode heraus und erleichtert die Verwendung unterschiedlicher Anmeldedaten in verschiedenen Umgebungen.

Dienstregistrierung

Das SDK verwendet tree-shakebare Imports — Dienste werden über Side-Effect-Imports registriert, sodass ungenutzte Dienste aus deinem Bundle als Dead Code entfernt werden.

Drei Import-Ebenen

Der Standard-Import enthält nicht jeden Dienst. Wenn du auf einen Dienst zugreifst, der nicht registriert ist (z. B., client.alarms ohne ihn zu importieren), erhältst du undefined. Für Dashboards, Admin-Tools oder Backend-Skripte, bei denen die Bundle-Größe keine Rolle spielt, verwende import '@vergeio/tsvergeos/full' um alles zu registrieren.

Nur Typ-Importe

Typ-Imports haben unabhängig davon, welche Dienste registriert sind, keinen Einfluss auf die Bundle-Größe:

Verfügbare Ressourcen

Das SDK bietet Zugriff auf 93 Dienste, die die gesamte VergeOS-API abdecken:

Kategorie
Ressourcen

Compute

VMs, Laufwerke, Geräte, NICs, Maschinen-Snapshots, Statistiken

Netzwerk

Netzwerke, Regeln, Aliase, Adressen, Hosts, DNS-Zonen/-Einträge/-Ansichten

VPN

WireGuard-Schnittstellen und Peers, IPSec-Verbindungen und -Phasen

Speicher

Volumes, Volume-Snapshots, CIFS/NFS-Freigaben, Synchronisierungen, Browser, Speicherstufen

NAS

NAS-Dienste, Benutzer, Dateien

Mandanten

Mandanten, Knoten, Speicher, Snapshots, Layer 2

Rezepte

VM- und Mandanten-Rezepte, Instanzen, Kataloge, Repositories

Snapshots

Snapshot-Profile, Zeiträume, Cloud-Snapshots

Sites

API sites Dienst — eingehende/ausgehende Synchronisierungen, Zeiträume des Synchronisierungsprofils (getrennt vom SDKs SiteManager)

System

System, Cluster, Knoten, Einstellungen, Protokolle, Aufgaben

Überwachung

Alarme, Alarmtypen, Webhooks, Webhook-URLs

Auth

Benutzer, Gruppen, Mitglieder, Berechtigungen, API-Schlüssel

Tags

Tags, Kategorien, Mitglieder

Updates

Update-Einstellungen, Quellen, Pakete, Branches

Andere

Zertifikate, cloud-init, Ressourcengruppen

Anwendungsbeispiele

Virtuelle Maschinen verwalten

Zuverlässiger Energiezustand

Die powerstate Feld einer VM-Ressource wird von der API oft weggelassen. Für den maßgeblichen Live-Energiezustand frage den Machine-Status-Dienst ab:

Konsolenzugriff

getConsoleInfo() gibt Verbindungsdetails zum Öffnen einer direkten WebSocket-Konsole zu einer VM zurück. Es werden drei Authentifizierungsmethoden unterstützt — wähle je nachdem, wo die Konsole dargestellt wird:

Der Browser WebSocket Die API unterstützt keine benutzerdefinierten Header — verwende in Browsern Benutzername/Passwort oder ein bereits vorhandenes Token. Für eine Abkürzung ohne API-Aufruf zur Web-UI-Konsole verwende client.vms.getConsoleURL(42).

Ressourcen filtern

Das SDK unterstützt mehrere Filteransätze:

Multi-Site-Verwaltung

Verwalte mehrere VergeOS-Deployments über einen einzigen Einstiegspunkt:

Die SiteManager verteilt Leseabfragen parallel über alle registrierten Sites und gibt aggregierte Ergebnisse zusammen mit etwaigen Site-spezifischen Fehlern zurück. Verwende manager.tagged(tag) um die Verteilung auf eine Teilmenge von Sites zu beschränken. Änderungen laufen immer über eine benannte Site (manager.site("dc-east").vms.create(...)); der standortübergreifende Proxy stellt nur list().

Fehlerbehandlung

Alle Fehler erben von VergeError mit typisierten Unterklassen und Type-Guard-Funktionen:

Verfügbare Fehlertypen

Fehlerklasse
Beschreibung

VergeError

Basiserror für alle SDK-Fehler

ApiError

Jeder HTTP-Fehler der API

NotFoundError

Ressource nicht gefunden (404)

AuthError

Authentifizierungsfehler (401/403)

ConflictError

Ressourcenzustandskonflikt (409)

ValidationError

Ungültige Eingabe auf Client-Seite

UnsupportedVersionError

Serverversion zu alt

TaskError

Asynchrone Aufgabe fehlgeschlagen

TaskTimeoutError

Aufgabe überschritt die Wartezeit

SiteError

Fehler bei Multi-Site-Operation

Client-Konfiguration

Der vollständige Satz an Konfigurationsoptionen:

Häufige Anwendungsfälle

  • Infrastrukturautomatisierung: VMs, Netzwerke und Speicher programmatisch bereitstellen

  • CI/CD-Integration: Testumgebungen in Pipelines erstellen und zerstören

  • Überwachung und Berichterstellung: Ressourcenstatus abfragen und Bestandsberichte erstellen

  • Backup-Automatisierung: Snapshots und Cloud-Backups planen und verwalten

  • Multi-Tenant-Bereitstellung: Mandantenerstellung und Ressourcenzuweisung automatisieren

  • Multi-Site-Orchestrierung: Verwaltung und Abfrage über mehrere VergeOS-Deployments hinweg

Dokumentation und Ressourcen

Für die vollständige Dokumentation, einschließlich der kompletten API-Referenz und detaillierter Anwendungsbeispiele, besuche das offizielle Repository:

Support

Wenn Sie auf Probleme stoßen oder Funktionswünsche haben, eröffnen Sie bitte ein Issue im GitHub-Repository:

Weitere Ressourcen

Zuletzt aktualisiert

War das hilfreich?