From 11c5c71934ef687b8f8675d66e6e1b7692829ce8 Mon Sep 17 00:00:00 2001 From: ricoberger Date: Tue, 28 Jun 2022 21:50:12 +0200 Subject: [PATCH] [app] Add "inisights" panel This commit adds a new "insights" panel for the "app" plugin. The "insights" panel can be used to display the insights of an application within a dashboard. --- CHANGELOG.md | 1 + docs/plugins/assets/plugins-insights.png | Bin 0 -> 137777 bytes docs/plugins/index.md | 81 ++++++++++++++++ .../src/components/applications/Insights.tsx | 90 ++++++++++++++++++ .../components/applications/InsightsPanel.tsx | 50 ++++++++++ .../app/src/components/plugins/AppPanel.tsx | 5 + 6 files changed, 227 insertions(+) create mode 100644 docs/plugins/assets/plugins-insights.png create mode 100644 plugins/app/src/components/applications/Insights.tsx create mode 100644 plugins/app/src/components/applications/InsightsPanel.tsx diff --git a/CHANGELOG.md b/CHANGELOG.md index 62d5f95c4..e1738f3e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,6 +37,7 @@ NOTE: As semantic versioning states all 0.y.z releases can contain breaking chan - [#362](https://github.com/kobsio/kobs/pull/#362): [app] :warning: _Breaking change:_ :warning: Rename `preview` field to `insights` in Application CRD. - [#366](https://github.com/kobsio/kobs/pull/#366): [app] :warning: _Breaking change:_ :warning: Rework Go plugin architecture, to not uses Go's `plugin` mode. - [#367](https://github.com/kobsio/kobs/pull/#367): [app] Change filtering for select components, by using `item.includes(value)`. +- [#369](https://github.com/kobsio/kobs/pull/#369): [app] Add `insights` panel, to display the insights of an application within a dashboard. ## [v0.8.0](https://github.com/kobsio/kobs/releases/tag/v0.8.0) (2022-03-24) diff --git a/docs/plugins/assets/plugins-insights.png b/docs/plugins/assets/plugins-insights.png new file mode 100644 index 0000000000000000000000000000000000000000..492f2c217d96085579e7f31bd2b004bf6455bccd GIT binary patch literal 137777 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%0DOOkEyB^UzI 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

Fu+-hF#{u>i1eP$FzAY*{x*4e7p{9o?L04$X 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 GpYbnRq@X(h literal 0 HcmV?d00001 diff --git a/docs/plugins/index.md b/docs/plugins/index.md index eb7b56082..8dfc3ebe8 100644 --- a/docs/plugins/index.md +++ b/docs/plugins/index.md @@ -59,6 +59,87 @@ plugin: name: "<% $.name %>" ``` +### `insights` + +The `insights` plugin can be used to display the insights of an application within a dashboard. The plugin requires the following options: + +| Field | Type | Description | Required | +| ----- | ---- | ----------- | -------- | +| satellite | string | The satellite of the application. | Yes | +| cluster | string | The cluster of the application. | Yes | +| namespace | string | The namespace of the application. | Yes | +| name | string | The name of the application | Yes | + +```yaml +plugin: + name: insights + type: app + options: + satellite: "<% $.satellite %>" + cluster: "<% $.cluster %>" + namespace: "<% $.namespace %>" + name: "<% $.name %>" +``` + +??? note "Example" + + ```yaml + apiVersion: kobs.io/v1 + kind: Application + metadata: + name: example-application + namespace: kobs + spec: + dashboards: + - title: Inisghts + inline: + rows: + - size: -1 + panels: + - title: thanos-compactor + colSpan: 3 + plugin: + name: insights + type: app + options: + satellite: "<% $.satellite %>" + cluster: "<% $.cluster %>" + namespace: "monitoring" + name: "thanos-compactor" + - title: thanos-querier + colSpan: 3 + plugin: + name: insights + type: app + options: + satellite: "<% $.satellite %>" + cluster: "<% $.cluster %>" + namespace: "monitoring" + name: "thanos-querier" + - title: thanos-ruler + colSpan: 3 + plugin: + name: insights + type: app + options: + satellite: "<% $.satellite %>" + cluster: "<% $.cluster %>" + namespace: "monitoring" + name: "thanos-ruler" + - title: thanos-store + colSpan: 3 + plugin: + name: insights + type: app + options: + satellite: "<% $.satellite %>" + cluster: "<% $.cluster %>" + namespace: "monitoring" + name: "thanos-store" + ``` + +![Insights](assets/plugins-insights.png) + ### `userapplications` The `userapplications` plugin can be used to display the applications which are owned by the teams a user is a member of. This plugin doesn't require any options and is inteded to be used within a User CR to customize a users profile page. diff --git a/plugins/app/src/components/applications/Insights.tsx b/plugins/app/src/components/applications/Insights.tsx new file mode 100644 index 000000000..e7039a2d4 --- /dev/null +++ b/plugins/app/src/components/applications/Insights.tsx @@ -0,0 +1,90 @@ +import { Alert, AlertActionLink, AlertVariant, Flex, FlexItem, Spinner } from '@patternfly/react-core'; +import { QueryObserverResult, useQuery } from 'react-query'; +import React from 'react'; + +import ApplicationDetailsChart from './ApplicationDetailsChart'; +import { IApplication } from '../../crds/application'; +import { ITimes } from '@kobsio/shared'; + +interface IInsightProps { + satellite?: string; + cluster?: string; + namespace?: string; + name?: string; + times: ITimes; +} + +const Insights: React.FunctionComponent = ({ + satellite, + cluster, + namespace, + name, + times, +}: IInsightProps) => { + const { isError, isLoading, error, data, refetch } = useQuery( + ['app/applications/application', satellite, cluster, namespace, name], + async () => { + const response = await fetch( + `/api/applications/application?id=${encodeURIComponent( + `/satellite/${satellite}/cluster/${cluster}/namespace/${namespace}/name/${name}`, + )}`, + { + method: 'get', + }, + ); + const json = await response.json(); + + if (response.status >= 200 && response.status < 300) { + return json; + } else { + if (json.error) { + throw new Error(json.error); + } else { + throw new Error('An unknown error occured'); + } + } + }, + ); + + if (isLoading) { + return ( +

+ +
+ ); + } + + if (isError) { + return ( + + > => refetch()}> + Retry + + + } + > +

