UNPKG

iop

Version:
37 lines (36 loc) 1.47 kB
import { ServiceEntry, IopSecrets } from '../config/types'; export interface ServiceFingerprint { type: 'built' | 'external'; runtimeHash: string; localImageHash?: string; serverImageHash?: string; imageReference?: string; } export interface RedeploymentDecision { shouldRedeploy: boolean; reason: string; priority: 'critical' | 'normal' | 'optional'; changeType: 'image' | 'runtime' | 'first-deployment'; needsImageTransfer: boolean; } /** * Creates a runtime hash combining configuration and secrets * This determines if containers need to be recreated (but not if image needs transfer) */ export declare function createRuntimeHash(serviceEntry: ServiceEntry, secrets: IopSecrets): string; /** * Gets the Docker image hash for a locally built image */ export declare function getLocalImageHash(imageName: string): Promise<string | null>; /** * Determines if a service is built locally or uses external image */ export declare function isBuiltService(serviceEntry: ServiceEntry): boolean; /** * Creates a service fingerprint based on service type */ export declare function createServiceFingerprint(serviceEntry: ServiceEntry, secrets: IopSecrets, projectName?: string): Promise<ServiceFingerprint>; /** * Determines if a service should be redeployed based on fingerprint comparison */ export declare function shouldRedeploy(current: ServiceFingerprint | null, desired: ServiceFingerprint): RedeploymentDecision;