Просмотр исходного кода

Merge pull request #13495 from thalesmg/20240719-m-hide-enable-fields-mkII

chore: hide enable flags from schema and config examples
zmstone 1 год назад
Родитель
Сommit
2e39c4ad5e
54 измененных файлов с 128 добавлено и 150 удалено
  1. 1 1
      apps/emqx/rebar.config
  2. 12 1
      apps/emqx/src/emqx_schema.erl
  3. 1 0
      apps/emqx/test/emqx_common_test_helpers.erl
  4. 1 4
      apps/emqx/test/emqx_shared_sub_SUITE.erl
  5. 1 0
      apps/emqx_auth/src/emqx_authn/emqx_authn_schema.erl
  6. 6 1
      apps/emqx_auth/src/emqx_authz/emqx_authz_schema.erl
  7. 1 0
      apps/emqx_bridge/src/schema/emqx_bridge_schema.erl
  8. 14 3
      apps/emqx_bridge/src/schema/emqx_bridge_v2_schema.erl
  9. 1 1
      apps/emqx_bridge_azure_event_hub/src/emqx_bridge_azure_event_hub.app.src
  10. 1 10
      apps/emqx_bridge_azure_event_hub/src/emqx_bridge_azure_event_hub.erl
  11. 1 1
      apps/emqx_bridge_confluent/src/emqx_bridge_confluent.app.src
  12. 1 10
      apps/emqx_bridge_confluent/src/emqx_bridge_confluent_producer.erl
  13. 23 29
      apps/emqx_bridge_http/src/emqx_bridge_http_schema.erl
  14. 1 9
      apps/emqx_bridge_kafka/src/emqx_bridge_kafka.erl
  15. 10 24
      apps/emqx_bridge_syskeeper/src/emqx_bridge_syskeeper.erl
  16. 6 1
      apps/emqx_cluster_link/src/emqx_cluster_link_schema.erl
  17. 8 1
      apps/emqx_conf/src/emqx_conf_schema.erl
  18. 6 1
      apps/emqx_connector/src/schema/emqx_connector_schema.erl
  19. 1 1
      apps/emqx_dashboard/src/emqx_dashboard_swagger.erl
  20. 1 0
      apps/emqx_dashboard_sso/src/emqx_dashboard_sso_schema.erl
  21. 0 1
      apps/emqx_enterprise/src/emqx_enterprise_schema.erl
  22. 1 1
      apps/emqx_exhook/src/emqx_exhook.app.src
  23. 1 0
      apps/emqx_exhook/src/emqx_exhook_schema.erl
  24. 2 0
      apps/emqx_ft/src/emqx_ft_schema.erl
  25. 2 0
      apps/emqx_gateway/src/emqx_gateway_schema.erl
  26. 6 1
      apps/emqx_modules/src/emqx_modules_schema.erl
  27. 1 1
      apps/emqx_opentelemetry/src/emqx_opentelemetry.app.src
  28. 3 0
      apps/emqx_opentelemetry/src/emqx_otel_schema.erl
  29. 2 0
      apps/emqx_plugins/src/emqx_plugins_schema.erl
  30. 2 0
      apps/emqx_prometheus/src/emqx_prometheus_schema.erl
  31. 1 1
      apps/emqx_psk/src/emqx_psk.app.src
  32. 1 0
      apps/emqx_psk/src/emqx_psk_schema.erl
  33. 2 1
      apps/emqx_retainer/src/emqx_retainer_schema.erl
  34. 1 1
      apps/emqx_slow_subs/src/emqx_slow_subs.app.src
  35. 4 0
      apps/emqx_slow_subs/src/emqx_slow_subs_schema.erl
  36. 1 1
      mix.exs
  37. 1 1
      rebar.config
  38. 0 3
      rel/config/ee-examples/file_transfer-with-local-exporter.conf.example
  39. 0 5
      rel/config/ee-examples/file_transfer-with-s3-exporter.conf.example
  40. 0 2
      rel/config/examples/delayed.conf.example
  41. 0 3
      rel/config/examples/exhook.conf.example
  42. 0 3
      rel/config/examples/flapping_detect.conf.example
  43. 0 3
      rel/config/examples/force_gc.conf.example
  44. 0 3
      rel/config/examples/force_shutdown.conf.example
  45. 0 1
      rel/config/examples/listeners.ssl.conf.example
  46. 0 1
      rel/config/examples/listeners.ws.conf.example
  47. 0 1
      rel/config/examples/listeners.wss.conf.example
  48. 0 3
      rel/config/examples/log.console.conf.example
  49. 0 3
      rel/config/examples/log.file.conf.example
  50. 0 2
      rel/config/examples/plugins.conf.example
  51. 0 3
      rel/config/examples/prometheus-pushgateway.conf.example
  52. 0 1
      rel/config/examples/prometheus.conf.example
  53. 0 3
      rel/config/examples/psk_authentication.conf.example
  54. 0 3
      rel/config/examples/retainer.conf.example

