2019-05-03 19:53:19 +05:30
|
|
|
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-09-30 21:07:59 +05:30
|
|
|
|
|
|
|
task unset_rugged: :environment do
|
|
|
|
set_rugged_feature_flags(nil)
|
|
|
|
puts 'All Rugged feature flags were unset.'
|
|
|
|
end
|
2019-05-03 19:53:19 +05:30
|
|
|
end
|
|
|
|
|
|
|
|
def set_rugged_feature_flags(status)
|
|
|
|
Gitlab::Git::RuggedImpl::Repository::FEATURE_FLAGS.each do |flag|
|
2019-09-30 21:07:59 +05:30
|
|
|
case status
|
|
|
|
when nil
|
2019-09-04 21:01:54 +05:30
|
|
|
Feature.get(flag).remove
|
2019-09-30 21:07:59 +05:30
|
|
|
when true
|
|
|
|
Feature.enable(flag)
|
|
|
|
when false
|
|
|
|
Feature.disable(flag)
|
2019-05-03 19:53:19 +05:30
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|