diff --git a/public/app/features/alerting/unified/components/rules/RuleDetailsActionButtons.tsx b/public/app/features/alerting/unified/components/rules/RuleDetailsActionButtons.tsx index ac39d0be8bc..d683d4522d6 100644 --- a/public/app/features/alerting/unified/components/rules/RuleDetailsActionButtons.tsx +++ b/public/app/features/alerting/unified/components/rules/RuleDetailsActionButtons.tsx @@ -3,7 +3,6 @@ import React, { Fragment, useState } from 'react'; import { useLocation } from 'react-router-dom'; import { GrafanaTheme2, textUtil, urlUtil } from '@grafana/data'; -import { GrafanaEdition } from '@grafana/data/src/types/config'; import { config } from '@grafana/runtime'; import { Button, ClipboardButton, ConfirmModal, HorizontalGroup, LinkButton, useStyles2 } from '@grafana/ui'; import { useAppNotification } from 'app/core/copy/appNotification'; @@ -21,7 +20,13 @@ import { getRulesPermissions } from '../../utils/access-control'; import { getAlertmanagerByUid } from '../../utils/alertmanager'; import { Annotation } from '../../utils/constants'; import { getRulesSourceName, isCloudRulesSource, isGrafanaRulesSource } from '../../utils/datasource'; -import { createExploreLink, createShareLink, makeRuleBasedSilenceLink } from '../../utils/misc'; +import { + createExploreLink, + createShareLink, + isLocalDevEnv, + isOpenSourceEdition, + makeRuleBasedSilenceLink, +} from '../../utils/misc'; import * as ruleId from '../../utils/rule-id'; import { isAlertingRule, isFederatedRuleGroup, isGrafanaRulerRule } from '../../utils/rules'; import { DeclareIncident } from '../bridges/DeclareIncidentButton'; @@ -267,11 +272,7 @@ export const RuleDetailsActionButtons = ({ rule, rulesSource, isViewMode }: Prop * We should show it in development mode */ function shouldShowDeclareIncidentButton() { - const buildInfo = config.buildInfo; - const isOpenSourceEdition = buildInfo.edition === GrafanaEdition.OpenSource; - const isDevelopment = buildInfo.env === 'development'; - - return !isOpenSourceEdition || isDevelopment; + return !isOpenSourceEdition() || isLocalDevEnv(); } /** diff --git a/public/app/features/alerting/unified/home/Home.tsx b/public/app/features/alerting/unified/home/Home.tsx index 33753b070c1..011876109b0 100644 --- a/public/app/features/alerting/unified/home/Home.tsx +++ b/public/app/features/alerting/unified/home/Home.tsx @@ -5,6 +5,8 @@ import { SceneApp, SceneAppPage } from '@grafana/scenes'; import { usePageNav } from 'app/core/components/Page/usePageNav'; import { PluginPageContext, PluginPageContextType } from 'app/features/plugins/components/PluginPageContext'; +import { isLocalDevEnv, isOpenSourceEdition } from '../utils/misc'; + import { getOverviewScene, WelcomeHeader } from './GettingStarted'; import { getGrafanaScenes } from './Insights'; @@ -56,7 +58,8 @@ export function getHomeApp(insightsEnabled: boolean) { } export default function Home() { - const insightsEnabled = !!config.featureToggles.alertingInsights; + const insightsEnabled = + (!isOpenSourceEdition() || isLocalDevEnv()) && Boolean(config.featureToggles.alertingInsights); const appScene = getHomeApp(insightsEnabled); diff --git a/public/app/features/alerting/unified/utils/misc.ts b/public/app/features/alerting/unified/utils/misc.ts index ce60ea9f338..6ca0cb8f27b 100644 --- a/public/app/features/alerting/unified/utils/misc.ts +++ b/public/app/features/alerting/unified/utils/misc.ts @@ -1,6 +1,8 @@ import { sortBy } from 'lodash'; import { UrlQueryMap, Labels, DataSourceInstanceSettings, DataSourceJsonData } from '@grafana/data'; +import { GrafanaEdition } from '@grafana/data/src/types/config'; +import { config } from '@grafana/runtime'; import { DataSourceRef } from '@grafana/schema'; import { alertInstanceKey } from 'app/features/alerting/unified/utils/rules'; import { SortOrder } from 'app/plugins/panel/alertlist/types'; @@ -206,3 +208,13 @@ export function sortAlerts(sortOrder: SortOrder, alerts: Alert[]): Alert[] { return result; } + +export function isOpenSourceEdition() { + const buildInfo = config.buildInfo; + return buildInfo.edition === GrafanaEdition.OpenSource; +} + +export function isLocalDevEnv() { + const buildInfo = config.buildInfo; + return buildInfo.env === 'development'; +}