|
|
2 rokov pred | |
|---|---|---|
| .. | ||
| src | 95f1312df7 chore(emqx_ctl): lower command override log from warning to info | 2 rokov pred |
| test | 7eea693422 fix: reorder authn when updating | 2 rokov pred |
| README.md | c739d9957c docs: add readme for emqx_ctl app | 2 rokov pred |
| rebar.config | 794bedef9f fix(emqx_ctl): Start CLI before ekka | 2 rokov pred |
This application accepts dynamic emqx ctl command registrations so plugins can add their own commands.
Please note that the 'proxy' command emqx_ctl is considered deprecated, going forward, please use emqx ctl instead.
To add a new command, the application must implement a callback function to handle the command, and register the command with emqx_ctl:register_command/2 API.
To add a new command which can be executed from emqx ctl, the application must call emqx_ctl:register_command/2 API to register the command.
For example, to add a new command myplugin which is to be executed as emqx ctl myplugin, the application must call emqx_ctl:register_command/2 API as follows:
emqx_ctl:register_command(mypluin, {myplugin_cli, cmd}).
The callback function must be exported by the application and must have the following signature:
cmd([Arg1, Arg2, ...]) -> ok.
It must also implement a special clause to handle the usage argument:
cmd([usage]) -> "myplugin [arg1] [arg2] ...";
The emqx_ctl application provides some utility functions which help to format the output of the command.
For example emqx_ctl:print/2 and emqx_ctl:usage/1.
emqx_management_cli can be taken as a reference for how to implement a command.