@hashgraph/solo
Version:
An opinionated CLI tool to deploy and manage private Hedera Networks.
74 lines (73 loc) • 2.9 kB
TypeScript
import { type K8 } from '../k8.js';
import { type Namespaces } from '../../../types/namespace/namespaces.js';
import { type Clusters } from '../resources/cluster/clusters.js';
import { type ConfigMaps } from '../resources/config-map/config-maps.js';
import { type Containers } from '../resources/container/containers.js';
import { type Contexts } from '../resources/context/contexts.js';
import { type Pods } from '../resources/pod/pods.js';
import { type Services } from '../resources/service/services.js';
import { type Pvcs } from '../resources/pvc/pvcs.js';
import { type Leases } from '../resources/lease/leases.js';
import { type IngressClasses } from '../resources/ingress-class/ingress-classes.js';
import { type Secrets } from '../resources/secret/secrets.js';
import { type Ingresses } from '../resources/ingress/ingresses.js';
import { type Crds } from '../resources/crd/crds.js';
import { type Optional } from '../../../types/index.js';
import { K8ClientManifests } from './resources/manifest/k8-client-manifests.js';
import { type Rbacs } from '../resources/rbac/rbacs.js';
/**
* A kubernetes API wrapper class providing custom functionalities required by solo
*
* Note: Take care if the same instance is used for parallel execution, as the behaviour may be unpredictable.
* For parallel execution, create separate instances by invoking clone()
*/
export declare class K8Client implements K8 {
private readonly context;
private readonly kubectlInstallationDirectory;
private kubeConfig;
private kubeClient;
private coordinationApiClient;
private extensionApi;
private networkingApi;
private rbacApi;
private k8sObjectApi;
private k8Leases;
private k8Clusters;
private k8ConfigMaps;
private k8Containers;
private k8Pods;
private k8Contexts;
private k8Services;
private k8Pvcs;
private k8Namespaces;
private k8IngressClasses;
private k8Secrets;
private k8Ingresses;
private k8Crds;
private k8Rbacs;
private k8Manifests;
/**
* Create a new k8Factory client for the given context, if context is undefined it will use the current context in kubeconfig
* @param context - The context to create the k8Factory client for
* @param kubectlInstallationDirectory - Path to executable of kubectl
*/
constructor(context: string, kubectlInstallationDirectory: string);
init(context?: Optional<string>): K8;
private getKubeConfig;
namespaces(): Namespaces;
clusters(): Clusters;
configMaps(): ConfigMaps;
containers(): Containers;
contexts(): Contexts;
services(): Services;
pods(): Pods;
pvcs(): Pvcs;
leases(): Leases;
secrets(): Secrets;
ingressClasses(): IngressClasses;
ingresses(): Ingresses;
crds(): Crds;
rbac(): Rbacs;
manifests(): K8ClientManifests;
getKubectlExecutablePath(): string;
}