UNPKG

@jfvilas/plugin-kubelog

Version:

Frontend plugin for viewing Kubernetes logs in Backstage

41 lines (36 loc) 1.64 kB
import * as react from 'react'; import * as _backstage_core_plugin_api from '@backstage/core-plugin-api'; import { DiscoveryApi, FetchApi } from '@backstage/core-plugin-api'; import { ClusterValidPods } from '@jfvilas/plugin-kubelog-common'; export { isKubelogAvailable } from '@jfvilas/plugin-kubelog-common'; import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api'; import { Entity } from '@backstage/catalog-model'; declare const kubelogPlugin: _backstage_core_plugin_api.BackstagePlugin<{ root: _backstage_core_plugin_api.RouteRef<undefined>; }, {}, {}>; declare const EntityKubelogContent: () => react.JSX.Element; interface KubelogApi { getResources(entity: Entity): Promise<any>; requestAccess(entity: Entity, scopes: string[]): Promise<any>; getVersion(): Promise<any>; } declare const kubelogApiRef: _backstage_frontend_plugin_api.ApiRef<KubelogApi>; interface KubelogClientOptions { discoveryApi: DiscoveryApi; fetchApi: FetchApi; } declare class KubelogClient implements KubelogApi { private readonly discoveryApi; private readonly fetchApi; constructor(options: KubelogClientOptions); /** * * @param entity * @returns an array of clusters (with their correpsonding info) and a pod list for each, where the entity has been dicovered */ getVersion(): Promise<string>; getResources(entity: Entity): Promise<ClusterValidPods>; requestAccess(entity: Entity, scopes: string[]): Promise<ClusterValidPods>; } export { EntityKubelogContent, KubelogClient, kubelogApiRef, kubelogPlugin }; export type { KubelogApi, KubelogClientOptions };