+ 1 - 1
apps/emqx/rebar.config

@@ -31,7 +31,7 @@
     {esockd, {git, "https://github.com/emqx/esockd", {tag, "5.11.3"}}},
     {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.19.5"}}},
     {gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "3.3.1"}}},
-    {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.43.1"}}},
+    {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.43.2"}}},
     {emqx_http_lib, {git, "https://github.com/emqx/emqx_http_lib.git", {tag, "0.5.3"}}},
     {pbkdf2, {git, "https://github.com/emqx/erlang-pbkdf2.git", {tag, "2.0.4"}}},
     {recon, {git, "https://github.com/ferd/recon", {tag, "2.5.1"}}},

+ 12 - 1
apps/emqx/src/emqx_schema.erl

@@ -351,6 +351,7 @@ fields("authz_cache") ->
                 #{
                     default => true,
                     required => true,
+                    importance => ?IMPORTANCE_NO_DOC,
                     desc => ?DESC(fields_cache_enable)
                 }
             )},
@@ -387,6 +388,7 @@ fields("flapping_detect") ->
                 boolean(),
                 #{
                     default => false,
+                    %% importance => ?IMPORTANCE_NO_DOC,
                     desc => ?DESC(flapping_detect_enable)
                 }
             )},
@@ -423,6 +425,7 @@ fields("force_shutdown") ->
                 boolean(),
                 #{
                     default => true,
+                    importance => ?IMPORTANCE_NO_DOC,
                     desc => ?DESC(force_shutdown_enable)
                 }
             )},
@@ -452,6 +455,7 @@ fields("overload_protection") ->
                 boolean(),
                 #{
                     desc => ?DESC(overload_protection_enable),
+                    %% importance => ?IMPORTANCE_NO_DOC,
                     default => false
                 }
             )},
@@ -512,7 +516,11 @@ fields("force_gc") ->
         {"enable",
             sc(
                 boolean(),
-                #{default => true, desc => ?DESC(force_gc_enable)}
+                #{
+                    default => true,
+                    importance => ?IMPORTANCE_NO_DOC,
+                    desc => ?DESC(force_gc_enable)
+                }
             )},
         {"count",
             sc(
@@ -1665,6 +1673,7 @@ fields("durable_sessions") ->
             sc(
                 boolean(), #{
                     desc => ?DESC(durable_sessions_enable),
+                    %% importance => ?IMPORTANCE_NO_DOC,
                     default => false
                 }
             )},
@@ -1888,6 +1897,7 @@ base_listener(Bind) ->
                 #{
                     default => true,
                     aliases => [enabled],
+                    importance => ?IMPORTANCE_NO_DOC,
                     desc => ?DESC(fields_listener_enabled)
                 }
             )},
@@ -2416,6 +2426,7 @@ client_ssl_opts_schema(Defaults) ->
                     boolean(),
                     #{
                         default => false,
+                        %% importance => ?IMPORTANCE_NO_DOC,
                         desc => ?DESC(client_ssl_opts_schema_enable)
                     }
                 )},

+ 1 - 0
apps/emqx/test/emqx_common_test_helpers.erl

@@ -78,6 +78,7 @@
     start_epmd/0,
     start_peer/2,
     stop_peer/1,
+    ebin_path/0,
     listener_port/2
 ]).
 

+ 1 - 4
apps/emqx/test/emqx_shared_sub_SUITE.erl

@@ -1247,7 +1247,7 @@ recv_msgs(Count, Msgs) ->
 start_peer(Name, Port) ->
     {ok, Node} = emqx_cth_peer:start_link(
         Name,
-        ebin_path()
+        emqx_common_test_helpers:ebin_path()
     ),
     pong = net_adm:ping(Node),
     setup_node(Node, Port),
@@ -1261,9 +1261,6 @@ host() ->
     [_, Host] = string:tokens(atom_to_list(node()), "@"),
     Host.
 
-ebin_path() ->
-    ["-pa" | code:get_path()].
-
 setup_node(Node, Port) ->
     EnvHandler =
         fun(_) ->

+ 1 - 0
apps/emqx_auth/src/emqx_authn/emqx_authn_schema.erl

@@ -203,6 +203,7 @@ common_fields() ->
 
 enable(type) -> boolean();
 enable(default) -> true;
+enable(importance) -> ?IMPORTANCE_NO_DOC;
 enable(desc) -> ?DESC(?FUNCTION_NAME);
 enable(_) -> undefined.
 

+ 6 - 1
apps/emqx_auth/src/emqx_authz/emqx_authz_schema.erl

