@gluestack-seal/cli
Version:
44 lines (43 loc) • 1.15 kB
TypeScript
export interface IHealthCheck {
test: string[];
interval: string;
timeout: string;
retries: number;
start_period?: string;
}
interface IServiceBase {
command?: string;
container_name: string;
volumes?: string[];
ports?: string[];
env_file?: string[];
environment?: any;
depends_on?: any;
restart: string;
healthcheck?: IHealthCheck;
entrypoint?: any;
}
interface IServiceWithBuild extends IServiceBase {
build: string | IBuildArgs;
}
interface IBuildArgs {
context: string;
dockerfile: string;
}
interface IServiceWithImage extends IServiceBase {
image: string;
}
export type IService = IServiceWithBuild | IServiceWithImage;
export interface IDockerCompose {
version: string;
services: {
[key: string]: IService;
};
generate(): Promise<void>;
pushToService(name: string, service: IService): void;
toYAML(): string;
start(projectName: string, filepath: string): Promise<void>;
stop(projectName: string, filepath: string): Promise<void>;
addService(projectName: string, serviceName: string, path: string): Promise<void>;
}
export {};