Startup detection for configured MRF modules that are missing or incorrectly defined
This commit is contained in:
parent
e944b15298
commit
7f8a9329e5
1
changelog.d/missing-mrfs.add
Normal file
1
changelog.d/missing-mrfs.add
Normal file
@ -0,0 +1 @@
|
|||||||
|
Startup detection for configured MRF modules that are missing or incorrectly defined
|
@ -28,6 +28,7 @@ defmodule Pleroma.ApplicationRequirements do
|
|||||||
|> check_welcome_message_config!()
|
|> check_welcome_message_config!()
|
||||||
|> check_rum!()
|
|> check_rum!()
|
||||||
|> check_repo_pool_size!()
|
|> check_repo_pool_size!()
|
||||||
|
|> check_mrfs()
|
||||||
|> handle_result()
|
|> handle_result()
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -234,4 +235,25 @@ defmodule Pleroma.ApplicationRequirements do
|
|||||||
true
|
true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp check_mrfs(:ok) do
|
||||||
|
mrfs = Config.get!([:mrf, :policies])
|
||||||
|
|
||||||
|
missing_mrfs =
|
||||||
|
Enum.reduce(mrfs, [], fn x, acc ->
|
||||||
|
if Code.ensure_compiled(x) do
|
||||||
|
acc
|
||||||
|
else
|
||||||
|
acc ++ [x]
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
if Enum.empty?(missing_mrfs) do
|
||||||
|
:ok
|
||||||
|
else
|
||||||
|
{:error, "The following MRF modules are configured but missing: #{inspect(missing_mrfs)}"}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
defp check_mrfs(result), do: result
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user