Remove Flipper and replace with ENV-driven FeatureFlags (#957)

* Presence of valid DEFAULT_UI_LAYOUT is sufficient

* Linter
This commit is contained in:
Juan José Mata
2026-02-10 23:30:45 +01:00
committed by GitHub
parent 19aeac3a84
commit 4b0986220f
10 changed files with 45 additions and 97 deletions

View File

@@ -1,7 +1,7 @@
# frozen_string_literal: true
# Service class to load SSO provider configurations from either YAML or database
# based on the :db_sso_providers feature flag.
# based on the AUTH_PROVIDERS_SOURCE environment setting.
#
# Usage:
# providers = ProviderLoader.load_providers
@@ -38,17 +38,7 @@ class ProviderLoader
def use_database_providers?
return false if Rails.env.test?
begin
# Check if feature exists, create if not (defaults to disabled)
unless Flipper.exist?(:db_sso_providers)
Flipper.add(:db_sso_providers)
end
Flipper.enabled?(:db_sso_providers)
rescue ActiveRecord::NoDatabaseError, ActiveRecord::StatementInvalid, StandardError => e
# Database not ready or other error, fall back to YAML
Rails.logger.warn("[ProviderLoader] Could not check feature flag (#{e.class}), falling back to YAML providers")
false
end
FeatureFlags.db_sso_providers?
end
def load_from_database

View File

@@ -3,7 +3,7 @@
<div class="space-y-4">
<p class="text-secondary mb-4">
Manage single sign-on authentication providers for your instance.
<% unless Flipper.enabled?(:db_sso_providers) %>
<% unless FeatureFlags.db_sso_providers? %>
<span class="text-warning">Changes require a server restart to take effect.</span>
<% end %>
</p>
@@ -107,7 +107,7 @@
<p class="font-medium text-primary">Database-backed providers</p>
<p class="text-sm text-secondary">Load providers from database instead of YAML config</p>
</div>
<% if Flipper.enabled?(:db_sso_providers) %>
<% if FeatureFlags.db_sso_providers? %>
<span class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-green-100 text-green-800">
Enabled
</span>

View File

@@ -10,7 +10,7 @@
<%= form.select :role,
options_for_select([
(Flipper.enabled?(:intro_ui) ? [t(".role_guest"), "guest"] : nil),
(FeatureFlags.intro_ui? ? [t(".role_guest"), "guest"] : nil),
[t(".role_member"), "member"],
[t(".role_admin"), "admin"]
].compact),