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.