Ir al contenido

Proveedores de hosting

Conecta una cuenta de un proveedor en Settings > Integrations > Hosting para crear y gestionar VM en Opfield. Guardar un conector no crea ninguna VM; un pedido requiere una confirmación aparte.

Elige un proveedor y despliega sus instrucciones de configuración. Añadir un conector requiere los permisos de Opfield integrations:hosting:view e integrations:hosting:manage; los permisos del token del proveedor se configuran por separado.

Crea VM QEMU y gestiona las VM y los CT existentes en un host seleccionado. Requiere un token de API, ACL y un perfil de almacenamiento y de red para el aprovisionamiento.

Configura Proxmox VE
  1. En Proxmox, abre Datacenter > Permissions > Users > Add. Crea un usuario dedicado, por ejemplo opfield@pve, en el dominio de autenticación de Proxmox VE. No reutilices root@pam.
  2. En Permissions > Roles > Create, crea roles que contengan los privilegios de la tabla siguiente. Mantén los privilegios de VM, de almacenamiento y los opcionales del cortafuegos del clúster en roles separados para poder asignar cada uno en la ruta correcta.
  3. En Permissions, añade entradas User Permission para opfield@pve en las rutas que quieras gestionar. Usa la propagación solo cuando los descendientes deban heredar la concesión. Para la creación, incluye los VMID futuros del rango de asignación configurado, no solo las VM existentes.
  4. Abre Permissions > API Tokens > Add, selecciona opfield@pve, llama al token hosting y mantén activado Privilege Separation. Fija una caducidad adecuada. Copia el secreto de inmediato; solo se muestra una vez.
  5. Añade las entradas API Token Permission correspondientes para opfield@pve!hosting. Con la separación de privilegios, los permisos efectivos son la intersección de los permisos del usuario y los del token. Un usuario administrador no convierte automáticamente en administrador un token separado.

Concede solo las filas necesarias para las funciones previstas. Sustituye los marcadores de las rutas por tus objetos reales de Proxmox; el ID de un nodo de Opfield no es un nombre de host ni un VMID de Proxmox.

Operación Privilegios de Proxmox Destino de la ACL
Descubrir hosts y almacenamiento Sys.Audit, Datastore.Audit Los /nodes/<host> y /storage/<storage> seleccionados, respectivamente
Leer la configuración y el estado de las VM VM.Audit /vms/<vmid>
Crear y configurar una VM 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 Cada /vms/<vmid> futuro permitido o el /pool/<pool> configurado
Asignar discos de VM Datastore.AllocateSpace El /storage/<storage> de discos seleccionado con contenido images
Descargar o importar una imagen del sistema operativo y subir medios de arranque Datastore.AllocateTemplate, Datastore.Allocate El almacenamiento de imágenes seleccionado con import y el almacenamiento de arranque con iso
Descarga de imágenes en el host Sys.AccessNetwork El /nodes/<host> seleccionado
Conectar un bridge o una VNet SDN.Use La ruta de permisos del bridge o la VNet en Proxmox
Iniciar, apagar, reiniciar VM.PowerMgmt /vms/<vmid>
Redimensionar VM.Config.CPU, VM.Config.Memory, VM.Config.Disk; ampliar un disco también requiere asignación de almacenamiento Rutas de la VM y del almacenamiento de discos
Eliminar una VM VM.Allocate /vms/<vmid>
Leer los archivos de identidad del invitado VM.GuestAgent.FileRead o el más amplio VM.GuestAgent.Unrestricted; las versiones antiguas usan VM.Monitor /vms/<vmid>
Instalar o recuperar a través de QEMU Guest Agent VM.GuestAgent.Unrestricted; las versiones antiguas usan VM.Monitor /vms/<vmid>
Crear o eliminar instantáneas VM.Snapshot /vms/<vmid>
Restaurar instantáneas VM.Snapshot.Rollback; reiniciar también requiere VM.PowerMgmt /vms/<vmid>
Leer o editar el cortafuegos de la VM y la participación de la NIC VM.Audit, VM.Config.Network /vms/<vmid>
Leer el estado del cortafuegos del clúster Sys.Audit /
Gestionar los grupos de seguridad del cortafuegos del clúster propiedad de Opfield Sys.Modify /: opcional, acceso amplio a nivel de clúster

