UNPKG

navy

Version:

Quick and powerful development environments using Docker and Docker Compose

71 lines (61 loc) 1.86 kB
declare module "navy" { export interface State { configProvider?: string path?: string } export enum ServiceStatus { RUNNING = "running", EXITED = "exited", } export type Service = { id: string name: string image: string status: ServiceStatus raw?: Object } export type ServiceList = Array<Service> export interface ServiceHealthData { service: string health: "healthy" | "unhealthy" | "starting" } export interface LaunchOptions { noDeps?: boolean } export interface Navy { destroy: () => Promise<void> externalIP: () => Promise<string> initialise: (opts: State) => Promise<void> isInitialised: () => Promise<boolean> launch: ( services?: Array<string> | null, opts?: LaunchOptions, ) => Promise<void> start: (services?: Array<string>) => Promise<void> stop: (services?: Array<string>) => Promise<void> restart: (services?: Array<string>) => Promise<void> kill: (services?: Array<string>) => Promise<void> rm: (services?: Array<string>) => Promise<void> update: (services?: Array<string>) => Promise<void> port: ( service: string, privatePort: number, index?: number, ) => Promise<number | undefined> spawnLogStream: (services?: Array<string>) => Promise<void> url: (service: string) => Promise<string> waitForHealthy: ( services?: Array<string> | null, progressCallback?: (healthData: Array<ServiceHealthData>) => void, retryConfig?: { factor?: number, retries?: number, minTimeout?: number, }, ) => Promise<boolean> ps(): Promise<ServiceList> } export function getNavy(name: string): Navy export function getLaunchedNavies(): Promise<Array<Navy>> export function getLaunchedNavyNames(): Promise<Array<string>> }