Serverless: API для предоставления плагинам доступа к другим плагинам

Созданный на 24 нояб. 2016  ·  3Комментарии  ·  Источник: serverless/serverless

Работая над реализацией провайдера OpenWhisk для бессерверной версии, я столкнулся с проблемой, пытаясь получить доступ к другим экземплярам плагина из моих плагинов.

В плагине deployFunction нам нужно получить доступ к существующему плагину пакета, чтобы управлять упаковкой одного функционального артефакта.

В реализации поставщика AWS класс может напрямую ссылаться на модуль через локальный путь к файлу. https://github.com/serverless/serverless/blob/master/lib/plugins/aws/deployFunction/index.js#L9

Плагин OpenWhisk является плагином стороннего производителя и не может этого сделать.

В настоящее время я работаю над этим, перебирая установленные экземпляры подключаемых модулей из диспетчера подключаемых модулей, но это зависит от обезьяньего тестирования экземпляра, чтобы предположить, что у нас есть правильный экземпляр.
https://github.com/serverless/serverless-ibm-openwhisk/blob/master/deployFunction/index.js#L15 -L16

Можно ли добавить какой-нибудь метод API, который поможет мне найти установленные плагины по их имени?


Предложение по реализации

Идентифицируйте плагины по уникальному имени, которое должно быть разрешено либо из свойства plugin.name либо из имени конструктора без заглавной буквы.

Если обнаружены два плагина с одинаковым именем, отобразить сообщение об устаревании, которое со следующей основной версией будет вызывать

На подключаемые модули следует ссылаться по имени в коллекции serverless.plugins и через это имя доступно для других подключаемых модулей.

Разрешение имени и назначение serlveress.plugins должно происходить в рамках логики pluginManager.addPlugin : https://github.com/serverless/serverless/blob/5096534a80e211b947e59d7283cfdfdd1711e7ea/lib/classes/PluginManager.js2

caplugin deprecation enhancement good first issue help wanted

Самый полезный комментарий

@jthomas, спасибо, что открыли это! 👍 Идеальное время 🕐

В настоящее время мы обсуждаем, как мы можем улучшить общую архитектуру плагина / UX.
Приятно получить такой отзыв о текущих болевых точках (пожалуйста, отправьте больше, если у вас есть что-нибудь еще). 💯

/ cc @ ac360 @nikgraf @eahefnawy @mthenw

Все 3 Комментарий

@jthomas, спасибо, что открыли это! 👍 Идеальное время 🕐

В настоящее время мы обсуждаем, как мы можем улучшить общую архитектуру плагина / UX.
Приятно получить такой отзыв о текущих болевых точках (пожалуйста, отправьте больше, если у вас есть что-нибудь еще). 💯

/ cc @ ac360 @nikgraf @eahefnawy @mthenw

Действительно, очень хорошие отзывы! Мы уверены, что это возможно в будущем.

Я обновил основное описание предложением по реализации. Достичь этого достаточно просто (я думаю), а добавленная стоимость вполне реальна.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги