2021-02-05 12:09:31 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2019-02-21 21:07:26 +00: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 16:53:38 +00:00
|
|
|
|
|
|
|
task unset_rugged: :environment do
|
|
|
|
set_rugged_feature_flags(nil)
|
|
|
|
puts 'All Rugged feature flags were unset.'
|
|
|
|
end
|
2019-02-21 21:07:26 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def set_rugged_feature_flags(status)
|
|
|
|
Gitlab::Git::RuggedImpl::Repository::FEATURE_FLAGS.each do |flag|
|
2019-07-11 16:53:38 +00:00
|
|
|
case status
|
|
|
|
when nil
|
2020-06-02 12:08:33 +00:00
|
|
|
Feature.remove(flag)
|
2019-07-11 16:53:38 +00:00
|
|
|
when true
|
|
|
|
Feature.enable(flag)
|
|
|
|
when false
|
|
|
|
Feature.disable(flag)
|
2019-02-21 21:07:26 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|