UNPKG

@chimoney.io/iaas-k8s-deployment

Version:

Kubernetes Infrastructure as a Service deployment package for streamlined multi-cloud environments

59 lines 2.59 kB
import { automation } from "@pulumi/pulumi"; import type { Logger, DeploymentStatus } from "../../types/index.js"; export declare function performRollback(stack: automation.Stack, logger: Logger, onProgress: (status: DeploymentStatus, message: string, metadata?: Record<string, any>) => void): Promise<void>; interface ConfigurationSnapshot { version: number; timestamp: Date; stackName: string; config: Record<string, automation.ConfigValue>; outputs?: Record<string, any>; metadata?: Record<string, any>; } export declare class ConfigurationSnapshotManager { private logger; private snapshots; private maxSnapshots; constructor(logger: Logger, maxSnapshots?: number); /** * Store a configuration snapshot after a successful deployment */ storeSnapshot(stack: automation.Stack, version: number, outputs?: Record<string, any>, metadata?: Record<string, any>): Promise<void>; /** * Retrieve the most recent successful configuration snapshot */ getLatestSnapshot(stackName: string): ConfigurationSnapshot | undefined; /** * Retrieve a specific configuration snapshot by version */ getSnapshotByVersion(stackName: string, version: number): ConfigurationSnapshot | undefined; /** * Get all snapshots for a stack (most recent first) */ getAllSnapshots(stackName: string): ConfigurationSnapshot[]; /** * Restore configuration from a snapshot */ restoreFromSnapshot(stack: automation.Stack, snapshot: ConfigurationSnapshot): Promise<boolean>; /** * Clean up old snapshots beyond the retention limit */ cleanupOldSnapshots(stackName: string): void; } export declare function getSnapshotManager(logger: Logger): ConfigurationSnapshotManager; export declare function performEnhancedRollback(stack: automation.Stack, logger: Logger, onProgress: (status: DeploymentStatus, message: string, metadata?: Record<string, any>) => void, targetVersion?: number): Promise<void>; /** * Store a snapshot after a successful deployment * This should be called after successful 'up' operations */ export declare function storeDeploymentSnapshot(stack: automation.Stack, logger: Logger, result: automation.UpResult, metadata?: Record<string, any>): Promise<void>; /** * List available rollback targets for a stack */ export declare function listRollbackTargets(stack: automation.Stack, logger: Logger): Promise<Array<{ version: number; timestamp: Date; result: string; kind: string; }>>; export {}; //# sourceMappingURL=rollback-manager.d.ts.map