Apariencia
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ía | Quién la usa | Requisitos |
|---|---|---|
Subir un .zip en Ajustes → Módulos | Cualquier plugin firmado con una clave aceptada | Tu clave en PLUGIN_TRUSTED_KEYS de esa instalación |
| Catálogo de Hury (Marketplace) | Solo los plugins oficiales | Firmados 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.zenplugin.json. El instalador omite una versión ya instalada: sube la versión en cada paquete que publiques. - Actualizar es subir un
.zipcon 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 unaapiVersionmayor que la de la instalación se rechaza.
Antes de entregar una versión
npm testynpm run typechecksin errores.hury-plugin buildcon la versión nueva enplugin.json.hury-plugin signcon la clave de siempre (otra clave obliga al dueño a aceptar una nueva).hury-plugin verify dist/<clave>-<versión>.zip --key "$(hury-plugin pubkey)".- 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.
- 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.