UNPKG

iop

Version:
44 lines (43 loc) 1.5 kB
import { IopConfig, ServiceEntry, IopSecrets } from "../config/types"; import { ServiceFingerprint } from "../utils/service-fingerprint"; import { DockerClient } from "../docker"; export interface ServiceDeploymentResult { serviceName: string; status: 'deployed' | 'skipped'; reason: string; url?: string; } export interface DeploymentSummary { deployed: ServiceDeploymentResult[]; skipped: ServiceDeploymentResult[]; } interface DeploymentContext { config: IopConfig; secrets: IopSecrets; targetServices: ServiceEntry[]; releaseId: string; projectName: string; networkName: string; verboseFlag: boolean; imageArchives?: Map<string, string>; serviceFingerprints?: Map<string, ServiceFingerprint>; } /** * Replaces a service container by stopping the old one and creating a new one */ /** * Pure function to check if service configuration has changed */ export declare function checkServiceConfigChanges(currentConfig: any, desiredConfig: any, containerName: string): { hasChanges: boolean; reason?: string; }; /** * Checks if a service container needs to be updated based on configuration changes */ export declare function serviceNeedsUpdate(serviceEntry: ServiceEntry, dockerClient: DockerClient, context: DeploymentContext): Promise<boolean>; /** * Main deployment command that orchestrates the entire deployment process */ export declare function deployCommand(rawEntryNamesAndFlags: string[]): Promise<void>; export {};