@@ -170,7 +170,12 @@ api_authz_refs() ->
 authz_common_fields(Type) ->
     [
         {type, ?HOCON(Type, #{required => true, desc => ?DESC(type)})},
-        {enable, ?HOCON(boolean(), #{default => true, desc => ?DESC(enable)})}
+        {enable,
+            ?HOCON(boolean(), #{
+                default => true,
+                importance => ?IMPORTANCE_NO_DOC,
+                desc => ?DESC(enable)
+            })}
     ].
 
 source_types() ->

+ 1 - 0
apps/emqx_bridge/src/schema/emqx_bridge_schema.erl

@@ -123,6 +123,7 @@ common_bridge_fields() ->
                 boolean(),
                 #{
                     desc => ?DESC("desc_enable"),
+                    importance => ?IMPORTANCE_NO_DOC,
                     default => true
                 }
             )},

+ 14 - 3
apps/emqx_bridge/src/schema/emqx_bridge_v2_schema.erl

@@ -65,6 +65,7 @@
 -export([
     make_producer_action_schema/1, make_producer_action_schema/2,
     make_consumer_action_schema/1, make_consumer_action_schema/2,
+    common_fields/0,
     top_level_common_action_keys/0,
     top_level_common_source_keys/0,
     project_to_actions_resource_opts/1,
@@ -507,16 +508,26 @@ make_consumer_action_schema(ParametersRef, Opts) ->
                 })}
         ].
 
-common_schema(ParametersRef, _Opts) ->
+common_fields() ->
     [
-        {enable, mk(boolean(), #{desc => ?DESC("config_enable"), default => true})},
+        {enable,
+            mk(boolean(), #{
+                desc => ?DESC("config_enable"),
+                importance => ?IMPORTANCE_NO_DOC,
+                default => true
+            })},
         {connector,
             mk(binary(), #{
                 desc => ?DESC(emqx_connector_schema, "connector_field"), required => true
             })},
         {tags, emqx_schema:tags_schema()},
-        {description, emqx_schema:description_schema()},
+        {description, emqx_schema:description_schema()}
+    ].
+
+common_schema(ParametersRef, _Opts) ->
+    [
         {parameters, ParametersRef}
+        | common_fields()
     ].
 
 project_to_actions_resource_opts(OldResourceOpts) ->

+ 1 - 1
apps/emqx_bridge_azure_event_hub/src/emqx_bridge_azure_event_hub.app.src

@@ -1,6 +1,6 @@
 {application, emqx_bridge_azure_event_hub, [
     {description, "EMQX Enterprise Azure Event Hub Bridge"},
-    {vsn, "0.1.7"},
+    {vsn, "0.1.8"},
     {registered, []},
     {applications, [
         kernel,

+ 1 - 10
apps/emqx_bridge_azure_event_hub/src/emqx_bridge_azure_event_hub.erl

@@ -129,16 +129,7 @@ fields(actions) ->
         override(
             emqx_bridge_kafka:producer_opts(action),
             bridge_v2_overrides()
-        ) ++
-            [
-                {enable, mk(boolean(), #{desc => ?DESC("config_enable"), default => true})},
-                {connector,
-                    mk(binary(), #{
-                        desc => ?DESC(emqx_connector_schema, "connector_field"), required => true
-                    })},
-                {tags, emqx_schema:tags_schema()},
-                {description, emqx_schema:description_schema()}
-            ],
+        ) ++ emqx_bridge_v2_schema:common_fields(),
     override_documentations(Fields);
 fields(Method) ->
     Fields = emqx_bridge_kafka:fields(Method),

+ 1 - 1
apps/emqx_bridge_confluent/src/emqx_bridge_confluent.app.src

@@ -1,6 +1,6 @@
 {application, emqx_bridge_confluent, [
     {description, "EMQX Enterprise Confluent Connector and Action"},
-    {vsn, "0.1.2"},
+    {vsn, "0.1.3"},
     {registered, []},
     {applications, [
         kernel,

+ 1 - 10
apps/emqx_bridge_confluent/src/emqx_bridge_confluent_producer.erl

@@ -116,16 +116,7 @@ fields(actions) ->
         override(
             emqx_bridge_kafka:producer_opts(action),
             bridge_v2_overrides()
-        ) ++
-            [
-                {enable, mk(boolean(), #{desc => ?DESC("config_enable"), default => true})},
-                {connector,
-                    mk(binary(), #{
-                        desc => ?DESC(emqx_connector_schema, "connector_field"), required => true
-                    })},
-                {tags, emqx_schema:tags_schema()},
-                {description, emqx_schema:description_schema()}
-            ],
+        ) ++ emqx_bridge_v2_schema:common_fields(),
     override_documentations(Fields);
 fields(Method) ->
     Fields = emqx_bridge_kafka:fields(Method),

+ 23 - 29
apps/emqx_bridge_http/src/emqx_bridge_http_schema.erl

@@ -72,35 +72,29 @@ fields(action) ->
             }
         )};
 fields("http_action") ->
-    [
-        {enable, mk(boolean(), #{desc => ?DESC("config_enable_bridge"), default => true})},
-        {connector,
-            mk(binary(), #{
-                desc => ?DESC(emqx_connector_schema, "connector_field"), required => true
-            })},
-        {tags, emqx_schema:tags_schema()},
-        {description, emqx_schema:description_schema()},
-        %% Note: there's an implicit convention in `emqx_bridge' that,
-        %% for egress bridges with this config, the published messages
-        %% will be forwarded to such bridges.
-        {local_topic,
-            mk(
-                binary(),
-                #{
-                    required => false,
-                    desc => ?DESC("config_local_topic"),
-                    importance => ?IMPORTANCE_HIDDEN
-                }
-            )},
-        %% Since e5.3.2, we split the http bridge to two parts: a) connector. b) actions.
-        %% some fields are moved to connector, some fields are moved to actions and composed into the
-        %% `parameters` field.
-        {parameters,
-            mk(ref("parameters_opts"), #{
-                required => true,
-                desc => ?DESC("config_parameters_opts")
-            })}
-    ] ++
+    emqx_bridge_v2_schema:common_fields() ++
+        [
+            %% Note: there's an implicit convention in `emqx_bridge' that,
+            %% for egress bridges with this config, the published messages
+            %% will be forwarded to such bridges.
+            {local_topic,
+                mk(
+                    binary(),
+                    #{
+                        required => false,
+                        desc => ?DESC("config_local_topic"),
+                        importance => ?IMPORTANCE_HIDDEN
+                    }
+                )},
+            %% Since e5.3.2, we split the http bridge to two parts: a) connector. b) actions.
+            %% some fields are moved to connector, some fields are moved to actions and composed into the
+            %% `parameters` field.
+            {parameters,
+                mk(ref("parameters_opts"), #{
+                    required => true,
+                    desc => ?DESC("config_parameters_opts")
+                })}
+        ] ++
         emqx_connector_schema:resource_opts_ref(
             ?MODULE, action_resource_opts, fun legacy_action_resource_opts_converter/2
         );

