@roadiehq/backstage-plugin-argo-cd
Version:
60 lines (57 loc) • 1.98 kB
JavaScript
import { createRouteRef, createPlugin, createApiFactory, discoveryApiRef, identityApiRef, configApiRef, createRoutableExtension, createComponentExtension } from '@backstage/core-plugin-api';
import { argoCDApiRef, ArgoCDApiClient } from './api/index.esm.js';
const entityContentRouteRef = createRouteRef({
id: "ArgoCD Entity Content"
});
const argocdPlugin = createPlugin({
id: "argocd",
apis: [
createApiFactory({
api: argoCDApiRef,
deps: {
discoveryApi: discoveryApiRef,
identityApi: identityApiRef,
configApi: configApiRef
},
factory: ({ discoveryApi, identityApi, configApi }) => new ArgoCDApiClient({
discoveryApi,
identityApi,
backendBaseUrl: configApi.getString("backend.baseUrl"),
useNamespacedApps: Boolean(
configApi.getOptionalBoolean("argocd.namespacedApps")
),
searchInstances: Boolean(
configApi.getOptionalConfigArray("argocd.appLocatorMethods")?.length
)
})
})
],
routes: {
entityContent: entityContentRouteRef
}
});
const EntityArgoCDContent = argocdPlugin.provide(
createRoutableExtension({
name: "EntityArgoCDContent",
component: () => import('./Router.esm.js').then((m) => m.Router),
mountPoint: entityContentRouteRef
})
);
const EntityArgoCDOverviewCard = argocdPlugin.provide(
createComponentExtension({
name: "EntityArgoCDOverviewCard",
component: {
lazy: () => import('./components/ArgoCDDetailsCard.esm.js').then((m) => m.ArgoCDDetailsCard)
}
})
);
const EntityArgoCDHistoryCard = argocdPlugin.provide(
createComponentExtension({
name: "EntityArgoCDHistoryCard",
component: {
lazy: () => import('./components/ArgoCDHistoryCard.esm.js').then((m) => m.ArgoCDHistoryCard)
}
})
);
export { EntityArgoCDContent, EntityArgoCDHistoryCard, EntityArgoCDOverviewCard, argocdPlugin, entityContentRouteRef };
//# sourceMappingURL=plugin.esm.js.map