@jfvilas/plugin-kubelog
Version:
Frontend plugin for viewing Kubernetes logs in Backstage
41 lines (36 loc) • 1.64 kB
TypeScript
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 };