Zum Inhalt springen

Hosting-Anbieter

Verbinden Sie ein Anbieterkonto unter Settings > Integrations > Hosting, um VMs in Opfield zu erstellen und zu verwalten. Das Speichern eines Connectors erstellt keine VM; eine Bestellung erfordert eine separate Bestätigung.

Wählen Sie einen Anbieter und klappen Sie seine Einrichtungsanleitung auf. Das Hinzufügen eines Connectors erfordert die Opfield-Berechtigungen integrations:hosting:view und integrations:hosting:manage; die Berechtigungen des Anbieter-Tokens werden separat konfiguriert.

Erstellen Sie QEMU-VMs und verwalten Sie bestehende VMs/CTs auf einem ausgewählten Host. Erfordert ein API-Token, ACLs und ein Speicher- bzw. Netzwerkprofil für die Bereitstellung.

Proxmox VE einrichten
  1. Öffnen Sie in Proxmox Datacenter > Permissions > Users > Add. Erstellen Sie einen eigenen Benutzer, zum Beispiel opfield@pve, im Authentifizierungs-Realm Proxmox VE. Verwenden Sie root@pam nicht wieder.
  2. Erstellen Sie unter Permissions > Roles > Create Rollen mit den Rechten aus der folgenden Tabelle. Halten Sie VM-, Speicher- und optionale Cluster-Firewall-Rechte in getrennten Rollen, damit jede am richtigen Pfad zugewiesen werden kann.
  3. Fügen Sie unter Permissions Einträge User Permission für opfield@pve an den Pfaden hinzu, die Sie verwalten möchten. Verwenden Sie die Vererbung nur, wo untergeordnete Objekte die Berechtigung erben sollen. Beziehen Sie für das Erstellen die künftigen VMIDs aus dem konfigurierten Zuweisungsbereich ein, nicht nur bestehende VMs.
  4. Öffnen Sie Permissions > API Tokens > Add, wählen Sie opfield@pve, nennen Sie das Token hosting und lassen Sie Privilege Separation aktiviert. Legen Sie einen angemessenen Ablauf fest. Kopieren Sie das Secret sofort; es wird nur einmal angezeigt.
  5. Fügen Sie passende Einträge API Token Permission für opfield@pve!hosting hinzu. Mit Rechtetrennung sind die wirksamen Berechtigungen die Schnittmenge aus den Berechtigungen des Benutzers und denen des Tokens. Ein Administratorbenutzer macht ein getrenntes Token nicht automatisch zum Administrator.

Vergeben Sie nur die Zeilen, die für die vorgesehenen Funktionen nötig sind. Ersetzen Sie die Pfad-Platzhalter durch Ihre tatsächlichen Proxmox-Objekte; eine Opfield-Node-ID ist weder ein Proxmox-Hostname noch eine VMID.

Operation Proxmox-Rechte ACL-Ziel
Hosts und Speicher erkennen Sys.Audit, Datastore.Audit Ausgewählte /nodes/<host> bzw. /storage/<storage>
VM-Konfiguration und -Zustand lesen VM.Audit /vms/<vmid>
Eine VM erstellen und konfigurieren VM.Allocate, VM.Config.CPU, VM.Config.Memory, VM.Config.Disk, VM.Config.Network, VM.Config.HWType, VM.Config.Options, VM.Config.CDROM, VM.PowerMgmt Jede erlaubte künftige /vms/<vmid> oder der konfigurierte /pool/<pool>
VM-Festplatten zuweisen Datastore.AllocateSpace Ausgewählter Festplatten-/storage/<storage> mit Inhalt images
Ein Betriebssystem-Image herunterladen bzw. importieren und Bootstrap-Medien hochladen Datastore.AllocateTemplate, Datastore.Allocate Ausgewählter Image-Speicher mit import und Bootstrap-Speicher mit iso
Image-Download auf dem Host Sys.AccessNetwork Ausgewählter /nodes/<host>
Eine Bridge oder ein VNet anbinden SDN.Use Der Berechtigungspfad der Bridge bzw. des VNet in Proxmox
Starten, Herunterfahren, Neustarten VM.PowerMgmt /vms/<vmid>
Größe ändern VM.Config.CPU, VM.Config.Memory, VM.Config.Disk; das Vergrößern der Festplatte erfordert außerdem eine Speicherzuweisung VM- und Festplattenspeicherpfade
Eine VM löschen VM.Allocate /vms/<vmid>
Identitätsdateien des Gasts lesen VM.GuestAgent.FileRead oder das breitere VM.GuestAgent.Unrestricted; ältere Versionen verwenden VM.Monitor /vms/<vmid>
Über den QEMU Guest Agent installieren bzw. wiederherstellen VM.GuestAgent.Unrestricted; ältere Versionen verwenden VM.Monitor /vms/<vmid>
Snapshots erstellen bzw. löschen VM.Snapshot /vms/<vmid>
Snapshots wiederherstellen VM.Snapshot.Rollback; ein Neustart erfordert außerdem VM.PowerMgmt /vms/<vmid>
VM-Firewall und NIC-Teilnahme lesen bzw. bearbeiten VM.Audit, VM.Config.Network /vms/<vmid>
Zustand der Cluster-Firewall lesen Sys.Audit /
Opfield gehörende Sicherheitsgruppen der Cluster-Firewall verwalten Sys.Modify / – optional, breiter Zugriff auf Clusterebene

