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

Open
#6 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.