chore(studio): grafana-cloud slug (#48238)

Use `grafana-cloud` slug for the partner integration.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
  * Added Grafana Cloud to the featured integrations in the marketplace.
* Added light and dark themed artwork for the Grafana Cloud featured
integration.
* **Improvements**
* Updated the OAuth “installed” detection to include Grafana Cloud
alongside Grafana.
* Included Grafana Cloud in the set of official partners for the
partner-only filter.
* **Tests**
* Expanded marketplace integration fixtures to cover Grafana Cloud
scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
Francesco Sansalvadore authored and GitHub committed 2026-07-23 09:43:22 +00:00
1 parent 7c20cc574c
commit d900c09e8a
4 files changed
+21 -1

No files matched your search

@@ -169,7 +169,7 @@ export const isOAuthInstalled = ({
)
}
if (integration.id === 'grafana') {
if (integration.id === 'grafana' || integration.id === 'grafana-cloud') {
// Grafana is not yet sending integration status, so just use presence of API key.
return (
isOAuthAppAuthorized(projectData, integration) ||
@@ -48,6 +48,21 @@ const STABLE_INTEGRATIONS = [
navigate: () => null,
navigation: [{ route: 'overview', label: 'Overview' }],
},
{
id: 'grafana-cloud',
name: 'Grafana',
type: 'oauth',
source: 'Partner',
description: 'Grafana',
content: 'Grafana overview content',
docsUrl: null,
siteUrl: null,
author: { name: 'Grafana Labs' },
oauthAppId: 'grafana-app',
icon: () => null,
navigate: () => null,
navigation: [{ route: 'overview', label: 'Overview' }],
},
]
const STABLE_EMPTY_ARR = [] as unknown[]
vi.mock('@/components/interfaces/Integrations/Landing/useAvailableIntegrations', () => ({
@@ -14,6 +14,7 @@ export type { MarketplaceSource } from '@/components/interfaces/Integrations/Lan
// Defines featured integrations and their order in the featured hero
export const FEATURED_INTEGRATION_IDS = [
'grafana',
'grafana-cloud',
'cron',
'queues',
'stripe_sync_engine',
@@ -25,6 +25,10 @@ const FEATURED_INTEGRATION_IMAGES: Record<string, { dark: string; light?: string
dark: `${BASE_PATH}/img/integrations/covers/grafana-cover.png`,
light: `${BASE_PATH}/img/integrations/covers/grafana-cover-light.webp`,
},
'grafana-cloud': {
dark: `${BASE_PATH}/img/integrations/covers/grafana-cover.png`,
light: `${BASE_PATH}/img/integrations/covers/grafana-cover-light.webp`,
},
}
interface ThemedImage {