FeatureFlags: manage feature flags outside of settings.Cfg (#43692)
This commit is contained in:
@@ -40,7 +40,6 @@ export interface LicenseInfo {
|
||||
licenseUrl: string;
|
||||
stateInfo: string;
|
||||
edition: GrafanaEdition;
|
||||
enabledFeatures: { [key: string]: boolean };
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
// NOTE: This file was auto generated. DO NOT EDIT DIRECTLY!
|
||||
// To change feature flags, edit:
|
||||
// pkg/services/featuremgmt/registry.go
|
||||
// Then run tests in:
|
||||
// pkg/services/featuremgmt/toggles_gen_test.go
|
||||
|
||||
/**
|
||||
* Describes available feature toggles in Grafana. These can be configured via
|
||||
* conf/custom.ini to enable features under development or not yet available in
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
import { FeatureToggles } from '@grafana/data';
|
||||
import { config } from '../config';
|
||||
|
||||
export const featureEnabled = (feature: string): boolean => {
|
||||
const { enabledFeatures } = config.licenseInfo;
|
||||
return enabledFeatures && enabledFeatures[feature];
|
||||
export const featureEnabled = (feature: boolean | undefined | keyof FeatureToggles): boolean => {
|
||||
if (feature === true || feature === false) {
|
||||
return feature;
|
||||
}
|
||||
if (feature == null || !config?.featureToggles) {
|
||||
return false;
|
||||
}
|
||||
return Boolean(config.featureToggles[feature]);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user