Serverless: API para permitir que los complementos accedan a otros complementos

Creado en 24 nov. 2016  ·  3Comentarios  ·  Fuente: serverless/serverless

Trabajando en la implementación del proveedor de OpenWhisk para Serverless, encontré un desafío al intentar acceder a otras instancias de complementos desde mis complementos.

En el complemento deployFunction , necesitamos acceder al complemento del paquete existente para administrar el empaquetado de un artefacto de función única.

En la implementación del proveedor de AWS, la clase puede hacer referencia directamente al módulo a través de una ruta de archivo local. https://github.com/serverless/serverless/blob/master/lib/plugins/aws/deployFunction/index.js#L9

El complemento OpenWhisk es un complemento de terceros y no puede hacer esto.

Actualmente estoy trabajando alrededor de esto iterando sobre las instancias de complementos instalados, desde el administrador de complementos, pero esto se basa en probar la instancia para asumir que tenemos la instancia correcta.
https://github.com/serverless/serverless-ibm-openwhisk/blob/master/deployFunction/index.js#L15 -L16

¿Podríamos agregar algún método de API para ayudarme a encontrar complementos instalados por su nombre?


Propuesta de implementación

Identifique los complementos por un nombre único, que debe resolverse desde la propiedad plugin.name o el nombre del constructor sin mayúsculas.

Si se detectan dos complementos con el mismo nombre, muestre un mensaje de obsolescencia que con la próxima versión principal dicha configuración arrojará

Se debe hacer referencia a los complementos por su nombre en la colección serverless.plugins y, a través de eso, se debe acceder a otros complementos.

La resolución de nombres y la asignación de serlveress.plugins deben ocurrir en el alcance de la lógica de pluginManager.addPlugin : https://github.com/serverless/serverless/blob/5096534a80e211b947e59d7283cfdfdd1711e7ea/lib/classes/PluginManager.js#L93 -L122

caplugin deprecation enhancement good first issue help wanted

Comentario más útil

@jthomas ¡ gracias por abrir esto! 👍 Momento perfecto 🕐

Actualmente estamos discutiendo cómo podemos mejorar la arquitectura general del complemento / UX.
Es genial tener comentarios sobre los puntos débiles actuales (envíe más si tiene algo más). 💯

/ cc @ ac360 @nikgraf @eahefnawy @mthenw

Todos 3 comentarios

@jthomas ¡ gracias por abrir esto! 👍 Momento perfecto 🕐

Actualmente estamos discutiendo cómo podemos mejorar la arquitectura general del complemento / UX.
Es genial tener comentarios sobre los puntos débiles actuales (envíe más si tiene algo más). 💯

/ cc @ ac360 @nikgraf @eahefnawy @mthenw

De hecho, ¡muy buenos comentarios! Nos aseguramos de que esto sea posible en el futuro.

Actualicé la descripción principal con la propuesta de implementación. Se puede lograr de manera bastante simple (creo), y el valor agregado es real

¿Fue útil esta página
0 / 5 - 0 calificaciones