diff --git a/lib/swarm/tracker/tracker.ex b/lib/swarm/tracker/tracker.ex index 920a912..e29e804 100644 --- a/lib/swarm/tracker/tracker.ex +++ b/lib/swarm/tracker/tracker.ex @@ -1545,13 +1545,24 @@ defmodule Swarm.Tracker do end end - @global_blacklist MapSet.new([~r/^remsh.*$/, ~r/^.+_upgrader_.+$/, ~r/^.+_maint_.+$/]) + defp global_blacklist() do + case :persistent_term.get(:swarm_global_node_blacklist, :undefined) do + :undefined -> + global_blacklist = MapSet.new([~r/^remsh.*$/, ~r/^.+_upgrader_.+$/, ~r/^.+_maint_.+$/]) + :persistent_term.put(:swarm_global_node_blacklist, global_blacklist) + global_blacklist + + blacklist -> + blacklist + end + end + # The list of configured ignore patterns for nodes # This is only applied if no blacklist is provided. defp node_blacklist() do Application.get_env(:swarm, :node_blacklist, []) |> MapSet.new() - |> MapSet.union(@global_blacklist) + |> MapSet.union(global_blacklist()) |> MapSet.to_list() end