diff --git a/apps/emqx/rebar.config b/apps/emqx/rebar.config index 7a6ec9810..8a3e35537 100644 --- a/apps/emqx/rebar.config +++ b/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"}}}, diff --git a/apps/emqx/src/emqx_schema.erl b/apps/emqx/src/emqx_schema.erl index db1d5350f..827836540 100644 --- a/apps/emqx/src/emqx_schema.erl +++ b/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) } )}, diff --git a/apps/emqx/test/emqx_common_test_helpers.erl b/apps/emqx/test/emqx_common_test_helpers.erl index ce3c2543c..a33178d0a 100644 --- a/apps/emqx/test/emqx_common_test_helpers.erl +++ b/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 ]). diff --git a/apps/emqx/test/emqx_shared_sub_SUITE.erl b/apps/emqx/test/emqx_shared_sub_SUITE.erl index 040b3d295..e15aca6a1 100644 --- a/apps/emqx/test/emqx_shared_sub_SUITE.erl +++ b/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(_) -> diff --git a/apps/emqx_auth/src/emqx_authn/emqx_authn_schema.erl b/apps/emqx_auth/src/emqx_authn/emqx_authn_schema.erl index 57f524a0c..75612550b 100644 --- a/apps/emqx_auth/src/emqx_authn/emqx_authn_schema.erl +++ b/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. diff --git a/apps/emqx_auth/src/emqx_authz/emqx_authz_schema.erl b/apps/emqx_auth/src/emqx_authz/emqx_authz_schema.erl index 24deb0161..4095767b3 100644 --- a/apps/emqx_auth/src/emqx_authz/emqx_authz_schema.erl +++ b/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() -> diff --git a/apps/emqx_bridge/src/schema/emqx_bridge_schema.erl b/apps/emqx_bridge/src/schema/emqx_bridge_schema.erl index aea9f8a86..1c9d861a1 100644 --- a/apps/emqx_bridge/src/schema/emqx_bridge_schema.erl +++ b/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 } )}, diff --git a/apps/emqx_bridge/src/schema/emqx_bridge_v2_schema.erl b/apps/emqx_bridge/src/schema/emqx_bridge_v2_schema.erl index 6dbad456b..e5a3465ff 100644 --- a/apps/emqx_bridge/src/schema/emqx_bridge_v2_schema.erl +++ b/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) -> diff --git a/apps/emqx_bridge_azure_event_hub/src/emqx_bridge_azure_event_hub.app.src b/apps/emqx_bridge_azure_event_hub/src/emqx_bridge_azure_event_hub.app.src index 7e70fffff..69348b60a 100644 --- a/apps/emqx_bridge_azure_event_hub/src/emqx_bridge_azure_event_hub.app.src +++ b/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, diff --git a/apps/emqx_bridge_azure_event_hub/src/emqx_bridge_azure_event_hub.erl b/apps/emqx_bridge_azure_event_hub/src/emqx_bridge_azure_event_hub.erl index 213c2331c..197bdd0a7 100644 --- a/apps/emqx_bridge_azure_event_hub/src/emqx_bridge_azure_event_hub.erl +++ b/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), diff --git a/apps/emqx_bridge_confluent/src/emqx_bridge_confluent.app.src b/apps/emqx_bridge_confluent/src/emqx_bridge_confluent.app.src index 46d6617c3..de3074ae6 100644 --- a/apps/emqx_bridge_confluent/src/emqx_bridge_confluent.app.src +++ b/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, diff --git a/apps/emqx_bridge_confluent/src/emqx_bridge_confluent_producer.erl b/apps/emqx_bridge_confluent/src/emqx_bridge_confluent_producer.erl index bf01626e3..93d644ef7 100644 --- a/apps/emqx_bridge_confluent/src/emqx_bridge_confluent_producer.erl +++ b/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), diff --git a/apps/emqx_bridge_http/src/emqx_bridge_http_schema.erl b/apps/emqx_bridge_http/src/emqx_bridge_http_schema.erl index cadbcf0d2..7868d6694 100644 --- a/apps/emqx_bridge_http/src/emqx_bridge_http_schema.erl +++ b/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 ); diff --git a/apps/emqx_bridge_kafka/src/emqx_bridge_kafka.erl b/apps/emqx_bridge_kafka/src/emqx_bridge_kafka.erl index 9d15a26ee..212d288ba 100644 --- a/apps/emqx_bridge_kafka/src/emqx_bridge_kafka.erl +++ b/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) -> diff --git a/apps/emqx_bridge_syskeeper/src/emqx_bridge_syskeeper.erl b/apps/emqx_bridge_syskeeper/src/emqx_bridge_syskeeper.erl index 547562f26..16f28e40d 100644 --- a/apps/emqx_bridge_syskeeper/src/emqx_bridge_syskeeper.erl +++ b/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, diff --git a/apps/emqx_cluster_link/src/emqx_cluster_link_schema.erl b/apps/emqx_cluster_link/src/emqx_cluster_link_schema.erl index 9b08510b9..9bbdde2ac 100644 --- a/apps/emqx_cluster_link/src/emqx_cluster_link_schema.erl +++ b/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)}, diff --git a/apps/emqx_conf/src/emqx_conf_schema.erl b/apps/emqx_conf/src/emqx_conf_schema.erl index df906911e..1ae32172b 100644 --- a/apps/emqx_conf/src/emqx_conf_schema.erl +++ b/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", diff --git a/apps/emqx_connector/src/schema/emqx_connector_schema.erl b/apps/emqx_connector/src/schema/emqx_connector_schema.erl index 060f3ba83..872bbd2c7 100644 --- a/apps/emqx_connector/src/schema/emqx_connector_schema.erl +++ b/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()} ]. diff --git a/apps/emqx_dashboard/src/emqx_dashboard_swagger.erl b/apps/emqx_dashboard/src/emqx_dashboard_swagger.erl index e8cea1db5..c73a06a73 100644 --- a/apps/emqx_dashboard/src/emqx_dashboard_swagger.erl +++ b/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. diff --git a/apps/emqx_dashboard_sso/src/emqx_dashboard_sso_schema.erl b/apps/emqx_dashboard_sso/src/emqx_dashboard_sso_schema.erl index d6184b42a..f64c7a7df 100644 --- a/apps/emqx_dashboard_sso/src/emqx_dashboard_sso_schema.erl +++ b/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 } diff --git a/apps/emqx_enterprise/src/emqx_enterprise_schema.erl b/apps/emqx_enterprise/src/emqx_enterprise_schema.erl index f593dc877..a157b6553 100644 --- a/apps/emqx_enterprise/src/emqx_enterprise_schema.erl +++ b/apps/emqx_enterprise/src/emqx_enterprise_schema.erl @@ -53,7 +53,6 @@ fields("log_audit_handler") -> importance => ?IMPORTANCE_HIDDEN } )}, - {"path", hoconsc:mk( string(), diff --git a/apps/emqx_exhook/src/emqx_exhook.app.src b/apps/emqx_exhook/src/emqx_exhook.app.src index a12ec7d3a..a0961f660 100644 --- a/apps/emqx_exhook/src/emqx_exhook.app.src +++ b/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, []}}, diff --git a/apps/emqx_exhook/src/emqx_exhook_schema.erl b/apps/emqx_exhook/src/emqx_exhook_schema.erl index 6f37ea385..895515cf9 100644 --- a/apps/emqx_exhook/src/emqx_exhook_schema.erl +++ b/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, diff --git a/apps/emqx_ft/src/emqx_ft_schema.erl b/apps/emqx_ft/src/emqx_ft_schema.erl index adf8b4241..f779121d3 100644 --- a/apps/emqx_ft/src/emqx_ft_schema.erl +++ b/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 } diff --git a/apps/emqx_gateway/src/emqx_gateway_schema.erl b/apps/emqx_gateway/src/emqx_gateway_schema.erl index 11488d1a3..c59736a16 100644 --- a/apps/emqx_gateway/src/emqx_gateway_schema.erl +++ b/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) } )}, diff --git a/apps/emqx_modules/src/emqx_modules_schema.erl b/apps/emqx_modules/src/emqx_modules_schema.erl index 48c5a4ab5..8df7d91dc 100644 --- a/apps/emqx_modules/src/emqx_modules_schema.erl +++ b/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})} ]; diff --git a/apps/emqx_opentelemetry/src/emqx_opentelemetry.app.src b/apps/emqx_opentelemetry/src/emqx_opentelemetry.app.src index 6a84ae043..8ed649cda 100644 --- a/apps/emqx_opentelemetry/src/emqx_opentelemetry.app.src +++ b/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, [ diff --git a/apps/emqx_opentelemetry/src/emqx_otel_schema.erl b/apps/emqx_opentelemetry/src/emqx_otel_schema.erl index e89591fa9..a12efc7a9 100644 --- a/apps/emqx_opentelemetry/src/emqx_otel_schema.erl +++ b/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 } )}, diff --git a/apps/emqx_plugins/src/emqx_plugins_schema.erl b/apps/emqx_plugins/src/emqx_plugins_schema.erl index 8932e3ab6..d750a029c 100644 --- a/apps/emqx_plugins/src/emqx_plugins_schema.erl +++ b/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 } diff --git a/apps/emqx_prometheus/src/emqx_prometheus_schema.erl b/apps/emqx_prometheus/src/emqx_prometheus_schema.erl index 84925c7b6..6d3503a82 100644 --- a/apps/emqx_prometheus/src/emqx_prometheus_schema.erl +++ b/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) } )}, diff --git a/apps/emqx_psk/src/emqx_psk.app.src b/apps/emqx_psk/src/emqx_psk.app.src index 14c6ba0cc..88dd0ccef 100644 --- a/apps/emqx_psk/src/emqx_psk.app.src +++ b/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]}, diff --git a/apps/emqx_psk/src/emqx_psk_schema.erl b/apps/emqx_psk/src/emqx_psk_schema.erl index 652f61b08..800845923 100644 --- a/apps/emqx_psk/src/emqx_psk_schema.erl +++ b/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) diff --git a/apps/emqx_retainer/src/emqx_retainer_schema.erl b/apps/emqx_retainer/src/emqx_retainer_schema.erl index b89ee7db6..26b65faa8 100644 --- a/apps/emqx_retainer/src/emqx_retainer_schema.erl +++ b/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 })} diff --git a/apps/emqx_slow_subs/src/emqx_slow_subs.app.src b/apps/emqx_slow_subs/src/emqx_slow_subs.app.src index 6a24bc90b..a1485337e 100644 --- a/apps/emqx_slow_subs/src/emqx_slow_subs.app.src +++ b/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]}, diff --git a/apps/emqx_slow_subs/src/emqx_slow_subs_schema.erl b/apps/emqx_slow_subs/src/emqx_slow_subs_schema.erl index 37ca9327f..517457930 100644 --- a/apps/emqx_slow_subs/src/emqx_slow_subs_schema.erl +++ b/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}). diff --git a/mix.exs b/mix.exs index dc2953683..a14beba7f 100644 --- a/mix.exs +++ b/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} diff --git a/rebar.config b/rebar.config index b260561cb..68b2df1d7 100644 --- a/rebar.config +++ b/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"}}}, diff --git a/rel/config/ee-examples/file_transfer-with-local-exporter.conf.example b/rel/config/ee-examples/file_transfer-with-local-exporter.conf.example index dcb1e88d1..4eeef33c7 100644 --- a/rel/config/ee-examples/file_transfer-with-local-exporter.conf.example +++ b/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 diff --git a/rel/config/ee-examples/file_transfer-with-s3-exporter.conf.example b/rel/config/ee-examples/file_transfer-with-s3-exporter.conf.example index 94061223e..7a738c097 100644 --- a/rel/config/ee-examples/file_transfer-with-s3-exporter.conf.example +++ b/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 } diff --git a/rel/config/examples/delayed.conf.example b/rel/config/examples/delayed.conf.example index 7b0d243c2..b5b2c2c08 100644 --- a/rel/config/examples/delayed.conf.example +++ b/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 diff --git a/rel/config/examples/exhook.conf.example b/rel/config/examples/exhook.conf.example index cf9fffc71..45a186586 100644 --- a/rel/config/examples/exhook.conf.example +++ b/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" diff --git a/rel/config/examples/flapping_detect.conf.example b/rel/config/examples/flapping_detect.conf.example index fe4522b1e..6878d1f41 100644 --- a/rel/config/examples/flapping_detect.conf.example +++ b/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 diff --git a/rel/config/examples/force_gc.conf.example b/rel/config/examples/force_gc.conf.example index ee07ee4d2..08543b533 100644 --- a/rel/config/examples/force_gc.conf.example +++ b/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 diff --git a/rel/config/examples/force_shutdown.conf.example b/rel/config/examples/force_shutdown.conf.example index d0a466aa0..1dd6747a8 100644 --- a/rel/config/examples/force_shutdown.conf.example +++ b/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 diff --git a/rel/config/examples/listeners.ssl.conf.example b/rel/config/examples/listeners.ssl.conf.example index 4a74f1a27..ffc79db54 100644 --- a/rel/config/examples/listeners.ssl.conf.example +++ b/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 diff --git a/rel/config/examples/listeners.ws.conf.example b/rel/config/examples/listeners.ws.conf.example index f6a6adae8..f8c07e84a 100644 --- a/rel/config/examples/listeners.ws.conf.example +++ b/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 diff --git a/rel/config/examples/listeners.wss.conf.example b/rel/config/examples/listeners.wss.conf.example index cbc632e30..d0a03b777 100644 --- a/rel/config/examples/listeners.wss.conf.example +++ b/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 diff --git a/rel/config/examples/log.console.conf.example b/rel/config/examples/log.console.conf.example index 9bb01b0d9..3b8a0436e 100644 --- a/rel/config/examples/log.console.conf.example +++ b/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 diff --git a/rel/config/examples/log.file.conf.example b/rel/config/examples/log.file.conf.example index e6f408f61..f6dce6eaf 100644 --- a/rel/config/examples/log.file.conf.example +++ b/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 diff --git a/rel/config/examples/plugins.conf.example b/rel/config/examples/plugins.conf.example index 6fcc09cbb..b7673036e 100644 --- a/rel/config/examples/plugins.conf.example +++ b/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} ] diff --git a/rel/config/examples/prometheus-pushgateway.conf.example b/rel/config/examples/prometheus-pushgateway.conf.example index 70b74794a..f463056e3 100644 --- a/rel/config/examples/prometheus-pushgateway.conf.example +++ b/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" diff --git a/rel/config/examples/prometheus.conf.example b/rel/config/examples/prometheus.conf.example index 049b11ee3..e31d0fe1d 100644 --- a/rel/config/examples/prometheus.conf.example +++ b/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 diff --git a/rel/config/examples/psk_authentication.conf.example b/rel/config/examples/psk_authentication.conf.example index 6c3482638..cea6f21c2 100644 --- a/rel/config/examples/psk_authentication.conf.example +++ b/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" diff --git a/rel/config/examples/retainer.conf.example b/rel/config/examples/retainer.conf.example index d78119ec2..b698020d4 100644 --- a/rel/config/examples/retainer.conf.example +++ b/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