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.
Einrichtung des Anbieters
Abschnitt betitelt „Einrichtung des Anbieters“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.
Proxmox VE
Abschnitt betitelt „Proxmox VE“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
Die Zugangsdaten erstellen
Abschnitt betitelt „Die Zugangsdaten erstellen“- Öffnen Sie in Proxmox Datacenter > Permissions > Users > Add. Erstellen Sie einen eigenen Benutzer, zum Beispiel
opfield@pve, im Authentifizierungs-Realm Proxmox VE. Verwenden Sieroot@pamnicht wieder. - 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.
- Fügen Sie unter Permissions Einträge User Permission für
opfield@pvean 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. - Öffnen Sie Permissions > API Tokens > Add, wählen Sie
opfield@pve, nennen Sie das Tokenhostingund lassen Sie Privilege Separation aktiviert. Legen Sie einen angemessenen Ablauf fest. Kopieren Sie das Secret sofort; es wird nur einmal angezeigt. - Fügen Sie passende Einträge API Token Permission für
opfield@pve!hostinghinzu. 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.
Rechte und ACL-Pfade
Abschnitt betitelt „Rechte und ACL-Pfade“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.
In Opfield verbinden
Abschnitt betitelt „In Opfield verbinden“- Öffnen Sie Settings > Integrations und klicken Sie unter Hosting auf Add connector.
- 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. - 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.
- 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.
- 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.
- 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 |
- 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.
- 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.
- 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.
- 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.
- Ö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.
Berechtigungen prüfen
Abschnitt betitelt „Berechtigungen prüfen“Wird eine API-Anfrage abgelehnt, prüfen Sie die wirksamen Token-Berechtigungen aus der Proxmox-Shell eines Administrators und ersetzen Sie dabei die Beispielpfade:
pveum user token permissions opfield@pve hosting --path /vms/9000pveum user token permissions opfield@pve hosting --path /storage/opfield-imagespveum 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.
DigitalOcean
Abschnitt betitelt „DigitalOcean“Erstellen und verwalten Sie Droplets, Firewalls und Snapshots mit einem eingeschränkten Personal Access Token.
DigitalOcean einrichten
Ein API-Token erstellen
Abschnitt betitelt „Ein API-Token erstellen“- Wechseln Sie im DigitalOcean-Control-Panel zum vorgesehenen Team. Öffnen Sie API > Tokens > Generate New Token.
- 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.
- 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.
In Opfield verbinden
Abschnitt betitelt „In Opfield verbinden“- Öffnen Sie Settings > Integrations und klicken Sie unter Hosting auf Add connector.
- Wählen Sie unter Connection Provider → DigitalOcean und geben Sie einen Connector name ein, zum Beispiel
DigitalOcean production. API origin wird automatisch mithttps://api.digitalocean.comausgefüllt; ändern Sie ihn nicht. - 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.
- 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 |
- Klicken Sie auf Create connector. Das speichert die Verbindung, ohne eine VM zu bestellen.
- Ö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.
- 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.
- 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.
Hetzner Cloud
Abschnitt betitelt „Hetzner Cloud“Verwalten Sie Cloud-Server in einem Projekt mit dessen API-Token. Hetzner Robot und dedizierte Server werden nicht unterstützt.
Hetzner Cloud einrichten
Ein API-Token erstellen
Abschnitt betitelt „Ein API-Token erstellen“- Öffnen Sie die Hetzner Console, wählen Sie das vorgesehene Cloud-Projekt und dann Security > API Tokens > Generate API Token.
- 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.
- 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.
In Opfield verbinden
Abschnitt betitelt „In Opfield verbinden“- Öffnen Sie Settings > Integrations und klicken Sie unter Hosting auf Add connector.
- Wählen Sie unter Connection Provider → Hetzner Cloud und geben Sie einen Connector name ein, zum Beispiel
Hetzner production. API origin wird automatisch mithttps://api.hetzner.cloudausgefüllt; ändern Sie ihn nicht. - 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.
- 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 |
- Klicken Sie auf Create connector. Das speichert die Verbindung, ohne eine VM zu bestellen.
- Ö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.
- 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.
- 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.
HOSTKEY
Abschnitt betitelt „HOSTKEY“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
Einen API-Schlüssel erstellen
Abschnitt betitelt „Einen API-Schlüssel erstellen“- 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.
- 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.
- 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.
In Opfield verbinden
Abschnitt betitelt „In Opfield verbinden“- Öffnen Sie Settings > Integrations und klicken Sie unter Hosting auf Add connector.
- Wählen Sie unter Connection Provider → HOSTKEY und geben Sie einen Connector name ein, zum Beispiel
HOSTKEY production. API origin wird automatisch mithttps://invapi.hostkey.comausgefüllt; ändern Sie ihn nicht. - 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.
- 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 |
- Klicken Sie auf Create connector. Das speichert die Verbindung, ohne eine VM zu bestellen.
- Ö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.
- 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.
- 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.
CloudBlast
Abschnitt betitelt „CloudBlast“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
Ein API-Token erstellen
Abschnitt betitelt „Ein API-Token erstellen“- Melden Sie sich in der CloudBlast-Konsole an und öffnen Sie Account Settings → API.
- 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.
In Opfield verbinden
Abschnitt betitelt „In Opfield verbinden“- Öffnen Sie Settings > Integrations und klicken Sie unter Hosting auf Add connector.
- Wählen Sie unter Connection Provider → CloudBlast und geben Sie einen Connector name ein, zum Beispiel
CloudBlast production. API origin wird automatisch mithttps://console.cloudblast.ioausgefüllt; ändern Sie ihn nicht. - Fügen Sie das Token in API token ein und klicken Sie auf Test Connection.
- 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.
- Klicken Sie auf Create connector. Das speichert die Verbindung, ohne einen Server zu bestellen.
- Öffnen Sie das gespeicherte Konto aus der Integrationsliste oder unter Nodes > Providers. Prüfen Sie Synchronisation, Inventar und den Kontostand in EUR.
- 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.
- 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.
Einen Node erstellen und registrieren
Abschnitt betitelt „Einen Node erstellen und registrieren“- Öffnen Sie Nodes > Add Node und wählen Sie die gehostete Erstellung, oder erstellen Sie eine VM aus dem Anbieterkonto.
- Wählen Sie Rolle, Name, Konto, Standort, kompatibles Betriebssystem und VM-Ressourcen.
- Prüfen Sie die Konfiguration und den verfügbaren Preis und bestätigen Sie die Bestellung einmal.
- 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.
Die VM betreiben
Abschnitt betitelt „Die VM betreiben“- 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.
Berechtigungen, Alarme und Wiederherstellung
Abschnitt betitelt „Berechtigungen, Alarme und Wiederherstellung“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.
Automatisierung mit MCP oder der API
Abschnitt betitelt „Automatisierung mit MCP oder der API“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.
-
Das Konto wählen.
connector_listliefert jedes Konto mit seinem Anbieter und seinen Einstellungen. Ein Proxmox-Connector bedient einen physischen Host, genannt insettings.proxmoxHost. -
Den Katalog lesen.
catalogmit derconnectorIdliefert Standorte, Größen, Images und Preise; Proxmox ergänzt die Host-Kapazität.503 HOSTING_CATALOG_NOT_READYbedeutet, dass der Katalog noch aufgebaut wird: Führen Sieconnector_syncaus oder warten Sie auf die Hintergrundsynchronisation. -
Mit dem Benutzer bestätigen. Rolle, Name, Standort, Größe bzw. Ressourcen, Image und, bei Cloud-Anbietern, den genauen Preis.
-
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
locationder Connector-Host,sizeist"custom", undcpu,memoryMbunddiskGblegen die Ressourcen fest; es gibt keinen Preis. Ein Relay benötigt außerdemrelayAddress. Wird dieselbe Anfrage mit demselbenidempotencyKeyerneut gesendet, liefert sie dieselbe Operation und bestellt nie eine zweite VM. -
Die Operation verfolgen.
operation_get(GET /api/hosting/operations/{id}) durchläuftpending,dispatching,provisioning,configuring,installingundenrollingbisreadyoderfailed. Prüfen Sie dann, dass der Node online ist. -
Fehler behandeln. Eine fehlgeschlagene Installation auf einer erstellten VM:
operation_retry_installmit einem neuenidempotencyKey. 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.