Skip to content
bitzorcas
EN

Concept

Feature flags

Feature flag infrastructure — IFeatureStore port with unavailable default, planned integration with external feature flag services.

Last updated

BitzOrcas defines the IFeatureStore port for feature flags but uses UnavailableFeatureStore as the default — feature flags are not yet implemented in the current release.

Current state

public interface IFeatureStore
{
Task<bool> IsEnabledAsync(string featureName,
string? tenantId = null,
CancellationToken ct = default);
}
// Default: always returns false (feature disabled)
public class UnavailableFeatureStore : IFeatureStore
{
public Task<bool> IsEnabledAsync(string featureName, ...) => Task.FromResult(false);
}

Planned implementation

ProviderDescription
Configuration-basedappsettings.json feature flags (simplest)
Azure App ConfigurationManaged feature flags with targeting
LaunchDarklyEnterprise feature management
CustomDatabase-backed with admin UI

Usage pattern (future)

if (await featureStore.IsEnabledAsync("new-dashboard", tenantId))
{
// Serve new dashboard
}
else
{
// Serve legacy dashboard
}

Integration point

Feature flags are registered in AddBitzOrcasPlatformApplication() — replacing the default UnavailableFeatureStore with a real implementation will activate the feature globally.