No concedas Sys.Modify en / solo para que se supere una prueba de conexión. La integración actual del cortafuegos lo necesita para los grupos de seguridad del clúster; no es un permiso local de la VM. Si ese acceso no es aceptable, deja sin disponibilidad la gestión del cortafuegos. Opfield no activa el cortafuegos del clúster. Es preferible un almacenamiento dedicado para imágenes y medios de arranque: Datastore.Allocate es más amplio que el permiso para subir un archivo. VM.Backup no sustituye a los privilegios de instantáneas.

Las versiones de Proxmox difieren en los privilegios de Guest Agent. Selecciona los privilegios presentes en tu versión instalada y comprueba el permiso que indica la operación de la API que ha fallado. Cuando las llamadas de información de Guest Agent lo requieran, añade VM.GuestAgent.Audit; conceder solo la lectura de archivos no permite los comandos de instalación.

  1. Abre Settings > Integrations y haz clic en Add connector en Hosting.
  2. En Connection, elige Provider → Proxmox VE. Rellena Connector name (por ejemplo, Proxmox production), API origin (https://pve.example.com:8006, sin /api2/json), Token ID (opfield@pve!hosting) y API token (solo el secreto). Haz clic en Continue.
  3. En Proxmox host, elige Certificate verification: System trust, Private CA certificate o Verified certificate fingerprint. Para las dos últimas, proporciona el Trusted CA certificate en PEM o un Certificate SHA-256 pin verificado de forma independiente.
  4. Haz clic en Test Connection y elige después Physical host entre los hosts descubiertos. Un conector se asocia a un host físico; los VMID siguen siendo únicos en todo el clúster.
  5. Deja activado VM provisioning para crear VM. Desactívalo solo para el inventario y la adopción de VM y CT existentes; esto omite Infrastructure y Network. Haz clic en Continue.
  6. En Infrastructure, rellena los campos siguientes y haz clic en Continue.
Campo Valor
Disk storage Almacenamiento existente en el host seleccionado con contenido images para los discos de las VM
Image storage Almacenamiento con contenido import para las imágenes del sistema operativo
Seed storage Almacenamiento con contenido iso para los medios de arranque
Allowed VMIDs ID y rangos, como 9000-9010,9020; hasta 1000 ID únicos. Los ID ocupados se omiten
Maximum CPU budget (cores) Presupuesto agregado opcional de vCPU, incluidas las operaciones pendientes
Maximum memory budget (MiB) Presupuesto agregado opcional de RAM
Maximum disk budget (GiB) Presupuesto agregado opcional de disco
Resource pool Un nombre de pool de Proxmox existente, o déjalo en blanco
  1. En Network, elige Bridge y Address assignment. DHCP requiere un servicio DHCP en funcionamiento en esa red. Para Static IPv4 pool, rellena IP pool, Subnet y Gateway. Proporciona al menos tantas direcciones como VMID permitidos y resérvalas fuera del DHCP y de la asignación manual.
  2. Fija VLAN, DNS servers, Search domain y MTU solo si hace falta. Interface firewall controla la participación de la NIC; no activa el cortafuegos del clúster ni crea reglas. Haz clic en Review.
  3. Revisa Profile summary. En Synchronization and scope, configura Automatic sync y Sync interval (seconds), entre 60 y 86 400. Activa Automatic adoption solo si quieres que los nodos existentes se vinculen cuando las pruebas de identidad no sean ambiguas; una coincidencia de IP o de VMID por sí sola no basta.
  4. Haz clic en Create connector. Con VM provisioning desactivado, los ajustes de sincronización aparecen en el paso final Settings sin un resumen de aprovisionamiento. Guardar el conector no crea ninguna VM.
  5. Abre la cuenta guardada desde Nodes > Providers o desde la lista de integraciones. Comprueba la sincronización y el inventario de recursos. Para crear un nodo, haz clic en Create VM, selecciona su rol, su nombre, su sistema operativo y sus recursos, revisa Review node y selecciona Confirm and create VM. Espera a que termine la instalación y a que el nodo pase a estar en línea.

Si Test Connection no carga los hosts, comprueba la confianza TLS y las ACL. Si falta un almacenamiento, comprueba su tipo de contenido y su disponibilidad en el host seleccionado. Create VM requiere un perfil de aprovisionamiento y permisos de Opfield para crear nodos y recursos en la cuenta seleccionada.

Si se deniega una petición a la API, inspecciona los permisos efectivos del token desde la shell de Proxmox de un administrador, sustituyendo las rutas de ejemplo:

Ventana de terminal
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 /

Estos comandos solo leen permisos. Para un token con separación de privilegios, comprueba tanto las ACL del usuario como las del token.

Documentación de Proxmox.

Crea y gestiona Droplets, cortafuegos e instantáneas con un personal access token de ámbitos limitados.

Configura DigitalOcean
  1. Cambia al equipo previsto en el panel de control de DigitalOcean. Abre API > Tokens > Generate New Token.
  2. Da al token un nombre dedicado y una caducidad. Selecciona Custom Scopes y añade las filas necesarias de la tabla siguiente, incluidos los ámbitos de los que dependen. El rol de equipo de quien crea el token debe permitir esas operaciones.
  3. Genera el token y copia su secreto para el siguiente paso.
Capacidad Ámbitos del token
Inventario de la cuenta y de las VM account:read, droplet:read
Ubicaciones, tamaños, imágenes regions:read, sizes:read, image:read
Crear un Droplet droplet:create, droplet:read, tag:create, tag:read, regions:read, sizes:read, actions:read, image:read, snapshot:read, vpc:read
Acciones de encendido; crear o restaurar una instantánea mediante acciones del Droplet droplet:update más droplet:read, regions:read, sizes:read, actions:read, image:read, snapshot:read
Redimensionar Los ámbitos de actualización anteriores más droplet:create y sus dependencias
Eliminar un Droplet droplet:delete, droplet:read
Listar o eliminar instantáneas snapshot:read; añade snapshot:delete para la eliminación
Gestionar y limpiar cortafuegos firewall:read, firewall:create, firewall:update, firewall:delete, droplet:read, tag:read
Saldo y facturación billing:read

No hay un ámbito snapshot:create aparte en esta API: crear una instantánea de un Droplet es una acción del Droplet. No pidas permisos no relacionados de Kubernetes, Spaces ni bases de datos. Para cambiar los ámbitos de un token, crea un token sustituto, actualiza Opfield, verifícalo y solo entonces revoca el token antiguo.

Referencias: Crear un personal access token, referencia de ámbitos de DigitalOcean.

  1. Abre Settings > Integrations y haz clic en Add connector en Hosting.
  2. En Connection, selecciona Provider → DigitalOcean e introduce un Connector name, como DigitalOcean production. API origin se rellena automáticamente con https://api.digitalocean.com; no lo cambies.
  3. Pega el secreto del token en API token. Haz clic en Test Connection. Si ves Connected with limited permissions, compara los derechos que faltan con los requisitos anteriores; que la autenticación funcione no activa todas las operaciones.
  4. Haz clic en Continue. En Settings, configura los campos siguientes.
Campo Valor
Automatic sync Activa la actualización programada del inventario del proveedor
Sync interval (seconds) Un intervalo entre 60 y 86 400 segundos
Automatic adoption Vincula los nodos existentes solo cuando las pruebas de identidad no sean ambiguas
Node scope UUID opcionales de nodos de Opfield, separados por comas, que restringen la adopción automática; no son ID de VM del proveedor. En blanco, incluye todos los nodos que se pueden vincular
Default location, Default size, Default image ID opcionales del catálogo del proveedor que se preseleccionan en el asistente de VM. Déjalos en blanco si no los conoces y elige los valores al crear la VM
  1. Haz clic en Create connector. Esto guarda la conexión sin pedir ninguna VM.
  2. Abre la cuenta guardada desde la lista de integraciones o desde Nodes > Providers. Comprueba la sincronización, el inventario de la cuenta o el equipo previstos y la información financiera disponible. Un saldo desconocido no es cero.
  3. Para crear un nodo, haz clic en Create VM y elige el rol, el nombre, la ubicación, el sistema operativo y el tamaño. Revisa la configuración y el precio en Review node y selecciona después Confirm and create VM: esto hace un pedido facturable. Espera a la creación de la VM, a la instalación del daemon y a que el nodo pase a estar en línea.
  4. Para cambiar los ajustes, abre Configure en el menú de la cuenta, completa el asistente y haz clic en Save. Deja en blanco el campo de la credencial sustituta al editar para conservar el secreto guardado.

Si Add connector no está disponible, comprueba los permisos de Opfield para administrar las integraciones de hosting. Create VM requiere además permisos de creación de nodos y recursos para la cuenta seleccionada y la capacidad de creación del proveedor.

Gestiona servidores Cloud de un proyecto con su token de API. Hetzner Robot y los servidores dedicados no son compatibles.

Configura Hetzner Cloud
  1. Abre la Hetzner Console, selecciona el proyecto Cloud previsto y después Security > API Tokens > Generate API Token.
  2. Ponle nombre al token y elige Read solo para el inventario, o Read & Write para la creación de VM, el encendido, el redimensionamiento, el cortafuegos y las operaciones de instantáneas. Hetzner no expone ámbitos separados por operación como DigitalOcean.
  3. Genera el token y copia su secreto para el siguiente paso.

Usa un proyecto dedicado para limitar el alcance del token. El conector actual de Opfield no permite sustituir en su sitio el token de un proyecto de Hetzner: crea un conector nuevo para un token sustituto y concilia explícitamente los recursos dependientes antes de eliminar el conector antiguo. No hay ningún ámbito de saldo adicional que activar; esta integración no expone una API de saldo de la cuenta.

Referencia: Configuración de la API de Hetzner Cloud.

  1. Abre Settings > Integrations y haz clic en Add connector en Hosting.
  2. En Connection, selecciona Provider → Hetzner Cloud e introduce un Connector name, como Hetzner production. API origin se rellena automáticamente con https://api.hetzner.cloud; no lo cambies.
  3. Pega el secreto del token en API token. Haz clic en Test Connection. Si ves Connected with limited permissions, compara los derechos que faltan con los requisitos anteriores; que la autenticación funcione no activa todas las operaciones.
  4. Haz clic en Continue. En Settings, configura los campos siguientes.
Campo Valor
Automatic sync Activa la actualización programada del inventario del proveedor
Sync interval (seconds) Un intervalo entre 60 y 86 400 segundos
Automatic adoption Vincula los nodos existentes solo cuando las pruebas de identidad no sean ambiguas
Node scope UUID opcionales de nodos de Opfield, separados por comas, que restringen la adopción automática; no son ID de VM del proveedor. En blanco, incluye todos los nodos que se pueden vincular
Default location, Default size, Default image ID opcionales del catálogo del proveedor que se preseleccionan en el asistente de VM. Déjalos en blanco si no los conoces y elige los valores al crear la VM
  1. Haz clic en Create connector. Esto guarda la conexión sin pedir ninguna VM.
  2. Abre la cuenta guardada desde la lista de integraciones o desde Nodes > Providers. Comprueba la sincronización, el inventario del proyecto previsto y la información financiera disponible. Un saldo desconocido no es cero.
  3. Para crear un nodo, haz clic en Create VM y elige el rol, el nombre, la ubicación, el sistema operativo y el tamaño. Revisa la configuración y el precio en Review node y selecciona después Confirm and create VM: esto hace un pedido facturable. Espera a la creación de la VM, a la instalación del daemon y a que el nodo pase a estar en línea.
  4. Para cambiar los ajustes, abre Configure en el menú de la cuenta, completa el asistente y haz clic en Save. Crea un conector nuevo para sustituir un token de Hetzner; el campo del token del conector existente está desactivado.

Si Add connector no está disponible, comprueba los permisos de Opfield para administrar las integraciones de hosting. Create VM requiere además permisos de creación de nodos y recursos para la cuenta seleccionada y la capacidad de creación del proveedor.

Pide y gestiona VM con una clave de API de cuenta de Invapi. Una clave específica de un servidor no se puede usar para pedir VM nuevas.

Configura HOSTKEY
  1. Inicia sesión en Invapi, abre API keys y crea una clave de cliente o de cuenta con nombre. Una clave específica de un servidor no es la credencial correcta para pedir otras VM ni para leer la facturación de la cuenta.
  2. Si usas una restricción por IP, fija la lista de acceso por IP a la dirección de salida del backend de Opfield y activa la clave. No es la dirección del navegador que se usa para configurar Opfield.
  3. Copia de inmediato el secreto original. Tras la creación, la interfaz puede mostrar solo su hash; ese hash no puede autenticar a Opfield. Si la creación de claves no está disponible para la cuenta, resuelve antes con HOSTKEY si la cuenta cumple los requisitos.

Las claves de cuenta de HOSTKEY no usan cadenas de ámbitos al estilo de DigitalOcean. Limita el acceso con el tipo de clave del proveedor y las restricciones por IP; el acceso a nivel de cuenta puede autorizar pedidos facturables. Mantén la clave fuera del alcance de los usuarios que solo deban operar un nodo de Opfield existente.

Referencia: Autenticación y claves de la API de HOSTKEY.

  1. Abre Settings > Integrations y haz clic en Add connector en Hosting.
  2. En Connection, selecciona Provider → HOSTKEY e introduce un Connector name, como HOSTKEY production. API origin se rellena automáticamente con https://invapi.hostkey.com; no lo cambies.
  3. Pega en API key la clave de API original de Invapi, no su hash ni un token de sesión temporal. Haz clic en Test Connection. Si ves Connected with limited permissions, compara los derechos que faltan con los requisitos anteriores; que la autenticación funcione no activa todas las operaciones.
  4. Haz clic en Continue. En Settings, configura los campos siguientes.
Campo Valor
Automatic sync Activa la actualización programada del inventario del proveedor
Sync interval (seconds) Un intervalo entre 60 y 86 400 segundos
Automatic adoption Vincula los nodos existentes solo cuando las pruebas de identidad no sean ambiguas
Node scope UUID opcionales de nodos de Opfield, separados por comas, que restringen la adopción automática; no son ID de VM del proveedor. En blanco, incluye todos los nodos que se pueden vincular
Default location, Default size, Default image ID opcionales del catálogo del proveedor que se preseleccionan en el asistente de VM. Déjalos en blanco si no los conoces y elige los valores al crear la VM
  1. Haz clic en Create connector. Esto guarda la conexión sin pedir ninguna VM.
  2. Abre la cuenta guardada desde la lista de integraciones o desde Nodes > Providers. Comprueba la sincronización, el inventario de la cuenta prevista y la información financiera disponible. Un saldo desconocido no es cero.
  3. Para crear un nodo, haz clic en Create VM y elige el rol, el nombre, la ubicación, el sistema operativo y el tamaño. Revisa la configuración y el precio en Review node y selecciona después Confirm and create VM: esto hace un pedido facturable. Espera a la creación de la VM, a la instalación del daemon y a que el nodo pase a estar en línea.
  4. Para cambiar los ajustes, abre Configure en el menú de la cuenta, completa el asistente y haz clic en Save. Deja en blanco el campo de la credencial sustituta al editar para conservar el secreto guardado.

Si Add connector no está disponible, comprueba los permisos de Opfield para administrar las integraciones de hosting. Create VM requiere además permisos de creación de nodos y recursos para la cuenta seleccionada y la capacidad de creación del proveedor.

Crea y gestiona servidores en la nube de CloudBlast, sus cortafuegos y sus copias de seguridad con un token de API de la cuenta. Opfield instala su daemon en los servidores nuevos por SSH.

Configura CloudBlast
  1. Inicia sesión en la consola de CloudBlast y abre Account Settings → API.
  2. Crea un token con un nombre dedicado y cópialo para el siguiente paso.

El token actúa en nombre de toda la cuenta y puede pedir servidores facturables. Mantenlo fuera del alcance de los usuarios que solo deban operar un nodo de Opfield existente.

  1. Abre Settings > Integrations y haz clic en Add connector en Hosting.
  2. En Connection, selecciona Provider → CloudBlast e introduce un Connector name, como CloudBlast production. API origin se rellena automáticamente con https://console.cloudblast.io; no lo cambies.
  3. Pega el token en API token y haz clic en Test Connection.
  4. Haz clic en Continue. En Settings, configura Automatic sync, Sync interval (seconds), Automatic adoption, Node scope y los valores predeterminados opcionales como para los demás proveedores.
  5. Haz clic en Create connector. Esto guarda la conexión sin pedir ningún servidor.
  6. Abre la cuenta guardada desde la lista de integraciones o desde Nodes > Providers. Comprueba la sincronización, el inventario y el saldo de la cuenta en EUR.
  7. Para crear un nodo, haz clic en Create VM y elige el rol, el nombre, la ubicación, el sistema operativo y el plan. CloudBlast ofrece planes x86-64; Opfield muestra sus plantillas de Ubuntu y Debian. Revisa la configuración y el precio y selecciona después Confirm and create VM; esto hace un pedido facturable.
  8. Para cambiar los ajustes, abre Configure en el menú de la cuenta. Deja en blanco el campo del token para conservar el token guardado.

CloudBlast no tiene datos de usuario (user data), así que Opfield instala por SSH. Para cada pedido, crea una clave SSH de un solo uso, registra su clave pública en la cuenta de CloudBlast y crea el servidor con ella. Después se conecta como root, fija la clave de host del servidor en la primera conexión, ejecuta el instalador del nodo y, a continuación, elimina la clave de la cuenta y del servidor. La clave privada solo se guarda cifrada con la operación y se borra cuando esta termina.

CloudBlast no informa de la ubicación de un servidor a través de su API, así que Opfield muestra la ubicación elegida en la creación. Los cambios de plan no están disponibles a través de la API de CloudBlast, así que no se ofrece Resize.

  1. Abre Nodes > Add Node y elige la creación alojada, o crea una VM desde la cuenta del proveedor.
  2. Selecciona el rol, el nombre, la cuenta, la ubicación, un sistema operativo compatible y los recursos de la VM.
  3. Revisa la configuración y el precio disponible y confirma el pedido una sola vez.
  4. Sigue el estado del aprovisionamiento en el proveedor, la instalación, el registro y la preparación del rol.

Una VM en ejecución no es necesariamente un nodo de Opfield en línea. Espera al daemon y a sus capacidades específicas del rol. Consulta Añade tu primer nodo y Roles de los nodos.

Si la instalación falla después de crear la VM, la operación muestra las últimas líneas de la salida del instalador, sin los tokens de registro. Usa Retry installation en esa operación en lugar de hacer otro pedido. Una instalación por SSH interrumpida por un reinicio de Opfield se vuelve a enviar una vez. Eliminar un servidor cuya instalación dejó un nodo pendiente también elimina ese nodo. Una respuesta incierta del proveedor debe conciliarse primero. Instalar en una VM existente requiere un canal Guest Agent compatible o una conexión SSH de confianza a esa VM. Que coincida un VMID o una IP no basta por sí solo para la adopción automática.

  • Encendido y redimensionamiento: las acciones dependen del estado del proveedor, de los permisos y de los recursos compatibles. Los discos de Proxmox pueden crecer, no reducirse.
  • Cortafuegos: la pestaña solo está disponible para los recursos compatibles: DigitalOcean, CloudBlast y Proxmox. En Proxmox, la participación de la interfaz y la activación del cortafuegos de la VM son ajustes separados; el cortafuegos del clúster y los derechos del token también influyen. Opfield no activa por ti el cortafuegos del clúster.
  • Instantáneas: los recursos compatibles de Proxmox, DigitalOcean, Hetzner y CloudBlast ofrecen la creación, la eliminación, la restauración y carpetas en el nodo. En CloudBlast, las instantáneas son las copias de seguridad de disco completo del servidor que ofrece el proveedor, se restauran en su sitio y sus nombres tienen hasta 40 caracteres. La creación no requiere apagar la VM. Proxmox puede capturar opcionalmente la RAM de una VM en ejecución y gestiona la detención y el reinicio durante la restauración; las demás integraciones requieren actualmente una VM detenida para restaurar. HOSTKEY no figura como proveedor de instantáneas compatible.
  • Costes y coherencia: el almacenamiento de las instantáneas puede generar cargos. La tabla muestra el coste estimado del almacenamiento cuando está disponible; un guion significa que el tamaño o el precio no están disponibles. Las instantáneas de VM no son copias de seguridad de bases de datos coherentes con la aplicación y pueden excluir los volúmenes conectados.

La creación, la eliminación y la restauración de instantáneas son mutuamente excluyentes con las operaciones de VM en conflicto. Restaurar sustituye los datos; confirma la instantánea seleccionada antes de continuar.

Los permisos de hosting complementan el acceso al nodo asociado; no hacen accesible un nodo que de otro modo estaría oculto. El inventario de la cuenta, las acciones sobre las VM, la administración de los conectores y la facturación son permisos separados. Restringe la creación a las cuentas y los proveedores previstos y las acciones a los nodos y los recursos previstos. Crear un nodo alojado también requiere el permiso de creación de nodos. Los tokens de API y las concesiones OAuth o MCP pueden realizar acciones de hosting cuando tienen los ámbitos integrations:hosting:* y hosting:* correspondientes, siempre limitados por los permisos actuales del propietario. El consentimiento OAuth deja sin marcar por defecto la administración de los conectores, la creación y la eliminación de VM y la restauración de instantáneas; consulta Ámbitos y tokens.

Configura notificaciones para los cambios de encendido de las VM, los fallos de las operaciones, la sincronización y los umbrales de saldo cuando sean compatibles. Las reglas de saldo requieren acceso a la facturación y una moneda explícita. No trates unos datos del proveedor desactualizados como una operación correcta ni como un saldo cero.

Eliminar un nodo de Opfield no es lo mismo que destruir su VM. Revisa las dependencias y la acción del proveedor seleccionada antes de eliminar. Ante un fallo, conserva el registro de la operación e inspecciona los errores del proveedor, los permisos del token, la compatibilidad de la imagen, la capacidad y la conectividad del registro antes de reintentar.

Los tokens de API y los agentes MCP crean y gestionan nodos alojados con las mismas comprobaciones que la consola. MCP usa una herramienta, manage_hosting (conjunto de herramientas hosting); REST usa /api/integrations/hosting para las cuentas y /api/hosting para las operaciones, los nodos y las VM. Un agente lee read_opfield_documentation({ topic: "hosting" }) para ver cada campo y cada código de error; el prompt provision-hosted-node y la skill de agente hosting-providers siguen los mismos pasos.

Hacer un pedido requiere integrations:hosting:view y hosting:resources:create sobre la cuenta (hosting:resources:create:<connectorId>) y nodes:create. El grupo integrado admin no tiene ámbitos de hosting: concédelos explícitamente.

  1. Elige la cuenta. connector_list devuelve cada cuenta con su proveedor y sus ajustes. Un conector de Proxmox sirve a un host físico, indicado en settings.proxmoxHost.

  2. Lee el catálogo. catalog con el connectorId devuelve las ubicaciones, los tamaños, las imágenes y los precios; Proxmox añade la capacidad del host. 503 HOSTING_CATALOG_NOT_READY significa que el catálogo todavía se está construyendo: ejecuta connector_sync o espera a la sincronización en segundo plano.

  3. Confirma con el usuario. El rol, el nombre, la ubicación, el tamaño o los recursos, la imagen y, para los proveedores en la nube, el precio exacto.

  4. Haz el pedido. provision (POST /api/hosting/operations) con la cuenta dentro del cuerpo:

    {
    "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>" }
    }

    En Proxmox, location es el host del conector, size es "custom", y cpu, memoryMb y diskGb fijan los recursos; no hay precio. Un relay también necesita relayAddress. Volver a enviar la misma petición con la misma idempotencyKey devuelve la misma operación y nunca pide una segunda VM.

  5. Sigue la operación. operation_get (GET /api/hosting/operations/{id}) pasa por pending, dispatching, provisioning, configuring, installing y enrolling hasta ready o failed. Después comprueba que el nodo está en línea.

  6. Gestiona los fallos. Una instalación fallida en una VM creada: operation_retry_install con una idempotencyKey nueva. Un resultado incierto: operation_reconcile. No pidas nunca una segunda VM para reparar la primera.

VM existentes: adoption_candidates y adopt vinculan una VM a un nodo que ya se ejecuta en ella; provision con existingResourceId instala un nodo en una VM que no tiene ninguno. Las acciones sobre las VM (resource_action: start, shutdown, reboot, resize, recover, delete), las instantáneas y los cambios de cortafuegos requieren el expectedIncarnation actual de la VM, confirmed: true y una idempotencyKey nueva.