@hashgraph/solo
Version:
An opinionated CLI tool to deploy and manage private Hedera Networks.
70 lines (69 loc) • 2.48 kB
TypeScript
import { type PodReference } from './pod-reference.js';
import { type ContainerName } from '../container/container-name.js';
import { type PodCondition } from './pod-condition.js';
export interface Pod {
/**
* The pod reference
*/
readonly podReference: PodReference | null;
/**
* The labels of the pod
*/
readonly labels?: Record<string, string>;
/**
* The command to run for the startup probe
*/
readonly startupProbeCommand?: string[];
/**
* The container name
*/
readonly containerName?: ContainerName;
/**
* The container image
*/
readonly containerImage?: string;
/**
* The container command
*/
readonly containerCommand?: string[];
/**
* The conditions of the pod
*/
readonly conditions?: PodCondition[];
/**
* The pod IP
*/
readonly podIp?: string;
/**
* The creation timestamp of the pod
*/
readonly creationTimestamp?: Date;
/**
* The deletion timestamp of the pod
*/
readonly deletionTimestamp?: Date;
/**
* Get a pod by name and namespace, will check every 1 second until the pod is no longer found.
* Can throw a SoloError if there is an error while deleting the pod.
*/
killPod(): Promise<void>;
/**
* Port forward a port from a pod to localhost
*
* This simple server just forwards traffic from itself to a service running in kubernetes
* -> localhost:localPort -> port-forward-tunnel -> kubernetes-pod:targetPort
* @param localPort - the local port to forward to
* @param podPort - the port on the pod to forward from
* @param reuse - if true, reuse the port number from previous port forward operation
* @param persist - if true, errors in port-forwarding will restart the port-forwarding, even after ts process has ended
* @param externalAddress - optional address to bind on local host machine (default: 127.0.0.1)
* @returns Promise resolving to the port forwarder server when not detached,
* or the port number (which may differ from localPort if it was in use) when detached
*/
portForward(localPort: number, podPort: number, reuse?: boolean, persist?: boolean, externalAddress?: string): Promise<number>;
/**
* Stop the port forward
* @param server - an instance of server returned by portForward method
*/
stopPortForward(server: number): Promise<void>;
}