@adpt/cloud
Version:
AdaptJS cloud component library
64 lines • 2.09 kB
TypeScript
import execa = require("execa");
import { Environment } from "../env";
import { Kubeconfig } from "./common";
import { Manifest } from "./manifest_support";
/**
* Downloads kubectl and returns path to its location
*
* @returns path to kubectl on host
* @internal
*/
export declare function getKubectl(): Promise<string>;
/** @internal */
interface KubectlOptions {
/** path to kubeconfig */
kubeconfig?: string;
env?: Environment;
}
export declare function kubectl(args: string[], options: KubectlOptions): Promise<execa.ExecaReturnValue<string>>;
/** @internal */
export interface KubectlGetOptions {
/** path to kubeconfig, or kubeconfig as a Javascript object */
kubeconfig?: Kubeconfig | string;
/** Type of k8s object to get (e.g., pod, service) */
kind: string;
/** Name of object to get */
name: string;
}
/** @internal */
export declare function kubectlGet(options: KubectlGetOptions): Promise<any>;
/** @internal */
export interface KubectlDiffOptions {
kubeconfig?: Kubeconfig | string;
manifest: Manifest;
}
export interface KubectlDiffReturns {
diff?: string;
errs: string;
forbidden: boolean;
clientFallback: boolean;
}
/** @internal */
export declare function kubectlDiff(options: KubectlDiffOptions): Promise<KubectlDiffReturns>;
/** @internal */
export interface KubectlOpManifestOptions {
/** kubeconfig as a Javascript object, or a path to a kubeconfig file */
kubeconfig?: Kubeconfig | string;
dryRun?: boolean;
manifest: Manifest;
wait?: boolean;
}
export declare function kubectlOpManifest(op: "create" | "apply" | "delete", options: KubectlOpManifestOptions): Promise<execa.ExecaReturnValue<string>>;
/** @internal */
export interface KubectlProxyOptions {
kubeconfig?: Kubeconfig | string;
}
export interface KubectlProxyInfo {
url: string;
child: execa.ExecaChildProcess<string>;
kill: () => void;
}
/** @internal */
export declare function kubectlProxy(options: KubectlProxyOptions): Promise<KubectlProxyInfo>;
export {};
//# sourceMappingURL=kubectl.d.ts.map