Merge pull request #11508 from goenning/go/expose-detecterrors

[Kubernetes Plugin] expose detectErrors function publicly
This commit is contained in:
Ben Lambert
2022-07-11 15:52:20 +02:00
committed by GitHub
6 changed files with 69 additions and 3 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-kubernetes': patch
---
expose detectErrors function publicly
+31
View File
@@ -98,6 +98,28 @@ export interface DeploymentResources {
replicaSets: V1ReplicaSet[];
}
// @alpha
export interface DetectedError {
// (undocumented)
cluster: string;
// (undocumented)
kind: ErrorDetectableKind;
// (undocumented)
message: string[];
// (undocumented)
names: string[];
// (undocumented)
severity: ErrorSeverity;
}
// @alpha
export type DetectedErrorsByCluster = Map<string, DetectedError[]>;
// @alpha
export const detectErrors: (
objects: ObjectsByEntityResponse,
) => DetectedErrorsByCluster;
// Warning: (ae-missing-release-tag) "EntityKubernetesContent" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
@@ -110,6 +132,12 @@ export type EntityKubernetesContentProps = {
refreshIntervalMs?: number;
};
// @alpha
export type ErrorDetectableKind =
| 'Pod'
| 'Deployment'
| 'HorizontalPodAutoscaler';
// Warning: (ae-forgotten-export) The symbol "ErrorPanelProps" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "ErrorPanel" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
@@ -128,6 +156,9 @@ export const ErrorReporting: ({
detectedErrors,
}: ErrorReportingProps) => JSX.Element;
// @alpha
export type ErrorSeverity = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
// Warning: (ae-forgotten-export) The symbol "FormatClusterLinkOptions" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "formatClusterLink" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
@@ -21,8 +21,12 @@ import { detectErrorsInPods } from './pods';
import { detectErrorsInDeployments } from './deployments';
import { detectErrorsInHpa } from './hpas';
// For each cluster try to find errors in each of the object types provided
// returning a map of cluster names to errors in that cluster
/**
* For each cluster try to find errors in each of the object types provided
* returning a map of cluster names to errors in that cluster
*
* @alpha
*/
export const detectErrors = (
objects: ObjectsByEntityResponse,
): DetectedErrorsByCluster => {
@@ -14,5 +14,10 @@
* limitations under the License.
*/
export type { DetectedError, DetectedErrorsByCluster } from './types';
export type {
ErrorDetectableKind,
DetectedError,
DetectedErrorsByCluster,
ErrorSeverity,
} from './types';
export { detectErrors } from './error-detection';
@@ -21,17 +21,37 @@ import {
V1Pod,
} from '@kubernetes/client-node';
/**
* Severity of the error, where 10 is critical and 0 is very low.
*
* @alpha
*/
export type ErrorSeverity = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
export type ErrorDetectable = V1Pod | V1Deployment | V1HorizontalPodAutoscaler;
/**
* Kubernetes kinds that errors might be reported by the plugin
*
* @alpha
*/
export type ErrorDetectableKind =
| 'Pod'
| 'Deployment'
| 'HorizontalPodAutoscaler';
/**
* A list of errors keyed by Cluster name
*
* @alpha
*/
export type DetectedErrorsByCluster = Map<string, DetectedError[]>;
/**
* Represents an error found on a Kubernetes object
*
* @alpha
*/
export interface DetectedError {
severity: ErrorSeverity;
cluster: string;
+1
View File
@@ -31,5 +31,6 @@ export * from './api';
export * from './kubernetes-auth-provider';
export * from './utils/clusterLinks';
export * from './components';
export * from './error-detection';
export * from './hooks';
export * from './types';