@backstage-community/plugin-grafana 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @backstage-community/plugin-grafana
2
2
 
3
+ ## 0.14.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 4477d23: All existing deprecated references have been removed. If you were still using the `GRAFANA_ANNOTATION_TAG_SELECTOR` annotation, it is now required you replace it with the `GRAFANA_ANNOTATION_DASHBOARD_SELECTOR` annotation.
8
+
9
+ ## 0.13.0
10
+
11
+ ### Minor Changes
12
+
13
+ - ee9bf2c: Backstage version bump to v1.46.1
14
+
3
15
  ## 0.12.0
4
16
 
5
17
  ### Minor Changes
package/dist/alpha.d.ts CHANGED
@@ -3,7 +3,6 @@ import * as _backstage_catalog_model from '@backstage/catalog-model';
3
3
  import * as react from 'react';
4
4
  import * as _backstage_plugin_catalog_react_alpha from '@backstage/plugin-catalog-react/alpha';
5
5
  import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api';
6
- import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
7
6
 
8
7
  /**
9
8
  * The Grafana backstage plugin.
@@ -16,11 +15,11 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
16
15
  name: undefined;
17
16
  config: {};
18
17
  configInput: {};
19
- output: _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_core_plugin_api.AnyApiFactory, "core.api.factory", {}>;
18
+ output: _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.AnyApiFactory, "core.api.factory", {}>;
20
19
  inputs: {};
21
20
  params: <TApi, TImpl extends TApi, TDeps extends {
22
21
  [x: string]: unknown;
23
- }>(params: _backstage_core_plugin_api.ApiFactory<TApi, TImpl, TDeps>) => _backstage_frontend_plugin_api.ExtensionBlueprintParams<_backstage_core_plugin_api.AnyApiFactory>;
22
+ }>(params: _backstage_frontend_plugin_api.ApiFactory<TApi, TImpl, TDeps>) => _backstage_frontend_plugin_api.ExtensionBlueprintParams<_backstage_frontend_plugin_api.AnyApiFactory>;
24
23
  }>;
25
24
  "entity-card:grafana/alerts": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
26
25
  kind: "entity-card";
@@ -5,7 +5,7 @@ import { useApi, configApiRef } from '@backstage/core-plugin-api';
5
5
  import { grafanaApiRef } from '../../api.esm.js';
6
6
  import useAsync from 'react-use/lib/useAsync';
7
7
  import { Alert } from '@material-ui/lab';
8
- import { isDashboardSelectorAvailable, GRAFANA_ANNOTATION_TAG_SELECTOR, isAlertSelectorAvailable, GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR, alertSelectorFromEntity, tagSelectorFromEntity } from '../../constants.esm.js';
8
+ import { isDashboardSelectorAvailable, GRAFANA_ANNOTATION_DASHBOARD_SELECTOR, isAlertSelectorAvailable, GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR, alertSelectorFromEntity, dashboardSelectorFromEntity } from '../../constants.esm.js';
9
9
 
10
10
  const AlertStatusBadge = ({ alert }) => {
11
11
  let statusElmt;
@@ -73,7 +73,7 @@ const Alerts = ({ entity, opts }) => {
73
73
  const grafanaApi = useApi(grafanaApiRef);
74
74
  const configApi = useApi(configApiRef);
75
75
  const unifiedAlertingEnabled = configApi.getOptionalBoolean("grafana.unifiedAlerting") || false;
76
- const alertSelector = unifiedAlertingEnabled ? alertSelectorFromEntity(entity) : tagSelectorFromEntity(entity);
76
+ const alertSelector = unifiedAlertingEnabled ? alertSelectorFromEntity(entity) : dashboardSelectorFromEntity(entity);
77
77
  const { value, loading, error } = useAsync(
78
78
  async () => await grafanaApi.alertsForSelector(alertSelector)
79
79
  );
@@ -92,7 +92,7 @@ const AlertsCard = (opts) => {
92
92
  return /* @__PURE__ */ jsx(
93
93
  MissingAnnotationEmptyState,
94
94
  {
95
- annotation: GRAFANA_ANNOTATION_TAG_SELECTOR
95
+ annotation: GRAFANA_ANNOTATION_DASHBOARD_SELECTOR
96
96
  }
97
97
  );
