UNPKG

@twg-group/container-manager

Version:

Container management for Docker, Swarm, Kubernetes

23 lines (22 loc) 909 B
import { DeployConfigDto, InfoDto, LogDto } from '@dto'; import { Logger } from '@twg-group/nestjs-logger'; export interface StrategyError extends Error { statusCode?: number; json?: { message?: string; }; } export declare abstract class BaseStrategy { protected readonly logger: Logger; constructor(logger: Logger); abstract start(id: string): Promise<void>; abstract stop(id: string, timeout?: number): Promise<void>; abstract deploy(config: DeployConfigDto): Promise<string>; abstract list(): Promise<InfoDto[]>; abstract remove(id: string): Promise<void>; abstract logs(id: string, since?: string, tail?: number): Promise<LogDto[]>; protected validateConfig(config: DeployConfigDto): void; private validatePortUniqueness; protected generateName(prefix?: string): string; protected handleError(error: unknown, context?: string): never; }