43 lines
2.0 KiB
Go
43 lines
2.0 KiB
Go
/*
|
|
Copyright 2022 The Kruise Authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
package control
|
|
|
|
import "k8s.io/apimachinery/pkg/util/intstr"
|
|
|
|
// OriginalDeploymentStrategy stores part of the fileds of a workload,
|
|
// so that it can be restored when finalizing.
|
|
// It is only used for BlueGreen Release
|
|
// Similar to DeploymentStrategy, it is an annotation used in workload
|
|
// However, unlike DeploymentStrategy, it is only used to store and restore the user's strategy
|
|
type OriginalDeploymentStrategy struct {
|
|
// +optional
|
|
MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty" protobuf:"bytes,1,opt,name=maxUnavailable"`
|
|
// +optional
|
|
MaxSurge *intstr.IntOrString `json:"maxSurge,omitempty" protobuf:"bytes,2,opt,name=maxSurge"`
|
|
// Minimum number of seconds for which a newly created pod should be ready
|
|
// without any of its container crashing, for it to be considered available.
|
|
// Defaults to 0 (pod will be considered available as soon as it is ready)
|
|
// +optional
|
|
MinReadySeconds int32 `json:"minReadySeconds,omitempty" protobuf:"varint,5,opt,name=minReadySeconds"`
|
|
// The maximum time in seconds for a deployment to make progress before it
|
|
// is considered to be failed. The deployment controller will continue to
|
|
// process failed deployments and a condition with a ProgressDeadlineExceeded
|
|
// reason will be surfaced in the deployment status. Note that progress will
|
|
// not be estimated during the time a deployment is paused. Defaults to 600s.
|
|
ProgressDeadlineSeconds *int32 `json:"progressDeadlineSeconds,omitempty" protobuf:"varint,9,opt,name=progressDeadlineSeconds"`
|
|
}
|