rollouts/pkg/util/constant.go

68 lines
2.6 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 util
// For Rollout and BatchRelease
const (
// BatchReleaseControlAnnotation is controller info about batchRelease when rollout
BatchReleaseControlAnnotation = "batchrelease.rollouts.kruise.io/control-info"
// InRolloutProgressingAnnotation marks workload as entering the rollout progressing process
//and does not allow paused=false during this process
InRolloutProgressingAnnotation = "rollouts.kruise.io/in-progressing"
// RolloutHashAnnotation record observed rollout spec hash
RolloutHashAnnotation = "rollouts.kruise.io/hash"
)
// For Workloads
const (
// CanaryDeploymentLabel is to label canary deployment that is created by batchRelease controller
CanaryDeploymentLabel = "rollouts.kruise.io/canary-deployment"
// CanaryDeploymentFinalizer is a finalizer to resources patched by batchRelease controller
CanaryDeploymentFinalizer = "finalizer.rollouts.kruise.io/batch-release"
// KruiseRolloutFinalizer is a finalizer for deployment/service/ingress/gateway/etc
KruiseRolloutFinalizer = "rollouts.kruise.io/rollout"
// WorkloadTypeLabel is a label to identify workload type
WorkloadTypeLabel = "rollouts.kruise.io/workload-type"
// DeploymentRevisionAnnotation is the revision annotation of a deployment's replica sets which records its rollout sequence
DeploymentRevisionAnnotation = "deployment.kubernetes.io/revision"
)
// For Pods
const (
// NoNeedUpdatePodLabel will be patched to pod when rollback in batches if the pods no need to rollback
NoNeedUpdatePodLabel = "rollouts.kruise.io/no-need-update"
)
// For Others
const (
// We omit vowels from the set of available characters to reduce the chances
// of "bad words" being formed.
alphanums = "bcdfghjklmnpqrstvwxz2456789"
// CloneSetType DeploymentType and StatefulSetType are values to WorkloadTypeLabel
CloneSetType WorkloadType = "cloneset"
DeploymentType WorkloadType = "deployment"
StatefulSetType WorkloadType = "statefulset"
AddFinalizerOpType FinalizerOpType = "Add"
RemoveFinalizerOpType FinalizerOpType = "Remove"
)
type WorkloadType string
type FinalizerOpType string