@chimoney.io/iaas-k8s-deployment
Version:
Kubernetes Infrastructure as a Service deployment package for streamlined multi-cloud environments
53 lines • 1.73 kB
TypeScript
import type { Logger, DeploymentProgress, DeploymentResult } from "../types/index.js";
export interface DeploymentMetrics {
deploymentId: string;
startTime: Date;
endTime?: Date;
duration?: number;
action: string;
stackName: string;
companyName: string;
success: boolean;
errorType?: string;
resourcesCreated?: number;
resourcesUpdated?: number;
resourcesDeleted?: number;
rollbackPerformed?: boolean;
progressEvents: DeploymentProgress[];
}
export interface HealthCheck {
name: string;
status: "healthy" | "unhealthy" | "unknown";
message: string;
timestamp: Date;
details?: Record<string, any>;
}
export declare class DeploymentMonitor {
private metrics;
private logger;
private healthChecks;
constructor(deploymentId: string, action: string, stackName: string, companyName: string, logger: Logger);
recordProgress(progress: DeploymentProgress): void;
recordCompletion(result: DeploymentResult): void;
private categorizeError;
private extractResourceChanges;
performHealthChecks(): Promise<HealthCheck[]>;
private checkPulumiCli;
private checkCloudCredentials;
private checkAwsCredentials;
private checkGcpCredentials;
private checkHelmChart;
private checkNetworkConnectivity;
private addHealthCheck;
getMetrics(): DeploymentMetrics;
getMetricsSummary(): object;
getHealthStatus(): {
overall: "healthy" | "unhealthy";
checks: HealthCheck[];
};
exportMetrics(): string;
}
export declare class DeploymentReporter {
static generateReport(metrics: DeploymentMetrics, healthChecks: HealthCheck[]): string;
}
//# sourceMappingURL=monitoring.d.ts.map