fix: delete ssl dirs on resource destory
This commit is contained in:
parent
b0732cb0bb
commit
2d0d578b4f
|
@ -482,6 +482,7 @@ on_resource_destroy(ResId, #{<<"pool">> := PoolName}) ->
|
||||||
?LOG(info, "Destroying Resource ~p, ResId: ~p", [?RESOURCE_TYPE_MQTT, ResId]),
|
?LOG(info, "Destroying Resource ~p, ResId: ~p", [?RESOURCE_TYPE_MQTT, ResId]),
|
||||||
case ecpool:stop_sup_pool(PoolName) of
|
case ecpool:stop_sup_pool(PoolName) of
|
||||||
ok ->
|
ok ->
|
||||||
|
emqx_plugin_libs_ssl:maybe_delete_dir("rules", ResId),
|
||||||
?LOG(info, "Destroyed Resource ~p Successfully, ResId: ~p", [?RESOURCE_TYPE_MQTT, ResId]);
|
?LOG(info, "Destroyed Resource ~p Successfully, ResId: ~p", [?RESOURCE_TYPE_MQTT, ResId]);
|
||||||
{error, Reason} ->
|
{error, Reason} ->
|
||||||
?LOG(error, "Destroy Resource ~p failed, ResId: ~p, ~p", [?RESOURCE_TYPE_MQTT, ResId, Reason]),
|
?LOG(error, "Destroy Resource ~p failed, ResId: ~p, ~p", [?RESOURCE_TYPE_MQTT, ResId, Reason]),
|
||||||
|
|
|
@ -21,6 +21,10 @@
|
||||||
save_file/2
|
save_file/2
|
||||||
]).
|
]).
|
||||||
|
|
||||||
|
-export([maybe_delete_dir/1,
|
||||||
|
maybe_delete_dir/2
|
||||||
|
]).
|
||||||
|
|
||||||
-type file_input_key() :: binary(). %% <<"file">> | <<"filename">>
|
-type file_input_key() :: binary(). %% <<"file">> | <<"filename">>
|
||||||
-type file_input() :: #{file_input_key() => binary()}.
|
-type file_input() :: #{file_input_key() => binary()}.
|
||||||
|
|
||||||
|
@ -141,6 +145,20 @@ maybe_save_file(FileName, Content, Dir) ->
|
||||||
error({"failed_to_save_ssl_file", FullFilename, Reason})
|
error({"failed_to_save_ssl_file", FullFilename, Reason})
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
maybe_delete_dir(SubDir, ResId) ->
|
||||||
|
Dir = filename:join([emqx:get_env(data_dir), SubDir, ResId]),
|
||||||
|
maybe_delete_dir(Dir).
|
||||||
|
|
||||||
|
maybe_delete_dir(Dir) ->
|
||||||
|
case file:del_dir_r(Dir) of
|
||||||
|
ok ->
|
||||||
|
ok;
|
||||||
|
{error, enoent} ->
|
||||||
|
ok;
|
||||||
|
{error, Reason} ->
|
||||||
|
logger:error("Delete Resource dir ~p failed for reason: ~p", [Dir, Reason])
|
||||||
|
end.
|
||||||
|
|
||||||
ensure_str(L) when is_list(L) -> L;
|
ensure_str(L) when is_list(L) -> L;
|
||||||
ensure_str(B) when is_binary(B) -> unicode:characters_to_list(B, utf8).
|
ensure_str(B) when is_binary(B) -> unicode:characters_to_list(B, utf8).
|
||||||
|
|
||||||
|
|
|
@ -238,6 +238,7 @@ on_resource_destroy(ResId, #{<<"pool">> := PoolName}) ->
|
||||||
?LOG(info, "Destroying Resource ~p, ResId: ~p", [?RESOURCE_TYPE_WEBHOOK, ResId]),
|
?LOG(info, "Destroying Resource ~p, ResId: ~p", [?RESOURCE_TYPE_WEBHOOK, ResId]),
|
||||||
case ehttpc_pool:stop_pool(PoolName) of
|
case ehttpc_pool:stop_pool(PoolName) of
|
||||||
ok ->
|
ok ->
|
||||||
|
emqx_plugin_libs_ssl:maybe_delete_dir("rules", ResId),
|
||||||
?LOG(info, "Destroyed Resource ~p Successfully, ResId: ~p", [?RESOURCE_TYPE_WEBHOOK, ResId]);
|
?LOG(info, "Destroyed Resource ~p Successfully, ResId: ~p", [?RESOURCE_TYPE_WEBHOOK, ResId]);
|
||||||
{error, Reason} ->
|
{error, Reason} ->
|
||||||
?LOG(error, "Destroy Resource ~p failed, ResId: ~p, ~p", [?RESOURCE_TYPE_WEBHOOK, ResId, Reason]),
|
?LOG(error, "Destroy Resource ~p failed, ResId: ~p, ~p", [?RESOURCE_TYPE_WEBHOOK, ResId, Reason]),
|
||||||
|
|
Loading…
Reference in New Issue