gitlab-org--gitlab-foss/lib/tasks/gitlab/features.rake
John Cai ff0654b0b4 Add unset_rugged rake task
Adds an unset_rugged rake task that unsets all rugged feature flags.
Also fixes the existing disable_rugged task to have it explicitly
disable feature flags instead of just unsetting them.
2019-07-11 09:53:41 -07:00

32 lines
835 B
Ruby

namespace :gitlab do
namespace :features do
desc 'GitLab | Features | Enable direct Git access via Rugged for NFS'
task enable_rugged: :environment do
set_rugged_feature_flags(true)
puts 'All Rugged feature flags were enabled.'
end
task disable_rugged: :environment do
set_rugged_feature_flags(false)
puts 'All Rugged feature flags were disabled.'
end
task unset_rugged: :environment do
set_rugged_feature_flags(nil)
puts 'All Rugged feature flags were unset.'
end
end
def set_rugged_feature_flags(status)
Gitlab::Git::RuggedImpl::Repository::FEATURE_FLAGS.each do |flag|
case status
when nil
Feature.get(flag).remove
when true
Feature.enable(flag)
when false
Feature.disable(flag)
end
end
end
end