deprecate_registry_notifications

in files/gitlab-cookbooks/package/libraries/deprecations.rb [634:667]


      def deprecate_registry_notifications(incoming_version, existing_config, type, config_keys, key, deprecated_version, removed_version)
        settings = existing_config.dig(*config_keys) || []

        return [] if settings.empty?

        notifications_note =
          case key
          when "threshold"
            <<~EOS
              Starting with GitLab 18.0, `registry['notifications'][{'threshold'=> value}] will be removed.
              Please use `maxretries` instead https://gitlab.com/gitlab-org/container-registry/-/issues/1243.
            EOS
          else
            ""
          end

        messages = []
        settings.to_a.each do |setting|
          next unless setting.key?(key)

          if Gem::Version.new(incoming_version) >= Gem::Version.new(removed_version) && type == :removal
            message = "* #{config_keys[0]}['#{config_keys[1]}'][{#{key} => value}] has been deprecated since #{deprecated_version} and was removed in #{removed_version}."
            message += " #{notifications_note}"
            messages << message
          elsif Gem::Version.new(incoming_version) >= Gem::Version.new(deprecated_version) && type == :deprecation
            message =  "*#{config_keys[0]}['#{config_keys[1]}'][{#{key} => value}] has been deprecated since #{deprecated_version} and will be removed in #{removed_version}."
            message += " #{notifications_note}"
            messages << message
          end
        end

        messages
      end