init
This commit is contained in:
@@ -1,9 +1,39 @@
|
||||
import { KubeConfig } from '@kubernetes/client-node';
|
||||
import { ApiextensionsV1Api, CustomObjectsApi, KubeConfig, KubernetesObjectApi } from '@kubernetes/client-node';
|
||||
class K8sConfig {
|
||||
#config: KubeConfig;
|
||||
#objectsApi?: KubernetesObjectApi;
|
||||
#customObjectsApi?: CustomObjectsApi;
|
||||
#extensionsApi?: ApiextensionsV1Api;
|
||||
|
||||
class K8sConfig extends KubeConfig {
|
||||
constructor() {
|
||||
super();
|
||||
this.loadFromDefault();
|
||||
this.#config = new KubeConfig();
|
||||
this.#config.loadFromDefault();
|
||||
|
||||
}
|
||||
|
||||
public get kubeConfig() {
|
||||
return this.#config;
|
||||
}
|
||||
|
||||
public get objectsApi() {
|
||||
if (!this.#objectsApi) {
|
||||
this.#objectsApi = this.#config.makeApiClient(KubernetesObjectApi)
|
||||
}
|
||||
return this.#objectsApi;
|
||||
}
|
||||
|
||||
public get customObjectsApi() {
|
||||
if (!this.#customObjectsApi) {
|
||||
this.#customObjectsApi = this.#config.makeApiClient(CustomObjectsApi);
|
||||
}
|
||||
return this.#customObjectsApi;
|
||||
}
|
||||
|
||||
public get extensionsApi() {
|
||||
if (!this.#extensionsApi) {
|
||||
this.#extensionsApi = this.#config.makeApiClient(ApiextensionsV1Api)
|
||||
}
|
||||
return this.#extensionsApi;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user