diff --git a/plugins/argo-workflows/src/components/utils.ts b/plugins/argo-workflows/src/components/utils.ts index 9bd75e3..761a128 100644 --- a/plugins/argo-workflows/src/components/utils.ts +++ b/plugins/argo-workflows/src/components/utils.ts @@ -1,33 +1,31 @@ -import {Entity} from "@backstage/catalog-model"; +import { Entity } from '@backstage/catalog-model'; import { ARGO_WORKFLOWS_LABEL_SELECTOR_ANNOTATION, CLUSTER_NAME_ANNOTATION, - K8S_NAMESPACE_ANNOTATION, -} from "../plugin"; + ARGO_WORKFLOWS_NAMESPACE_ANNOTATION, +} from '../plugin'; export function trimBaseUrl(argoWorkflowsBaseUrl: string | undefined) { - if (argoWorkflowsBaseUrl && argoWorkflowsBaseUrl.endsWith("/")) { + if (argoWorkflowsBaseUrl && argoWorkflowsBaseUrl.endsWith('/')) { return argoWorkflowsBaseUrl.substring(0, argoWorkflowsBaseUrl.length - 1); } return argoWorkflowsBaseUrl; } export type getAnnotationValuesOutput = { - ns: string; + ns?: string; clusterName?: string; labelSelector?: string; }; export function getAnnotationValues(entity: Entity): getAnnotationValuesOutput { - const ns = - entity.metadata.annotations?.[K8S_NAMESPACE_ANNOTATION] !== undefined - ? entity.metadata.annotations?.[K8S_NAMESPACE_ANNOTATION] - : "default"; + const ns = entity.metadata.annotations?.[ARGO_WORKFLOWS_NAMESPACE_ANNOTATION]; const clusterName = entity.metadata.annotations?.[CLUSTER_NAME_ANNOTATION]; - const labelSelector = entity.metadata?.annotations?.[ARGO_WORKFLOWS_LABEL_SELECTOR_ANNOTATION] + const labelSelector = + entity.metadata?.annotations?.[ARGO_WORKFLOWS_LABEL_SELECTOR_ANNOTATION]; return { ns: ns, clusterName: clusterName, labelSelector: labelSelector, }; -} +} \ No newline at end of file diff --git a/plugins/argo-workflows/src/plugin.ts b/plugins/argo-workflows/src/plugin.ts index 595a2cf..3c48ee0 100644 --- a/plugins/argo-workflows/src/plugin.ts +++ b/plugins/argo-workflows/src/plugin.ts @@ -4,20 +4,21 @@ import { createRoutableExtension, discoveryApiRef, fetchApiRef, -} from "@backstage/core-plugin-api"; -import {Entity} from "@backstage/catalog-model"; +} from '@backstage/core-plugin-api'; +import { Entity } from '@backstage/catalog-model'; -import {rootRouteRef} from "./routes"; -import {ArgoWorkflows, argoWorkflowsApiRef} from "./api"; -import {kubernetesApiRef} from "@backstage/plugin-kubernetes"; +import { rootRouteRef } from './routes'; +import { ArgoWorkflows, argoWorkflowsApiRef } from './api'; +import { kubernetesApiRef } from '@backstage/plugin-kubernetes'; -export const CLUSTER_NAME_ANNOTATION = "argo-workflows.cnoe.io/cluster-name"; -export const K8S_NAMESPACE_ANNOTATION = "backstage.io/kubernetes-namespace"; +export const CLUSTER_NAME_ANNOTATION = 'argo-workflows.cnoe.io/cluster-name'; +export const ARGO_WORKFLOWS_NAMESPACE_ANNOTATION = + 'argo-workflows.cnoe.io/namespace'; export const ARGO_WORKFLOWS_LABEL_SELECTOR_ANNOTATION = - "argo-workflows.cnoe.io/label-selector"; + 'argo-workflows.cnoe.io/label-selector'; export const argoWorkflowsPlugin = createPlugin({ - id: "argo-workflows", + id: 'argo-workflows', routes: { root: rootRouteRef, }, @@ -29,7 +30,7 @@ export const argoWorkflowsPlugin = createPlugin({ kubernetesApi: kubernetesApiRef, fetchApi: fetchApiRef, }, - factory: ({discoveryApi, kubernetesApi, fetchApi}) => + factory: ({ discoveryApi, kubernetesApi, fetchApi }) => new ArgoWorkflows(discoveryApi, kubernetesApi, fetchApi), }), ], @@ -37,33 +38,35 @@ export const argoWorkflowsPlugin = createPlugin({ export const ArgoWorkflowsPage = argoWorkflowsPlugin.provide( createRoutableExtension({ - name: "ArgoWorkflowsPage", + name: 'ArgoWorkflowsPage', component: () => - import("./components/Overview").then((m) => m.ArgoWorkflowsOverviewPage), + import('./components/Overview').then(m => m.ArgoWorkflowsOverviewPage), mountPoint: rootRouteRef, - }) + }), ); export const EntityArgoWorkflowsOverviewCard = argoWorkflowsPlugin.provide( createRoutableExtension({ - name: "ArgoWorkflowsOverviewCard", + name: 'ArgoWorkflowsOverviewCard', component: () => - import("./components/Overview").then((m) => m.ArgoWorkflowsOverviewCard), + import('./components/Overview').then(m => m.ArgoWorkflowsOverviewCard), mountPoint: rootRouteRef, - }) + }), ); export const EntityArgoWorkflowsTemplateOverviewCard = argoWorkflowsPlugin.provide( createRoutableExtension({ - name: "ArgoWorkflowsTemplatesOverviewCard", + name: 'ArgoWorkflowsTemplatesOverviewCard', component: () => - import("./components/Overview").then( - (m) => m.ArgoWorkflowsTemplatesOverviewCard + import('./components/Overview').then( + m => m.ArgoWorkflowsTemplatesOverviewCard, ), mountPoint: rootRouteRef, - }) + }), ); export const isArgoWorkflowsAvailable = (entity: Entity) => - Boolean(entity?.metadata.annotations?.[ARGO_WORKFLOWS_LABEL_SELECTOR_ANNOTATION]); + Boolean( + entity?.metadata.annotations?.[ARGO_WORKFLOWS_LABEL_SELECTOR_ANNOTATION], + ); \ No newline at end of file