Serverless: API para permitir que plug-ins acessem outros plug-ins

Criado em 24 nov. 2016  ·  3Comentários  ·  Fonte: serverless/serverless

Trabalhando na implementação do provedor OpenWhisk para Serverless, encontrei um desafio ao tentar acessar outras instâncias de plug-ins de dentro de meus plug-ins.

No plug- in pacote existente para gerenciar o empacotamento de um único artefato de função.

Na implementação do provedor AWS, a classe pode fazer referência direta ao módulo por meio de um caminho de arquivo local. https://github.com/serverless/serverless/blob/master/lib/plugins/aws/deployFunction/index.js#L9

O plugin OpenWhisk é um plugin de terceiros e não pode fazer isso.

No momento, estou trabalhando em torno disso iterando as instâncias do plug-in instaladas, a partir do gerenciador de plug-ins, mas isso depende do teste do macaco da instância para assumir que temos a instância correta.
https://github.com/serverless/serverless-ibm-openwhisk/blob/master/deployFunction/index.js#L15 -L16

Podemos adicionar algum método de API para me ajudar a encontrar plug-ins instalados por seu nome?


Proposta de Implementação

Identifique os plug-ins pelo nome exclusivo, que deve ser resolvido a partir da propriedade plugin.name ou do nome do construtor sem letras maiúsculas.

Se dois plug-ins com o mesmo nome forem detectados, mostra a mensagem de descontinuação que, com a próxima versão principal, tal configuração irá lançar

Os plug-ins devem ser referenciados pelo nome na coleção serverless.plugins e, por meio dela, acessíveis a outros plug-ins.

A resolução de nome e a atribuição de serlveress.plugins devem acontecer no escopo da lógica pluginManager.addPlugin : https://github.com/serverless/serverless/blob/5096534a80e211b947e59d7283cfdfdd1711e7ea/lib/classes/PluginManager.js#L93 -L122

caplugin deprecation enhancement good first issue help wanted

Comentários muito úteis

@jthomas obrigado por abrir isso! 👍 Momento perfeito 🕐

No momento, estamos discutindo como podemos melhorar a arquitetura geral do plugin / UX.
É ótimo ter esse feedback sobre os pontos problemáticos atuais (envie mais se tiver mais alguma coisa). 💯

/ cc @ ac360 @nikgraf @eahefnawy @mthenw

Todos 3 comentários

@jthomas obrigado por abrir isso! 👍 Momento perfeito 🕐

No momento, estamos discutindo como podemos melhorar a arquitetura geral do plugin / UX.
É ótimo ter esse feedback sobre os pontos problemáticos atuais (envie mais se tiver mais alguma coisa). 💯

/ cc @ ac360 @nikgraf @eahefnawy @mthenw

De fato, um feedback muito bom! Garantimos que isso seja possível no futuro.

Eu atualizei a descrição principal com a proposta de implementação. Isso pode ser alcançado de forma bastante simples (eu acho), e o valor agregado é real

Esta página foi útil?
0 / 5 - 0 avaliações