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