SDK JavaScript / TypeScript
SDK JavaScript / TypeScript
@webgune/sdk ist der offizielle Client, um Ihr webgune-Konto per Code zu steuern. Sie ist eine typisierte Alternative zu rohen fetch-Aufrufen an die REST-API.
Installation
npm install @webgune/sdk
Verwendung
import { createClient } from "@webgune/sdk";
const webgune = createClient({ apiKey: process.env.WEBGUNE_API_KEY! });
const projects = await webgune.projects.list();
await webgune.services.redeploy("svc_123");
Der API-Schlüssel wird über Dashboard → Entwickler → API-Schlüssel erstellt (siehe API-Schlüssel). Geben Sie dem Schlüssel einen Scope je verwendeter Ressource (projects, services, domains, billing, dashboard, apikeys, reseller), im Format ressource:read oder ressource:write.
Abgedeckte Ressourcen
webgune.projects list · get · create · update · remove
webgune.services listByProject · get · create · remove · redeploy
logs · metrics · getEnv · setEnv · scale
deployments · rollback
webgune.domains check · list · register · get · remove
listDns · addDns · removeDns
webgune.billing plans · subscription · invoices
webgune.dashboard stats · deploymentHistory
webgune.apiKeys list · create · revoke · auditLog
webgune.reseller organization · subClients · overview
Ein noch nicht durch einen Wrapper abgedeckter Endpunkt bleibt über webgune.raw zugänglich, den zugrunde liegenden, vollständig typisierten openapi-fetch (neues Fenster)-Client:
const { data } = await webgune.raw.GET("/services/{id}/k8s-status", {
params: { path: { id: "svc_123" } },
});
Fehlerbehandlung
Jede Nicht-2xx-Antwort wirft einen WebguneApiError (status, code, message), statt stillschweigend einen falschen Wert zurückzugeben:
import { WebguneApiError } from "@webgune/sdk";
try {
await webgune.services.redeploy("nicht-existierende-id");
} catch (err) {
if (err instanceof WebguneApiError && err.status === 404) {
console.error("Dienst nicht gefunden");
}
}
Generierte Typen
Die TypeScript-Typen werden automatisch aus dem OpenAPI-Spec der API generiert. Sie spiegeln stets wider, was die API akzeptiert und zurückgibt, ohne manuelle Pflege. Ohne installiertes Package zeigt die interaktive Referenz dieselben Schemas direkt im Browser.