anchor.diff:  -spec import_generated_from_node(service:name(), SourceNode :: node(),
       SetInRuntime :: boolean()) -> ok.
   import_generated_from_node(Service, SourceNode, SetInRuntime) ->
  +    import_generated_from_node(Service, SourceNode, SetInRuntime, #{}).
  +
  +
  +%%--------------------------------------------------------------------
  +%% @doc Copies variables set in the autogenerated config on given
  +%% node to the current node and optionally sets them in Onepanel runtime.
  +%% Skips variable names from the Ignored list.
  +%% @end
  +%%--------------------------------------------------------------------
  +-spec import_generated_from_node(service:name(), SourceNode :: node(),
  +    SetInRuntime :: boolean(), IgnoredPerApp :: #{app_name() => [key()]}) -> ok.
  +import_generated_from_node(Service, SourceNode, SetInRuntime, IgnoredPerApp) ->
       Path = onepanel_rpc:call_any(SourceNode,
           ?MODULE, get_config_path, [Service, generated]),
       {ok, Applications} = onepanel_rpc:call_any(SourceNode,
           ?MODULE, read, [[], Path]),
       lists:foreach(fun({App, Variables}) ->
  +        Filtered = lists:filter(fun(V) ->
  +            not lists:member(V, maps:get(App, IgnoredPerApp, []))
  +        end, Variables),
           lists:foreach(fun({Variable, Value}) ->
  -            ok = write([App, Variable], Value),
  -            SetInRuntime andalso set(Variable, Value, App)
  -        end, Variables)
  +            ok = write([App, Variable], Value, Service),
  +            SetInRuntime andalso set_remote(
  +                nodes:service_to_node(Service, node()),
  +                Variable, Value, App
  +            )
  +        end, Filtered)
       end, Applications).
   
   
  
positive.code: %% on the onepanel node.
  %% @end
  %%--------------------------------------------------------------------
  -spec set(Keys :: keys(), Value :: value(), AppName :: atom()) -> ok.
  set(Keys, Value, AppName) ->
      lists:foreach(fun({K, V}) ->
          application:set_env(AppName, K, V)
  
negative.code: %% Returns error if value has not been found.
  %% @end
  %%--------------------------------------------------------------------
  -spec find(Keys :: keys(), app_name()) ->
      {ok, Value :: value()} | error | no_return().
  find(Keys, AppName) when is_atom(AppName) ->
      kv_utils:find(Keys, application:get_all_env(AppName)).
  