mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Introduce a way to get KubeApi with selfLink using DI
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
This commit is contained in:
parent
a12b94405a
commit
dcb344afcb
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { ClusterRoleBindingApi } from "./cluster-role-binding.api";
|
import { ClusterRoleBindingApi } from "./cluster-role-binding.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const clusterRoleBindingApiInjectable = getInjectable({
|
const clusterRoleBindingApiInjectable = getInjectable({
|
||||||
id: "cluster-role-binding-api",
|
id: "cluster-role-binding-api",
|
||||||
@ -14,6 +15,8 @@ const clusterRoleBindingApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new ClusterRoleBindingApi();
|
return new ClusterRoleBindingApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default clusterRoleBindingApiInjectable;
|
export default clusterRoleBindingApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { ClusterRoleApi } from "./cluster-role.api";
|
import { ClusterRoleApi } from "./cluster-role.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const clusterRoleApiInjectable = getInjectable({
|
const clusterRoleApiInjectable = getInjectable({
|
||||||
id: "cluster-role-api",
|
id: "cluster-role-api",
|
||||||
@ -14,6 +15,8 @@ const clusterRoleApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new ClusterRoleApi();
|
return new ClusterRoleApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default clusterRoleApiInjectable;
|
export default clusterRoleApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { ClusterApi } from "./cluster.api";
|
import { ClusterApi } from "./cluster.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const clusterApiInjectable = getInjectable({
|
const clusterApiInjectable = getInjectable({
|
||||||
id: "cluster-api",
|
id: "cluster-api",
|
||||||
@ -14,6 +15,8 @@ const clusterApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new ClusterApi();
|
return new ClusterApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default clusterApiInjectable;
|
export default clusterApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { ComponentStatusApi } from "./component-status.api";
|
import { ComponentStatusApi } from "./component-status.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const componentStatusApiInjectable = getInjectable({
|
const componentStatusApiInjectable = getInjectable({
|
||||||
id: "component-status-api",
|
id: "component-status-api",
|
||||||
@ -14,6 +15,8 @@ const componentStatusApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new ComponentStatusApi();
|
return new ComponentStatusApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default componentStatusApiInjectable;
|
export default componentStatusApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { ConfigMapApi } from "./config-map.api";
|
import { ConfigMapApi } from "./config-map.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const configMapApiInjectable = getInjectable({
|
const configMapApiInjectable = getInjectable({
|
||||||
id: "config-map-api",
|
id: "config-map-api",
|
||||||
@ -14,6 +15,8 @@ const configMapApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new ConfigMapApi();
|
return new ConfigMapApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default configMapApiInjectable;
|
export default configMapApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { CronJobApi } from "./cron-job.api";
|
import { CronJobApi } from "./cron-job.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const cronJobApiInjectable = getInjectable({
|
const cronJobApiInjectable = getInjectable({
|
||||||
id: "cron-job-api",
|
id: "cron-job-api",
|
||||||
@ -14,6 +15,8 @@ const cronJobApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new CronJobApi();
|
return new CronJobApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default cronJobApiInjectable;
|
export default cronJobApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { CustomResourceDefinitionApi } from "./custom-resource-definition.api";
|
import { CustomResourceDefinitionApi } from "./custom-resource-definition.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const customResourceDefinitionApiInjectable = getInjectable({
|
const customResourceDefinitionApiInjectable = getInjectable({
|
||||||
id: "custom-resource-definition-api",
|
id: "custom-resource-definition-api",
|
||||||
@ -14,6 +15,8 @@ const customResourceDefinitionApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new CustomResourceDefinitionApi();
|
return new CustomResourceDefinitionApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default customResourceDefinitionApiInjectable;
|
export default customResourceDefinitionApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { DaemonSetApi } from "./daemon-set.api";
|
import { DaemonSetApi } from "./daemon-set.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const daemonSetApiInjectable = getInjectable({
|
const daemonSetApiInjectable = getInjectable({
|
||||||
id: "daemon-set-api",
|
id: "daemon-set-api",
|
||||||
@ -14,6 +15,8 @@ const daemonSetApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new DaemonSetApi();
|
return new DaemonSetApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default daemonSetApiInjectable;
|
export default daemonSetApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { DeploymentApi } from "./deployment.api";
|
import { DeploymentApi } from "./deployment.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const deploymentApiInjectable = getInjectable({
|
const deploymentApiInjectable = getInjectable({
|
||||||
id: "deployment-api",
|
id: "deployment-api",
|
||||||
@ -14,6 +15,8 @@ const deploymentApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new DeploymentApi();
|
return new DeploymentApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default deploymentApiInjectable;
|
export default deploymentApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { EndpointsApi } from "./endpoint.api";
|
import { EndpointsApi } from "./endpoint.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const endpointsApiInjectable = getInjectable({
|
const endpointsApiInjectable = getInjectable({
|
||||||
id: "endpoints-api",
|
id: "endpoints-api",
|
||||||
@ -14,6 +15,8 @@ const endpointsApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new EndpointsApi();
|
return new EndpointsApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default endpointsApiInjectable;
|
export default endpointsApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { KubeEventApi } from "./events.api";
|
import { KubeEventApi } from "./events.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const kubeEventApiInjectable = getInjectable({
|
const kubeEventApiInjectable = getInjectable({
|
||||||
id: "kube-event-api",
|
id: "kube-event-api",
|
||||||
@ -14,6 +15,8 @@ const kubeEventApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new KubeEventApi();
|
return new KubeEventApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default kubeEventApiInjectable;
|
export default kubeEventApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { HorizontalPodAutoscalerApi } from "./horizontal-pod-autoscaler.api";
|
import { HorizontalPodAutoscalerApi } from "./horizontal-pod-autoscaler.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const horizontalPodAutoscalerApiInjectable = getInjectable({
|
const horizontalPodAutoscalerApiInjectable = getInjectable({
|
||||||
id: "horizontal-pod-autoscaler-api",
|
id: "horizontal-pod-autoscaler-api",
|
||||||
@ -14,6 +15,8 @@ const horizontalPodAutoscalerApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new HorizontalPodAutoscalerApi();
|
return new HorizontalPodAutoscalerApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default horizontalPodAutoscalerApiInjectable;
|
export default horizontalPodAutoscalerApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { IngressApi } from "./ingress.api";
|
import { IngressApi } from "./ingress.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const ingressApiInjectable = getInjectable({
|
const ingressApiInjectable = getInjectable({
|
||||||
id: "ingress-api",
|
id: "ingress-api",
|
||||||
@ -14,6 +15,8 @@ const ingressApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new IngressApi();
|
return new IngressApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default ingressApiInjectable;
|
export default ingressApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { JobApi } from "./job.api";
|
import { JobApi } from "./job.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const jobApiInjectable = getInjectable({
|
const jobApiInjectable = getInjectable({
|
||||||
id: "job-api",
|
id: "job-api",
|
||||||
@ -14,6 +15,8 @@ const jobApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new JobApi();
|
return new JobApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default jobApiInjectable;
|
export default jobApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { LimitRangeApi } from "./limit-range.api";
|
import { LimitRangeApi } from "./limit-range.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const limitRangeApiInjectable = getInjectable({
|
const limitRangeApiInjectable = getInjectable({
|
||||||
id: "limit-range-api",
|
id: "limit-range-api",
|
||||||
@ -14,6 +15,8 @@ const limitRangeApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new LimitRangeApi();
|
return new LimitRangeApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default limitRangeApiInjectable;
|
export default limitRangeApiInjectable;
|
||||||
|
|||||||
@ -6,14 +6,18 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { NamespaceApi } from "./namespace.api";
|
import { NamespaceApi } from "./namespace.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const namespaceApiInjectable = getInjectable({
|
const namespaceApiInjectable = getInjectable({
|
||||||
id: "namespace-api",
|
id: "namespace-api",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "namespaceApi is only available in certain environments");
|
assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "namespaceApi is only available in certain environments");
|
||||||
|
|
||||||
return new NamespaceApi();
|
return new NamespaceApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default namespaceApiInjectable;
|
export default namespaceApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { NetworkPolicyApi } from "./network-policy.api";
|
import { NetworkPolicyApi } from "./network-policy.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const networkPolicyApiInjectable = getInjectable({
|
const networkPolicyApiInjectable = getInjectable({
|
||||||
id: "network-policy-api",
|
id: "network-policy-api",
|
||||||
@ -14,6 +15,8 @@ const networkPolicyApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new NetworkPolicyApi();
|
return new NetworkPolicyApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default networkPolicyApiInjectable;
|
export default networkPolicyApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { NodeApi } from "./node.api";
|
import { NodeApi } from "./node.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const nodeApiInjectable = getInjectable({
|
const nodeApiInjectable = getInjectable({
|
||||||
id: "node-api",
|
id: "node-api",
|
||||||
@ -14,6 +15,8 @@ const nodeApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new NodeApi();
|
return new NodeApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default nodeApiInjectable;
|
export default nodeApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { PersistentVolumeClaimApi } from "./persistent-volume-claim.api";
|
import { PersistentVolumeClaimApi } from "./persistent-volume-claim.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const persistentVolumeClaimApiInjectable = getInjectable({
|
const persistentVolumeClaimApiInjectable = getInjectable({
|
||||||
id: "persistent-volume-claim-api",
|
id: "persistent-volume-claim-api",
|
||||||
@ -14,6 +15,8 @@ const persistentVolumeClaimApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new PersistentVolumeClaimApi();
|
return new PersistentVolumeClaimApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default persistentVolumeClaimApiInjectable;
|
export default persistentVolumeClaimApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { PersistentVolumeApi } from "./persistent-volume.api";
|
import { PersistentVolumeApi } from "./persistent-volume.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const persistentVolumeApiInjectable = getInjectable({
|
const persistentVolumeApiInjectable = getInjectable({
|
||||||
id: "persistent-volume-api",
|
id: "persistent-volume-api",
|
||||||
@ -14,6 +15,8 @@ const persistentVolumeApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new PersistentVolumeApi();
|
return new PersistentVolumeApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default persistentVolumeApiInjectable;
|
export default persistentVolumeApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { PodDisruptionBudgetApi } from "./pod-disruption-budget.api";
|
import { PodDisruptionBudgetApi } from "./pod-disruption-budget.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const podDisruptionBudgetApiInjectable = getInjectable({
|
const podDisruptionBudgetApiInjectable = getInjectable({
|
||||||
id: "pod-disruption-budget-api",
|
id: "pod-disruption-budget-api",
|
||||||
@ -14,6 +15,8 @@ const podDisruptionBudgetApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new PodDisruptionBudgetApi();
|
return new PodDisruptionBudgetApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default podDisruptionBudgetApiInjectable;
|
export default podDisruptionBudgetApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { PodMetricsApi } from "./pod-metrics.api";
|
import { PodMetricsApi } from "./pod-metrics.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const podMetricsApiInjectable = getInjectable({
|
const podMetricsApiInjectable = getInjectable({
|
||||||
id: "pod-metrics-api",
|
id: "pod-metrics-api",
|
||||||
@ -14,6 +15,8 @@ const podMetricsApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new PodMetricsApi();
|
return new PodMetricsApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default podMetricsApiInjectable;
|
export default podMetricsApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { PodSecurityPolicyApi } from "./pod-security-policy.api";
|
import { PodSecurityPolicyApi } from "./pod-security-policy.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const podSecurityPolicyApiInjectable = getInjectable({
|
const podSecurityPolicyApiInjectable = getInjectable({
|
||||||
id: "pod-security-policy-api",
|
id: "pod-security-policy-api",
|
||||||
@ -14,6 +15,8 @@ const podSecurityPolicyApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new PodSecurityPolicyApi();
|
return new PodSecurityPolicyApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default podSecurityPolicyApiInjectable;
|
export default podSecurityPolicyApiInjectable;
|
||||||
|
|||||||
@ -6,14 +6,18 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { PodApi } from "./pod.api";
|
import { PodApi } from "./pod.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const podApiInjectable = getInjectable({
|
const podApiInjectable = getInjectable({
|
||||||
id: "pod-api",
|
id: "pod-api",
|
||||||
|
|
||||||
instantiate: (di) => {
|
instantiate: (di) => {
|
||||||
assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "podApi is only available in certain environments");
|
assert(di.inject(storesAndApisCanBeCreatedInjectionToken), "podApi is only available in certain environments");
|
||||||
|
|
||||||
return new PodApi();
|
return new PodApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default podApiInjectable;
|
export default podApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { PriorityClassApi } from "./priority-class.api";
|
import { PriorityClassApi } from "./priority-class.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const priorityClassApiInjectable = getInjectable({
|
const priorityClassApiInjectable = getInjectable({
|
||||||
id: "priority-class-api",
|
id: "priority-class-api",
|
||||||
@ -14,6 +15,8 @@ const priorityClassApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new PriorityClassApi();
|
return new PriorityClassApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default priorityClassApiInjectable;
|
export default priorityClassApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { ReplicaSetApi } from "./replica-set.api";
|
import { ReplicaSetApi } from "./replica-set.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const replicaSetApiInjectable = getInjectable({
|
const replicaSetApiInjectable = getInjectable({
|
||||||
id: "replica-set-api",
|
id: "replica-set-api",
|
||||||
@ -14,6 +15,8 @@ const replicaSetApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new ReplicaSetApi();
|
return new ReplicaSetApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default replicaSetApiInjectable;
|
export default replicaSetApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { ResourceQuotaApi } from "./resource-quota.api";
|
import { ResourceQuotaApi } from "./resource-quota.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const resourceQuotaApiInjectable = getInjectable({
|
const resourceQuotaApiInjectable = getInjectable({
|
||||||
id: "resource-quota-api",
|
id: "resource-quota-api",
|
||||||
@ -14,6 +15,8 @@ const resourceQuotaApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new ResourceQuotaApi();
|
return new ResourceQuotaApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default resourceQuotaApiInjectable;
|
export default resourceQuotaApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { RoleBindingApi } from "./role-binding.api";
|
import { RoleBindingApi } from "./role-binding.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const roleBindingApiInjectable = getInjectable({
|
const roleBindingApiInjectable = getInjectable({
|
||||||
id: "role-binding-api",
|
id: "role-binding-api",
|
||||||
@ -14,6 +15,8 @@ const roleBindingApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new RoleBindingApi();
|
return new RoleBindingApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default roleBindingApiInjectable;
|
export default roleBindingApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { RoleApi } from "./role.api";
|
import { RoleApi } from "./role.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const roleApiInjectable = getInjectable({
|
const roleApiInjectable = getInjectable({
|
||||||
id: "role-api",
|
id: "role-api",
|
||||||
@ -14,6 +15,8 @@ const roleApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new RoleApi();
|
return new RoleApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default roleApiInjectable;
|
export default roleApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { SecretApi } from "./secret.api";
|
import { SecretApi } from "./secret.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const secretApiInjectable = getInjectable({
|
const secretApiInjectable = getInjectable({
|
||||||
id: "secret-api",
|
id: "secret-api",
|
||||||
@ -14,6 +15,8 @@ const secretApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new SecretApi();
|
return new SecretApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default secretApiInjectable;
|
export default secretApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { SelfSubjectRulesReviewApi } from "./self-subject-rules-reviews.api";
|
import { SelfSubjectRulesReviewApi } from "./self-subject-rules-reviews.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const selfSubjectRulesReviewApiInjectable = getInjectable({
|
const selfSubjectRulesReviewApiInjectable = getInjectable({
|
||||||
id: "self-subject-rules-review-api",
|
id: "self-subject-rules-review-api",
|
||||||
@ -14,6 +15,8 @@ const selfSubjectRulesReviewApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new SelfSubjectRulesReviewApi();
|
return new SelfSubjectRulesReviewApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default selfSubjectRulesReviewApiInjectable;
|
export default selfSubjectRulesReviewApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { ServiceAccountApi } from "./service-account.api";
|
import { ServiceAccountApi } from "./service-account.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const serviceAccountApiInjectable = getInjectable({
|
const serviceAccountApiInjectable = getInjectable({
|
||||||
id: "service-account-api",
|
id: "service-account-api",
|
||||||
@ -14,6 +15,8 @@ const serviceAccountApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new ServiceAccountApi();
|
return new ServiceAccountApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default serviceAccountApiInjectable;
|
export default serviceAccountApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { ServiceApi } from "./service.api";
|
import { ServiceApi } from "./service.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const serviceApiInjectable = getInjectable({
|
const serviceApiInjectable = getInjectable({
|
||||||
id: "service-api",
|
id: "service-api",
|
||||||
@ -14,6 +15,8 @@ const serviceApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new ServiceApi();
|
return new ServiceApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default serviceApiInjectable;
|
export default serviceApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { StatefulSetApi } from "./stateful-set.api";
|
import { StatefulSetApi } from "./stateful-set.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const statefulSetApiInjectable = getInjectable({
|
const statefulSetApiInjectable = getInjectable({
|
||||||
id: "stateful-set-api",
|
id: "stateful-set-api",
|
||||||
@ -14,6 +15,8 @@ const statefulSetApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new StatefulSetApi();
|
return new StatefulSetApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default statefulSetApiInjectable;
|
export default statefulSetApiInjectable;
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
|
|||||||
import assert from "assert";
|
import assert from "assert";
|
||||||
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
import { storesAndApisCanBeCreatedInjectionToken } from "../stores-apis-can-be-created.token";
|
||||||
import { StorageClassApi } from "./storage-class.api";
|
import { StorageClassApi } from "./storage-class.api";
|
||||||
|
import { kubeApiInjectionToken } from "../kube-api/kube-api-injection-token";
|
||||||
|
|
||||||
const storageClassApiInjectable = getInjectable({
|
const storageClassApiInjectable = getInjectable({
|
||||||
id: "storage-class-api",
|
id: "storage-class-api",
|
||||||
@ -14,6 +15,8 @@ const storageClassApiInjectable = getInjectable({
|
|||||||
|
|
||||||
return new StorageClassApi();
|
return new StorageClassApi();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
injectionToken: kubeApiInjectionToken,
|
||||||
});
|
});
|
||||||
|
|
||||||
export default storageClassApiInjectable;
|
export default storageClassApiInjectable;
|
||||||
|
|||||||
@ -0,0 +1,26 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
|
*/
|
||||||
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import { parseKubeApi } from "../kube-api-parse";
|
||||||
|
import { kubeApiInjectionToken } from "./kube-api-injection-token";
|
||||||
|
import type { KubeApi } from "../kube-api";
|
||||||
|
|
||||||
|
const getKubeApiFromPathInjectable = getInjectable({
|
||||||
|
id: "get-kube-api-from-path",
|
||||||
|
|
||||||
|
instantiate: (di) => {
|
||||||
|
const kubeApis = di.injectMany(kubeApiInjectionToken);
|
||||||
|
|
||||||
|
return (apiPath: string) => {
|
||||||
|
const parsed = parseKubeApi(apiPath);
|
||||||
|
|
||||||
|
const kubeApi = kubeApis.find((api) => api.apiBase === parsed.apiBase);
|
||||||
|
|
||||||
|
return (kubeApi as KubeApi) || undefined;
|
||||||
|
};
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
export default getKubeApiFromPathInjectable;
|
||||||
10
src/common/k8s-api/kube-api/kube-api-injection-token.ts
Normal file
10
src/common/k8s-api/kube-api/kube-api-injection-token.ts
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
|
*/
|
||||||
|
import { getInjectionToken } from "@ogre-tools/injectable";
|
||||||
|
import type { KubeApi } from "../kube-api";
|
||||||
|
|
||||||
|
export const kubeApiInjectionToken = getInjectionToken<KubeApi<any, any>>({
|
||||||
|
id: "kube-api-injection-token",
|
||||||
|
});
|
||||||
Loading…
Reference in New Issue
Block a user