debian-mirror-gitlab/lib/feature/gitaly.rb

35 lines
859 B
Ruby
Raw Normal View History

2019-09-04 21:01:54 +05:30
# frozen_string_literal: true
require 'set'
class Feature
class Gitaly
# Server feature flags should use '_' to separate words.
2019-09-30 21:07:59 +05:30
SERVER_FEATURE_FLAGS =
2019-12-04 20:38:33 +05:30
%w[
inforef_uploadpack_cache
2020-01-01 13:55:28 +05:30
get_tag_messages_go
filter_shas_with_signatures_go
2019-09-30 21:07:59 +05:30
].freeze
2019-09-04 21:01:54 +05:30
2019-09-30 21:07:59 +05:30
DEFAULT_ON_FLAGS = Set.new([]).freeze
2019-09-04 21:01:54 +05:30
class << self
def enabled?(feature_flag)
return false unless Feature::FlipperFeature.table_exists?
default_on = DEFAULT_ON_FLAGS.include?(feature_flag)
Feature.enabled?("gitaly_#{feature_flag}", default_enabled: default_on)
2019-12-26 22:10:19 +05:30
rescue ActiveRecord::NoDatabaseError, PG::ConnectionBad
2019-09-04 21:01:54 +05:30
false
end
def server_feature_flags
SERVER_FEATURE_FLAGS.map do |f|
["gitaly-feature-#{f.tr('_', '-')}", enabled?(f).to_s]
end.to_h
end
end
end
end