iop
Version:
Ship Docker Anywhere
25 lines (24 loc) • 798 B
TypeScript
import { ServiceEntry, IopSecrets } from "../config/types";
import { DockerClient } from "../docker";
import { ServiceFingerprint } from "../utils/service-fingerprint";
export interface BlueGreenDeploymentOptions {
serviceEntry: ServiceEntry;
releaseId: string;
secrets: IopSecrets;
projectName: string;
networkName: string;
dockerClient: DockerClient;
serverHostname: string;
verbose?: boolean;
fingerprint?: ServiceFingerprint;
}
export interface BlueGreenDeploymentResult {
success: boolean;
newColor: "blue" | "green";
deployedContainers: string[];
error?: string;
}
/**
* Main zero-downtime deployment function
*/
export declare function performBlueGreenDeployment(options: BlueGreenDeploymentOptions): Promise<BlueGreenDeploymentResult>;