@backstage/plugin-kubernetes 0.7.2-next.2 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # @backstage/plugin-kubernetes
2
2
 
3
+ ## 0.7.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 817f3196f6: Updated React Router dependencies to be peer dependencies.
8
+ - 7d47def9c4: Removed dependency on `@types/jest`.
9
+ - 0768d6dece: add new kubernetes backend endpoints to kubernetes backend client
10
+ - 19a27929fb: Reset error state on success
11
+ - 667d917488: Updated dependency `msw` to `^0.47.0`.
12
+ - 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`.
13
+ - bf5e9030eb: Updated dependency `msw` to `^0.45.0`.
14
+ - ef9ab322de: Minor API signatures cleanup
15
+ - Updated dependencies
16
+ - @backstage/core-components@0.11.1
17
+ - @backstage/core-plugin-api@1.0.6
18
+ - @backstage/plugin-catalog-react@1.1.4
19
+ - @backstage/catalog-model@1.1.1
20
+ - @backstage/config@1.0.2
21
+ - @backstage/plugin-kubernetes-common@0.4.2
22
+
23
+ ## 0.7.2-next.3
24
+
25
+ ### Patch Changes
26
+
27
+ - 7d47def9c4: Removed dependency on `@types/jest`.
28
+ - 19a27929fb: Reset error state on success
29
+ - Updated dependencies
30
+ - @backstage/plugin-catalog-react@1.1.4-next.2
31
+ - @backstage/catalog-model@1.1.1-next.0
32
+ - @backstage/config@1.0.2-next.0
33
+ - @backstage/core-components@0.11.1-next.3
34
+ - @backstage/core-plugin-api@1.0.6-next.3
35
+ - @backstage/plugin-kubernetes-common@0.4.2-next.1
36
+
3
37
  ## 0.7.2-next.2
4
38
 
5
39
  ### Patch Changes
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  import * as _backstage_core_plugin_api from '@backstage/core-plugin-api';
3
3
  import { DiscoveryApi, IdentityApi, OAuthApi, OpenIdConnectApi } from '@backstage/core-plugin-api';
4
4
  import { Entity } from '@backstage/catalog-model';
5
- import { KubernetesRequestBody, ObjectsByEntityResponse, ClusterObjects, ClientPodStatus, ClusterAttributes } from '@backstage/plugin-kubernetes-common';
5
+ import { KubernetesRequestBody, ObjectsByEntityResponse, WorkloadsByEntityRequest, CustomObjectsByEntityRequest, ClusterObjects, ClientPodStatus, ClusterAttributes } from '@backstage/plugin-kubernetes-common';
6
6
  import { JsonObject } from '@backstage/types';
7
7
  import { V1Pod, V1ReplicaSet, V1Deployment, V1HorizontalPodAutoscaler, V1Service, V1ConfigMap, V1Ingress, V1Job, V1CronJob, V1StatefulSet, V1ObjectMeta } from '@kubernetes/client-node';
8
8
  import React from 'react';
@@ -36,6 +36,8 @@ interface KubernetesApi {
36
36
  authProvider: string;
37
37
  oidcTokenProvider?: string | undefined;
38
38
  }[]>;
39
+ getWorkloadsByEntity(request: WorkloadsByEntityRequest): Promise<ObjectsByEntityResponse>;
40
+ getCustomObjectsByEntity(request: CustomObjectsByEntityRequest): Promise<ObjectsByEntityResponse>;
39
41
  }
40
42
 
41
43
  declare class KubernetesBackendClient implements KubernetesApi {
@@ -48,6 +50,8 @@ declare class KubernetesBackendClient implements KubernetesApi {
48
50
  private handleResponse;
49
51
  private postRequired;
50
52
  getObjectsByEntity(requestBody: KubernetesRequestBody): Promise<ObjectsByEntityResponse>;
53
+ getWorkloadsByEntity(request: WorkloadsByEntityRequest): Promise<ObjectsByEntityResponse>;
54
+ getCustomObjectsByEntity(request: CustomObjectsByEntityRequest): Promise<ObjectsByEntityResponse>;
51
55
  getClusters(): Promise<{
52
56
  name: string;
53
57
  authProvider: string;
@@ -246,8 +250,8 @@ declare type KubernetesContentProps = {
246
250
  declare const KubernetesContent: ({ entity, refreshIntervalMs, }: KubernetesContentProps) => JSX.Element;
247
251
 
248
252
  interface KubernetesObjects {
249
- kubernetesObjects: ObjectsByEntityResponse | undefined;
250
- error: string | undefined;
253
+ kubernetesObjects?: ObjectsByEntityResponse;
254
+ error?: string;
251
255
  }
252
256
  declare const useKubernetesObjects: (entity: Entity, intervalMs?: number) => KubernetesObjects;
253
257
 
package/dist/index.esm.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { stringifyEntityRef } from '@backstage/catalog-model';
1
2
  import { createApiRef, createRouteRef, createPlugin, createApiFactory, discoveryApiRef, identityApiRef, googleAuthApiRef, microsoftAuthApiRef, oktaAuthApiRef, oneloginAuthApiRef, createRoutableExtension, useApi } from '@backstage/core-plugin-api';
2
3
  import * as React from 'react';
3
4
  import React__default, { Fragment, useState, useEffect, useContext } from 'react';
@@ -57,6 +58,19 @@ class KubernetesBackendClient {
57
58
  requestBody
58
59
  );
59
60
  }
61
+ async getWorkloadsByEntity(request) {
62
+ return await this.postRequired("/resources/workloads/query", {
63
+ auth: request.auth,
64
+ entityRef: stringifyEntityRef(request.entity)
65
+ });
66
+ }
67
+ async getCustomObjectsByEntity(request) {
68
+ return await this.postRequired(`/resources/custom/query`, {
69
+ entityRef: stringifyEntityRef(request.entity),
70
+ auth: request.auth,
71
+ customResources: request.customResources
72
+ });
73
+ }
60
74
  async getClusters() {
61
75
  const { token: idToken } = await this.identityApi.getCredentials();
62
76
  const url = `${await this.discoveryApi.getBaseUrl("kubernetes")}/clusters`;
@@ -700,14 +714,16 @@ const detectErrors = (objects) => {
700
714
  const useKubernetesObjects = (entity, intervalMs = 1e4) => {
701
715
  const kubernetesApi = useApi(kubernetesApiRef);
702
716
  const kubernetesAuthProvidersApi = useApi(kubernetesAuthProvidersApiRef);
703
- const [kubernetesObjects, setKubernetesObjects] = useState(void 0);
704
- const [error, setError] = useState(void 0);
717
+ const [result, setResult] = useState({
718
+ kubernetesObjects: void 0,
719
+ error: void 0
720
+ });
705
721
  const getObjects = async () => {
706
722
  let clusters = [];
707
723
  try {
708
724
  clusters = await kubernetesApi.getClusters();
709
725
  } catch (e) {
710
- setError(e.message);
726
+ setResult({ error: e.message });
711
727
  return;
712
728
  }
713
729
  const authProviders = [
@@ -727,14 +743,15 @@ const useKubernetesObjects = (entity, intervalMs = 1e4) => {
727
743
  requestBody
728
744
  );
729
745
  } catch (e) {
730
- setError(e.message);
746
+ setResult({ error: e.message });
731
747
  return;
732
748
  }
733
749
  }
734
750
  try {
735
- setKubernetesObjects(await kubernetesApi.getObjectsByEntity(requestBody));
751
+ const objects = await kubernetesApi.getObjectsByEntity(requestBody);
752
+ setResult({ kubernetesObjects: objects });
736
753
  } catch (e) {
737
- setError(e.message);
754
+ setResult({ error: e.message });
738
755
  return;
739
756
  }
740
757
  };
@@ -744,10 +761,7 @@ const useKubernetesObjects = (entity, intervalMs = 1e4) => {
744
761
  useInterval(() => {
745
762
  getObjects();
746
763
  }, intervalMs);
747
- return {
748
- kubernetesObjects,
749
- error
750
- };
764
+ return result;
751
765
  };
752
766
 
753
767
  const PodNamesWithErrorsContext = React__default.createContext(