2019-02-21 16:07:26 -05:00
|
|
|
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
|
2019-07-11 12:53:38 -04:00
|
|
|
|
|
|
|
task unset_rugged: :environment do
|
|
|
|
set_rugged_feature_flags(nil)
|
|
|
|
puts 'All Rugged feature flags were unset.'
|
|
|
|
end
|
2019-02-21 16:07:26 -05:00
|
|
|
end
|
|
|
|
|
|
|
|
def set_rugged_feature_flags(status)
|
|
|
|
Gitlab::Git::RuggedImpl::Repository::FEATURE_FLAGS.each do |flag|
|
2019-07-11 12:53:38 -04:00
|
|
|
case status
|
|
|
|
when nil
|
2019-05-13 04:57:10 -04:00
|
|
|
Feature.get(flag).remove
|
2019-07-11 12:53:38 -04:00
|
|
|
when true
|
|
|
|
Feature.enable(flag)
|
|
|
|
when false
|
|
|
|
Feature.disable(flag)
|
2019-02-21 16:07:26 -05:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|