emqx/apps/emqx_dashboard
Thales Macedo Garitezi 0300403fc0
fix(admin): inconsistent return type on empty inputs
If an empty username or password are given during the initialization
of `emqx_dashboard_admin`, it'll return just the atom `ok`, which
breaks the expected `{ok, _}` in `emqx_dashboard_app:start/2`.

```
{'EXIT',
 {{failed_to_start_app,emqx_dashboard,
   {emqx_dashboard,
    {bad_return,
     {{emqx_dashboard_app,start,[normal,[]]},
      {'EXIT',
       {{badmatch,ok},
        [{emqx_dashboard_app,start,2,
          [{file,
            "/home/thales/dev/emqx/emqx/apps/emqx_dashboard/src/emqx_dashboard_app.erl"},
           {line,32}]},
         {application_master,start_it_old,4,
          [{file,"application_master.erl"},{line,293}]}]}}}}}}}}
```
2021-12-14 17:51:50 -03:00
..
etc feat: support CORS request 2021-11-11 20:27:39 +08:00
include Fix dashboard APIs return (#6177) 2021-11-18 14:36:12 +08:00
src fix(admin): inconsistent return type on empty inputs 2021-12-14 17:51:50 -03:00
test chore: add test for sub fields 2021-12-01 12:01:44 +08:00
.gitignore chore: move lib-ce to apps 2021-06-15 17:31:54 +08:00
README.md chore: rename acl to authz 2021-07-26 16:10:33 +08:00
rebar.config feat(swagger): swagger support hocon schema 2021-09-21 21:41:16 +08:00

emqx-dashboard

Dashboard for the EMQ X Broker.

REST API

The prefix of REST API is '/api/v4/'.

Method Path Description
GET /nodes/ A list of nodes in the cluster
GET /nodes/:node Lookup a node in the cluster
GET /brokers/ A list of brokers in the cluster
GET /brokers/:node Get broker info of a node
GET /metrics/ A list of metrics of all nodes in the cluster
GET /nodes/:node/metrics/ A list of metrics of a node
GET /stats/ A list of stats of all nodes in the cluster
GET /nodes/:node/stats/ A list of stats of a node
GET /nodes/:node/clients/ A list of clients on a node
GET /listeners/ A list of listeners in the cluster
GET /nodes/:node/listeners A list of listeners on the node
GET /nodes/:node/sessions/ A list of sessions on a node
GET /subscriptions/:clientid A list of subscriptions of a client
GET /nodes/:node/subscriptions/:clientid A list of subscriptions of a client on the node
GET /nodes/:node/subscriptions/ A list of subscriptions on a node
PUT /clients/:clientid/clean_authz_cache Clean Authorization cache of a client
GET /configs/ Get all configs
GET /nodes/:node/configs/ Get all configs of a node
GET /nodes/:node/plugin_configs/:plugin Get configurations of a plugin on the node
DELETE /clients/:clientid Kick out a client
GET /alarms/:node List alarms of a node
GET /alarms/ List all alarms
GET /plugins/ List all plugins in the cluster
GET /nodes/:node/plugins/ List all plugins on a node
GET /routes/ List routes
POST /nodes/:node/plugins/:plugin/load Load a plugin
GET /clients/:clientid Lookup a client in the cluster
GET nodes/:node/clients/:clientid Lookup a client on node
GET nodes/:node/sessions/:clientid Lookup a session in the cluster
GET nodes/:node/sessions/:clientid Lookup a session on the node
POST /mqtt/publish Publish a MQTT message
POST /mqtt/subscribe Subscribe a topic
POST /nodes/:node/plugins/:plugin/unload Unload a plugin
POST /mqtt/unsubscribe Unsubscribe a topic
PUT /configs/:app Update config of an application in the cluster
PUT /nodes/:node/configs/:app Update config of an application on a node
PUT /nodes/:node/plugin_configs/:plugin Update configurations of a plugin on the node

Build

make && make ct

Configurtion

dashboard.listener = 18083

dashboard.listener.acceptors = 2

dashboard.listener.max_clients = 512

Load Plugin

./bin/emqx_ctl plugins load emqx_dashboard

Login

URL: http://host:18083

Username: admin

Password: public

License

Apache License Version 2.0