Merge pull request #12939 from zmstone/0426-unhide-zone-config-for-listener

docs: expose zone config in schema doc
This commit is contained in:
Zaiming (Stone) Shi 2024-04-29 20:18:59 +02:00 committed by GitHub
commit 1e64e531f0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 33 additions and 15 deletions

View File

@ -217,14 +217,7 @@ roots(high) ->
importance => ?IMPORTANCE_MEDIUM importance => ?IMPORTANCE_MEDIUM
} }
)}, )},
{zones, {zones, zones_field_schema()}
sc(
map(name, ref("zone")),
#{
desc => ?DESC(zones),
importance => ?IMPORTANCE_HIDDEN
}
)}
] ++ ] ++
emqx_schema_hooks:injection_point( emqx_schema_hooks:injection_point(
'roots.high', 'roots.high',
@ -1859,7 +1852,7 @@ base_listener(Bind) ->
#{ #{
desc => ?DESC(base_listener_zone), desc => ?DESC(base_listener_zone),
default => 'default', default => 'default',
importance => ?IMPORTANCE_HIDDEN importance => ?IMPORTANCE_LOW
} }
)}, )},
{"limiter", {"limiter",
@ -1883,6 +1876,22 @@ base_listener(Bind) ->
)} )}
] ++ emqx_limiter_schema:short_paths_fields(). ] ++ emqx_limiter_schema:short_paths_fields().
%% @hidden Starting from 5.7, listenrs.{TYPE}.{NAME}.zone is no longer hidden
%% However, the root key 'zones' is still hidden because the fields' schema
%% just repeat other root field's schema, which makes the dumped schema doc
%% unnecessarily bloated.
%%
%% zone schema is documented here since 5.7:
%% https://docs.emqx.com/en/enterprise/latest/configuration/configuration.html
zones_field_schema() ->
sc(
map(name, ref("zone")),
#{
desc => ?DESC(zones),
importance => ?IMPORTANCE_HIDDEN
}
).
desc("persistent_session_store") -> desc("persistent_session_store") ->
"Settings for message persistence."; "Settings for message persistence.";
desc("persistent_session_builtin") -> desc("persistent_session_builtin") ->

View File

@ -101,7 +101,8 @@ defmodule EMQXUmbrella.MixProject do
{:bcrypt, github: "emqx/erlang-bcrypt", tag: "0.6.2", override: true}, {:bcrypt, github: "emqx/erlang-bcrypt", tag: "0.6.2", override: true},
{:uuid, github: "okeuday/uuid", tag: "v2.0.6", override: true}, {:uuid, github: "okeuday/uuid", tag: "v2.0.6", override: true},
{:quickrand, github: "okeuday/quickrand", tag: "v2.0.6", override: true}, {:quickrand, github: "okeuday/quickrand", tag: "v2.0.6", override: true},
{:ra, "2.7.3", override: true} {:ra, "2.7.3", override: true},
{:mimerl, "1.2.0", override: true}
] ++ ] ++
emqx_apps(profile_info, version) ++ emqx_apps(profile_info, version) ++
enterprise_deps(profile_info) ++ jq_dep() ++ quicer_dep() enterprise_deps(profile_info) ++ jq_dep() ++ quicer_dep()

View File

@ -111,7 +111,8 @@
{ssl_verify_fun, "1.1.7"}, {ssl_verify_fun, "1.1.7"},
{rfc3339, {git, "https://github.com/emqx/rfc3339.git", {tag, "0.2.3"}}}, {rfc3339, {git, "https://github.com/emqx/rfc3339.git", {tag, "0.2.3"}}},
{bcrypt, {git, "https://github.com/emqx/erlang-bcrypt.git", {tag, "0.6.2"}}}, {bcrypt, {git, "https://github.com/emqx/erlang-bcrypt.git", {tag, "0.6.2"}}},
{ra, "2.7.3"} {ra, "2.7.3"},
{mimerl, "1.2.0"}
]}. ]}.
{xref_ignores, {xref_ignores,

View File

@ -1198,11 +1198,18 @@ fields_mqtt_quic_listener_max_ack_delay_ms.desc:
fields_mqtt_quic_listener_max_ack_delay_ms.label: fields_mqtt_quic_listener_max_ack_delay_ms.label:
"""Max ack delay ms""" """Max ack delay ms"""
base_listener_zone.desc: base_listener_zone.desc: """~
"""The configuration zone to which the listener belongs.""" The configuration zone to which the listener belongs.
Clients connected to this listener will inherit zone-settings created under this zone name.
base_listener_zone.label: A zone can override the configs under below root names:
"""Zone""" - `mqtt`
- `force_shutdown`
- `force_gc`
- `flapping_detect`
- `session_persistence`"""
base_listener_zone.label: "Zone"
fields_mqtt_quic_listener_handshake_idle_timeout.desc: fields_mqtt_quic_listener_handshake_idle_timeout.desc:
"""How long a handshake can idle before it is discarded.""" """How long a handshake can idle before it is discarded."""