docs: expose zone config in schema doc

This commit is contained in:
zmstone 2024-04-27 00:36:42 +02:00
parent 70d2c6c6cd
commit 7a05a4754f
2 changed files with 29 additions and 13 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

@ -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."""