UNPKG

@kubernetes-models/argo-rollouts

Version:
101 lines (100 loc) 5.24 kB
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PodTemplateMetadata } from "./PodTemplateMetadata.js"; import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AntiAffinity } from "./AntiAffinity.js"; import { IIoK8sApimachineryPkgUtilIntstrIntOrString } from "@kubernetes-models/apimachinery/util/intstr/IntOrString"; import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RolloutAnalysis } from "./RolloutAnalysis.js"; import { ModelData, Model } from "@kubernetes-models/base"; /** * BlueGreenStrategy defines parameters for Blue Green deployment */ export interface IBlueGreenStrategy { /** * AbortScaleDownDelaySeconds adds a delay in second before scaling down the preview replicaset * if update is aborted. 0 means not to scale down. * Default is 30 second */ "abortScaleDownDelaySeconds"?: number; /** * ActiveMetadata specify labels and annotations which will be attached to the active pods for * the duration which they act as a active pod, and will be removed after */ "activeMetadata"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PodTemplateMetadata; /** * Name of the service that the rollout modifies as the active service. */ "activeService": string; /** * AntiAffinity enables anti-affinity rules for Blue Green deployment */ "antiAffinity"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AntiAffinity; /** * AutoPromotionEnabled indicates if the rollout should automatically promote the new ReplicaSet * to the active service or enter a paused state. If not specified, the default value is true. */ "autoPromotionEnabled"?: boolean; /** * AutoPromotionSeconds is a duration in seconds in which to delay auto-promotion (default: 0). * The countdown begins after the preview ReplicaSet have reached full availability. * This option is ignored if autoPromotionEnabled is set to false. */ "autoPromotionSeconds"?: number; /** * MaxUnavailable The maximum number of pods that can be unavailable during a restart operation. * Defaults to 25% of total replicas. */ "maxUnavailable"?: IIoK8sApimachineryPkgUtilIntstrIntOrString; /** * PostPromotionAnalysis configuration to run analysis after a selector switch */ "postPromotionAnalysis"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RolloutAnalysis; /** * PrePromotionAnalysis configuration to run analysis before a selector switch */ "prePromotionAnalysis"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RolloutAnalysis; /** * PreviewMetadata specify labels and annotations which will be attached to the preview pods for * the duration which they act as a preview pod, and will be removed after */ "previewMetadata"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PodTemplateMetadata; /** * PreviewReplicaCount is the number of replicas to run for the preview stack before the * switchover. Once the rollout is resumed the desired replicaset will be full scaled up before the switch occurs */ "previewReplicaCount"?: number; /** * Name of the service that the rollout modifies as the preview service. */ "previewService"?: string; /** * ScaleDownDelayRevisionLimit limits the number of old RS that can run at one time before getting scaled down */ "scaleDownDelayRevisionLimit"?: number; /** * ScaleDownDelaySeconds adds a delay before scaling down the previous replicaset. * If omitted, the Rollout waits 30 seconds before scaling down the previous ReplicaSet. * A minimum of 30 seconds is recommended to ensure IP table propagation across the nodes in * a cluster. See https://github.com/argoproj/argo-rollouts/issues/19#issuecomment-476329960 for * more information */ "scaleDownDelaySeconds"?: number; } /** * BlueGreenStrategy defines parameters for Blue Green deployment */ export declare class BlueGreenStrategy extends Model<IBlueGreenStrategy> implements IBlueGreenStrategy { "abortScaleDownDelaySeconds"?: number; "activeMetadata"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PodTemplateMetadata; "activeService": string; "antiAffinity"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AntiAffinity; "autoPromotionEnabled"?: boolean; "autoPromotionSeconds"?: number; "maxUnavailable"?: IIoK8sApimachineryPkgUtilIntstrIntOrString; "postPromotionAnalysis"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RolloutAnalysis; "prePromotionAnalysis"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RolloutAnalysis; "previewMetadata"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PodTemplateMetadata; "previewReplicaCount"?: number; "previewService"?: string; "scaleDownDelayRevisionLimit"?: number; "scaleDownDelaySeconds"?: number; constructor(data?: ModelData<IBlueGreenStrategy>); } export type { IBlueGreenStrategy as IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1BlueGreenStrategy, BlueGreenStrategy as ComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1BlueGreenStrategy };