+ 1 - 9
apps/emqx_bridge_kafka/src/emqx_bridge_kafka.erl

@@ -297,15 +297,7 @@ fields("config_consumer") ->
 fields(kafka_producer) ->
     connector_config_fields() ++ producer_opts(v1);
 fields(kafka_producer_action) ->
-    [
-        {enable, mk(boolean(), #{desc => ?DESC("config_enable"), default => true})},
-        {connector,
-            mk(binary(), #{
-                desc => ?DESC(emqx_connector_schema, "connector_field"), required => true
-            })},
-        {tags, emqx_schema:tags_schema()},
-        {description, emqx_schema:description_schema()}
-    ] ++ producer_opts(action);
+    emqx_bridge_v2_schema:common_fields() ++ producer_opts(action);
 fields(kafka_consumer) ->
     connector_config_fields() ++ fields(consumer_opts);
 fields(ssl_client_opts) ->

+ 10 - 24
apps/emqx_bridge_syskeeper/src/emqx_bridge_syskeeper.erl

@@ -84,30 +84,16 @@ fields(action) ->
             }
         )};
 fields(config) ->
-    [
-        {enable, mk(boolean(), #{desc => ?DESC("config_enable"), default => true})},
-        {tags, emqx_schema:tags_schema()},
-        {description, emqx_schema:description_schema()},
-        {connector,
-            mk(binary(), #{
-                desc => ?DESC(emqx_connector_schema, "connector_field"), required => true
-            })},
-        {parameters,
-            mk(
-                ref(?MODULE, "parameters"),
-                #{required => true, desc => ?DESC("parameters")}
-            )},
-        {local_topic, mk(binary(), #{required => false, desc => ?DESC(mqtt_topic)})},
-        {resource_opts,
-            mk(
-                ref(?MODULE, "creation_opts"),
-                #{
-                    required => false,
-                    default => #{},
-                    desc => ?DESC(emqx_resource_schema, <<"resource_opts">>)
-                }
-            )}
-    ];
+    emqx_bridge_v2_schema:make_producer_action_schema(
+        mk(
+            ref(?MODULE, "parameters"),
+            #{
+                required => true,
+                desc => ?DESC("parameters")
+            }
+        ),
+        #{resource_opts_ref => ref(?MODULE, "creation_opts")}
+    );
 fields("parameters") ->
     [
         {target_topic,

+ 6 - 1
apps/emqx_cluster_link/src/emqx_cluster_link_schema.erl

@@ -46,7 +46,12 @@ link_schema() ->
 
 fields("link") ->
     [
-        {enable, ?HOCON(boolean(), #{default => true, desc => ?DESC(enable)})},
+        {enable,
+            ?HOCON(boolean(), #{
+                default => true,
+                importance => ?IMPORTANCE_NO_DOC,
+                desc => ?DESC(enable)
+            })},
         {name, ?HOCON(binary(), #{required => true, desc => ?DESC(link_name)})},
         {server,
             emqx_schema:servers_sc(#{required => true, desc => ?DESC(server)}, ?MQTT_HOST_OPTS)},

+ 8 - 1
apps/emqx_conf/src/emqx_conf_schema.erl

@@ -997,6 +997,7 @@ fields("log_overload_kill") ->
                 boolean(),
                 #{
                     default => true,
+                    importance => ?IMPORTANCE_NO_DOC,
                     desc => ?DESC("log_overload_kill_enable")
                 }
             )},
@@ -1032,6 +1033,7 @@ fields("log_burst_limit") ->
                 boolean(),
                 #{
                     default => true,
+                    importance => ?IMPORTANCE_NO_DOC,
                     desc => ?DESC("log_burst_limit_enable")
                 }
             )},
@@ -1269,6 +1271,11 @@ log_handler_common_confs(Handler, Default) ->
     EnvValue = os:getenv("EMQX_DEFAULT_LOG_HANDLER"),
     Enable = lists:member(EnvValue, EnableValues),
     LevelDesc = maps:get(level_desc, Default, "common_handler_level"),
+    EnableImportance =
+        case Enable of
+            true -> ?IMPORTANCE_NO_DOC;
+            false -> ?IMPORTANCE_MEDIUM
+        end,
     [
         {"level",
             sc(
@@ -1285,7 +1292,7 @@ log_handler_common_confs(Handler, Default) ->
                 #{
                     default => Enable,
                     desc => ?DESC("common_handler_enable"),
-                    importance => ?IMPORTANCE_MEDIUM
+                    importance => EnableImportance
                 }
             )},
         {"formatter",

+ 6 - 1
apps/emqx_connector/src/schema/emqx_connector_schema.erl

@@ -489,7 +489,12 @@ api_fields("put_connector", _Type, Fields) ->
 
 common_fields() ->
     [
-        {enable, mk(boolean(), #{desc => ?DESC("config_enable"), default => true})},
+        {enable,
+            mk(boolean(), #{
+                desc => ?DESC("config_enable"),
+                importance => ?IMPORTANCE_NO_DOC,
+                default => true
+            })},
         {tags, emqx_schema:tags_schema()},
         {description, emqx_schema:description_schema()}
     ].

+ 1 - 1
apps/emqx_dashboard/src/emqx_dashboard_swagger.erl

@@ -1008,7 +1008,7 @@ parse_object_loop([{Name, Hocon} | Rest], Module, Options, Props, Required, Refs
 
 %% return true if the field has 'importance' set to 'hidden'
 is_hidden(Hocon) ->
-    hocon_schema:is_hidden(Hocon, #{include_importance_up_from => ?IMPORTANCE_LOW}).
+    hocon_schema:is_hidden(Hocon, #{include_importance_up_from => ?IMPORTANCE_NO_DOC}).
 
 is_required(Hocon) ->
     hocon_schema:field_schema(Hocon, required) =:= true.

+ 1 - 0
apps/emqx_dashboard_sso/src/emqx_dashboard_sso_schema.erl

@@ -47,6 +47,7 @@ common_backend_schema(Backend) ->
             mk(
                 boolean(), #{
                     desc => ?DESC(backend_enable),
+                    %% importance => ?IMPORTANCE_NO_DOC,
                     required => false,
                     default => false
                 }

+ 0 - 1
apps/emqx_enterprise/src/emqx_enterprise_schema.erl

@@ -53,7 +53,6 @@ fields("log_audit_handler") ->
                     importance => ?IMPORTANCE_HIDDEN
                 }
             )},
-
         {"path",
             hoconsc:mk(
                 string(),

+ 1 - 1
apps/emqx_exhook/src/emqx_exhook.app.src

@@ -1,7 +1,7 @@
 %% -*- mode: erlang -*-
 {application, emqx_exhook, [
     {description, "EMQX Extension for Hook"},
-    {vsn, "5.0.17"},
+    {vsn, "5.0.18"},
     {modules, []},
     {registered, []},
     {mod, {emqx_exhook_app, []}},

+ 1 - 0
apps/emqx_exhook/src/emqx_exhook_schema.erl

@@ -54,6 +54,7 @@ fields(server) ->
         {enable,
             ?HOCON(boolean(), #{
                 default => true,
+                importance => ?IMPORTANCE_NO_DOC,
                 desc => ?DESC(enable)
             })},
         {url,

+ 2 - 0
apps/emqx_ft/src/emqx_ft_schema.erl

@@ -66,6 +66,7 @@ fields(file_transfer) ->
                 boolean(),
                 #{
                     desc => ?DESC("enable"),
+                    %% importance => ?IMPORTANCE_NO_DOC,
                     required => false,
                     default => false
                 }
@@ -242,6 +243,7 @@ common_backend_fields() ->
             mk(
                 boolean(), #{
                     desc => ?DESC("backend_enable"),
+                    importance => ?IMPORTANCE_NO_DOC,
                     required => false,
                     default => true
                 }

+ 2 - 0
apps/emqx_gateway/src/emqx_gateway_schema.erl

@@ -240,6 +240,7 @@ gateway_common_options() ->
                 boolean(),
                 #{
                     default => true,
+                    importance => ?IMPORTANCE_NO_DOC,
                     desc => ?DESC(gateway_common_enable)
                 }
             )},
@@ -413,6 +414,7 @@ common_listener_opts() ->
                 boolean(),
                 #{
                     default => true,
+                    importance => ?IMPORTANCE_NO_DOC,
                     desc => ?DESC(gateway_common_listener_enable)
                 }
             )},

+ 6 - 1
apps/emqx_modules/src/emqx_modules_schema.erl

@@ -79,7 +79,12 @@ rewrite_validator(Rules) ->
 
 fields("delayed") ->
     [
-        {enable, ?HOCON(boolean(), #{default => true, desc => ?DESC(enable)})},
+        {enable,
+            ?HOCON(boolean(), #{
+                default => true,
+                importance => ?IMPORTANCE_NO_DOC,
+                desc => ?DESC(enable)
+            })},
         {max_delayed_messages,
             ?HOCON(integer(), #{desc => ?DESC(max_delayed_messages), default => 0})}
     ];

+ 1 - 1
apps/emqx_opentelemetry/src/emqx_opentelemetry.app.src

@@ -1,6 +1,6 @@
 {application, emqx_opentelemetry, [
     {description, "OpenTelemetry for EMQX Broker"},
-    {vsn, "0.2.6"},
+    {vsn, "0.2.7"},
     {registered, []},
     {mod, {emqx_otel_app, []}},
     {applications, [

+ 3 - 0
apps/emqx_opentelemetry/src/emqx_otel_schema.erl

@@ -72,6 +72,7 @@ fields("otel_metrics") ->
                 boolean(),
                 #{
                     default => false,
+                    %% importance => ?IMPORTANCE_NO_DOC,
                     required => true,
                     desc => ?DESC(enable)
                 }
@@ -104,6 +105,7 @@ fields("otel_logs") ->
                 #{
                     default => false,
                     desc => ?DESC(enable),
+                    %% importance => ?IMPORTANCE_NO_DOC
                     importance => ?IMPORTANCE_HIGH
                 }
             )},
@@ -143,6 +145,7 @@ fields("otel_traces") ->
                 #{
                     default => false,
                     desc => ?DESC(enable),
+                    %% importance => ?IMPORTANCE_NO_DOC
                     importance => ?IMPORTANCE_HIGH
                 }
             )},

+ 2 - 0
apps/emqx_plugins/src/emqx_plugins_schema.erl

@@ -56,6 +56,8 @@ state_fields() ->
             ?HOCON(
                 boolean(),
                 #{
+                    default => true,
+                    importance => ?IMPORTANCE_NO_DOC,
                     desc => ?DESC(enable),
                     required => true
                 }

+ 2 - 0
apps/emqx_prometheus/src/emqx_prometheus_schema.erl

@@ -78,6 +78,7 @@ fields(push_gateway) ->
                 #{
                     default => false,
                     required => true,
+                    %% importance => ?IMPORTANCE_NO_DOC,
                     desc => ?DESC(push_gateway_enable)
                 }
             )},
