diff --git a/packages/grafana-data/src/types/config.ts b/packages/grafana-data/src/types/config.ts index 7100784312f..4c44dc3eac3 100644 --- a/packages/grafana-data/src/types/config.ts +++ b/packages/grafana-data/src/types/config.ts @@ -39,6 +39,7 @@ export interface FeatureToggles { * Available only in Grafana Enterprise */ meta: boolean; + datasourceInsights: boolean; } /** diff --git a/packages/grafana-runtime/src/config.ts b/packages/grafana-runtime/src/config.ts index fa44fad7978..fd5a65831bb 100644 --- a/packages/grafana-runtime/src/config.ts +++ b/packages/grafana-runtime/src/config.ts @@ -53,6 +53,7 @@ export class GrafanaBootConfig implements GrafanaConfig { expressions: false, newEdit: false, meta: false, + datasourceInsights: false, }; licenseInfo: LicenseInfo = {} as LicenseInfo; rendererAvailable = false; diff --git a/public/app/features/datasources/state/navModel.ts b/public/app/features/datasources/state/navModel.ts index cf56e16c535..bfbedb45e5d 100644 --- a/public/app/features/datasources/state/navModel.ts +++ b/public/app/features/datasources/state/navModel.ts @@ -53,6 +53,16 @@ export function buildNavModel(dataSource: DataSourceSettings, plugin: GenericDat text: 'Permissions', url: `datasources/edit/${dataSource.id}/permissions`, }); + + if (config.featureToggles.datasourceInsights) { + navModel.children.push({ + active: false, + icon: 'info-circle', + id: `datasource-insights-${dataSource.id}`, + text: 'Insights', + url: `datasources/edit/${dataSource.id}/insights`, + }); + } } return navModel;