Kong отказывается распознавать пользовательский плагин как включенный

Я разрабатывал пользовательский плагин для Kong.

Для начала я следовал рекомендациям, перечисленным в этом уроке

http://streamdata.io/blog/developing-an-helloworld-kong-plugin/

Несколько изменений, которые я сделал по пути, меняли зависимость в файле rockpec для "lrexlib-pcre" с версии 2.8.0-1 до 2.7.2-1 из-за проблем компиляции, с которыми я столкнулся в версии 2.8.0-1. Обратите внимание, что я работаю в следующей ветке. В основной ветке указана версия 2.7.2-1.

Учебное пособие предполагает Kong версии 0.4.2-1, в то время как я работаю с Kong версии 0.5.2-1.

Я перечислил мой плагин в kong.yml. Последний из перечисленных плагинов helloworld

    plugins_available:
  - ssl
  - jwt
  - acl
  - cors
  - oauth2
  - tcp-log
  - udp-log
  - file-log
  - http-log
  - key-auth
  - hmac-auth
  - basic-auth
  - ip-restriction
  - mashape-analytics
  - request-transformer
  - response-transformer
  - request-size-limiting
  - rate-limiting
  - response-ratelimiting
  - helloworld

В конце я перечислил файлы helloworld в файле rockpec.

["kong.plugins.helloworld.handler"] = "kong / plugins / helloworld / handler.lua", ["kong.plugins.helloworld.access"] = "kong / plugins / helloworld / access.lua", [" kong.plugins.helloworld.schema "] =" kong / plugins / helloworld / schema.lua "

Компиляция прошла успешно, но kong отказывается перечислять плагин helloworld как доступный в узле. Все остальные встроенные плагины показаны как доступные на сервере.

Я попытался включить плагин в любом случае с макет API. Это не работает, как ожидалось, и пытается перезапустить конг списки ошибка

nginx: [ошибка] [lua] init_by_lua:5: ошибка запуска: /usr/local/share/lua/5.1/kong.lua:82: вы используете плагин, который не был включен в конфигурации: helloworld [INFO] dnsmasq остановлен [ERR] Не удалось запустить Kong

Я знаю, что в версии 0.5 Kong были внесены серьезные изменения. Я следил за журналом изменений, но не нашел ничего, что могло бы помочь.

Я где-то пропустил настройку конфигурации?

Любая помощь будет оценена.

2 ответа

Попробуйте следующее в вашем kong.yml:

custom_plugins:
  - helloworld

Я исправил эту проблему, добавив вещи в custom_plugins и lua_package_path.

Вот шаги, чтобы включить и использовать пользовательский плагин в Конг Env.

1 - добавить имя собственного плагина в --- custom_plugins = hello-world

2 - Установите плагин hello-world, выполнив следующие действия:

Если у вас есть исходный код вашего плагина, перейдите в него и выполните команду --- "luarocks make"

это установит ваш плагин.

теперь вам нужно выполнить команду "make install-dev", чтобы убедиться, что ваш плагин имеет makefile, например, как -

После того, как вы выполните эту команду "make install-dev". он создаст файл lua в таком месте -

/ your-plugin-path /lua_modules/share/lua/5.1/kong/plugins/ your-plugin-name /?.lua

просто скопируйте этот путь и добавьте его в файл конфигурации kong в lua_package_path

Что-то вроде того --

lua_package_path = / ваш-плагин-путь / lua_modules / доля / Lua / 5,1 / конг / плагины / плагин-имя-файла /?. Lua

Теперь вы сделали свою работу.

Просто начните Конг - Конг Старт --vv

Вы увидите, что плагин загружен в env.

@Наслаждаться

Другие вопросы по тегам