UNPKG

@xec-sh/core

Version:

Universal shell execution engine

70 lines (69 loc) 2.35 kB
import { ExecutionResult } from '../core/result.js'; import { BaseAdapter, BaseAdapterConfig } from './base-adapter.js'; import { Command } from '../core/command.js'; export interface KubernetesAdapterConfig extends BaseAdapterConfig { kubeconfig?: string; context?: string; namespace?: string; kubectlPath?: string; kubectlTimeout?: number; } export declare class KubernetesAdapter extends BaseAdapter { protected readonly adapterName = "kubernetes"; private kubectlPath; private k8sConfig; constructor(config?: KubernetesAdapterConfig); isAvailable(): Promise<boolean>; execute(command: Command): Promise<ExecutionResult>; private buildKubectlExecArgs; private buildCommandArray; executeKubectl(args: string[], options?: { timeout?: number; throwOnNonZeroExit?: boolean; }): Promise<{ stdout: string; stderr: string; exitCode: number; }>; getPodFromSelector(selector: string, namespace?: string): Promise<string | null>; isPodReady(pod: string, namespace?: string): Promise<boolean>; copyFiles(source: string, destination: string, options: { namespace?: string; container?: string; direction: 'to' | 'from'; }): Promise<void>; dispose(): Promise<void>; portForward(pod: string, localPort: number, remotePort: number, options?: { namespace?: string; dynamicLocalPort?: boolean; }): Promise<KubernetesPortForward>; streamLogs(pod: string, onData: (data: string) => void, options?: { namespace?: string; container?: string; follow?: boolean; tail?: number; previous?: boolean; timestamps?: boolean; }): Promise<{ stop: () => void; }>; private buildGlobalOptions; private portForwards; private closeAllPortForwards; } declare class KubernetesPortForward { private kubectlPath; private args; private requestedLocalPort; readonly remotePort: number; private globalOptions; private proc; private _localPort; private _isOpen; constructor(kubectlPath: string, args: string[], requestedLocalPort: number, remotePort: number, globalOptions: string[]); get localPort(): number; get isOpen(): boolean; open(): Promise<void>; close(): Promise<void>; } export {};