{error?.message}

+
+ ); + } + + if (!data || !data.insights || data.insights.length === 0) { + return null; + } + + return ( + + {data.insights.map((insight, index) => ( + + + + ))} + + ); +}; + +export default Insights; diff --git a/plugins/app/src/components/applications/InsightsPanel.tsx b/plugins/app/src/components/applications/InsightsPanel.tsx new file mode 100644 index 000000000..84e3eaa14 --- /dev/null +++ b/plugins/app/src/components/applications/InsightsPanel.tsx @@ -0,0 +1,50 @@ +import { Alert, AlertVariant } from '@patternfly/react-core'; +import React from 'react'; + +import { ITimes, PluginPanel } from '@kobsio/shared'; +import Insights from './Insights'; + +interface IInsightsOptions { + satellite?: string; + cluster?: string; + namespace?: string; + name?: string; +} + +interface IInsightsPanelProps { + title: string; + description?: string; + options?: IInsightsOptions; + times?: ITimes; +} + +const InsightsPanel: React.FunctionComponent = ({ + title, + description, + options, + times, +}: IInsightsPanelProps) => { + if (options && options.satellite && options.cluster && options.namespace && options.name && times) { + return ( + + + + ); + } + + return ( + + + The provided options for the insights plugin are invalid. + + + ); +}; + +export default InsightsPanel; diff --git a/plugins/app/src/components/plugins/AppPanel.tsx b/plugins/app/src/components/plugins/AppPanel.tsx index 309fee0f6..608a1badc 100644 --- a/plugins/app/src/components/plugins/AppPanel.tsx +++ b/plugins/app/src/components/plugins/AppPanel.tsx @@ -5,6 +5,7 @@ import { ITimes, PluginPanel } from '@kobsio/shared'; import ApplicationTopologyPanel from '../topology/ApplicationTopologyPanel'; import ApplicationsPanel from '../applications/ApplicationsPanel'; import DashboardsPanel from '../dashboards/DashboardsPanel'; +import InsightsPanel from '../applications/InsightsPanel'; import Markdown from '../markdown/Markdown'; import ResourcesPanelWrapper from '../resources/ResourcesPanelWrapper'; import UserApplications from '../profile/UserApplications'; @@ -40,6 +41,10 @@ const AppPanel: React.FunctionComponent = ({ ); } + if (name === 'insights') { + return ; + } + if (name === 'userapplications') { return ; }