@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 +34 -0
- package/dist/index.d.ts +7 -3
- package/dist/index.esm.js +24 -10
- package/dist/index.esm.js.map +1 -1
- package/package.json +12 -13
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
|
|
250
|
-
error
|
|
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 [
|
|
704
|
-
|
|
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
|
-
|
|
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
|
-
|
|
746
|
+
setResult({ error: e.message });
|
|
731
747
|
return;
|
|
732
748
|
}
|
|
733
749
|
}
|
|
734
750
|
try {
|
|
735
|
-
|
|
751
|
+
const objects = await kubernetesApi.getObjectsByEntity(requestBody);
|
|
752
|
+
setResult({ kubernetesObjects: objects });
|
|
736
753
|
} catch (e) {
|
|
737
|
-
|
|
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(
|