Merge pull request #9485 from thalesmg/refactor-doc-gen-50-mkIII

feat(docs): add tags to schemas
This commit is contained in:
Thales Macedo Garitezi 2023-01-11 16:36:38 -03:00 committed by GitHub
commit 2d5208fc29
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 85 additions and 15 deletions

View File

@ -2050,7 +2050,7 @@ base_listener_enable_authn {
Set <code>true</code> (default) to enable client authentication on this listener, the authentication
process goes through the configured authentication chain.
When set to <code>false</code> to allow any clients with or without authentication information such as username or password to log in.
When set to <code>quick_deny_anonymous<code>, it behaves like when set to <code>true</code> but clients will be
When set to <code>quick_deny_anonymous</code>, it behaves like when set to <code>true</code>, but clients will be
denied immediately without going through any authenticators if <code>username</code> is not provided. This is useful to fence off
anonymous clients early.
"""

View File

@ -111,7 +111,7 @@
comma_separated_atoms/0
]).
-export([namespace/0, roots/0, roots/1, fields/1, desc/1]).
-export([namespace/0, roots/0, roots/1, fields/1, desc/1, tags/0]).
-export([conf_get/2, conf_get/3, keys/2, filter/1]).
-export([server_ssl_opts_schema/2, client_ssl_opts_schema/1, ciphers_schema/1]).
-export([sc/2, map/2]).
@ -120,6 +120,9 @@
namespace() -> broker.
tags() ->
[<<"EMQX">>].
roots() ->
%% TODO change config importance to a field metadata
roots(high) ++ roots(medium) ++ roots(low).
@ -2342,7 +2345,7 @@ authentication(Which) ->
undefined -> hoconsc:array(typerefl:map());
Module -> Module:root_type()
end,
%% It is a lazy type because when handing runtime update requests
%% It is a lazy type because when handling runtime update requests
%% the config is not checked by emqx_schema, but by the injected schema
Type = hoconsc:lazy(Type0),
#{

View File

@ -1,7 +1,7 @@
%% -*- mode: erlang -*-
{application, emqx_authn, [
{description, "EMQX Authentication"},
{vsn, "0.1.11"},
{vsn, "0.1.12"},
{modules, []},
{registered, [emqx_authn_sup, emqx_authn_registry]},
{applications, [kernel, stdlib, emqx_resource, emqx_connector, ehttpc, epgsql, mysql, jose]},

View File

@ -22,6 +22,7 @@
-export([
common_fields/0,
roots/0,
tags/0,
fields/1,
authenticator_type/0,
authenticator_type_without_scram/0,
@ -32,6 +33,9 @@
roots() -> [].
tags() ->
[<<"Authentication">>].
common_fields() ->
[{enable, fun enable/1}].

View File

@ -25,6 +25,7 @@
-export([
namespace/0,
tags/0,
roots/0,
fields/1,
desc/1
@ -105,6 +106,9 @@ mnesia(boot) ->
namespace() -> "authn-scram-builtin_db".
tags() ->
[<<"Authentication">>].
roots() -> [?CONF_NS].
fields(?CONF_NS) ->

View File

@ -26,6 +26,7 @@
-export([
namespace/0,
tags/0,
roots/0,
fields/1,
desc/1,
@ -51,6 +52,9 @@
namespace() -> "authn-http".
tags() ->
[<<"Authentication">>].
roots() ->
[
{?CONF_NS,

View File

@ -25,6 +25,7 @@
-export([
namespace/0,
tags/0,
roots/0,
fields/1,
desc/1
@ -44,6 +45,9 @@
namespace() -> "authn-jwt".
tags() ->
[<<"Authentication">>].
roots() ->
[
{?CONF_NS,

View File

@ -26,6 +26,7 @@
-export([
namespace/0,
tags/0,
roots/0,
fields/1,
desc/1
@ -107,6 +108,9 @@ mnesia(boot) ->
namespace() -> "authn-builtin_db".
tags() ->
[<<"Authentication">>].
roots() -> [?CONF_NS].
fields(?CONF_NS) ->

View File

@ -25,6 +25,7 @@
-export([
namespace/0,
tags/0,
roots/0,
fields/1,
desc/1
@ -44,6 +45,9 @@
namespace() -> "authn-mongodb".
tags() ->
[<<"Authentication">>].
roots() ->
[
{?CONF_NS,

View File

@ -27,6 +27,7 @@
-export([
namespace/0,
tags/0,
roots/0,
fields/1,
desc/1
@ -46,6 +47,9 @@
namespace() -> "authn-mysql".
tags() ->
[<<"Authentication">>].
roots() -> [?CONF_NS].
fields(?CONF_NS) ->

View File

@ -26,6 +26,7 @@
-export([
namespace/0,
tags/0,
roots/0,
fields/1,
desc/1
@ -50,6 +51,9 @@
namespace() -> "authn-postgresql".
tags() ->
[<<"Authentication">>].
roots() -> [?CONF_NS].
fields(?CONF_NS) ->

View File

@ -25,6 +25,7 @@
-export([
namespace/0,
tags/0,
roots/0,
fields/1,
desc/1
@ -44,6 +45,9 @@
namespace() -> "authn-redis".
tags() ->
[<<"Authentication">>].
roots() ->
[
{?CONF_NS,

View File

@ -33,6 +33,7 @@
-export([
namespace/0,
roots/0,
tags/0,
fields/1,
validations/0,
desc/1
@ -65,6 +66,9 @@ type_names() ->
namespace() -> authz.
tags() ->
[<<"Authorization">>].
%% @doc authorization schema is not exported
%% but directly used by emqx_schema
roots() -> [].

View File

@ -20,7 +20,7 @@
-import(hoconsc, [mk/2, ref/2]).
-export([roots/0, fields/1, desc/1, namespace/0]).
-export([roots/0, fields/1, desc/1, namespace/0, tags/0]).
-export([
get_response/0,
@ -104,6 +104,9 @@ metrics_status_fields() ->
namespace() -> "bridge".
tags() ->
[<<"Bridge">>].
roots() -> [bridges].
fields(bridges) ->

View File

@ -38,7 +38,9 @@
cipher/0
]).
-export([namespace/0, roots/0, fields/1, translations/0, translation/1, validations/0, desc/1]).
-export([
namespace/0, roots/0, fields/1, translations/0, translation/1, validations/0, desc/1, tags/0
]).
-export([conf_get/2, conf_get/3, keys/2, filter/1]).
%% Static apps which merge their configs into the merged emqx.conf
@ -67,6 +69,9 @@
%% root config should not have a namespace
namespace() -> undefined.
tags() ->
[<<"EMQX">>].
roots() ->
PtKey = ?EMQX_AUTHENTICATION_SCHEMA_MODULE_PT_KEY,
case persistent_term:get(PtKey, undefined) of

View File

@ -49,12 +49,15 @@
]).
-elvis([{elvis_style, dont_repeat_yourself, disable}]).
-export([namespace/0, roots/0, fields/1, desc/1]).
-export([namespace/0, roots/0, fields/1, desc/1, tags/0]).
-export([proxy_protocol_opts/0]).
namespace() -> gateway.
tags() ->
[<<"Gateway">>].
roots() -> [gateway].
fields(gateway) ->

View File

@ -23,6 +23,7 @@
-export([
namespace/0,
tags/0,
roots/0,
fields/1,
desc/1,
@ -33,6 +34,9 @@
namespace() -> rule_engine.
tags() ->
[<<"Rule Engine">>].
roots() -> ["rule_engine"].
fields("rule_engine") ->

View File

@ -24,12 +24,19 @@ main(Args) ->
["hocon" | Rest] ->
%% forward the call to hocon_cli
hocon_cli:main(Rest);
["check_license_key", Key] ->
check_license(#{key => list_to_binary(Key)});
["check_license_key", Key0] ->
Key = cleanup_key(Key0),
check_license(#{key => Key});
_ ->
do(Args)
end.
%% the key is a string (list) representation of a binary, so we need
%% to remove the leading and trailing angle brackets.
cleanup_key(Str0) ->
Str1 = iolist_to_binary(string:replace(Str0, "<<", "", leading)),
iolist_to_binary(string:replace(Str1, ">>", "", trailing)).
do(Args) ->
ok = do_with_halt(Args, "mnesia_dir", fun create_mnesia_dir/2),
ok = do_with_halt(Args, "chkconfig", fun("-config", X) -> chkconfig(X) end),

View File

@ -13,7 +13,7 @@
-behaviour(hocon_schema).
-export([roots/0, fields/1, validations/0, desc/1]).
-export([roots/0, fields/1, validations/0, desc/1, tags/0]).
-export([
default_license/0,
@ -31,10 +31,13 @@ roots() ->
)}
].
tags() ->
[<<"License">>].
fields(key_license) ->
[
{key, #{
type => string(),
type => binary(),
default => default_license(),
%% so it's not logged
sensitive => true,
@ -82,7 +85,9 @@ check_license_watermark(Conf) ->
%% NOTE: when updating a new key, the schema doc in emqx_license_schema_i18n.conf
%% should be updated accordingly
default_license() ->
"MjIwMTExCjAKMTAKRXZhbHVhdGlvbgpjb250YWN0QGVtcXguaW8KZ"
"GVmYXVsdAoyMDIzMDEwOQoxODI1CjEwMAo=.MEUCIG62t8W15g05f"
"1cKx3tA3YgJoR0dmyHOPCdbUxBGxgKKAiEAhHKh8dUwhU+OxNEaOn"
"8mgRDtiT3R8RZooqy6dEsOmDI=".
<<
"MjIwMTExCjAKMTAKRXZhbHVhdGlvbgpjb250YWN0QGVtcXguaW8KZ"
"GVmYXVsdAoyMDIzMDEwOQoxODI1CjEwMAo=.MEUCIG62t8W15g05f"
"1cKx3tA3YgJoR0dmyHOPCdbUxBGxgKKAiEAhHKh8dUwhU+OxNEaOn"
"8mgRDtiT3R8RZooqy6dEsOmDI="
>>.