Saltar al contenido

Publicar y licenciar ​

Qué entregas ​

Un único fichero: <clave>-<versión>.zip, firmado con tu clave. Quien lo reciba necesita además tu clave pública (y su huella de 8 caracteres) para decidir si confía en ella (Confiar en una clave).

Cómo llega a una instalación ​

VíaQuién la usaRequisitos
Subir un .zip en Ajustes → MódulosCualquier plugin firmado con una clave aceptadaTu clave en PLUGIN_TRUSTED_KEYS de esa instalación
Catálogo de Hury (Marketplace)Solo los plugins oficialesFirmados con la clave de Hury. Un plugin de clave de confianza no puede usar ni publicarse en el catálogo privado de Hury

Para tus clientes o tu equipo, lo normal es entregar el .zip y la clave pública, y que el dueño de cada instalación lo suba tras añadir la clave. Un plugin oficial ya instalado no se puede sustituir por uno firmado con una clave de confianza.

Versiones y actualizaciones ​

  • Versión semver x.y.z en plugin.json. El instalador omite una versión ya instalada: sube la versión en cada paquete que publiques.
  • Actualizar es subir un .zip con una versión mayor. Pesa unas decenas de KB y solo hay que esperar el reinicio de la API y el worker.
  • Versión anterior (Ajustes → Módulos) vuelve al código anterior; no deshace las migraciones. Por eso cada migración debe ser idempotente y compatible hacia atrás, y una migración publicada no se edita nunca: el esquema nuevo va en la siguiente (002_….sql).
  • Un cambio del contrato con el host (apiVersion) exige reconstruir el plugin con la nueva versión. Un plugin con una apiVersion mayor que la de la instalación se rechaza.

Antes de entregar una versión ​

  1. npm test y npm run typecheck sin errores.
  2. hury-plugin build con la versión nueva en plugin.json.
  3. hury-plugin sign con la clave de siempre (otra clave obliga al dueño a aceptar una nueva).
  4. hury-plugin verify dist/<clave>-<versión>.zip --key "$(hury-plugin pubkey)".
  5. Instálalo en una instalación de pruebas, enciéndelo en Ajustes → Módulos y recorre la pantalla con un rol sin permisos y con otro con ellos.
  6. Prueba también apagarlo (las rutas responden 404 MODULE_DISABLED; el panel no carga tu código) y desinstalarlo (los datos se conservan).

Licencias y precios ​

Los precios de plugin.json (priceMonthly) son de catálogo y orientativos: no se cobra nada, no hay contratación ni facturación conectadas. La licencia es otra cosa: un token firmado con las claves de Hury (paquetes o Studio) que, con PLUGINS_LICENSE=required, exige tener un plugin de pago para instalarlo y cargarlo. Mientras no sea Hury quien firme esas licencias, un plugin propio debe publicarse sin precio (priceMonthly en 0 o ausente) si la instalación exige licencias. Detalle: Licencias y precios.

Portada ​

Opcional: "image": "assets/cover.png" y el PNG (960x540) en assets/cover.png dentro del proyecto. hury-plugin build copia assets/ al paquete. El Marketplace muestra la portada y «Por» seguido del autor.

Retirar una versión o una clave ​

  • Para dejar de ofrecer un plugin, deja de entregar el .zip. Las instalaciones que ya lo tienen lo conservan hasta que se desinstale.
  • Si pierdes o expones tu clave privada, genera otra, avisa a quien confíe en ella y pídele que quite la anterior de PLUGIN_TRUSTED_KEYS: los plugins firmados con la clave retirada dejan de cargarse en el siguiente arranque, y habrá que volver a firmarlos con la nueva. No existe revocación remota de claves de confianza: es una decisión de cada dueño.

Contrato con el host: apiVersion 2. Sitio estático: no recoge datos ni usa servicios de terceros.