98
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AlertsCard.esm.js","sources":["../../../src/components/AlertsCard/AlertsCard.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ReactElement, ReactNode } from 'react';\nimport {\n Progress,\n TableColumn,\n Table,\n StatusOK,\n StatusPending,\n StatusWarning,\n StatusError,\n StatusAborted,\n Link,\n} from '@backstage/core-components';\nimport { Entity } from '@backstage/catalog-model';\nimport {\n MissingAnnotationEmptyState,\n useEntity,\n} from '@backstage/plugin-catalog-react';\nimport { configApiRef, useApi } from '@backstage/core-plugin-api';\nimport { grafanaApiRef } from '../../api';\nimport useAsync from 'react-use/lib/useAsync';\nimport { Alert } from '@material-ui/lab';\nimport { AlertsCardOpts, Alert as GrafanaAlert } from '../../types';\nimport {\n GRAFANA_ANNOTATION_TAG_SELECTOR,\n GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR,\n isAlertSelectorAvailable,\n isDashboardSelectorAvailable,\n tagSelectorFromEntity,\n alertSelectorFromEntity,\n} from '../../constants';\n\nconst AlertStatusBadge = ({ alert }: { alert: GrafanaAlert }) => {\n let statusElmt: ReactElement;\n\n switch (alert.state) {\n case 'ok':\n case 'Normal':\n statusElmt = <StatusOK />;\n break;\n case 'paused':\n case 'Pending':\n statusElmt = <StatusPending />;\n break;\n case 'no_data':\n case 'pending':\n case 'NoData':\n statusElmt = <StatusWarning />;\n break;\n case 'alerting':\n case 'Alerting':\n case 'Error':\n statusElmt = <StatusError />;\n break;\n default:\n statusElmt = <StatusAborted />;\n }\n\n return <div>{statusElmt}</div>;\n};\n\nexport const AlertsTable = ({\n alerts,\n opts,\n}: {\n alerts: GrafanaAlert[];\n opts: AlertsCardOpts;\n}) => {\n const columns: TableColumn<GrafanaAlert>[] = [\n {\n title: 'Name',\n field: 'name',\n cellStyle: { width: '90%' },\n render: (row: GrafanaAlert): ReactNode => (\n <Link to={row.url} target=\"_blank\" rel=\"noopener\">\n {row.name}\n </Link>\n ),\n },\n ];\n\n if (opts.showState) {\n columns.push({\n title: 'State',\n render: (row: GrafanaAlert): ReactNode => (\n <AlertStatusBadge alert={row} />\n ),\n });\n }\n\n return (\n <Table\n title={opts.title || 'Alerts'}\n options={{\n paging: opts.paged ?? false,\n pageSize: opts.pageSize ?? 5,\n search: opts.searchable ?? false,\n emptyRowsWhenPaging: false,\n sorting: opts.sortable ?? false,\n draggable: false,\n padding: 'dense',\n }}\n data={alerts}\n columns={columns}\n />\n );\n};\n\nconst Alerts = ({ entity, opts }: { entity: Entity; opts: AlertsCardOpts }) => {\n const grafanaApi = useApi(grafanaApiRef);\n const configApi = useApi(configApiRef);\n const unifiedAlertingEnabled =\n configApi.getOptionalBoolean('grafana.unifiedAlerting') || false;\n const alertSelector = unifiedAlertingEnabled\n ? alertSelectorFromEntity(entity)\n : tagSelectorFromEntity(entity);\n\n const { value, loading, error } = useAsync(\n async () => await grafanaApi.alertsForSelector(alertSelector),\n );\n\n if (loading) {\n return <Progress />;\n } else if (error) {\n return <Alert severity=\"error\">{error.message}</Alert>;\n }\n\n return <AlertsTable alerts={value || []} opts={opts} />;\n};\n\nexport const AlertsCard = (opts?: AlertsCardOpts) => {\n const { entity } = useEntity();\n const configApi = useApi(configApiRef);\n const unifiedAlertingEnabled =\n configApi.getOptionalBoolean('grafana.unifiedAlerting') || false;\n\n if (!unifiedAlertingEnabled && !isDashboardSelectorAvailable(entity)) {\n return (\n <MissingAnnotationEmptyState\n annotation={GRAFANA_ANNOTATION_TAG_SELECTOR}\n />\n );\n }\n\n if (unifiedAlertingEnabled && !isAlertSelectorAvailable(entity)) {\n return (\n <MissingAnnotationEmptyState\n annotation={GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR}\n />\n );\n }\n\n const finalOpts = { ...opts, ...{ showState: opts?.showState } };\n\n return <Alerts entity={entity} opts={finalOpts} />;\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AlertsCard.esm.js","sources":["../../../src/components/AlertsCard/AlertsCard.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { ReactElement, ReactNode } from 'react';\nimport {\n Progress,\n TableColumn,\n Table,\n StatusOK,\n StatusPending,\n StatusWarning,\n StatusError,\n StatusAborted,\n Link,\n} from '@backstage/core-components';\nimport { Entity } from '@backstage/catalog-model';\nimport {\n MissingAnnotationEmptyState,\n useEntity,\n} from '@backstage/plugin-catalog-react';\nimport { configApiRef, useApi } from '@backstage/core-plugin-api';\nimport { grafanaApiRef } from '../../api';\nimport useAsync from 'react-use/lib/useAsync';\nimport { Alert } from '@material-ui/lab';\nimport { AlertsCardOpts, Alert as GrafanaAlert } from '../../types';\nimport {\n GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR,\n isAlertSelectorAvailable,\n isDashboardSelectorAvailable,\n alertSelectorFromEntity,\n GRAFANA_ANNOTATION_DASHBOARD_SELECTOR,\n dashboardSelectorFromEntity,\n} from '../../constants';\n\nconst AlertStatusBadge = ({ alert }: { alert: GrafanaAlert }) => {\n let statusElmt: ReactElement;\n\n switch (alert.state) {\n case 'ok':\n case 'Normal':\n statusElmt = <StatusOK />;\n break;\n case 'paused':\n case 'Pending':\n statusElmt = <StatusPending />;\n break;\n case 'no_data':\n case 'pending':\n case 'NoData':\n statusElmt = <StatusWarning />;\n break;\n case 'alerting':\n case 'Alerting':\n case 'Error':\n statusElmt = <StatusError />;\n break;\n default:\n statusElmt = <StatusAborted />;\n }\n\n return <div>{statusElmt}</div>;\n};\n\nexport const AlertsTable = ({\n alerts,\n opts,\n}: {\n alerts: GrafanaAlert[];\n opts: AlertsCardOpts;\n}) => {\n const columns: TableColumn<GrafanaAlert>[] = [\n {\n title: 'Name',\n field: 'name',\n cellStyle: { width: '90%' },\n render: (row: GrafanaAlert): ReactNode => (\n <Link to={row.url} target=\"_blank\" rel=\"noopener\">\n {row.name}\n </Link>\n ),\n },\n ];\n\n if (opts.showState) {\n columns.push({\n title: 'State',\n render: (row: GrafanaAlert): ReactNode => (\n <AlertStatusBadge alert={row} />\n ),\n });\n }\n\n return (\n <Table\n title={opts.title || 'Alerts'}\n options={{\n paging: opts.paged ?? false,\n pageSize: opts.pageSize ?? 5,\n search: opts.searchable ?? false,\n emptyRowsWhenPaging: false,\n sorting: opts.sortable ?? false,\n draggable: false,\n padding: 'dense',\n }}\n data={alerts}\n columns={columns}\n />\n );\n};\n\nconst Alerts = ({ entity, opts }: { entity: Entity; opts: AlertsCardOpts }) => {\n const grafanaApi = useApi(grafanaApiRef);\n const configApi = useApi(configApiRef);\n const unifiedAlertingEnabled =\n configApi.getOptionalBoolean('grafana.unifiedAlerting') || false;\n const alertSelector = unifiedAlertingEnabled\n ? alertSelectorFromEntity(entity)\n : dashboardSelectorFromEntity(entity);\n\n const { value, loading, error } = useAsync(\n async () => await grafanaApi.alertsForSelector(alertSelector),\n );\n\n if (loading) {\n return <Progress />;\n } else if (error) {\n return <Alert severity=\"error\">{error.message}</Alert>;\n }\n\n return <AlertsTable alerts={value || []} opts={opts} />;\n};\n\nexport const AlertsCard = (opts?: AlertsCardOpts) => {\n const { entity } = useEntity();\n const configApi = useApi(configApiRef);\n const unifiedAlertingEnabled =\n configApi.getOptionalBoolean('grafana.unifiedAlerting') || false;\n\n if (!unifiedAlertingEnabled && !isDashboardSelectorAvailable(entity)) {\n return (\n <MissingAnnotationEmptyState\n annotation={GRAFANA_ANNOTATION_DASHBOARD_SELECTOR}\n />\n );\n }\n\n if (unifiedAlertingEnabled && !isAlertSelectorAvailable(entity)) {\n return (\n <MissingAnnotationEmptyState\n annotation={GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR}\n />\n );\n }\n\n const finalOpts = { ...opts, ...{ showState: opts?.showState } };\n\n return <Alerts entity={entity} opts={finalOpts} />;\n};\n"],"names":[],"mappings":"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"}
@@ -1,15 +1,14 @@
1
- const GRAFANA_ANNOTATION_TAG_SELECTOR = "grafana/tag-selector";
2
1
  const GRAFANA_ANNOTATION_DASHBOARD_SELECTOR = "grafana/dashboard-selector";
3
2
  const GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR = "grafana/alert-label-selector";
4
3
  const GRAFANA_ANNOTATION_OVERVIEW_DASHBOARD = "grafana/overview-dashboard";
5
- const isDashboardSelectorAvailable = (entity) => entity?.metadata.annotations?.[GRAFANA_ANNOTATION_DASHBOARD_SELECTOR] || entity?.metadata.annotations?.[GRAFANA_ANNOTATION_TAG_SELECTOR];
4
+ const isDashboardSelectorAvailable = (entity) => entity?.metadata.annotations?.[GRAFANA_ANNOTATION_DASHBOARD_SELECTOR];
6
5
  const isAlertSelectorAvailable = (entity) => Boolean(
7
6
  entity?.metadata.annotations?.[GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR]
8
7
  );
9
8
  const isOverviewDashboardAvailable = (entity) => Boolean(
10
9
  entity?.metadata.annotations?.[GRAFANA_ANNOTATION_OVERVIEW_DASHBOARD]
11
10
  );
12
- const dashboardSelectorFromEntity = (entity) => entity?.metadata.annotations?.[GRAFANA_ANNOTATION_DASHBOARD_SELECTOR] ?? entity?.metadata.annotations?.[GRAFANA_ANNOTATION_TAG_SELECTOR] ?? "";
11
+ const dashboardSelectorFromEntity = (entity) => entity?.metadata.annotations?.[GRAFANA_ANNOTATION_DASHBOARD_SELECTOR] ?? "";
13
12
  const alertSelectorFromEntity = (entity) => {
14
13
  const annotation = entity?.metadata.annotations?.[GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR] ?? "";
15
14
  const selectors = annotation.split(",").map((l) => l.trim());
@@ -19,7 +18,6 @@ const alertSelectorFromEntity = (entity) => {
19
18
  return annotation;
20
19
  };
21
20
  const overviewDashboardFromEntity = (entity) => entity?.metadata.annotations?.[GRAFANA_ANNOTATION_OVERVIEW_DASHBOARD] ?? "";
22
- const tagSelectorFromEntity = dashboardSelectorFromEntity;
23
21
 
24
- export { GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR, GRAFANA_ANNOTATION_DASHBOARD_SELECTOR, GRAFANA_ANNOTATION_OVERVIEW_DASHBOARD, GRAFANA_ANNOTATION_TAG_SELECTOR, alertSelectorFromEntity, dashboardSelectorFromEntity, isAlertSelectorAvailable, isDashboardSelectorAvailable, isOverviewDashboardAvailable, overviewDashboardFromEntity, tagSelectorFromEntity };
22
+ export { GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR, GRAFANA_ANNOTATION_DASHBOARD_SELECTOR, GRAFANA_ANNOTATION_OVERVIEW_DASHBOARD, alertSelectorFromEntity, dashboardSelectorFromEntity, isAlertSelectorAvailable, isDashboardSelectorAvailable, isOverviewDashboardAvailable, overviewDashboardFromEntity };
25
23
  //# sourceMappingURL=constants.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.esm.js","sources":["../src/constants.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Entity } from '@backstage/catalog-model';\n\n/**\n * Grafana tag selector annotation\n * @public\n * @deprecated Use GRAFANA_ANNOTATION_DASHBOARD_SELECTOR instead.\n */\nexport const GRAFANA_ANNOTATION_TAG_SELECTOR = 'grafana/tag-selector';\n\n/**\n * Grafana dashboard selector annotation\n * @public\n */\nexport const GRAFANA_ANNOTATION_DASHBOARD_SELECTOR =\n 'grafana/dashboard-selector';\n\n/**\n * Grafana alert selector annotation\n * @public\n */\nexport const GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR =\n 'grafana/alert-label-selector';\n\n/**\n * Grafana dashboard overview annotation\n * @public\n */\nexport const GRAFANA_ANNOTATION_OVERVIEW_DASHBOARD =\n 'grafana/overview-dashboard';\n\n/**\n * Returns if the dashboard selector annotation for an entity is set\n * @public\n */\nexport const isDashboardSelectorAvailable = (entity: Entity) =>\n entity?.metadata.annotations?.[GRAFANA_ANNOTATION_DASHBOARD_SELECTOR] ||\n entity?.metadata.annotations?.[GRAFANA_ANNOTATION_TAG_SELECTOR];\n\n/**\n * Returns if the alert selector annotation for an entity is set\n * @public\n */\nexport const isAlertSelectorAvailable = (entity: Entity) =>\n Boolean(\n entity?.metadata.annotations?.[GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR],\n );\n\n/**\n * Returns if the overview dashboard annotation for an entity is set\n * @public\n */\nexport const isOverviewDashboardAvailable = (entity: Entity) =>\n Boolean(\n entity?.metadata.annotations?.[GRAFANA_ANNOTATION_OVERVIEW_DASHBOARD],\n );\n\n/**\n * Returns the dashboard selector annotation for an entity\n * @public\n */\nexport const dashboardSelectorFromEntity = (entity: Entity) =>\n entity?.metadata.annotations?.[GRAFANA_ANNOTATION_DASHBOARD_SELECTOR] ??\n entity?.metadata.annotations?.[GRAFANA_ANNOTATION_TAG_SELECTOR] ??\n '';\n/**\n * Returns the alert selector annotation for an entity\n * @public\n */\nexport const alertSelectorFromEntity = (entity: Entity) => {\n const annotation =\n entity?.metadata.annotations?.[GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR] ??\n '';\n const selectors = annotation.split(',').map(l => l.trim());\n if (selectors.length > 1) {\n return selectors;\n }\n return annotation;\n};\n\n/**\n * Returns the overview dashboard annotation for an entity\n * @public\n */\nexport const overviewDashboardFromEntity = (entity: Entity) =>\n entity?.metadata.annotations?.[GRAFANA_ANNOTATION_OVERVIEW_DASHBOARD] ?? '';\n\n/**\n * Returns the dashboard selector annotation for an entity\n * @public\n * @deprecated Use dashboardSelectorFromEntity instead\n */\nexport const tagSelectorFromEntity = dashboardSelectorFromEntity;\n"],"names":[],"mappings":"AAuBO,MAAM,+BAAkC,GAAA;AAMxC,MAAM,qCACX,GAAA;AAMK,MAAM,uCACX,GAAA;AAMK,MAAM,qCACX,GAAA;AAMW,MAAA,4BAAA,GAA+B,CAAC,MAAA,KAC3C,MAAQ,EAAA,QAAA,CAAS,WAAc,GAAA,qCAAqC,CACpE,IAAA,MAAA,EAAQ,QAAS,CAAA,WAAA,GAAc,+BAA+B;AAMnD,MAAA,wBAAA,GAA2B,CAAC,MACvC,KAAA,OAAA;AAAA,EACE,MAAA,EAAQ,QAAS,CAAA,WAAA,GAAc,uCAAuC;AACxE;AAMW,MAAA,4BAAA,GAA+B,CAAC,MAC3C,KAAA,OAAA;AAAA,EACE,MAAA,EAAQ,QAAS,CAAA,WAAA,GAAc,qCAAqC;AACtE;AAMK,MAAM,2BAA8B,GAAA,CAAC,MAC1C,KAAA,MAAA,EAAQ,QAAS,CAAA,WAAA,GAAc,qCAAqC,CAAA,IACpE,MAAQ,EAAA,QAAA,CAAS,WAAc,GAAA,+BAA+B,CAC9D,IAAA;AAKW,MAAA,uBAAA,GAA0B,CAAC,MAAmB,KAAA;AACzD,EAAA,MAAM,UACJ,GAAA,MAAA,EAAQ,QAAS,CAAA,WAAA,GAAc,uCAAuC,CACtE,IAAA,EAAA;AACF,EAAM,MAAA,SAAA,GAAY,WAAW,KAAM,CAAA,GAAG,EAAE,GAAI,CAAA,CAAA,CAAA,KAAK,CAAE,CAAA,IAAA,EAAM,CAAA;AACzD,EAAI,IAAA,SAAA,CAAU,SAAS,CAAG,EAAA;AACxB,IAAO,OAAA,SAAA;AAAA;AAET,EAAO,OAAA,UAAA;AACT;AAMO,MAAM,8BAA8B,CAAC,MAAA,KAC1C,QAAQ,QAAS,CAAA,WAAA,GAAc,qCAAqC,CAAK,IAAA;AAOpE,MAAM,qBAAwB,GAAA;;;;"}
1
+ {"version":3,"file":"constants.esm.js","sources":["../src/constants.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Entity } from '@backstage/catalog-model';\n\n/**\n * Grafana dashboard selector annotation\n * @public\n */\nexport const GRAFANA_ANNOTATION_DASHBOARD_SELECTOR =\n 'grafana/dashboard-selector';\n\n/**\n * Grafana alert selector annotation\n * @public\n */\nexport const GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR =\n 'grafana/alert-label-selector';\n\n/**\n * Grafana dashboard overview annotation\n * @public\n */\nexport const GRAFANA_ANNOTATION_OVERVIEW_DASHBOARD =\n 'grafana/overview-dashboard';\n\n/**\n * Returns if the dashboard selector annotation for an entity is set\n * @public\n */\nexport const isDashboardSelectorAvailable = (entity: Entity) =>\n entity?.metadata.annotations?.[GRAFANA_ANNOTATION_DASHBOARD_SELECTOR];\n\n/**\n * Returns if the alert selector annotation for an entity is set\n * @public\n */\nexport const isAlertSelectorAvailable = (entity: Entity) =>\n Boolean(\n entity?.metadata.annotations?.[GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR],\n );\n\n/**\n * Returns if the overview dashboard annotation for an entity is set\n * @public\n */\nexport const isOverviewDashboardAvailable = (entity: Entity) =>\n Boolean(\n entity?.metadata.annotations?.[GRAFANA_ANNOTATION_OVERVIEW_DASHBOARD],\n );\n\n/**\n * Returns the dashboard selector annotation for an entity\n * @public\n */\nexport const dashboardSelectorFromEntity = (entity: Entity) =>\n entity?.metadata.annotations?.[GRAFANA_ANNOTATION_DASHBOARD_SELECTOR] ?? '';\n/**\n * Returns the alert selector annotation for an entity\n * @public\n */\nexport const alertSelectorFromEntity = (entity: Entity) => {\n const annotation =\n entity?.metadata.annotations?.[GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR] ??\n '';\n const selectors = annotation.split(',').map(l => l.trim());\n if (selectors.length > 1) {\n return selectors;\n }\n return annotation;\n};\n\n/**\n * Returns the overview dashboard annotation for an entity\n * @public\n */\nexport const overviewDashboardFromEntity = (entity: Entity) =>\n entity?.metadata.annotations?.[GRAFANA_ANNOTATION_OVERVIEW_DASHBOARD] ?? '';\n"],"names":[],"mappings":"AAsBO,MAAM,qCACX,GAAA;AAMK,MAAM,uCACX,GAAA;AAMK,MAAM,qCACX,GAAA;AAMK,MAAM,+BAA+B,CAAC,MAAA,KAC3C,MAAQ,EAAA,QAAA,CAAS,cAAc,qCAAqC;AAMzD,MAAA,wBAAA,GAA2B,CAAC,MACvC,KAAA,OAAA;AAAA,EACE,MAAA,EAAQ,QAAS,CAAA,WAAA,GAAc,uCAAuC;AACxE;AAMW,MAAA,4BAAA,GAA+B,CAAC,MAC3C,KAAA,OAAA;AAAA,EACE,MAAA,EAAQ,QAAS,CAAA,WAAA,GAAc,qCAAqC;AACtE;AAMK,MAAM,8BAA8B,CAAC,MAAA,KAC1C,QAAQ,QAAS,CAAA,WAAA,GAAc,qCAAqC,CAAK,IAAA;AAK9D,MAAA,uBAAA,GAA0B,CAAC,MAAmB,KAAA;AACzD,EAAA,MAAM,UACJ,GAAA,MAAA,EAAQ,QAAS,CAAA,WAAA,GAAc,uCAAuC,CACtE,IAAA,EAAA;AACF,EAAM,MAAA,SAAA,GAAY,WAAW,KAAM,CAAA,GAAG,EAAE,GAAI,CAAA,CAAA,CAAA,KAAK,CAAE,CAAA,IAAA,EAAM,CAAA;AACzD,EAAI,IAAA,SAAA,CAAU,SAAS,CAAG,EAAA;AACxB,IAAO,OAAA,SAAA;AAAA;AAET,EAAO,OAAA,UAAA;AACT;AAMO,MAAM,8BAA8B,CAAC,MAAA,KAC1C,QAAQ,QAAS,CAAA,WAAA,GAAc,qCAAqC,CAAK,IAAA;;;;"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { Entity } from '@backstage/catalog-model';
3
3
  import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
4
+ import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api';
4
5
 
5
6
  /**
6
7
  * Component which embeds the defined URL contents
@@ -118,12 +119,6 @@ declare const EntityGrafanaAlertsCard: (opts?: AlertsCardOpts | undefined) => re
118
119
  */
119
120
  declare const EntityOverviewDashboardViewer: () => react_jsx_runtime.JSX.Element;
120
121
 
121
- /**
122
- * Grafana tag selector annotation
123
- * @public
124
- * @deprecated Use GRAFANA_ANNOTATION_DASHBOARD_SELECTOR instead.
125
- */
126
- declare const GRAFANA_ANNOTATION_TAG_SELECTOR = "grafana/tag-selector";
127
122
  /**
128
123
  * Grafana dashboard selector annotation
129
124
  * @public
@@ -169,12 +164,6 @@ declare const alertSelectorFromEntity: (entity: Entity) => string | string[];
169
164
  * @public
170
165
  */
171
166
  declare const overviewDashboardFromEntity: (entity: Entity) => string;
172
- /**
173
- * Returns the dashboard selector annotation for an entity
174
- * @public
175
- * @deprecated Use dashboardSelectorFromEntity instead
176
- */
177
- declare const tagSelectorFromEntity: (entity: Entity) => string;
178
167
 
179
168
  /**
180
169
  * Interface for the Grafana API
@@ -196,6 +185,6 @@ interface GrafanaApi {
196
185
  * The grafana API reference
197
186
  * @public
198
187
  */
199
- declare const grafanaApiRef: _backstage_core_plugin_api.ApiRef<GrafanaApi>;
188
+ declare const grafanaApiRef: _backstage_frontend_plugin_api.ApiRef<GrafanaApi>;
200
189
 
201
- export { type Alert, type AlertsCardOpts, type Dashboard, type DashboardCardOpts, DashboardViewer, EntityDashboardViewer, EntityGrafanaAlertsCard, EntityGrafanaDashboardsCard, EntityOverviewDashboardViewer, GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR, GRAFANA_ANNOTATION_DASHBOARD_SELECTOR, GRAFANA_ANNOTATION_OVERVIEW_DASHBOARD, GRAFANA_ANNOTATION_TAG_SELECTOR, type GrafanaApi, alertSelectorFromEntity, dashboardSelectorFromEntity, grafanaApiRef, grafanaPlugin, isAlertSelectorAvailable, isDashboardSelectorAvailable, isOverviewDashboardAvailable, overviewDashboardFromEntity, tagSelectorFromEntity };
190
+ export { type Alert, type AlertsCardOpts, type Dashboard, type DashboardCardOpts, DashboardViewer, EntityDashboardViewer, EntityGrafanaAlertsCard, EntityGrafanaDashboardsCard, EntityOverviewDashboardViewer, GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR, GRAFANA_ANNOTATION_DASHBOARD_SELECTOR, GRAFANA_ANNOTATION_OVERVIEW_DASHBOARD, type GrafanaApi, alertSelectorFromEntity, dashboardSelectorFromEntity, grafanaApiRef, grafanaPlugin, isAlertSelectorAvailable, isDashboardSelectorAvailable, isOverviewDashboardAvailable, overviewDashboardFromEntity };
package/dist/index.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { DashboardViewer, EntityDashboardViewer } from './components/DashboardViewer/DashboardViewer.esm.js';
2
2
  export { EntityGrafanaAlertsCard, EntityGrafanaDashboardsCard, EntityOverviewDashboardViewer, grafanaPlugin } from './plugin.esm.js';
3
- export { GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR, GRAFANA_ANNOTATION_DASHBOARD_SELECTOR, GRAFANA_ANNOTATION_OVERVIEW_DASHBOARD, GRAFANA_ANNOTATION_TAG_SELECTOR, alertSelectorFromEntity, dashboardSelectorFromEntity, isAlertSelectorAvailable, isDashboardSelectorAvailable, isOverviewDashboardAvailable, overviewDashboardFromEntity, tagSelectorFromEntity } from './constants.esm.js';
3
+ export { GRAFANA_ANNOTATION_ALERT_LABEL_SELECTOR, GRAFANA_ANNOTATION_DASHBOARD_SELECTOR, GRAFANA_ANNOTATION_OVERVIEW_DASHBOARD, alertSelectorFromEntity, dashboardSelectorFromEntity, isAlertSelectorAvailable, isDashboardSelectorAvailable, isOverviewDashboardAvailable, overviewDashboardFromEntity } from './constants.esm.js';
4
4
  export { grafanaApiRef } from './api.esm.js';
5
5
  //# sourceMappingURL=index.esm.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage-community/plugin-grafana",
3
- "version": "0.12.0",
3
+ "version": "0.14.0",
4
4
  "description": "A Backstage backend plugin that integrates towards Grafana",
5
5
  "main": "./dist/index.esm.js",
6
6
  "types": "./dist/index.d.ts",
@@ -63,10 +63,10 @@
63
63
  },
64
64
  "dependencies": {
65
65
  "@backstage/catalog-model": "^1.7.6",
66
- "@backstage/core-components": "^0.18.3",
67
- "@backstage/core-plugin-api": "^1.12.0",
68
- "@backstage/frontend-plugin-api": "^0.13.1",
69
- "@backstage/plugin-catalog-react": "^1.21.3",
66
+ "@backstage/core-components": "^0.18.4",
67
+ "@backstage/core-plugin-api": "^1.12.1",
68
+ "@backstage/frontend-plugin-api": "^0.13.2",
69
+ "@backstage/plugin-catalog-react": "^1.21.4",
70
70
  "@material-ui/core": "^4.12.2",
71
71
  "@material-ui/lab": "4.0.0-alpha.61",
72
72
  "cross-fetch": "^4.0.0",
@@ -79,11 +79,11 @@
79
79
  "react-router-dom": "6.0.0-beta.0 || ^6.3.0"
80
80
  },
81
81
  "devDependencies": {
82
- "@backstage/cli": "^0.34.5",
83
- "@backstage/core-app-api": "^1.19.2",
84
- "@backstage/dev-utils": "^1.1.17",
85
- "@backstage/frontend-test-utils": "^0.4.1",
86
- "@backstage/test-utils": "^1.7.13",
82
+ "@backstage/cli": "^0.35.1",
83
+ "@backstage/core-app-api": "^1.19.3",
84
+ "@backstage/dev-utils": "^1.1.18",
85
+ "@backstage/frontend-test-utils": "^0.4.2",
86
+ "@backstage/test-utils": "^1.7.14",
87
87
  "@testing-library/dom": "^10.0.0",
88
88
  "@testing-library/jest-dom": "^6.0.0",
89
89
  "@testing-library/react": "^15.0.0",