in files/gitlab-cookbooks/package/libraries/deprecations.rb [591:618]
def deprecate_only_if_value(incoming_version, existing_config, type, config_keys, key, value, deprecated_version, removed_version, note: nil, ignore_deprecation: false)
setting = existing_config.dig(*config_keys) || {}
return [] unless setting.key?(key)
return [] if setting[key].respond_to?(:to_h) && setting[key].to_h.empty?
return [] if type == :removal && setting[key] != value
config_keys.shift if ATTRIBUTE_BLOCKS.include?(config_keys[0])
messages = []
if Gem::Version.new(incoming_version) >= Gem::Version.new(removed_version) && type == :removal
message = "* #{config_keys[0]}[#{key}] has been deprecated since #{deprecated_version} and was removed in #{removed_version}."
message += " #{note}" if note
messages << message
elsif Gem::Version.new(incoming_version) >= Gem::Version.new(deprecated_version) && type == :deprecation && !ignore_deprecation
message = "* #{config_keys[0]}[#{key}] has been deprecated since #{deprecated_version} and will be removed in #{removed_version}."
message += " #{note}" if note
messages << message
end
messages
end