diff --git a/deps/rabbit/src/rabbit.erl b/deps/rabbit/src/rabbit.erl index 5a5c05088d42..9991fca88b8a 100644 --- a/deps/rabbit/src/rabbit.erl +++ b/deps/rabbit/src/rabbit.erl @@ -1175,8 +1175,13 @@ get_default_data_param(Param) -> %% data_dir() -> - {ok, DataDir} = application:get_env(rabbit, data_dir), - DataDir. + case rabbit_prelaunch:get_context() of + #{data_dir := DataDir} -> + DataDir; + _ -> + {ok, DataDir} = application:get_env(rabbit, data_dir), + DataDir + end. %%--------------------------------------------------------------------------- %% logging diff --git a/deps/rabbit/src/rabbit_feature_flags.erl b/deps/rabbit/src/rabbit_feature_flags.erl index fc9578a932ed..56c0e2d7d5e5 100644 --- a/deps/rabbit/src/rabbit_feature_flags.erl +++ b/deps/rabbit/src/rabbit_feature_flags.erl @@ -1164,9 +1164,14 @@ delete_enabled_feature_flags_list_file() -> %% @returns the path to the file. enabled_feature_flags_list_file() -> - case application:get_env(rabbit, feature_flags_file) of - {ok, Val} -> Val; - undefined -> throw(feature_flags_file_not_set) + case rabbit_prelaunch:get_context() of + #{feature_flags_file := File} -> + File; + _ -> + case application:get_env(rabbit, feature_flags_file) of + {ok, Val} -> Val; + undefined -> throw(feature_flags_file_not_set) + end end. copy_feature_states_after_reset(RemoteNode) -> diff --git a/deps/rabbit/src/rabbit_ff_controller.erl b/deps/rabbit/src/rabbit_ff_controller.erl index 663374188fe1..166bca1d3787 100644 --- a/deps/rabbit/src/rabbit_ff_controller.erl +++ b/deps/rabbit/src/rabbit_ff_controller.erl @@ -670,8 +670,10 @@ get_forced_feature_flag_names_from_env() -> %% @private get_forced_feature_flag_names_from_config() -> - Value = application:get_env( - rabbit, forced_feature_flags_on_init, undefined), + Value = maps:get( + forced_feature_flags_on_init, + rabbit_prelaunch:get_context(), + undefined), case Value of undefined -> Value; diff --git a/deps/rabbit/src/rabbit_plugins.erl b/deps/rabbit/src/rabbit_plugins.erl index 5ebd968e8cbb..c36f0dab00fd 100644 --- a/deps/rabbit/src/rabbit_plugins.erl +++ b/deps/rabbit/src/rabbit_plugins.erl @@ -32,7 +32,7 @@ ensure(FileJustChanged) -> end. ensure1(FileJustChanged0) -> - {ok, OurFile0} = application:get_env(rabbit, enabled_plugins_file), + OurFile0 = enabled_plugins_file(), FileJustChanged = filename:nativename(FileJustChanged0), OurFile = filename:nativename(OurFile0), case OurFile of @@ -72,39 +72,51 @@ ensure1(FileJustChanged0) -> -spec plugins_expand_dir() -> file:filename(). plugins_expand_dir() -> - case application:get_env(rabbit, plugins_expand_dir) of - {ok, ExpandDir} -> + case rabbit_prelaunch:get_context() of + #{plugins_expand_dir := ExpandDir} -> ExpandDir; _ -> - filename:join([rabbit:data_dir(), "plugins_expand_dir"]) + case application:get_env(rabbit, plugins_expand_dir) of + {ok, ExpandDir} -> + ExpandDir; + undefined -> + filename:join([rabbit:data_dir(), "plugins_expand_dir"]) + end end. -spec plugins_dir() -> file:filename(). plugins_dir() -> - case application:get_env(rabbit, plugins_dir) of - {ok, PluginsDistDir} -> + case rabbit_prelaunch:get_context() of + #{plugins_path := PluginsDistDir} -> PluginsDistDir; _ -> - filename:join([rabbit:data_dir(), "plugins_dir_stub"]) + case application:get_env(rabbit, plugins_dir) of + {ok, PluginsDistDir} -> + PluginsDistDir; + undefined -> + filename:join([rabbit:data_dir(), "plugins_dir_stub"]) + end end. -spec enabled_plugins_file() -> file:filename(). enabled_plugins_file() -> - case application:get_env(rabbit, enabled_plugins_file) of - {ok, Val} -> - Val; + case rabbit_prelaunch:get_context() of + #{enabled_plugins_file := File} -> + File; _ -> - filename:join([rabbit:data_dir(), "enabled_plugins"]) + case application:get_env(rabbit, enabled_plugins_file) of + {ok, File} -> + File; + undefined -> + filename:join([rabbit:data_dir(), "enabled_plugins"]) + + end end. -spec enabled_plugins() -> [atom()]. enabled_plugins() -> - case application:get_env(rabbit, enabled_plugins_file) of - {ok, EnabledFile} -> - read_enabled(EnabledFile); - _ -> - [] - end. + EnabledFile = enabled_plugins_file(), + read_enabled(EnabledFile). %% @doc Prepares the file system and installs all enabled plugins. diff --git a/deps/rabbitmq_management_agent/src/rabbit_mgmt_external_stats.erl b/deps/rabbitmq_management_agent/src/rabbit_mgmt_external_stats.erl index 08c19bf36c8e..581bd547616d 100644 --- a/deps/rabbitmq_management_agent/src/rabbit_mgmt_external_stats.erl +++ b/deps/rabbitmq_management_agent/src/rabbit_mgmt_external_stats.erl @@ -245,7 +245,7 @@ i(net_ticktime, State) -> i(persister_stats, State) -> {State, persister_stats(State)}; i(enabled_plugins, State) -> - {ok, Dir} = application:get_env(rabbit, enabled_plugins_file), + Dir = rabbit_plugins:enabled_plugins_file(), {State, rabbit_plugins:read_enabled(Dir)}; i(auth_mechanisms, State) -> {ok, Mechanisms} = application:get_env(rabbit, auth_mechanisms),