Vergeben Sie Sys.Modify auf / nicht nur, damit ein Verbindungstest besteht. Die aktuelle Firewall-Integration benötigt es für Sicherheitsgruppen des Clusters; es ist keine VM-lokale Berechtigung. Ist dieser Zugriff nicht akzeptabel, lassen Sie die Firewall-Verwaltung nicht verfügbar. Opfield aktiviert die Cluster-Firewall nicht. Bevorzugen Sie dedizierten Image- bzw. Bootstrap-Speicher: Datastore.Allocate ist breiter als die Berechtigung, eine Datei hochzuladen. VM.Backup ist kein Ersatz für Snapshot-Rechte.

Proxmox-Versionen unterscheiden sich bei den Guest-Agent-Rechten. Wählen Sie die Rechte, die in Ihrer installierten Version vorhanden sind, und prüfen Sie die Berechtigung, die die fehlgeschlagene API-Operation nennt. Wo Informationsaufrufe des Guest Agents es erfordern, fügen Sie VM.GuestAgent.Audit hinzu; Dateilesen allein erlaubt keine Installationsbefehle.

  1. Öffnen Sie Settings > Integrations und klicken Sie unter Hosting auf Add connector.
  2. Wählen Sie unter Connection Provider → Proxmox VE. Füllen Sie Connector name (zum Beispiel Proxmox production), API origin (https://pve.example.com:8006, ohne /api2/json), Token ID (opfield@pve!hosting) und API token (nur das Secret) aus. Klicken Sie auf Continue.
  3. Wählen Sie unter Proxmox host die Certificate verification: System trust, Private CA certificate oder Verified certificate fingerprint. Geben Sie bei den beiden letzteren das PEM-Trusted CA certificate bzw. den unabhängig geprüften Certificate SHA-256 pin an.
  4. Klicken Sie auf Test Connection und wählen Sie dann unter den erkannten Hosts den Physical host. Ein Connector bindet sich an einen physischen Host; VMIDs bleiben im gesamten Cluster eindeutig.
  5. Lassen Sie VM provisioning aktiviert, um VMs zu erstellen. Schalten Sie es nur für das Inventar bestehender VMs/CTs und die Übernahme aus; dann werden Infrastructure und Network übersprungen. Klicken Sie auf Continue.
  6. Füllen Sie unter Infrastructure die folgenden Felder aus und klicken Sie auf Continue.
Feld Wert
Disk storage Bestehender Speicher auf dem ausgewählten Host mit Inhalt images für VM-Festplatten
Image storage Speicher mit Inhalt import für Betriebssystem-Images
Seed storage Speicher mit Inhalt iso für Bootstrap-Medien
Allowed VMIDs IDs und Bereiche, zum Beispiel 9000-9010,9020; bis zu 1000 eindeutige IDs. Belegte IDs werden übersprungen
Maximum CPU budget (cores) Optionales Gesamtbudget an vCPUs, einschließlich ausstehender Operationen
Maximum memory budget (MiB) Optionales Gesamtbudget an RAM
Maximum disk budget (GiB) Optionales Gesamtbudget an Festplattenspeicher
Resource pool Ein bestehender Name eines Proxmox-Pools, oder leer lassen
  1. Wählen Sie unter Network Bridge und Address assignment. DHCP erfordert einen funktionierenden DHCP-Dienst in diesem Netzwerk. Füllen Sie für Static IPv4 pool IP pool, Subnet und Gateway aus. Stellen Sie mindestens so viele Adressen bereit, wie VMIDs erlaubt sind, und reservieren Sie sie außerhalb von DHCP und manueller Zuweisung.
  2. Legen Sie VLAN, DNS servers, Search domain und MTU nur bei Bedarf fest. Interface firewall steuert die Teilnahme der NIC; es aktiviert weder die Cluster-Firewall noch erstellt es Regeln. Klicken Sie auf Review.
  3. Prüfen Sie Profile summary. Konfigurieren Sie unter Synchronization and scope Automatic sync und Sync interval (seconds), von 60 bis 86400. Aktivieren Sie Automatic adoption nur, wenn bestehende Nodes verknüpft werden sollen, wenn die Identitätsbelege eindeutig sind; eine Übereinstimmung von IP bzw. VMID allein reicht nicht.
  4. Klicken Sie auf Create connector. Bei ausgeschaltetem VM provisioning erscheinen die Synchronisationseinstellungen im letzten Schritt Settings ohne Bereitstellungszusammenfassung. Das Speichern des Connectors erstellt keine VM.
  5. Öffnen Sie das gespeicherte Konto unter Nodes > Providers oder in der Integrationsliste. Prüfen Sie Synchronisation und Ressourceninventar. Um einen Node zu erstellen, klicken Sie auf Create VM, wählen Sie Rolle, Name, Betriebssystem und Ressourcen, prüfen Sie Review node und wählen Sie Confirm and create VM. Warten Sie, bis die Installation abgeschlossen ist und der Node online geht.

Lädt Test Connection keine Hosts, prüfen Sie TLS-Vertrauen und ACLs. Fehlt Speicher, prüfen Sie seinen Inhaltstyp und seine Verfügbarkeit auf dem ausgewählten Host. Create VM erfordert ein Bereitstellungsprofil und Opfield-Berechtigungen, Nodes und Ressourcen im ausgewählten Konto zu erstellen.

Wird eine API-Anfrage abgelehnt, prüfen Sie die wirksamen Token-Berechtigungen aus der Proxmox-Shell eines Administrators und ersetzen Sie dabei die Beispielpfade:

Terminal-Fenster
pveum user token permissions opfield@pve hosting --path /vms/9000
pveum user token permissions opfield@pve hosting --path /storage/opfield-images
pveum user token permissions opfield@pve hosting --path /

Diese Befehle lesen nur Berechtigungen. Prüfen Sie bei einem Token mit Rechtetrennung sowohl die ACLs des Benutzers als auch die des Tokens.

Proxmox-Dokumentation.

Erstellen und verwalten Sie Droplets, Firewalls und Snapshots mit einem eingeschränkten Personal Access Token.

DigitalOcean einrichten
  1. Wechseln Sie im DigitalOcean-Control-Panel zum vorgesehenen Team. Öffnen Sie API > Tokens > Generate New Token.
  2. Geben Sie dem Token einen eigenen Namen und Ablauf. Wählen Sie Custom Scopes und fügen Sie die unten benötigten Zeilen hinzu, einschließlich ihrer erforderlichen abhängigen Scopes. Die Teamrolle des Erstellers muss diese Operationen erlauben.
  3. Erzeugen Sie das Token und kopieren Sie sein Secret für den nächsten Schritt.
Fähigkeit Token-Scopes
Konto- und VM-Inventar account:read, droplet:read
Standorte, Größen, Images regions:read, sizes:read, image:read
Ein Droplet erstellen droplet:create, droplet:read, tag:create, tag:read, regions:read, sizes:read, actions:read, image:read, snapshot:read, vpc:read
Stromversorgungsaktionen; einen Snapshot über Droplet-Aktionen erstellen bzw. wiederherstellen droplet:update plus droplet:read, regions:read, sizes:read, actions:read, image:read, snapshot:read
Größe ändern Die obigen Update-Scopes plus droplet:create und dessen Abhängigkeiten
Ein Droplet löschen droplet:delete, droplet:read
Snapshots auflisten bzw. löschen snapshot:read; zum Löschen zusätzlich snapshot:delete
Firewalls verwalten und bereinigen firewall:read, firewall:create, firewall:update, firewall:delete, droplet:read, tag:read
Kontostand und Abrechnung billing:read

Es gibt in dieser API keinen separaten Scope snapshot:create: Das Erstellen eines Droplet-Snapshots ist eine Droplet-Aktion. Fordern Sie keine unbeteiligten Berechtigungen für Kubernetes, Spaces oder Datenbanken an. Um die Scopes eines Tokens zu ändern, erstellen Sie ein Ersatz-Token, aktualisieren Sie Opfield, prüfen Sie es und widerrufen Sie erst dann das alte Token.

Referenzen: Ein Personal Access Token erstellen, Scope-Referenz von DigitalOcean.

  1. Öffnen Sie Settings > Integrations und klicken Sie unter Hosting auf Add connector.
  2. Wählen Sie unter Connection Provider → DigitalOcean und geben Sie einen Connector name ein, zum Beispiel DigitalOcean production. API origin wird automatisch mit https://api.digitalocean.com ausgefüllt; ändern Sie ihn nicht.
  3. Fügen Sie das Token-Secret in API token ein. Klicken Sie auf Test Connection. Sehen Sie Connected with limited permissions, prüfen Sie die fehlenden Rechte anhand der obigen Anforderungen; eine erfolgreiche Authentifizierung aktiviert nicht jede Operation.
  4. Klicken Sie auf Continue. Konfigurieren Sie unter Settings die folgenden Felder.
Feld Wert
Automatic sync Geplante Aktualisierung des Anbieterinventars aktivieren
Sync interval (seconds) Ein Intervall von 60 bis 86400 Sekunden
Automatic adoption Bestehende Nodes nur verknüpfen, wenn die Identitätsbelege eindeutig sind
Node scope Optionale, durch Kommas getrennte UUIDs von Opfield-Nodes, die die automatische Übernahme einschränken, keine VM-IDs des Anbieters. Leer umfasst alle Nodes, die verknüpft werden können
Default location, Default size, Default image Optionale IDs aus dem Anbieterkatalog, die im VM-Assistenten vorausgewählt werden. Lassen Sie sie leer, wenn sie unbekannt sind, und wählen Sie die Werte beim Erstellen der VM
  1. Klicken Sie auf Create connector. Das speichert die Verbindung, ohne eine VM zu bestellen.
  2. Öffnen Sie das gespeicherte Konto aus der Integrationsliste oder unter Nodes > Providers. Prüfen Sie die Synchronisation, das Inventar des vorgesehenen Kontos bzw. Teams und verfügbare Finanzinformationen. Ein unbekannter Kontostand ist nicht null.
  3. Um einen Node zu erstellen, klicken Sie auf Create VM und wählen Sie Rolle, Name, Standort, Betriebssystem und Größe. Prüfen Sie Konfiguration und Preis unter Review node und wählen Sie dann Confirm and create VM – damit wird eine kostenpflichtige Bestellung aufgegeben. Warten Sie auf die Erstellung der VM, die Installation des Daemons und darauf, dass der Node online geht.
  4. Um Einstellungen zu ändern, öffnen Sie Configure im Kontomenü, durchlaufen Sie den Assistenten und klicken Sie auf Save. Lassen Sie das Feld für Ersatz-Zugangsdaten beim Bearbeiten leer, um das gespeicherte Secret zu behalten.

Ist Add connector nicht verfügbar, prüfen Sie die Opfield-Berechtigungen zur Verwaltung von Hosting-Integrationen. Create VM erfordert zusätzlich Berechtigungen zum Erstellen von Nodes bzw. Ressourcen für das ausgewählte Konto und die Erstellungsfähigkeit des Anbieters.

Verwalten Sie Cloud-Server in einem Projekt mit dessen API-Token. Hetzner Robot und dedizierte Server werden nicht unterstützt.

Hetzner Cloud einrichten
  1. Öffnen Sie die Hetzner Console, wählen Sie das vorgesehene Cloud-Projekt und dann Security > API Tokens > Generate API Token.
  2. Benennen Sie das Token und wählen Sie Read nur für das Inventar oder Read & Write für VM-Erstellung, Stromversorgung, Größenänderung, Firewall- und Snapshot-Operationen. Hetzner bietet keine getrennten Scopes pro Operation wie DigitalOcean.
  3. Erzeugen Sie das Token und kopieren Sie sein Secret für den nächsten Schritt.

Verwenden Sie ein eigenes Projekt, um die Reichweite des Tokens zu begrenzen. Der aktuelle Connector von Opfield erlaubt es nicht, ein Hetzner-Projekt-Token an Ort und Stelle zu ersetzen: Erstellen Sie für ein Ersatz-Token einen neuen Connector und gleichen Sie abhängige Ressourcen ausdrücklich ab, bevor Sie den alten Connector entfernen. Es gibt keinen zusätzlichen Scope für den Kontostand; diese Integration stellt keine API für den Kontostand bereit.

Referenz: Einrichtung der Hetzner Cloud API.

  1. Öffnen Sie Settings > Integrations und klicken Sie unter Hosting auf Add connector.
  2. Wählen Sie unter Connection Provider → Hetzner Cloud und geben Sie einen Connector name ein, zum Beispiel Hetzner production. API origin wird automatisch mit https://api.hetzner.cloud ausgefüllt; ändern Sie ihn nicht.
  3. Fügen Sie das Token-Secret in API token ein. Klicken Sie auf Test Connection. Sehen Sie Connected with limited permissions, prüfen Sie die fehlenden Rechte anhand der obigen Anforderungen; eine erfolgreiche Authentifizierung aktiviert nicht jede Operation.
  4. Klicken Sie auf Continue. Konfigurieren Sie unter Settings die folgenden Felder.
Feld Wert
Automatic sync Geplante Aktualisierung des Anbieterinventars aktivieren
Sync interval (seconds) Ein Intervall von 60 bis 86400 Sekunden
Automatic adoption Bestehende Nodes nur verknüpfen, wenn die Identitätsbelege eindeutig sind
Node scope Optionale, durch Kommas getrennte UUIDs von Opfield-Nodes, die die automatische Übernahme einschränken, keine VM-IDs des Anbieters. Leer umfasst alle Nodes, die verknüpft werden können
Default location, Default size, Default image Optionale IDs aus dem Anbieterkatalog, die im VM-Assistenten vorausgewählt werden. Lassen Sie sie leer, wenn sie unbekannt sind, und wählen Sie die Werte beim Erstellen der VM
  1. Klicken Sie auf Create connector. Das speichert die Verbindung, ohne eine VM zu bestellen.
  2. Öffnen Sie das gespeicherte Konto aus der Integrationsliste oder unter Nodes > Providers. Prüfen Sie die Synchronisation, das Inventar des vorgesehenen Projekts und verfügbare Finanzinformationen. Ein unbekannter Kontostand ist nicht null.
  3. Um einen Node zu erstellen, klicken Sie auf Create VM und wählen Sie Rolle, Name, Standort, Betriebssystem und Größe. Prüfen Sie Konfiguration und Preis unter Review node und wählen Sie dann Confirm and create VM – damit wird eine kostenpflichtige Bestellung aufgegeben. Warten Sie auf die Erstellung der VM, die Installation des Daemons und darauf, dass der Node online geht.
  4. Um Einstellungen zu ändern, öffnen Sie Configure im Kontomenü, durchlaufen Sie den Assistenten und klicken Sie auf Save. Erstellen Sie einen neuen Connector, um ein Hetzner-Token zu ersetzen; das Token-Feld des bestehenden Connectors ist deaktiviert.

Ist Add connector nicht verfügbar, prüfen Sie die Opfield-Berechtigungen zur Verwaltung von Hosting-Integrationen. Create VM erfordert zusätzlich Berechtigungen zum Erstellen von Nodes bzw. Ressourcen für das ausgewählte Konto und die Erstellungsfähigkeit des Anbieters.

Bestellen und verwalten Sie VMs mit einem API-Schlüssel eines Invapi-Kontos. Ein serverspezifischer Schlüssel kann nicht zum Bestellen neuer VMs verwendet werden.

HOSTKEY einrichten
  1. Melden Sie sich bei Invapi an, öffnen Sie API keys und erstellen Sie einen benannten Kunden- bzw. Kontoschlüssel. Ein serverspezifischer Schlüssel ist nicht die richtige Zugangsberechtigung, um andere VMs zu bestellen oder die Kontoabrechnung zu lesen.
  2. Setzen Sie die IP-Zugriffsliste auf die ausgehende Adresse des Opfield-Backends, sofern Sie eine IP-Beschränkung verwenden, und aktivieren Sie den Schlüssel. Das ist nicht die Adresse des Browsers, mit dem Opfield konfiguriert wird.
  3. Kopieren Sie das ursprüngliche Secret sofort. Nach der Erstellung zeigt die Oberfläche möglicherweise nur seinen Hash; dieser Hash kann Opfield nicht authentifizieren. Ist die Schlüsselerstellung für das Konto nicht verfügbar, klären Sie zuerst die Berechtigung des Kontos mit HOSTKEY.

Kontoschlüssel von HOSTKEY verwenden keine Scope-Strings im Stil von DigitalOcean. Begrenzen Sie den Zugriff über den Schlüsseltyp und die IP-Beschränkungen des Anbieters; Zugriff auf Kontoebene kann kostenpflichtige Bestellungen autorisieren. Halten Sie den Schlüssel von Benutzern fern, die nur einen bestehenden Opfield-Node betreiben sollen.

Referenz: HOSTKEY-API-Authentifizierung und API-Schlüssel.

  1. Öffnen Sie Settings > Integrations und klicken Sie unter Hosting auf Add connector.
  2. Wählen Sie unter Connection Provider → HOSTKEY und geben Sie einen Connector name ein, zum Beispiel HOSTKEY production. API origin wird automatisch mit https://invapi.hostkey.com ausgefüllt; ändern Sie ihn nicht.
  3. Fügen Sie den ursprünglichen Invapi-API-Schlüssel in API key ein, nicht seinen Hash und kein temporäres Sitzungstoken. Klicken Sie auf Test Connection. Sehen Sie Connected with limited permissions, prüfen Sie die fehlenden Rechte anhand der obigen Anforderungen; eine erfolgreiche Authentifizierung aktiviert nicht jede Operation.
  4. Klicken Sie auf Continue. Konfigurieren Sie unter Settings die folgenden Felder.
Feld Wert
Automatic sync Geplante Aktualisierung des Anbieterinventars aktivieren
Sync interval (seconds) Ein Intervall von 60 bis 86400 Sekunden
Automatic adoption Bestehende Nodes nur verknüpfen, wenn die Identitätsbelege eindeutig sind
Node scope Optionale, durch Kommas getrennte UUIDs von Opfield-Nodes, die die automatische Übernahme einschränken, keine VM-IDs des Anbieters. Leer umfasst alle Nodes, die verknüpft werden können
Default location, Default size, Default image Optionale IDs aus dem Anbieterkatalog, die im VM-Assistenten vorausgewählt werden. Lassen Sie sie leer, wenn sie unbekannt sind, und wählen Sie die Werte beim Erstellen der VM
  1. Klicken Sie auf Create connector. Das speichert die Verbindung, ohne eine VM zu bestellen.
  2. Öffnen Sie das gespeicherte Konto aus der Integrationsliste oder unter Nodes > Providers. Prüfen Sie die Synchronisation, das Inventar des vorgesehenen Kontos und verfügbare Finanzinformationen. Ein unbekannter Kontostand ist nicht null.
  3. Um einen Node zu erstellen, klicken Sie auf Create VM und wählen Sie Rolle, Name, Standort, Betriebssystem und Größe. Prüfen Sie Konfiguration und Preis unter Review node und wählen Sie dann Confirm and create VM – damit wird eine kostenpflichtige Bestellung aufgegeben. Warten Sie auf die Erstellung der VM, die Installation des Daemons und darauf, dass der Node online geht.
  4. Um Einstellungen zu ändern, öffnen Sie Configure im Kontomenü, durchlaufen Sie den Assistenten und klicken Sie auf Save. Lassen Sie das Feld für Ersatz-Zugangsdaten beim Bearbeiten leer, um das gespeicherte Secret zu behalten.

Ist Add connector nicht verfügbar, prüfen Sie die Opfield-Berechtigungen zur Verwaltung von Hosting-Integrationen. Create VM erfordert zusätzlich Berechtigungen zum Erstellen von Nodes bzw. Ressourcen für das ausgewählte Konto und die Erstellungsfähigkeit des Anbieters.

Erstellen und verwalten Sie Cloud-Server von CloudBlast, deren Firewalls und Backups mit einem API-Token des Kontos. Opfield installiert seinen Daemon auf neuen Servern über SSH.

CloudBlast einrichten
  1. Melden Sie sich in der CloudBlast-Konsole an und öffnen Sie Account Settings → API.
  2. Erstellen Sie ein Token mit eigenem Namen und kopieren Sie es für den nächsten Schritt.

Das Token handelt für das gesamte Konto und kann kostenpflichtige Server bestellen. Halten Sie es von Benutzern fern, die nur einen bestehenden Opfield-Node betreiben sollen.

  1. Öffnen Sie Settings > Integrations und klicken Sie unter Hosting auf Add connector.
  2. Wählen Sie unter Connection Provider → CloudBlast und geben Sie einen Connector name ein, zum Beispiel CloudBlast production. API origin wird automatisch mit https://console.cloudblast.io ausgefüllt; ändern Sie ihn nicht.
  3. Fügen Sie das Token in API token ein und klicken Sie auf Test Connection.
  4. Klicken Sie auf Continue. Konfigurieren Sie unter Settings Automatic sync, Sync interval (seconds), Automatic adoption, Node scope und die optionalen Standardwerte wie bei den anderen Anbietern.
  5. Klicken Sie auf Create connector. Das speichert die Verbindung, ohne einen Server zu bestellen.
  6. Öffnen Sie das gespeicherte Konto aus der Integrationsliste oder unter Nodes > Providers. Prüfen Sie Synchronisation, Inventar und den Kontostand in EUR.
  7. Um einen Node zu erstellen, klicken Sie auf Create VM und wählen Sie Rolle, Name, Standort, Betriebssystem und Plan. CloudBlast bietet x86-64-Pläne an; Opfield listet dessen Ubuntu- und Debian-Vorlagen auf. Prüfen Sie Konfiguration und Preis und wählen Sie dann Confirm and create VM; damit wird eine kostenpflichtige Bestellung aufgegeben.
  8. Um Einstellungen zu ändern, öffnen Sie Configure im Kontomenü. Lassen Sie das Token-Feld leer, um das gespeicherte Token zu behalten.

CloudBlast hat keine User Data, daher installiert Opfield über SSH. Für jede Bestellung erstellt es einen einmaligen SSH-Schlüssel, registriert dessen öffentlichen Schlüssel im CloudBlast-Konto und erstellt den Server damit. Dann verbindet es sich als root, legt beim ersten Verbindungsaufbau den Host-Schlüssel des Servers fest, führt das Node-Installationsprogramm aus und löscht danach den Schlüssel aus dem Konto und entfernt ihn vom Server. Der private Schlüssel wird nur verschlüsselt mit der Operation aufbewahrt und gelöscht, wenn sie endet.

CloudBlast meldet den Standort eines Servers nicht über seine API, daher zeigt Opfield den beim Erstellen gewählten Standort. Planänderungen sind über die CloudBlast-API nicht verfügbar, daher wird Resize nicht angeboten.

  1. Öffnen Sie Nodes > Add Node und wählen Sie die gehostete Erstellung, oder erstellen Sie eine VM aus dem Anbieterkonto.
  2. Wählen Sie Rolle, Name, Konto, Standort, kompatibles Betriebssystem und VM-Ressourcen.
  3. Prüfen Sie die Konfiguration und den verfügbaren Preis und bestätigen Sie die Bestellung einmal.
  4. Verfolgen Sie den Status von Bereitstellung beim Anbieter, Installation, Registrierung und Rollenbereitschaft.

Eine laufende VM ist nicht unbedingt ein Opfield-Node, der online ist. Warten Sie auf den Daemon und seine rollenspezifischen Fähigkeiten. Siehe Ihren ersten Node hinzufügen und Node-Rollen.

Schlägt die Installation fehl, nachdem die VM erstellt wurde, zeigt die Operation die letzten Zeilen der Ausgabe des Installationsprogramms, ohne Registrierungstokens. Verwenden Sie Retry installation an dieser Operation, statt eine weitere Bestellung aufzugeben. Eine SSH-Installation, die durch einen Neustart von Opfield unterbrochen wurde, wird einmal erneut gesendet. Das Löschen eines Servers, dessen Installation einen ausstehenden Node hinterlassen hat, entfernt auch diesen Node. Eine unsichere Antwort des Anbieters muss zuerst abgeglichen werden. Die Installation auf einer bestehenden VM erfordert einen unterstützten Guest-Agent-Kanal oder eine vertrauenswürdige SSH-Verbindung zu dieser VM. Die Übereinstimmung einer VMID oder IP allein ist kein ausreichender Beleg für eine automatische Übernahme.

  • Stromversorgung und Größenänderung: Die Aktionen hängen vom Zustand beim Anbieter, von Berechtigungen und unterstützten Ressourcen ab. Proxmox-Festplatten können wachsen, aber nicht schrumpfen.
  • Firewall: Die Registerkarte ist nur für unterstützte Ressourcen verfügbar: DigitalOcean, CloudBlast und Proxmox. Bei Proxmox sind die Teilnahme der Schnittstelle und die Aktivierung der VM-Firewall getrennte Einstellungen; die Cluster-Firewall und die Token-Rechte spielen ebenfalls eine Rolle. Opfield aktiviert die Cluster-Firewall nicht für Sie.
  • Snapshots: Unterstützte Ressourcen von Proxmox, DigitalOcean, Hetzner und CloudBlast bieten am Node Erstellen, Löschen, Wiederherstellen und Ordner. Bei CloudBlast sind Snapshots die vollständigen Festplatten-Backups des Servers beim Anbieter, die an Ort und Stelle wiederhergestellt werden, mit Namen von bis zu 40 Zeichen. Das Erstellen erfordert kein Herunterfahren der VM. Proxmox kann optional den Arbeitsspeicher einer laufenden VM erfassen und übernimmt Stoppen und Neustarten bei der Wiederherstellung; andere Integrationen erfordern für die Wiederherstellung derzeit eine gestoppte VM. HOSTKEY wird nicht als unterstützter Snapshot-Anbieter angeboten.
  • Kosten und Konsistenz: Speicher für Snapshots kann Kosten verursachen. Die Tabelle zeigt, sofern verfügbar, geschätzte Speicherkosten; ein Strich bedeutet, dass Größe oder Preis nicht verfügbar sind. VM-Snapshots sind keine anwendungskonsistenten Datenbank-Backups und schließen angehängte Volumes möglicherweise aus.

Erstellen, Löschen und Wiederherstellen von Snapshots schließen sich mit konkurrierenden VM-Operationen gegenseitig aus. Die Wiederherstellung ersetzt Daten; bestätigen Sie den ausgewählten Snapshot, bevor Sie fortfahren.

Hosting-Berechtigungen ergänzen den Zugriff auf den gebundenen Node; sie machen einen ansonsten verborgenen Node nicht zugänglich. Kontoinventar, VM-Aktionen, Connector-Verwaltung und Abrechnung sind getrennte Berechtigungen. Beschränken Sie das Erstellen auf die vorgesehenen Konten bzw. Anbieter und Aktionen auf die vorgesehenen Nodes bzw. Ressourcen. Das Erstellen eines gehosteten Nodes erfordert außerdem die Berechtigung zum Erstellen von Nodes. API-Tokens sowie OAuth- oder MCP-Freigaben können Hosting-Aktionen ausführen, wenn sie die passenden Scopes integrations:hosting:* und hosting:* besitzen, immer begrenzt durch die aktuellen Berechtigungen des Eigentümers. Die OAuth-Zustimmung lässt Connector-Verwaltung, Erstellen und Löschen von VMs sowie die Wiederherstellung von Snapshots standardmäßig unmarkiert; siehe Scopes und Tokens.

Konfigurieren Sie Benachrichtigungen für Änderungen der VM-Stromversorgung, fehlgeschlagene Operationen, Synchronisation und, sofern unterstützt, Schwellenwerte für den Kontostand. Regeln für den Kontostand erfordern Abrechnungszugriff und eine ausdrückliche Währung. Behandeln Sie veraltete Anbieterdaten nicht als erfolgreiche Operation oder als Kontostand null.

Das Entfernen eines Opfield-Nodes ist nicht dasselbe wie das Vernichten seiner VM. Prüfen Sie vor dem Löschen die Abhängigkeiten und die ausgewählte Anbieteraktion. Bewahren Sie bei Fehlern den Operationseintrag und prüfen Sie Anbieterfehler, Token-Berechtigungen, Image-Kompatibilität, Kapazität und die Konnektivität für die Registrierung, bevor Sie es erneut versuchen.

API-Tokens und MCP-Agenten erstellen und verwalten gehostete Nodes mit denselben Prüfungen wie die Konsole. MCP verwendet ein Werkzeug, manage_hosting (Werkzeugsatz hosting); REST verwendet /api/integrations/hosting für Konten und /api/hosting für Operationen, Nodes und VMs. Ein Agent liest read_opfield_documentation({ topic: "hosting" }) für jedes Feld und jeden Fehlercode; der Prompt provision-hosted-node und der Agenten-Skill hosting-providers folgen denselben Schritten.

Eine Bestellung erfordert integrations:hosting:view und hosting:resources:create auf dem Konto (hosting:resources:create:<connectorId>) sowie nodes:create. Die integrierte Gruppe admin hat keine Hosting-Scopes: Vergeben Sie sie ausdrücklich.

  1. Das Konto wählen. connector_list liefert jedes Konto mit seinem Anbieter und seinen Einstellungen. Ein Proxmox-Connector bedient einen physischen Host, genannt in settings.proxmoxHost.

  2. Den Katalog lesen. catalog mit der connectorId liefert Standorte, Größen, Images und Preise; Proxmox ergänzt die Host-Kapazität. 503 HOSTING_CATALOG_NOT_READY bedeutet, dass der Katalog noch aufgebaut wird: Führen Sie connector_sync aus oder warten Sie auf die Hintergrundsynchronisation.

  3. Mit dem Benutzer bestätigen. Rolle, Name, Standort, Größe bzw. Ressourcen, Image und, bei Cloud-Anbietern, den genauen Preis.

  4. Bestellen. provision (POST /api/hosting/operations) mit dem Konto im Inhalt:

    {
    "connectorId": "<account id>",
    "idempotencyKey": "<new random UUID>",
    "name": "docker-02",
    "role": "docker",
    "location": "<catalog location id>",
    "size": "<catalog size id>",
    "image": "<catalog image id>",
    "confirmedPrice": { "amount": "<catalog amount>", "currency": "<catalog currency>" }
    }

    Bei Proxmox ist location der Connector-Host, size ist "custom", und cpu, memoryMb und diskGb legen die Ressourcen fest; es gibt keinen Preis. Ein Relay benötigt außerdem relayAddress. Wird dieselbe Anfrage mit demselben idempotencyKey erneut gesendet, liefert sie dieselbe Operation und bestellt nie eine zweite VM.

  5. Die Operation verfolgen. operation_get (GET /api/hosting/operations/{id}) durchläuft pending, dispatching, provisioning, configuring, installing und enrolling bis ready oder failed. Prüfen Sie dann, dass der Node online ist.

  6. Fehler behandeln. Eine fehlgeschlagene Installation auf einer erstellten VM: operation_retry_install mit einem neuen idempotencyKey. Ein unsicheres Ergebnis: operation_reconcile. Bestellen Sie nie eine zweite VM, um die erste zu reparieren.

Bestehende VMs: adoption_candidates und adopt verknüpfen eine VM mit einem Node, der bereits darauf läuft; provision mit existingResourceId installiert einen Node auf einer VM ohne einen. VM-Aktionen (resource_action: start, shutdown, reboot, resize, recover, delete), Snapshots und Firewall-Änderungen erfordern die aktuelle expectedIncarnation der VM, confirmed: true und einen neuen idempotencyKey.