@@ -229,6 +230,7 @@ fields(legacy_deprecated_setting) ->
                 #{
                     default => false,
                     required => true,
+                    %% importance => ?IMPORTANCE_NO_DOC,
                     desc => ?DESC(legacy_enable)
                 }
             )},

+ 1 - 1
apps/emqx_psk/src/emqx_psk.app.src

@@ -2,7 +2,7 @@
 {application, emqx_psk, [
     {description, "EMQX PSK"},
     % strict semver, bump manually!
-    {vsn, "5.0.6"},
+    {vsn, "5.0.7"},
     {modules, []},
     {registered, [emqx_psk_sup]},
     {applications, [kernel, stdlib]},

+ 1 - 0
apps/emqx_psk/src/emqx_psk_schema.erl

@@ -42,6 +42,7 @@ fields() ->
     [
         {enable,
             ?HOCON(boolean(), #{
+                %% importance => ?IMPORTANCE_NO_DOC,
                 default => false,
                 require => true,
                 desc => ?DESC(enable)

+ 2 - 1
apps/emqx_retainer/src/emqx_retainer_schema.erl

@@ -43,7 +43,7 @@ roots() ->
 
 fields("retainer") ->
     [
-        {enable, sc(boolean(), enable, true)},
+        {enable, sc(boolean(), enable, true, ?IMPORTANCE_NO_DOC)},
         {msg_expiry_interval,
             sc(
                 %% not used in a `receive ... after' block, just timestamp comparison
@@ -126,6 +126,7 @@ fields(mnesia_config) ->
         {enable,
             ?HOCON(boolean(), #{
                 desc => ?DESC(mnesia_enable),
+                importance => ?IMPORTANCE_NO_DOC,
                 required => false,
                 default => true
             })}

+ 1 - 1
apps/emqx_slow_subs/src/emqx_slow_subs.app.src

@@ -1,7 +1,7 @@
 {application, emqx_slow_subs, [
     {description, "EMQX Slow Subscribers Statistics"},
     % strict semver, bump manually!
-    {vsn, "1.0.7"},
+    {vsn, "1.0.8"},
     {modules, []},
     {registered, [emqx_slow_subs_sup]},
     {applications, [kernel, stdlib, emqx]},

+ 4 - 0
apps/emqx_slow_subs/src/emqx_slow_subs_schema.erl

@@ -27,6 +27,7 @@ roots() ->
 
 fields("slow_subs") ->
     [
+        %% {enable, sc(boolean(), false, enable, ?IMPORTANCE_NO_DOC)},
         {enable, sc(boolean(), false, enable)},
         {threshold,
             sc(
@@ -66,3 +67,6 @@ desc(_) ->
 %%--------------------------------------------------------------------
 sc(Type, Default, Desc) ->
     ?HOCON(Type, #{default => Default, desc => ?DESC(Desc)}).
+
+%% sc(Type, Default, Desc, Importance) ->
+%%     ?HOCON(Type, #{default => Default, desc => ?DESC(Desc), importance => Importance}).

+ 1 - 1
mix.exs

@@ -184,7 +184,7 @@ defmodule EMQXUmbrella.MixProject do
   def common_dep(:ekka), do: {:ekka, github: "emqx/ekka", tag: "0.19.5", override: true}
   def common_dep(:esockd), do: {:esockd, github: "emqx/esockd", tag: "5.11.3", override: true}
   def common_dep(:gproc), do: {:gproc, github: "emqx/gproc", tag: "0.9.0.1", override: true}
-  def common_dep(:hocon), do: {:hocon, github: "emqx/hocon", tag: "0.43.1", override: true}
+  def common_dep(:hocon), do: {:hocon, github: "emqx/hocon", tag: "0.43.2", override: true}
   def common_dep(:lc), do: {:lc, github: "emqx/lc", tag: "0.3.2", override: true}
   # in conflict by ehttpc and emqtt
   def common_dep(:gun), do: {:gun, github: "emqx/gun", tag: "1.3.11", override: true}

+ 1 - 1
rebar.config

@@ -98,7 +98,7 @@
     {system_monitor, {git, "https://github.com/ieQu1/system_monitor", {tag, "3.0.5"}}},
     {getopt, "1.0.2"},
     {snabbkaffe, {git, "https://github.com/kafka4beam/snabbkaffe.git", {tag, "1.0.10"}}},
-    {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.43.1"}}},
+    {hocon, {git, "https://github.com/emqx/hocon.git", {tag, "0.43.2"}}},
     {emqx_http_lib, {git, "https://github.com/emqx/emqx_http_lib.git", {tag, "0.5.3"}}},
     {esasl, {git, "https://github.com/emqx/esasl", {tag, "0.2.1"}}},
     {jose, {git, "https://github.com/potatosalad/erlang-jose", {tag, "1.11.2"}}},

+ 0 - 3
rel/config/ee-examples/file_transfer-with-local-exporter.conf.example

@@ -3,9 +3,6 @@
 ## NOTE: This configuration is only applicable in EMQX Enterprise edition 5.1 or later.
 
 file_transfer {
-    ## Enable the File Transfer feature
-    enable = true
-
     ## Storage backend settings
     storage {
         ## Local file system backend setting

+ 0 - 5
rel/config/ee-examples/file_transfer-with-s3-exporter.conf.example

@@ -4,9 +4,6 @@
 ## Note: This configuration is only applicable for EMQX Enterprise edition 5.1 or later.
 
 file_transfer {
-    ## Enable the File Transfer feature
-    enable = true
-
     ## Storage backend settings
     storage {
         ## Local file system backend setting
@@ -51,8 +48,6 @@ file_transfer {
 
                 ## Enable the HTTPS
                 transport_options {
-                    ssl.enable = true
-
                     ## Timeout for connection attempts
                     connect_timeout = 15s
                }

+ 0 - 2
rel/config/examples/delayed.conf.example

@@ -7,8 +7,6 @@
 ##       you should copy and paste the below data into the emqx.conf for working
 
 delayed {
-    enable = true ## false for disabled
-
     ## Maximum number of delayed messages
     ## Default: 0 (0 is no limit)
     max_delayed_messages = 0

+ 0 - 3
rel/config/examples/exhook.conf.example

@@ -7,9 +7,6 @@ exhook.servers = [
         ## Name of the exhook server
         name = "server_1"
 
-        ## Feature switch
-        enable = false
-
         ## URL of gRPC server
         url = "http://127.0.0.1:9090"
 

+ 0 - 3
rel/config/examples/flapping_detect.conf.example

@@ -3,9 +3,6 @@
 ## Ban the client when the times of connections exceed the limit in the configured time window
 
 flapping_detect {
-    ## use 'true' to enable this feature
-    enable = false
-
     ## Time window for flapping detection
     window_time = 1m
 

+ 0 - 3
rel/config/examples/force_gc.conf.example

@@ -1,9 +1,6 @@
 ## Force Elrang VM garbage collection
 
 force_gc {
-    ## set 'false' to disable this feature
-    enable = true
-
     ## GC the process after this many received messages
     count = 16000
 

+ 0 - 3
rel/config/examples/force_shutdown.conf.example

@@ -3,9 +3,6 @@
 ## Forced shutdown MQTT clients for overload protection
 
 force_shutdown {
-    ## set 'false' to disable force shutdown feature
-    enable = true
-
     ## Maximum mailbox size for each Erlang process
     ## Note: Do not modify this unless you know what this is for
     max_mailbox_size = 1000

+ 0 - 1
rel/config/examples/listeners.ssl.conf.example

@@ -3,7 +3,6 @@
 listeners.ssl.my_ssl_listener_name {
     ## Port or Address to listen on, 0 means disable
     bind = 8883 ## or with an IP e.g. "127.0.0.1:8883"
-    enabled = true
     acceptors = 16
     enable_authn = true
     max_connections = infinity

+ 0 - 1
rel/config/examples/listeners.ws.conf.example

@@ -3,7 +3,6 @@
 listeners.ws.my_ws_listener_name {
     ## Port or Address to listen on, 0 means disable
     bind = "0.0.0.0:8083" # or just a port number, e.g. 8083
-    enabled = true
     enable_authn = true
     max_connections = infinity
     proxy_protocol = false

+ 0 - 1
rel/config/examples/listeners.wss.conf.example

@@ -3,7 +3,6 @@
 listeners.wss.my_wss_listener_name = {
     ## Port or Address to listen on, 0 means disable
     bind = 8084 ## or with an IP, e.g. "127.0.0.1:8084"
-    enabled = true
     enable_authn = true
     max_connections = infinity
     proxy_protocol = false

+ 0 - 3
rel/config/examples/log.console.conf.example

@@ -1,9 +1,6 @@
 ## Log to console
 
 log.console {
-    ## set true to enable this
-    enable = false
-
     ## Log level
     ## Type: debug | info | notice | warning | error | critical | alert | emergency
     level = warning

+ 0 - 3
rel/config/examples/log.file.conf.example

@@ -1,9 +1,6 @@
 ## Log to file
 
 log.file {
-    ## Enable file log handler
-    enable = true
-
     ## Log level
     ## Type: debug | info | notice | warning | error | critical | alert | emergency
     level = warning

+ 0 - 2
rel/config/examples/plugins.conf.example

@@ -9,8 +9,6 @@ plugins {
             ##     Format: {name}-{version}
             ##     Note: name and version should be what it is in the plugin application
             name_vsn = "my_acl-0.1.0",
-
-            enable = true ## enable this plugin
         },
         {name_vsn = "my_rule-0.1.1", enable = false}
     ]

+ 0 - 3
rel/config/examples/prometheus-pushgateway.conf.example

@@ -5,9 +5,6 @@
 ## If you want to use push-gateway
 
 prometheus {
-    ## Set to true to make EMQX send metrics to push-gateway
-    enable = false
-
     ## URL of push-gateway server
     push_gateway_server = "http://127.0.0.1:9091"
 

+ 0 - 1
rel/config/examples/prometheus.conf.example

@@ -7,7 +7,6 @@
 prometheus {
   enable_basic_auth = false
   push_gateway {
-    enable = false
     url = "http://127.0.0.1:9091"
     headers {Authorization = "Basic YWRtaW46Y2JraG55eWd5QDE="}
     interval = 15s

+ 0 - 3
rel/config/examples/psk_authentication.conf.example

@@ -1,9 +1,6 @@
 ## Pre-Shared Keys authentication
 
 psk_authentication {
-    ## Set to false to disable
-    enable = true
-
     ## If init_file is specified, EMQX will import PSKs from the file into the built-in database at startup for use by the runtime
     init_file = "psk"
 

+ 0 - 3
rel/config/examples/retainer.conf.example

@@ -5,9 +5,6 @@
 ##--------------------------------------------------------------------
 
 retainer {
-    ## set to false to disable retainer
-    enable = true
-
     ## Message retention time, default is 0 means the message will never expire
     msg_expiry_interval = 5s