33 lines
		
	
	
		
			831 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			831 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.remove(flag)
 | |
|       when true
 | |
|         Feature.enable(flag)
 | |
|       when false
 | |
|         Feature.disable(flag)
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 |