Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the rollout v1alpha1 API group
+kubebuilder:object:generate=true +groupName=rollout.kusionstack.io +k8s:deepcopy-gen=package +k8s:defaulter-gen=TypeMeta
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type BackendConditions
- type BackendForwarding
- type BackendRef
- type BackendRouteStatus
- type BackendRouting
- type BackendRoutingList
- type BackendRoutingPhase
- type BackendRoutingSpec
- type BackendRoutingStatus
- type BackendStatus
- type BackendStatuses
- type BatchProgressingInfo
- type BatchStrategy
- type CanaryBackendRule
- type CanaryProgressingInfo
- type CanaryStrategy
- type CodeReasonMessage
- type Condition
- type ConditionType
- type CrossClusterObjectNameReference
- func (in *CrossClusterObjectNameReference) DeepCopy() *CrossClusterObjectNameReference
- func (in *CrossClusterObjectNameReference) DeepCopyInto(out *CrossClusterObjectNameReference)
- func (r CrossClusterObjectNameReference) Matches(cluster, name string) bool
- func (r CrossClusterObjectNameReference) String() string
- type CrossClusterObjectReference
- type FailurePolicyType
- type HTTPRouteFilter
- type HTTPRouteMatch
- type HTTPRouteRule
- type HookType
- type MetadataPatch
- type ObjectTypeRef
- type ProgressingInfo
- type ResourceMatch
- type Rollout
- type RolloutBatchStatus
- type RolloutList
- type RolloutPhase
- type RolloutReplicasSummary
- type RolloutRun
- type RolloutRunBatchStatus
- type RolloutRunBatchStrategy
- type RolloutRunCanaryStrategy
- type RolloutRunList
- type RolloutRunPhase
- type RolloutRunSpec
- type RolloutRunStatus
- type RolloutRunStep
- type RolloutRunStepStatus
- type RolloutRunStepTarget
- type RolloutSpec
- type RolloutStatus
- type RolloutStep
- type RolloutStepState
- type RolloutStrategy
- type RolloutStrategyList
- type RolloutTriggerPolicy
- type RolloutWebhook
- type RolloutWebhookReview
- type RolloutWebhookReviewBatch
- type RolloutWebhookReviewCanary
- type RolloutWebhookReviewSpec
- type RolloutWebhookReviewStatus
- type RolloutWebhookState
- type RolloutWebhookStatus
- type RolloutWorkloadStatus
- type RouteRef
- type StableBackendRule
- type TolerationStrategy
- type TopologyInfo
- type TrafficStrategy
- type TrafficTopology
- type TrafficTopologyList
- type TrafficTopologySpec
- type TrafficTopologyStatus
- type TrafficType
- type WebhookClientConfig
- type WorkloadRef
Constants ¶
const ( // RolloutConditionProgressing means the rollout is progressing RolloutConditionProgressing ConditionType = "Progressing" // RolloutConditionCompleted means the rollout is Terminating RolloutConditionTerminating ConditionType = "Terminating" // RolloutConditionTrigger means the rollout is RolloutConditionTrigger ConditionType = "Trigger" // RolloutReasonTerminatingCompleted means the termination of rollout is Completed. RolloutReasonTerminatingCompleted = "Completed" // RolloutReasonProgressingRunning means the rollout is not triggered. RolloutReasonProgressingUnTriggered = "UnTriggered" // RolloutReasonProgressingRunning means the rollout is running. RolloutReasonProgressingRunning = "Running" // RolloutReasonProgressingCompleted means the rollout is completed. RolloutReasonProgressingCompleted = "Completed" // RolloutReasonProgressingCanceled means the rollout is completed. RolloutReasonProgressingCanceled = "Canceled" // RolloutReasonProgressingError means the rollout is completed. RolloutReasonProgressingError = "Error" )
const ( WebhookReviewCodeOK string = "OK" WebhookReviewCodeError string = "Error" WebhookReviewCodeProcessing string = "Processing" )
const ( MultiClusterTrafficType TrafficType = "MultiCluster" InClusterTrafficType TrafficType = "InCluster" TrafficTopologyConditionReady ConditionType = "Ready" )
const GroupName = "rollout.kusionstack.io"
GroupName specifies the group name used to register the objects.
const (
MatchAllCluster = ""
)
Variables ¶
var ( // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder // Depreciated: use Install instead AddToScheme = localSchemeBuilder.AddToScheme Install = localSchemeBuilder.AddToScheme )
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}
GroupVersion specifies the group and the version used to register the objects.
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type BackendConditions ¶
type BackendConditions struct {
// ready indicates that this endpoint is prepared to receive traffic,
// according to whatever system is managing the endpoint. A nil value
// indicates an unknown state. In most cases consumers should interpret this
// unknown state as ready. For compatibility reasons, ready should never be
// "true" for terminating endpoints.
// +optional
Ready *bool `json:"ready,omitempty" protobuf:"bytes,1,name=ready"`
// terminating indicates that this endpoint is terminating. A nil value
// indicates an unknown state. Consumers should interpret this unknown state
// to mean that the endpoint is not terminating.
// +optional
Terminating *bool `json:"terminating,omitempty" protobuf:"bytes,3,name=terminating"`
}
Backendonditions represents the current condition of an backend.
func (*BackendConditions) DeepCopy ¶
func (in *BackendConditions) DeepCopy() *BackendConditions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendConditions.
func (*BackendConditions) DeepCopyInto ¶
func (in *BackendConditions) DeepCopyInto(out *BackendConditions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackendForwarding ¶
type BackendForwarding struct {
Stable StableBackendRule `json:"stable,omitempty"`
Canary CanaryBackendRule `json:"canary,omitempty"`
}
func (*BackendForwarding) DeepCopy ¶
func (in *BackendForwarding) DeepCopy() *BackendForwarding
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendForwarding.
func (*BackendForwarding) DeepCopyInto ¶
func (in *BackendForwarding) DeepCopyInto(out *BackendForwarding)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackendRef ¶
type BackendRef struct {
// Group is the group of the referent. For example, "gateway.networking.k8s.io".
// When unspecified or empty string, core API group is inferred.
//
// +optional
// +kubebuilder:default="v1"
APIVersion *string `json:"apiVersion,omitempty"`
// Kind is the Kubernetes resource kind of the referent. For example
// "Service".
//
// Defaults to "Service" when not specified.
//
// ExternalName services can refer to CNAME DNS records that may live
// outside of the cluster and as such are difficult to reason about in
// terms of conformance. They also may not be safe to forward to (see
// CVE-2021-25740 for more information). Implementations SHOULD NOT
// support ExternalName Services.
//
// Support: Core (Services with a type other than ExternalName)
//
// Support: Implementation-specific (Services with type ExternalName)
//
// +optional
// +kubebuilder:default=Service
Kind *string `json:"kind,omitempty"`
// Name is the name of the referent.
Name string `json:"name"`
}
func (*BackendRef) DeepCopy ¶
func (in *BackendRef) DeepCopy() *BackendRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendRef.
func (*BackendRef) DeepCopyInto ¶
func (in *BackendRef) DeepCopyInto(out *BackendRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackendRouteStatus ¶
type BackendRouteStatus struct {
// CrossClusterObjectReference defines the reference to a kind of route resource.
CrossClusterObjectReference `json:",inline"`
// Synced indicates whether the backend route is synced.
Synced bool `json:"synced,omitempty"`
}
BackendRouteStatus defines the status of a backend route.
func (*BackendRouteStatus) DeepCopy ¶
func (in *BackendRouteStatus) DeepCopy() *BackendRouteStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendRouteStatus.
func (*BackendRouteStatus) DeepCopyInto ¶
func (in *BackendRouteStatus) DeepCopyInto(out *BackendRouteStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackendRouting ¶
type BackendRouting struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec BackendRoutingSpec `json:"spec,omitempty"`
Status BackendRoutingStatus `json:"status,omitempty"`
}
BackendRouting defines defines the association between frontend routes and backend service, and it allows the user to define forwarding rules for canary scenario.
func (*BackendRouting) DeepCopy ¶
func (in *BackendRouting) DeepCopy() *BackendRouting
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendRouting.
func (*BackendRouting) DeepCopyInto ¶
func (in *BackendRouting) DeepCopyInto(out *BackendRouting)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackendRouting) DeepCopyObject ¶
func (in *BackendRouting) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BackendRoutingList ¶
type BackendRoutingList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []BackendRouting `json:"items"`
}
BackendRoutingList is a list of BackendRouting resources.
func (*BackendRoutingList) DeepCopy ¶
func (in *BackendRoutingList) DeepCopy() *BackendRoutingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendRoutingList.
func (*BackendRoutingList) DeepCopyInto ¶
func (in *BackendRoutingList) DeepCopyInto(out *BackendRoutingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackendRoutingList) DeepCopyObject ¶
func (in *BackendRoutingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BackendRoutingPhase ¶
type BackendRoutingPhase string
const ( BackendUpgrading BackendRoutingPhase = "BackendUpgrading" RouteUpgrading BackendRoutingPhase = "RouteSyncing" Ready BackendRoutingPhase = "Ready" )
type BackendRoutingSpec ¶
type BackendRoutingSpec struct {
// TrafficType defines the type of traffic
TrafficType TrafficType `json:"trafficType"`
// Backend defines the reference to a kind of backend
Backend CrossClusterObjectReference `json:"backend"`
// Routes defines the list of routes
Routes []CrossClusterObjectReference `json:"routes,omitempty"`
// Forwarding defines the forwarding rules for canary scenario
Forwarding *BackendForwarding `json:"forwarding,omitempty"`
}
func (*BackendRoutingSpec) DeepCopy ¶
func (in *BackendRoutingSpec) DeepCopy() *BackendRoutingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendRoutingSpec.
func (*BackendRoutingSpec) DeepCopyInto ¶
func (in *BackendRoutingSpec) DeepCopyInto(out *BackendRoutingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackendRoutingStatus ¶
type BackendRoutingStatus struct {
// ObservedGeneration is the most recent generation observed.
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Phase indicates the current phase of this object.
Phase BackendRoutingPhase `json:"phase,omitempty"`
// current backends routing
Backends BackendStatuses `json:"backends,omitempty"`
// route statuses
RouteStatuses []BackendRouteStatus `json:"routeStatuses,omitempty"`
}
func (*BackendRoutingStatus) DeepCopy ¶
func (in *BackendRoutingStatus) DeepCopy() *BackendRoutingStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendRoutingStatus.
func (*BackendRoutingStatus) DeepCopyInto ¶
func (in *BackendRoutingStatus) DeepCopyInto(out *BackendRoutingStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackendStatus ¶
type BackendStatus struct {
// Name is the name of the referent.
Name string `json:"name"`
// Conditions represents the current condition of an backend.
Conditions BackendConditions `json:"conditions,omitempty"`
}
func (*BackendStatus) DeepCopy ¶
func (in *BackendStatus) DeepCopy() *BackendStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendStatus.
func (*BackendStatus) DeepCopyInto ¶
func (in *BackendStatus) DeepCopyInto(out *BackendStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackendStatuses ¶
type BackendStatuses struct {
// Origin backend status
Origin BackendStatus `json:"origin,omitempty"`
// Stable backend status
Stable BackendStatus `json:"stable,omitempty"`
// Canary backend status
Canary BackendStatus `json:"canary,omitempty"`
}
func (*BackendStatuses) DeepCopy ¶
func (in *BackendStatuses) DeepCopy() *BackendStatuses
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendStatuses.
func (*BackendStatuses) DeepCopyInto ¶
func (in *BackendStatuses) DeepCopyInto(out *BackendStatuses)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BatchProgressingInfo ¶
type BatchProgressingInfo struct {
CurrentBatchIndex int32 `json:"currentBatchIndex"`
}
func (*BatchProgressingInfo) DeepCopy ¶
func (in *BatchProgressingInfo) DeepCopy() *BatchProgressingInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BatchProgressingInfo.
func (*BatchProgressingInfo) DeepCopyInto ¶
func (in *BatchProgressingInfo) DeepCopyInto(out *BatchProgressingInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BatchStrategy ¶
type BatchStrategy struct {
// Batches define the order of phases to execute release in canary release
Batches []RolloutStep `json:"batches,omitempty"`
// Toleration is the toleration policy of the canary strategy
// +optional
Toleration *TolerationStrategy `json:"toleration,omitempty"`
}
BatchStrategy defines the batch strategy
func (*BatchStrategy) DeepCopy ¶
func (in *BatchStrategy) DeepCopy() *BatchStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BatchStrategy.
func (*BatchStrategy) DeepCopyInto ¶
func (in *BatchStrategy) DeepCopyInto(out *BatchStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CanaryBackendRule ¶
type CanaryBackendRule struct {
// the temporary canary backend service name, generally it is the {originServiceName}-canary
Name string `json:"name,omitempty"`
TrafficStrategy `json:",inline"`
}
func (*CanaryBackendRule) DeepCopy ¶
func (in *CanaryBackendRule) DeepCopy() *CanaryBackendRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CanaryBackendRule.
func (*CanaryBackendRule) DeepCopyInto ¶
func (in *CanaryBackendRule) DeepCopyInto(out *CanaryBackendRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CanaryProgressingInfo ¶
type CanaryProgressingInfo struct{}
func (*CanaryProgressingInfo) DeepCopy ¶
func (in *CanaryProgressingInfo) DeepCopy() *CanaryProgressingInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CanaryProgressingInfo.
func (*CanaryProgressingInfo) DeepCopyInto ¶
func (in *CanaryProgressingInfo) DeepCopyInto(out *CanaryProgressingInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CanaryStrategy ¶
type CanaryStrategy struct {
// Replicas is the replicas of the rollout task, which represents the number of pods to be upgraded
Replicas intstr.IntOrString `json:"replicas"`
// traffic strategy
// +optional
Traffic *TrafficStrategy `json:"traffic,omitempty"`
// Match defines condition used for matching resource cross clusterset
// +optional
Match *ResourceMatch `json:"matchTargets,omitempty"`
// Properties contains additional information for step
// +optional
Properties map[string]string `json:"properties,omitempty"`
// PodTemplateMetadataPatch defines a patch for workload podTemplate metadata.
// +optional
PodTemplateMetadataPatch *MetadataPatch `json:"podTemplateMetadataPatch,omitempty"`
}
func (*CanaryStrategy) DeepCopy ¶
func (in *CanaryStrategy) DeepCopy() *CanaryStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CanaryStrategy.
func (*CanaryStrategy) DeepCopyInto ¶
func (in *CanaryStrategy) DeepCopyInto(out *CanaryStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CodeReasonMessage ¶
type CodeReasonMessage struct {
// Code is a globally unique identifier
Code string `json:"code,omitempty"`
// A human-readable short word
// +optional
Reason string `json:"reason,omitempty"`
// A human-readable message indicating details about the transition.
// +optional
Message string `json:"message,omitempty"`
}
func (*CodeReasonMessage) DeepCopy ¶
func (in *CodeReasonMessage) DeepCopy() *CodeReasonMessage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CodeReasonMessage.
func (*CodeReasonMessage) DeepCopyInto ¶
func (in *CodeReasonMessage) DeepCopyInto(out *CodeReasonMessage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CodeReasonMessage) Error ¶ added in v0.1.0
func (c *CodeReasonMessage) Error() string
Error implements error.
type Condition ¶
type Condition struct {
// Type of the condition.
Type ConditionType `json:"type"`
// Status of the condition, one of True, False, Unknown.
Status metav1.ConditionStatus `json:"status"`
// Last time the condition transitioned from one status to another.
// +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
// The last time this condition was updated.
// +optional
LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"`
// The reason for the condition's last transition.
// +optional
Reason string `json:"reason,omitempty"`
// A human-readable message indicating details about the transition.
// +optional
Message string `json:"message,omitempty"`
}
Condition defines the condition of a resource See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionType ¶
type ConditionType string
type CrossClusterObjectNameReference ¶
type CrossClusterObjectNameReference struct {
// Cluster indicates the name of cluster
Cluster string `json:"cluster,omitempty"`
// Name is the resource name
Name string `json:"name"`
}
CrossClusterObjectNameReference contains cluster and name reference to a k8s object
func (*CrossClusterObjectNameReference) DeepCopy ¶
func (in *CrossClusterObjectNameReference) DeepCopy() *CrossClusterObjectNameReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrossClusterObjectNameReference.
func (*CrossClusterObjectNameReference) DeepCopyInto ¶
func (in *CrossClusterObjectNameReference) DeepCopyInto(out *CrossClusterObjectNameReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (CrossClusterObjectNameReference) Matches ¶
func (r CrossClusterObjectNameReference) Matches(cluster, name string) bool
func (CrossClusterObjectNameReference) String ¶
func (r CrossClusterObjectNameReference) String() string
type CrossClusterObjectReference ¶
type CrossClusterObjectReference struct {
ObjectTypeRef `json:",inline"`
CrossClusterObjectNameReference `json:",inline"`
}
CrossClusterObjectReference is a reference to a kubernetes object in a different cluster.
func (*CrossClusterObjectReference) DeepCopy ¶
func (in *CrossClusterObjectReference) DeepCopy() *CrossClusterObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrossClusterObjectReference.
func (*CrossClusterObjectReference) DeepCopyInto ¶
func (in *CrossClusterObjectReference) DeepCopyInto(out *CrossClusterObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FailurePolicyType ¶
type FailurePolicyType string
FailurePolicyType specifies a failure policy that defines how unrecognized errors from the admission endpoint are handled.
const ( // Ignore means that an error calling the webhook is ignored. Ignore FailurePolicyType = "Ignore" // Fail means that an error calling the webhook causes the admission to fail. Fail FailurePolicyType = "Fail" )
type HTTPRouteFilter ¶
type HTTPRouteFilter struct {
// RequestHeaderModifier defines a schema for a filter that modifies request
// headers.
//
// Support: Core
//
// +optional
RequestHeaderModifier *gatewayapiv1.HTTPHeaderFilter `json:"requestHeaderModifier,omitempty"`
}
func (*HTTPRouteFilter) DeepCopy ¶
func (in *HTTPRouteFilter) DeepCopy() *HTTPRouteFilter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteFilter.
func (*HTTPRouteFilter) DeepCopyInto ¶
func (in *HTTPRouteFilter) DeepCopyInto(out *HTTPRouteFilter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPRouteMatch ¶
type HTTPRouteMatch struct {
// Headers specifies HTTP request header matchers. Multiple match values are
// ANDed together, meaning, a request must match all the specified headers
// to select the route.
//
// +listType=map
// +listMapKey=name
// +optional
// +kubebuilder:validation:MaxItems=16
Headers []gatewayapiv1.HTTPHeaderMatch `json:"headers,omitempty"`
// QueryParams specifies HTTP query parameter matchers. Multiple match
// values are ANDed together, meaning, a request must match all the
// specified query parameters to select the route.
//
// Support: Extended
//
// +listType=map
// +listMapKey=name
// +optional
// +kubebuilder:validation:MaxItems=16
QueryParams []gatewayapiv1.HTTPQueryParamMatch `json:"queryParams,omitempty"`
}
func (*HTTPRouteMatch) DeepCopy ¶
func (in *HTTPRouteMatch) DeepCopy() *HTTPRouteMatch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteMatch.
func (*HTTPRouteMatch) DeepCopyInto ¶
func (in *HTTPRouteMatch) DeepCopyInto(out *HTTPRouteMatch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPRouteRule ¶
type HTTPRouteRule struct {
// Matches define conditions used for matching the incoming HTTP requests to canary service.
Matches []HTTPRouteMatch `json:"matches,omitempty"`
// Filter defines a filter for the canary service.
Filter HTTPRouteFilter `json:"filter,omitempty"`
}
func (*HTTPRouteRule) DeepCopy ¶
func (in *HTTPRouteRule) DeepCopy() *HTTPRouteRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRouteRule.
func (*HTTPRouteRule) DeepCopyInto ¶
func (in *HTTPRouteRule) DeepCopyInto(out *HTTPRouteRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetadataPatch ¶ added in v0.1.0
type MetadataPatch struct {
// Annotations are additional metadata that can be included.
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// Labels are additional metadata that can be included.
// +optional
Labels map[string]string `json:"labels,omitempty"`
}
MetadataPatch is a patch for metadata
func (*MetadataPatch) DeepCopy ¶ added in v0.1.0
func (in *MetadataPatch) DeepCopy() *MetadataPatch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataPatch.
func (*MetadataPatch) DeepCopyInto ¶ added in v0.1.0
func (in *MetadataPatch) DeepCopyInto(out *MetadataPatch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectTypeRef ¶
type ObjectTypeRef struct {
// APIVersion is the group/version for the resource being referenced.
// If APIVersion is not specified, the specified Kind must be in the core API group.
// For any other third-party types, APIVersion is required.
// +optional
APIVersion string `json:"apiVersion,omitempty"`
// Kind is the type of resource being referenced
Kind string `json:"kind"`
}
func (*ObjectTypeRef) DeepCopy ¶
func (in *ObjectTypeRef) DeepCopy() *ObjectTypeRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectTypeRef.
func (*ObjectTypeRef) DeepCopyInto ¶
func (in *ObjectTypeRef) DeepCopyInto(out *ObjectTypeRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProgressingInfo ¶
type ProgressingInfo struct {
RolloutName string `json:"rollout,omitempty"`
RolloutID string `json:"rolloutID,omitempty"`
Canary *CanaryProgressingInfo `json:"canary,omitempty"`
Batch *BatchProgressingInfo `json:"batch,omitempty"`
}
ProgressingInfo is the rollout progressing info
func (*ProgressingInfo) DeepCopy ¶
func (in *ProgressingInfo) DeepCopy() *ProgressingInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProgressingInfo.
func (*ProgressingInfo) DeepCopyInto ¶
func (in *ProgressingInfo) DeepCopyInto(out *ProgressingInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceMatch ¶
type ResourceMatch struct {
// Selector is a label query over a set of resources, in this case resource
Selector *metav1.LabelSelector `json:"selector,omitempty"`
// Names is a list of workload name
Names []CrossClusterObjectNameReference `json:"names,omitempty"`
}
func (*ResourceMatch) DeepCopy ¶
func (in *ResourceMatch) DeepCopy() *ResourceMatch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceMatch.
func (*ResourceMatch) DeepCopyInto ¶
func (in *ResourceMatch) DeepCopyInto(out *ResourceMatch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Rollout ¶
type Rollout struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec RolloutSpec `json:"spec,omitempty"`
Status RolloutStatus `json:"status,omitempty"`
}
Rollout is the Schema for the rollouts API
func (*Rollout) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rollout.
func (*Rollout) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Rollout) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RolloutBatchStatus ¶
type RolloutBatchStatus struct {
// CurrentBatchIndex defines the current batch index of batch release progress.
CurrentBatchIndex int32 `json:"currentBatchIndex"`
// CurrentBatchState indicates the current batch state.
CurrentBatchState RolloutStepState `json:"currentBatchState,omitempty"`
}
RolloutBatchStatus defines the status of batch release.
func (*RolloutBatchStatus) DeepCopy ¶
func (in *RolloutBatchStatus) DeepCopy() *RolloutBatchStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutBatchStatus.
func (*RolloutBatchStatus) DeepCopyInto ¶
func (in *RolloutBatchStatus) DeepCopyInto(out *RolloutBatchStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutList ¶
type RolloutList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Rollout `json:"items"`
}
RolloutList contains a list of Rollout
func (*RolloutList) DeepCopy ¶
func (in *RolloutList) DeepCopy() *RolloutList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutList.
func (*RolloutList) DeepCopyInto ¶
func (in *RolloutList) DeepCopyInto(out *RolloutList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RolloutList) DeepCopyObject ¶
func (in *RolloutList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RolloutPhase ¶
type RolloutPhase string
RolloutPhase indicates the current rollout phase
const ( // RolloutPhaseInitialized indicates the rollout is ready and waiting for next trigger RolloutPhaseInitialized RolloutPhase = "Initialized" // RolloutPhaseTerminating indicates the rollout is disabled RolloutPhaseDisabled RolloutPhase = "Disabled" // RolloutPhaseProgressing indicates the rollout is progressing RolloutPhaseProgressing RolloutPhase = "Progressing" // RolloutPhaseTerminating indicates the rollout is terminating RolloutPhaseTerminating RolloutPhase = "Terminating" )
type RolloutReplicasSummary ¶
type RolloutReplicasSummary struct {
// Replicas is the desired number of pods targeted by workload
Replicas int32 `json:"replicas"`
// UpdatedReplicas is the number of pods targeted by workload that have the updated template spec.
UpdatedReplicas int32 `json:"updatedReplicas"`
// UpdatedReadyReplicas is the number of ready pods targeted by workload that have the updated template spec.
UpdatedReadyReplicas int32 `json:"updatedReadyReplicas"`
// UpdatedAvailableReplicas is the number of service available pods targeted by workload that have the updated template spec.
UpdatedAvailableReplicas int32 `json:"updatedAvailableReplicas"`
}
func (*RolloutReplicasSummary) DeepCopy ¶
func (in *RolloutReplicasSummary) DeepCopy() *RolloutReplicasSummary
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutReplicasSummary.
func (*RolloutReplicasSummary) DeepCopyInto ¶
func (in *RolloutReplicasSummary) DeepCopyInto(out *RolloutReplicasSummary)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutRun ¶
type RolloutRun struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec RolloutRunSpec `json:"spec,omitempty"`
Status RolloutRunStatus `json:"status,omitempty"`
}
func (*RolloutRun) DeepCopy ¶
func (in *RolloutRun) DeepCopy() *RolloutRun
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutRun.
func (*RolloutRun) DeepCopyInto ¶
func (in *RolloutRun) DeepCopyInto(out *RolloutRun)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RolloutRun) DeepCopyObject ¶
func (in *RolloutRun) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*RolloutRun) IsCompleted ¶
func (r *RolloutRun) IsCompleted() bool
type RolloutRunBatchStatus ¶
type RolloutRunBatchStatus struct {
// RolloutBatchStatus contains status of current batch
RolloutBatchStatus `json:",inline"`
// Records contains all batches status details.
Records []RolloutRunStepStatus `json:"records,omitempty"`
}
func (*RolloutRunBatchStatus) DeepCopy ¶
func (in *RolloutRunBatchStatus) DeepCopy() *RolloutRunBatchStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutRunBatchStatus.
func (*RolloutRunBatchStatus) DeepCopyInto ¶
func (in *RolloutRunBatchStatus) DeepCopyInto(out *RolloutRunBatchStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutRunBatchStrategy ¶
type RolloutRunBatchStrategy struct {
// Batches define the order of phases to execute release in batch release
Batches []RolloutRunStep `json:"batches,omitempty"`
// Toleration is the toleration policy of the canary strategy
// +optional
Toleration *TolerationStrategy `json:"toleration,omitempty"`
}
func (*RolloutRunBatchStrategy) DeepCopy ¶
func (in *RolloutRunBatchStrategy) DeepCopy() *RolloutRunBatchStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutRunBatchStrategy.
func (*RolloutRunBatchStrategy) DeepCopyInto ¶
func (in *RolloutRunBatchStrategy) DeepCopyInto(out *RolloutRunBatchStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutRunCanaryStrategy ¶
type RolloutRunCanaryStrategy struct {
// desired target replicas
Targets []RolloutRunStepTarget `json:"targets"`
// traffic strategy
// +optional
Traffic *TrafficStrategy `json:"traffic,omitempty"`
// Properties contains additional information for step
// +optional
Properties map[string]string `json:"properties,omitempty"`
// PodTemplateMetadataPatch defines a patch for workload podTemplate metadata.
// +optional
PodTemplateMetadataPatch *MetadataPatch `json:"podTemplateMetadataPatch,omitempty"`
}
func (*RolloutRunCanaryStrategy) DeepCopy ¶
func (in *RolloutRunCanaryStrategy) DeepCopy() *RolloutRunCanaryStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutRunCanaryStrategy.
func (*RolloutRunCanaryStrategy) DeepCopyInto ¶
func (in *RolloutRunCanaryStrategy) DeepCopyInto(out *RolloutRunCanaryStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutRunList ¶
type RolloutRunList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []RolloutRun `json:"items"`
}
RolloutList contains a list of Rollout
func (*RolloutRunList) DeepCopy ¶
func (in *RolloutRunList) DeepCopy() *RolloutRunList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutRunList.
func (*RolloutRunList) DeepCopyInto ¶
func (in *RolloutRunList) DeepCopyInto(out *RolloutRunList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RolloutRunList) DeepCopyObject ¶
func (in *RolloutRunList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RolloutRunPhase ¶
type RolloutRunPhase string
const ( // RolloutRunPhaseInitial defines the initial phase of rolloutRun RolloutRunPhaseInitial RolloutRunPhase = "Initial" // RolloutRunPhasePreRollout defines the phase of rolloutRun before rollout RolloutRunPhasePreRollout RolloutRunPhase = "PreRollout" // RolloutRunPhasePausing defines the phase of rolloutRun pausing RolloutRunPhasePausing RolloutRunPhase = "Pausing" // RolloutRunPhasePaused defines the phase of rolloutRun paused RolloutRunPhasePaused RolloutRunPhase = "Paused" // RolloutRunPhaseProgressing defines the phase of rolloutRun progressing RolloutRunPhaseProgressing RolloutRunPhase = "Progressing" // RolloutRunPhasePostRollout defines the phase of rollout after progressing RolloutRunPhasePostRollout RolloutRunPhase = "PostRollout" // RolloutRunPhaseCanceling defines the phase of rolloutRun canceling RolloutRunPhaseCanceling RolloutRunPhase = "Canceling" // RolloutRunPhaseCanceled defines the phase of rolloutRun canceled RolloutRunPhaseCanceled RolloutRunPhase = "Canceled" // RolloutRunPhaseFailed defines the phase of rolloutRun succeeded RolloutRunPhaseSucceeded RolloutRunPhase = "Succeeded" )
type RolloutRunSpec ¶
type RolloutRunSpec struct {
// TargetType defines the GroupVersionKind of target resource
TargetType ObjectTypeRef `json:"targetType,omitempty"`
// Webhooks defines rollout webhook configuration
Webhooks []RolloutWebhook `json:"webhooks,omitempty"`
// TrafficTopologyRefs defines the networking traffic relationships between
// workloads, backend services, and routes.
TrafficTopologyRefs []string `json:"trafficTopologyRefs,omitempty"`
// Canary defines the canary strategy
// +optional
Canary *RolloutRunCanaryStrategy `json:"canary,omitempty"`
// Batch Strategy
// +optional
Batch *RolloutRunBatchStrategy `json:"batch,omitempty"`
}
func (*RolloutRunSpec) DeepCopy ¶
func (in *RolloutRunSpec) DeepCopy() *RolloutRunSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutRunSpec.
func (*RolloutRunSpec) DeepCopyInto ¶
func (in *RolloutRunSpec) DeepCopyInto(out *RolloutRunSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutRunStatus ¶
type RolloutRunStatus struct {
// ObservedGeneration is the most recent generation observed for this Rollout. It corresponds to the
// Rollout's generation, which is updated on mutation by the API Server.
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Conditions is the list of conditions
Conditions []Condition `json:"conditions,omitempty"`
// Phase indecates the current phase of rollout
Phase RolloutRunPhase `json:"phase,omitempty"`
// The last time this status was updated.
// +optional
LastUpdateTime *metav1.Time `json:"lastUpdateTime,omitempty"`
// Error indicates the error info of progressing
Error *CodeReasonMessage `json:"error,omitempty"`
// CanaryStatus describes the state of the active canary release
// +optional
CanaryStatus *RolloutRunStepStatus `json:"canaryStatus,omitempty"`
// BatchStatus describes the state of the active batch release
// +optional
BatchStatus *RolloutRunBatchStatus `json:"batchStatus,omitempty"`
// TargetStatuses describes the referenced workloads status
// +optional
TargetStatuses []RolloutWorkloadStatus `json:"targetStatuses,omitempty"`
}
func (*RolloutRunStatus) DeepCopy ¶
func (in *RolloutRunStatus) DeepCopy() *RolloutRunStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutRunStatus.
func (*RolloutRunStatus) DeepCopyInto ¶
func (in *RolloutRunStatus) DeepCopyInto(out *RolloutRunStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutRunStep ¶
type RolloutRunStep struct {
// desired target replicas
Targets []RolloutRunStepTarget `json:"targets"`
// traffic strategy
// +optional
Traffic *TrafficStrategy `json:"traffic,omitempty"`
// If set to true, the rollout will be paused before the step starts.
// +optional
Breakpoint bool `json:"breakpoint,omitempty"`
// Properties contains additional information for step
// +optional
Properties map[string]string `json:"properties,omitempty"`
}
func (*RolloutRunStep) DeepCopy ¶
func (in *RolloutRunStep) DeepCopy() *RolloutRunStep
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutRunStep.
func (*RolloutRunStep) DeepCopyInto ¶
func (in *RolloutRunStep) DeepCopyInto(out *RolloutRunStep)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutRunStepStatus ¶ added in v0.1.0
type RolloutRunStepStatus struct {
// Index is the id of the batch
Index *int32 `json:"index,omitempty"`
// State is Rollout step state
State RolloutStepState `json:"state,omitempty"`
// StartTime is the time when the stage started
// +optional
StartTime *metav1.Time `json:"startTime,omitempty"`
// FinishTime is the time when the stage finished
// +optional
FinishTime *metav1.Time `json:"finishTime,omitempty"`
// WorkloadDetails contains release details for each workload
// +optional
Targets []RolloutWorkloadStatus `json:"targets,omitempty"`
// Webhooks contains webhook status
// +optional
Webhooks []RolloutWebhookStatus `json:"webhooks,omitempty"`
}
func (*RolloutRunStepStatus) DeepCopy ¶ added in v0.1.0
func (in *RolloutRunStepStatus) DeepCopy() *RolloutRunStepStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutRunStepStatus.
func (*RolloutRunStepStatus) DeepCopyInto ¶ added in v0.1.0
func (in *RolloutRunStepStatus) DeepCopyInto(out *RolloutRunStepStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutRunStepTarget ¶
type RolloutRunStepTarget struct {
CrossClusterObjectNameReference `json:",inline"`
// Replicas is the replicas of the rollout task, which represents the number of pods to be upgraded
Replicas intstr.IntOrString `json:"replicas"`
}
func (*RolloutRunStepTarget) DeepCopy ¶
func (in *RolloutRunStepTarget) DeepCopy() *RolloutRunStepTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutRunStepTarget.
func (*RolloutRunStepTarget) DeepCopyInto ¶
func (in *RolloutRunStepTarget) DeepCopyInto(out *RolloutRunStepTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutSpec ¶
type RolloutSpec struct {
// Disabled means that rollout will not response for new event.
// Default value is false.
Disabled bool `json:"disabled,omitempty"`
// TriggerPolicy defines when rollout will be triggered
TriggerPolicy RolloutTriggerPolicy `json:"triggerPolicy,omitempty"`
// StrategyRef is the reference to the rollout strategy
StrategyRef string `json:"strategyRef,omitempty"`
// WorkloadRef is a reference to a kind of workloads
WorkloadRef WorkloadRef `json:"workloadRef,omitempty"`
// TrafficTopologyRefs defines the networking traffic relationships between
// workloads, backend services, and routes.
TrafficTopologyRefs []string `json:"trafficTopologyRefs,omitempty"`
}
RolloutSpec defines the desired state of Rollout
func (*RolloutSpec) DeepCopy ¶
func (in *RolloutSpec) DeepCopy() *RolloutSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutSpec.
func (*RolloutSpec) DeepCopyInto ¶
func (in *RolloutSpec) DeepCopyInto(out *RolloutSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutStatus ¶
type RolloutStatus struct {
// ObservedGeneration is the most recent generation observed for this Rollout. It corresponds to the
// Rollout's generation, which is updated on mutation by the API Server.
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Conditions is the list of conditions
Conditions []Condition `json:"conditions,omitempty"`
// Phase indicates the current phase of rollout
Phase RolloutPhase `json:"phase,omitempty"`
// The last time this status was updated.
// +optional
LastUpdateTime *metav1.Time `json:"lastUpdateTime,omitempty"`
// RolloutID is reference to rolloutRun name.
RolloutID string `json:"rolloutID,omitempty"`
}
RolloutStatus defines the observed state of Rollout
func (*RolloutStatus) DeepCopy ¶
func (in *RolloutStatus) DeepCopy() *RolloutStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutStatus.
func (*RolloutStatus) DeepCopyInto ¶
func (in *RolloutStatus) DeepCopyInto(out *RolloutStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutStep ¶
type RolloutStep struct {
// Replicas is the replicas of the rollout task, which represents the number of pods to be upgraded
Replicas intstr.IntOrString `json:"replicas"`
// traffic strategy
// +optional
Traffic *TrafficStrategy `json:"traffic,omitempty"`
// Match defines condition used for matching resource cross clusterset
// +optional
Match *ResourceMatch `json:"matchTargets,omitempty"`
// If set to true, the rollout will be paused before the step starts.
// +optional
Breakpoint bool `json:"breakpoint,omitempty"`
// Properties contains additional information for step
// +optional
Properties map[string]string `json:"properties,omitempty"`
}
Custom release step
func (*RolloutStep) DeepCopy ¶
func (in *RolloutStep) DeepCopy() *RolloutStep
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutStep.
func (*RolloutStep) DeepCopyInto ¶
func (in *RolloutStep) DeepCopyInto(out *RolloutStep)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutStepState ¶ added in v0.1.0
type RolloutStepState string
const ( // RolloutStepPending indicates that the step is pending. RolloutStepPending RolloutStepState = "Pending" // RolloutStepPreCanaryStepHook indicates that the step is in the pre-canary hook. RolloutStepPreCanaryStepHook RolloutStepState = RolloutStepState(PreCanaryStepHook) // RolloutStepPreBatchStepHook indicates that the step is in the pre-batch hook. RolloutStepPreBatchStepHook RolloutStepState = RolloutStepState(PreBatchStepHook) // RolloutStepRunning indicates that the step is running. RolloutStepRunning RolloutStepState = "Running" // RolloutStepPostCanaryStepHook indicates that the step is in the post-canary hook. RolloutStepPostCanaryStepHook RolloutStepState = RolloutStepState(PostCanaryStepHook) // RolloutStepPostBatchStepHook indicates that the step is in the post-batch hook. RolloutStepPostBatchStepHook RolloutStepState = RolloutStepState(PostBatchStepHook) // RolloutStepSucceeded indicates that the step is completed. RolloutStepSucceeded RolloutStepState = "Succeeded" // RolloutStepResourceRecycling indicates that the step is recycling resources. // In Canary strategy, it occurs after the user confirms (Paused). // In Batch strategy, it occurs before the PreBatchStepHook. RolloutStepResourceRecycling RolloutStepState = "ResourceRecycling" )
type RolloutStrategy ¶
type RolloutStrategy struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// Canary defines the canary strategy for upgrade and operation
// +optional
Canary *CanaryStrategy `json:"canary,omitempty"`
// Batch is the batch strategy for upgrade and operation
// +optional
Batch *BatchStrategy `json:"batch,omitempty"`
// Webhooks defines
// +optional
Webhooks []RolloutWebhook `json:"webhooks,omitempty"`
}
RolloutStrategy is the Schema for the rolloutstrategies API
func (*RolloutStrategy) DeepCopy ¶
func (in *RolloutStrategy) DeepCopy() *RolloutStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutStrategy.
func (*RolloutStrategy) DeepCopyInto ¶
func (in *RolloutStrategy) DeepCopyInto(out *RolloutStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RolloutStrategy) DeepCopyObject ¶
func (in *RolloutStrategy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RolloutStrategyList ¶
type RolloutStrategyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []RolloutStrategy `json:"items"`
}
RolloutStrategyList contains a list of RolloutStrategy
func (*RolloutStrategyList) DeepCopy ¶
func (in *RolloutStrategyList) DeepCopy() *RolloutStrategyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutStrategyList.
func (*RolloutStrategyList) DeepCopyInto ¶
func (in *RolloutStrategyList) DeepCopyInto(out *RolloutStrategyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RolloutStrategyList) DeepCopyObject ¶
func (in *RolloutStrategyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RolloutTriggerPolicy ¶
type RolloutTriggerPolicy string
const ( // AutoTriggerPolicy specifies the rollout progress will be triggered when all related // workloads are waiting for rolling update, it is the default policy. AutoTriggerPolicy RolloutTriggerPolicy = "Auto" // ManualTriggerPolicy specifies the rollout will only triggered by manually. ManualTriggerPolicy RolloutTriggerPolicy = "Manual" )
type RolloutWebhook ¶
type RolloutWebhook struct {
// Name is the identity of webhook
Name string `json:"name,omitempty"`
// HookTypes defines when to communicate with the hook, specifies the types of events
// that trigger the webhook.
// Required
HookTypes []HookType `json:"hookTypes,omitempty"`
// ClientConfig defines how to communicate with the hook.
// Required
ClientConfig WebhookClientConfig `json:"clientConfig,omitempty"`
// Minimum consecutive failures for the probe to be considered failed after having succeeded.
// Defaults to 3. Minimum value is 1.
// +optional
FailureThreshold int32 `json:"failureThreshold,omitempty" protobuf:"varint,6,opt,name=failureThreshold"`
// FailurePolicy defines how unrecognized errors from the admission endpoint are handled -
// allowed values are Ignore or Fail. Defaults to Ignore.
// +optional
FailurePolicy FailurePolicyType `json:"failurePolicy,omitempty"`
// Properties provide additional data for webhook.
// +optional
Properties map[string]string `json:"properties,omitempty"`
// By default, rollout communicates with the webhook through the structure RolloutWebhookReview.
// If provider is set, then the protocol of the interaction will be determined by the provider
// +optional
Provider *string `json:"provider,omitempty"`
}
func (*RolloutWebhook) DeepCopy ¶
func (in *RolloutWebhook) DeepCopy() *RolloutWebhook
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutWebhook.
func (*RolloutWebhook) DeepCopyInto ¶
func (in *RolloutWebhook) DeepCopyInto(out *RolloutWebhook)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RolloutWebhook) Error ¶ added in v0.1.0
func (*RolloutWebhook) Error() string
Error implements error.
type RolloutWebhookReview ¶
type RolloutWebhookReview struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec RolloutWebhookReviewSpec `json:"spec,omitempty"`
Status RolloutWebhookReviewStatus `json:"status,omitempty"`
}
func (*RolloutWebhookReview) DeepCopy ¶
func (in *RolloutWebhookReview) DeepCopy() *RolloutWebhookReview
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutWebhookReview.
func (*RolloutWebhookReview) DeepCopyInto ¶
func (in *RolloutWebhookReview) DeepCopyInto(out *RolloutWebhookReview)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RolloutWebhookReview) DeepCopyObject ¶
func (in *RolloutWebhookReview) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RolloutWebhookReviewBatch ¶
type RolloutWebhookReviewBatch struct {
// BatchIndex is the index of the executing batch
BatchIndex int32 `json:"batchIndex,omitempty"`
// Targets contains the list of rollout run step targets
Targets []RolloutRunStepTarget `json:"targets,omitempty"`
// Properties stores custom parameters from the webhook to be passed to the server side
Properties map[string]string `json:"properties,omitempty"`
}
func (*RolloutWebhookReviewBatch) DeepCopy ¶
func (in *RolloutWebhookReviewBatch) DeepCopy() *RolloutWebhookReviewBatch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutWebhookReviewBatch.
func (*RolloutWebhookReviewBatch) DeepCopyInto ¶
func (in *RolloutWebhookReviewBatch) DeepCopyInto(out *RolloutWebhookReviewBatch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutWebhookReviewCanary ¶
type RolloutWebhookReviewCanary struct {
// Targets contains the list of rollout run step targets
Targets []RolloutRunStepTarget `json:"targets,omitempty"`
// Properties stores custom parameters from the webhook to be passed to the server side
Properties map[string]string `json:"properties,omitempty"`
}
func (*RolloutWebhookReviewCanary) DeepCopy ¶
func (in *RolloutWebhookReviewCanary) DeepCopy() *RolloutWebhookReviewCanary
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutWebhookReviewCanary.
func (*RolloutWebhookReviewCanary) DeepCopyInto ¶
func (in *RolloutWebhookReviewCanary) DeepCopyInto(out *RolloutWebhookReviewCanary)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutWebhookReviewSpec ¶
type RolloutWebhookReviewSpec struct {
// Rollout Name
RolloutName string `json:"rolloutName,omitempty"`
// Rollout ID
RolloutID string `json:"rolloutID,omitempty"`
// HookType specifies the type of webhook
HookType HookType `json:"hookType,omitempty"`
// TargetType defines the type of the target object
TargetType ObjectTypeRef `json:"targetType,omitempty"`
// Properties stores custom parameters from the webhook to be passed to the server side
Properties map[string]string `json:"properties,omitempty"`
// Canary defines the canary step webhook review spec
// +optional
Canary *RolloutWebhookReviewCanary `json:"canary,omitempty"`
// Batch defines the batch step webhook review spec
// +optional
Batch *RolloutWebhookReviewBatch `json:"batch,omitempty"`
}
func (*RolloutWebhookReviewSpec) DeepCopy ¶
func (in *RolloutWebhookReviewSpec) DeepCopy() *RolloutWebhookReviewSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutWebhookReviewSpec.
func (*RolloutWebhookReviewSpec) DeepCopyInto ¶
func (in *RolloutWebhookReviewSpec) DeepCopyInto(out *RolloutWebhookReviewSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutWebhookReviewStatus ¶
type RolloutWebhookReviewStatus struct {
CodeReasonMessage `json:",inline"`
}
func (*RolloutWebhookReviewStatus) DeepCopy ¶
func (in *RolloutWebhookReviewStatus) DeepCopy() *RolloutWebhookReviewStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutWebhookReviewStatus.
func (*RolloutWebhookReviewStatus) DeepCopyInto ¶
func (in *RolloutWebhookReviewStatus) DeepCopyInto(out *RolloutWebhookReviewStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutWebhookState ¶ added in v0.1.0
type RolloutWebhookState string
RolloutWebhookState indicates current state of webhook webhook.
const ( WebhookRunning RolloutWebhookState = "Running" WebhookOnHold RolloutWebhookState = "OnHold" WebhookCompleted RolloutWebhookState = "Completed" )
type RolloutWebhookStatus ¶ added in v0.1.0
type RolloutWebhookStatus struct {
// Current webhook worker state
State RolloutWebhookState `json:"state,omitempty"`
// Webhook Type
HookType HookType `json:"hookType,omitempty"`
// Webhook Name
Name string `json:"name,omitempty"`
// Webhook result
CodeReasonMessage `json:",inline"`
// Failure count
FailureCount int32 `json:"failureCount,omitempty"`
}
func (*RolloutWebhookStatus) DeepCopy ¶ added in v0.1.0
func (in *RolloutWebhookStatus) DeepCopy() *RolloutWebhookStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutWebhookStatus.
func (*RolloutWebhookStatus) DeepCopyInto ¶ added in v0.1.0
func (in *RolloutWebhookStatus) DeepCopyInto(out *RolloutWebhookStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutWorkloadStatus ¶
type RolloutWorkloadStatus struct {
// summary of replicas
RolloutReplicasSummary `json:",inline,omitempty"`
// Name is the workload name
Name string `json:"name,omitempty"`
// Cluster defines which cluster the workload is in.
Cluster string `json:"cluster,omitempty"`
// Generation is the found in workload metadata.
Generation int64 `json:"generation,omitempty"`
// ObservedGeneration is the most recent generation observed for this workload.
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// StableRevision is the old stable revision used to generate pods.
StableRevision string `json:"stableRevision,omitempty"`
// UpdatedRevision is the updated template revision used to generate pods.
UpdatedRevision string `json:"updatedRevision,omitempty"`
}
func (*RolloutWorkloadStatus) DeepCopy ¶
func (in *RolloutWorkloadStatus) DeepCopy() *RolloutWorkloadStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutWorkloadStatus.
func (*RolloutWorkloadStatus) DeepCopyInto ¶
func (in *RolloutWorkloadStatus) DeepCopyInto(out *RolloutWorkloadStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouteRef ¶
type RouteRef struct {
// APIVersion is the group/version of the referent. For example, "gateway.networking.k8s.io/v1".
//
// Defaults to "gateway.networking.k8s.io/v1" when not specified.
//
// +optional
// +kubebuilder:default="gateway.networking.k8s.io/v1"
APIVersion *string `json:"apiVersion,omitempty"`
// Kind is the Kubernetes resource kind of the referent. For example
// "HTTPRoute".
//
// Defaults to "HTTPRoute" when not specified.
//
// +optional
// +kubebuilder:default=HTTPRoute
Kind *string `json:"kind,omitempty"`
// Name is the name of the custom route.
Name string `json:"name"`
}
func (*RouteRef) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRef.
func (*RouteRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StableBackendRule ¶
type StableBackendRule struct {
// the temporary stable backend service name, generally it is the {originServiceName}-stable
Name string `json:"name,omitempty"`
}
func (*StableBackendRule) DeepCopy ¶
func (in *StableBackendRule) DeepCopy() *StableBackendRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StableBackendRule.
func (*StableBackendRule) DeepCopyInto ¶
func (in *StableBackendRule) DeepCopyInto(out *StableBackendRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TolerationStrategy ¶
type TolerationStrategy struct {
// WorkloadFailureThreshold indicates how many failed pods can be tolerated in all upgraded pods of one workload.
// The default value is 0, which means no failed pods can be tolerated.
// This is a workload level threshold.
// +optional
WorkloadFailureThreshold *intstr.IntOrString `json:"workloadTotalFailureThreshold,omitempty"`
// FailureThreshold indicates how many failed pods can be tolerated before marking the rollout task as success
// If not set, the default value is 0, which means no failed pods can be tolerated
// This is a task level threshold.
// +optional
TaskFailureThreshold *intstr.IntOrString `json:"taskFailureThreshold,omitempty"`
// Number of seconds after the toleration check has started before the task are initiated.
InitialDelaySeconds int32 `json:"initialDelaySeconds,omitempty"`
}
TolerationStrategy defines the toleration strategy
func (*TolerationStrategy) DeepCopy ¶
func (in *TolerationStrategy) DeepCopy() *TolerationStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TolerationStrategy.
func (*TolerationStrategy) DeepCopyInto ¶
func (in *TolerationStrategy) DeepCopyInto(out *TolerationStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TopologyInfo ¶
type TopologyInfo struct {
// workload reference name and cluster
WorkloadRef CrossClusterObjectNameReference `json:"workloadRef,omitempty"`
// backend routing reference
// The name of the backendRouting referent
BackendRoutingName string `json:"backendRoutingName,omitempty"`
}
func (*TopologyInfo) DeepCopy ¶
func (in *TopologyInfo) DeepCopy() *TopologyInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopologyInfo.
func (*TopologyInfo) DeepCopyInto ¶
func (in *TopologyInfo) DeepCopyInto(out *TopologyInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TrafficStrategy ¶
type TrafficStrategy struct {
// Weight indicate how many percentage of traffic the canary pods should receive
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=100
Weight *int32 `json:"weight,omitempty"`
HTTPRule *HTTPRouteRule `json:"http,omitempty"`
}
func (*TrafficStrategy) DeepCopy ¶
func (in *TrafficStrategy) DeepCopy() *TrafficStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficStrategy.
func (*TrafficStrategy) DeepCopyInto ¶
func (in *TrafficStrategy) DeepCopyInto(out *TrafficStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TrafficTopology ¶
type TrafficTopology struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec TrafficTopologySpec `json:"spec,omitempty"`
Status TrafficTopologyStatus `json:"status,omitempty"`
}
TrafficTopologies defines the networking traffic relationships between workloads, backend services, and routes.
func (*TrafficTopology) DeepCopy ¶
func (in *TrafficTopology) DeepCopy() *TrafficTopology
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficTopology.
func (*TrafficTopology) DeepCopyInto ¶
func (in *TrafficTopology) DeepCopyInto(out *TrafficTopology)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TrafficTopology) DeepCopyObject ¶
func (in *TrafficTopology) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TrafficTopologyList ¶
type TrafficTopologyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []TrafficTopology `json:"items"`
}
TrafficTopologyList is a list of TrafficTopology resources.
func (*TrafficTopologyList) DeepCopy ¶
func (in *TrafficTopologyList) DeepCopy() *TrafficTopologyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficTopologyList.
func (*TrafficTopologyList) DeepCopyInto ¶
func (in *TrafficTopologyList) DeepCopyInto(out *TrafficTopologyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TrafficTopologyList) DeepCopyObject ¶
func (in *TrafficTopologyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TrafficTopologySpec ¶
type TrafficTopologySpec struct {
// WorkloadRef is the reference to a kind of workloads
WorkloadRef WorkloadRef `json:"workloadRef"`
// TrafficType defines the type of traffic
TrafficType TrafficType `json:"trafficType"`
// Backend defines the reference to a kind of backend
Backend BackendRef `json:"backend"`
// Routes defines the list of routes
Routes []RouteRef `json:"routes,omitempty"`
}
TrafficTopologySpec is the spec for a TrafficTopology resource.
func (*TrafficTopologySpec) DeepCopy ¶
func (in *TrafficTopologySpec) DeepCopy() *TrafficTopologySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficTopologySpec.
func (*TrafficTopologySpec) DeepCopyInto ¶
func (in *TrafficTopologySpec) DeepCopyInto(out *TrafficTopologySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TrafficTopologyStatus ¶
type TrafficTopologyStatus struct {
// ObservedGeneration is the most recent generation observed.
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Conditions is the list of conditions
Conditions []Condition `json:"conditions,omitempty"`
// Topologies information aggregated by workload
Topologies []TopologyInfo `json:"topologies,omitempty"`
}
func (*TrafficTopologyStatus) DeepCopy ¶
func (in *TrafficTopologyStatus) DeepCopy() *TrafficTopologyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficTopologyStatus.
func (*TrafficTopologyStatus) DeepCopyInto ¶
func (in *TrafficTopologyStatus) DeepCopyInto(out *TrafficTopologyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TrafficType ¶
type TrafficType string
type WebhookClientConfig ¶
type WebhookClientConfig struct {
// `url` gives the location of the webhook, in standard URL form
// (`scheme://host:port/path`). Exactly one of `url` or `service`
// must be specified.
//
// The `host` should not refer to a service running in the cluster; use
// the `service` field instead. The host might be resolved via external
// DNS in some apiservers (e.g., `kube-apiserver` cannot resolve
// in-cluster DNS as that would be a layering violation). `host` may
// also be an IP address.
//
// Please note that using `localhost` or `127.0.0.1` as a `host` is
// risky unless you take great care to run this webhook on all hosts
// which run an apiserver which might need to make calls to this
// webhook. Such installs are likely to be non-portable, i.e., not easy
// to turn up in a new cluster.
//
// The scheme must be "https"; the URL must begin with "https://".
//
// A path is optional, and if present may be any string permissible in
// a URL. You may use the path to pass an arbitrary string to the
// webhook, for example, a cluster identifier.
//
// Attempting to use a user or basic auth e.g. "user:password@" is not
// allowed. Fragments ("#...") and query parameters ("?...") are not
// allowed, either.
URL string `json:"url,omitempty" protobuf:"bytes,3,opt,name=url"`
// `caBundle` is a PEM encoded CA bundle which will be used to validate the webhook's server certificate.
// If unspecified, system trust roots' CA on the node.
// +optional
CABundle []byte `json:"caBundle,omitempty" protobuf:"bytes,2,opt,name=caBundle"`
// TimeoutSeconds specifies the timeout for this webhook. After the timeout passes,
// the webhook call will be ignored or the API call will fail based on the
// failure policy.
// Default to 10 seconds.
// +optional
TimeoutSeconds int32 `json:"timeoutSeconds,omitempty"`
// How often (in seconds) to perform the probe.
// Default to 10 seconds. Minimum value is 1.
// +optional
PeriodSeconds int32 `json:"periodSeconds,omitempty"`
}
WebhookClientConfig contains the information to make a TLS connection with the webhook
func (*WebhookClientConfig) DeepCopy ¶
func (in *WebhookClientConfig) DeepCopy() *WebhookClientConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookClientConfig.
func (*WebhookClientConfig) DeepCopyInto ¶
func (in *WebhookClientConfig) DeepCopyInto(out *WebhookClientConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadRef ¶
type WorkloadRef struct {
// APIVersion is the group/version for the resource being referenced.
// If APIVersion is not specified, the specified Kind must be in the core API group.
// For any other third-party types, APIVersion is required.
// +optional
APIVersion string `json:"apiVersion"`
// Kind is the type of resource being referenced
Kind string `json:"kind"`
// Match indicates how to match workloads. only one workload should be matches in one cluster
Match ResourceMatch `json:"match"`
}
WorkloadRef is a reference to a workload
func (*WorkloadRef) DeepCopy ¶
func (in *WorkloadRef) DeepCopy() *WorkloadRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadRef.
func (*WorkloadRef) DeepCopyInto ¶
func (in *WorkloadRef) DeepCopyInto(out *WorkloadRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.