1
0
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:
Janne Savolainen 2022-07-26 13:24:30 +03:00
parent a12b94405a
commit dcb344afcb
No known key found for this signature in database
GPG Key ID: 8C6CFB2FFFE8F68A
37 changed files with 143 additions and 0 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View 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",
});