UNPKG

@twg-group/container-manager

Version:

Container management for Docker, Swarm, Kubernetes

30 lines (29 loc) 1.02 kB
import { Task } from 'dockerode'; import { DeployConfigDto, InfoDto, LogDto } from '@dto'; import { BaseStrategy } from './base.strategy'; import { Logger } from '@twg-group/nestjs-logger'; export interface SwarmTaskExtended extends Task { Status?: { State?: 'running' | 'failed' | 'complete' | 'shutdown'; Error?: string; Timestamp?: string; ContainerStatus?: { ContainerID: string; }; }; } export declare class SwarmStrategy extends BaseStrategy { protected logger: Logger; private readonly docker; constructor(logger: Logger); start(id: string): Promise<void>; stop(id: string, timeout?: number): Promise<void>; private createPortConfigs; private createMounts; private formatEnvironment; deploy(config: DeployConfigDto): Promise<string>; private formatServiceInfo; list(): Promise<InfoDto[]>; remove(serviceId: string): Promise<void>; logs(id: string, since?: string, tail?: number): Promise<LogDto[]>; }