UNPKG

@xec-sh/core

Version:

Universal shell execution engine

48 lines (47 loc) 1.9 kB
import type { KubernetesAdapterOptions } from '../core/command.js'; import type { ProcessPromise, ExecutionEngine } from '../core/execution-engine.js'; export interface K8sPortForward { localPort: number; remotePort: number; isOpen: boolean; open(): Promise<void>; close(): Promise<void>; } export interface K8sLogStream { stop(): void; } export interface K8sPod { name: string; namespace: string; exec(strings: TemplateStringsArray, ...values: any[]): ProcessPromise; raw(strings: TemplateStringsArray, ...values: any[]): ProcessPromise; portForward(localPort: number, remotePort: number): Promise<K8sPortForward>; portForwardDynamic(remotePort: number): Promise<K8sPortForward>; logs(options?: { container?: string; tail?: number; previous?: boolean; timestamps?: boolean; }): Promise<string>; streamLogs(onData: (data: string) => void, options?: { container?: string; follow?: boolean; tail?: number; previous?: boolean; timestamps?: boolean; }): Promise<K8sLogStream>; follow(onData: (data: string) => void, options?: { container?: string; tail?: number; timestamps?: boolean; }): Promise<K8sLogStream>; copyTo(localPath: string, remotePath: string, container?: string): Promise<void>; copyFrom(remotePath: string, localPath: string, container?: string): Promise<void>; } export interface K8sExecutionContext { (strings: TemplateStringsArray, ...values: any[]): ProcessPromise; pod(name: string): K8sPod; exec(strings: TemplateStringsArray, ...values: any[]): ProcessPromise; raw(strings: TemplateStringsArray, ...values: any[]): ProcessPromise; } export declare function createK8sExecutionContext(engine: ExecutionEngine, k8sOptions: Partial<Omit<KubernetesAdapterOptions, 'type'>>): K8sExecutionContext;