Как я могу добавить настроенный плагин kong в dockerized kong
У меня работает контейнер KONG, и я хочу добавить к нему настроенный плагин, в частности, JWT Crafter. Я скачал плагин, но я не знаю, как заставить его запускаться с моим контейнером KONG. поэтому, пожалуйста, если кто-то находился в той же позиции или знает какой-либо маршрут, это будет очень полезно.
3 ответа
Я пытался сделать то же самое, но пока не смог найти подробный ответ. Вы можете настроить простой плагин helloworld, как показано ниже: ( https://github.com/brndmg/kong-plugin-hello-world)
Структура локального каталога подключаемых модулей на хосте Docker:
Затем вы можете смонтировать локальный каталог / plugins и позволить kong загрузить собственный плагин helloworld из каталога / plugins.
1) использование переменных среды
$ docker run -d --name kong --network=kong-net \
-e "KONG_DATABASE=cassandra" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
**-e "KONG_LUA_PACKAGE_PATH=/plugins/?.lua" \
-e "KONG_CUSTOM_PLUGINS=helloworld" \ **
...
-e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" \
**-v "/plugins:/plugins" \**
-p 8080:8000 -p 8443:8443 -p 8001:8001 -p 8444:8444 kong:latest
Затем вы можете увидеть настроенный пользовательский плагин на http://%5Bkong-url%5D:8001/
..
"custom_plugins": [
"helloworld"
],
..
2) Или вы можете просто смонтировать свой собственный файл kong.conf, в котором описаны нужные плагины.
/etc/kong/kong.conf
plugins = bundled,helloworld,jwt-crafter
(Похоже, что второй вариант лучше для последней версии Kong, потому что конфигурация 'kong_custom_plugin' выводит предупреждение 'deprecation')
Для создателя JWT, https://github.com/foodora/kong-plugin-jwt-crafter кажется, что плагин не поддерживается должным образом, поэтому установка с использованием luarocks завершилась ошибкой.
$ luarocks install kong-plugin-jwt-crafter
....
kong-plugin-jwt-crafter 1.0-0 depends on lua-resty-jwt ~> 0.1.10-1 (not installed)
Error: Could not satisfy dependency lua-resty-jwt ~> 0.1.10-1: No results matching query were found.
Вместо этого вы можете напрямую добавить resty-jwt к официальному образу докера, чтобы разрешить зависимость, которая не включена в официальный образ. и скопируйте "JWT crafter" в каталог "/plugins" и загрузите.
(Внутри док-контейнера)
luarocks install lua-resty-jwt
Надеюсь это поможет.
Вы можете создать новый образ докера, содержащий плагин, используя https://github.com/Kong/docker-kong/tree/master/customize
Я предлагаю использовать пример этого репозитория для создания образа докера Kong с вашим собственным плагином.