anchor.diff:  %% @end
   %%--------------------------------------------------------------------
   -spec get_storage_helper(Node :: node(), StorageType :: binary(), UserCtx :: any(),
  -    Params :: storage_params_map()) -> Helper :: any().
  +    Params :: storage_params_map()) -> {ok, Helper :: any()}.
   get_storage_helper(Node, <<"ceph">>, UserCtx, Params) ->
       rpc:call(Node, helper, new_ceph_helper, [
           onepanel_utils:typed_get(monitorHostname, Params, binary),
  
positive.code: 
          ?info("Gathering storage configuration: \"~s\" (~s)", [StorageName, StorageType]),
          ReadOnly = onepanel_utils:typed_get(readonly, Value, boolean, false),
          UserCtx = get_storage_user_ctx(Node, StorageType, Value),
          Helper = get_storage_helper(Node, StorageType, UserCtx, Value),
          LumaConfig = get_luma_config(Node, Value),
          maybe_verify_storage(Helper, UserCtx, ReadOnly),
  
          ?info("Adding storage: \"~s\" (~s)", [StorageName, StorageType]),
          Result = add_storage(Node, StorageName, [Helper], ReadOnly, LumaConfig),
  
negative.code: %% @end
  %%--------------------------------------------------------------------
  -spec get_storage_user_ctx(Node :: node(), StorageType :: binary(),
      Params :: storage_params_map()) -> {ok, UserCtx :: any()}.
  get_storage_user_ctx(Node, <<"ceph">>, Params) ->
      rpc:call(Node, helper, new_ceph_user_ctx, [
          <<_/binary>> = onepanel_utils:typed_get(username, Params, binary),
  