Kong / Kong/kong-custom-plugin-workshop
How to add luamqtt luarocks module in handeler.lua? Actually spend whole day but still not succed.I want to use mqtt protocol with kong
- Dominant language
- Lua
- Stars
- 14
- Forks
- 26
- PR merge metrics
- No merged PRs in 30d
Description
```
local mqtt= require "resty.http"
local con = require "mqtt"
local plugin = {
PRIORITY = 1000, -- set the plugin priority, which determines plugin execution order
VERSION = "0.1", -- version in X.Y.Z format. Check hybrid-mode compatibility requirements.
}
function plugin:init_worker()
-- your custom code here
kong.log.debug("saying hi from the 'init_worker' handler")
end --]]
-- runs in the 'access_by_lua_block'
function plugin:access(plugin_conf)
-- your custom code here
kong.log.debug("llllllllllllllllllllllllllllllll*************************************************************************************************************************************************************")
kong.log.inspect(mqtt)
kong.log.debug("qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq")
kong.log.inspect(plugin_conf) -- check the logs for a pretty-printed config!
kong.service.request.set_header(plugin_conf.request_header, "this is on a request")
end
return plugin
```
# But the error
```
error loading module 'kong.plugins.myplugin.handler':
/kong-plugin/kong/plugins/myplugin/handler.lua:2: module 'luamqtt.mqtt' not found:No LuaRocks module found for luamqtt.mqtt
no field package.preload['luamqtt.mqtt']
no file './luamqtt/mqtt.lua'
no file './luamqtt/mqtt/init.lua'
no file '/usr/local/openresty/site/lualib/luamqtt/mqtt.ljbc'
no file '/usr/local/openresty/site/lualib/luamqtt/mqtt/init.ljbc'
no file '/usr/local/openresty/lualib/luamqtt/mqtt.ljbc'
no file '/usr/local/openresty/lualib/luamqtt/mqtt/init.ljbc'
no file '/usr/local/openresty/site/lualib/luamqtt/mqtt.lua'
no file '/usr/local/openresty/site/lualib/luamqtt/mqtt/init.lua'
no file '/usr/local/openresty/lualib/luamqtt/mqtt.lua'
no file '/usr/local/openresty/lualib/luamqtt/mqtt/init.lua'
no file '/kong-plugin/luamqtt/mqtt.lua'
no file '/kong-plugin/luamqtt/mqtt/init.lua'
no file '/usr/local/openresty/luajit/share/luajit-2.1.0-beta3/luamqtt/mqtt.lua'
no file '/usr/local/share/lua/5.1/luamqtt/mqtt.lua'
no file '/usr/local/share/lua/5.1/luamqtt/mqtt/init.lua'
no file '/usr/local/openresty/luajit/share/lua/5.1/luamqtt/mqtt.lua'
no file '/usr/local/openresty/luajit/share/lua/5.1/luamqtt/mqtt/init.lua'
no file '/root/.luarocks/share/lua/5.1/luamqtt/mqtt.lua'
no file '/root/.luarocks/share/lua/5.1/luamqtt/mqtt/init.lua'
no file '/usr/local/openresty/lualib/luamqtt/mqtt.so'
no file '/usr/local/openresty/site/lualib/luamqtt/mqtt.so'
no file './luamqtt/mqtt.so'
no file '/usr/local/lib/lua/5.1/luamqtt/mqtt.so'
no file '/usr/local/openresty/luajit/lib/lua/5.1/luamqtt/mqtt.so'
no file '/usr/local/lib/lua/5.1/loadall.so'
no file '/root/.luarocks/lib/lua/5.1/luamqtt/mqtt.so'
no file '/usr/local/openresty/lualib/luamqtt.so'
no file '/usr/local/openresty/site/lualib/luamqtt.so'
no file './luamqtt.so'
no file '/usr/local/lib/lua/5.1/luamqtt.so'
no file '/usr/local/openresty/luajit/lib/lua/5.1/luamqtt.so'
no file '/usr/local/lib/lua/5.1/loadall.so'
no file '/root/.luarocks/lib/lua/5.1/luamqtt.so'
stack traceback:
[C]: in function 'require'
/kong-plugin/kong/plugins/myplugin/handler.lua:2: in main chunk
[C]: at 0x7ff305696410
[C]: in function 'xpcall'
/usr/local/share/lua/5.1/kong/tools/utils.lua:691: in function 'load_module_if_exists'
/usr/local/share/lua/5.1/kong/db/dao/plugins.lua:154: in function 'load_plugin_handler'
/usr/local/share/lua/5.1/kong/db/dao/plugins.lua:260: in function 'load_plugin'
/usr/local/share/lua/5.1/kong/db/dao/plugins.lua:312: in function 'load_plugin_schemas'
/usr/local/share/lua/5.1/kong/init.lua:622: in function 'init'
init_by_lua:3: in main chunk
stack traceback:
[C]: in function 'error'
/usr/local/share/lua/5.1/kong/tools/utils.lua:700: in function 'load_module_if_exists'
/usr/local/share/lua/5.1/kong/db/dao/plugins.lua:154: in function 'load_plugin_handler'
/usr/local/share/lua/5.1/kong/db/dao/plugins.lua:260: in function 'load_plugin'
/usr/local/share/lua/5.1/kong/db/dao/plugins.lua:312: in function 'load_plugin_schemas'
/usr/local/share/lua/5.1/kong/init.lua:622: in function 'init'
init_by_lua:3: in main chunk
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at line 2 of kong/plugins/myplugin/handler.lua and read the Kong module-loading traceback. Compare the luamqtt.mqtt search locations shown in the error with the OpenResty and LuaRocks environment, then retry Kong startup. Done means the plugin loads without the missing-module error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100