v1alpha1

package
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 26, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

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

View Source
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"
)
View Source
const (
	WebhookReviewCodeOK         string = "OK"
	WebhookReviewCodeError      string = "Error"
	WebhookReviewCodeProcessing string = "Processing"
)
View Source
const (
	MultiClusterTrafficType TrafficType = "MultiCluster"
	InClusterTrafficType    TrafficType = "InCluster"

	TrafficTopologyConditionReady ConditionType = "Ready"
)
View Source
const GroupName = "rollout.kusionstack.io"

GroupName specifies the group name used to register the objects.

View Source
const (
	MatchAllCluster = ""
)

Variables

View Source
var (
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	// Depreciated: use Install instead
	AddToScheme = localSchemeBuilder.AddToScheme
	Install     = localSchemeBuilder.AddToScheme
)
View Source
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}

GroupVersion specifies the group and the version used to register the objects.

View Source
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

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

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

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

func (in *Condition) DeepCopy() *Condition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrossClusterObjectNameReference.

func (*CrossClusterObjectNameReference) DeepCopyInto

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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrossClusterObjectReference.

func (*CrossClusterObjectReference) DeepCopyInto

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 HookType

type HookType string

Webhook type

const (
	PreCanaryStepHook  HookType = "PreCanaryStepHook"
	PostCanaryStepHook HookType = "PostCanaryStepHook"
	PreBatchStepHook   HookType = "PreBatchStepHook"
	PostBatchStepHook  HookType = "PostBatchStepHook"
)

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

func (in *Rollout) DeepCopy() *Rollout

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rollout.

func (*Rollout) DeepCopyInto

func (in *Rollout) DeepCopyInto(out *Rollout)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Rollout) DeepCopyObject

func (in *Rollout) DeepCopyObject() runtime.Object

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

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

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

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

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

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

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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutWebhookReviewBatch.

func (*RolloutWebhookReviewBatch) DeepCopyInto

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutWebhookReviewCanary.

func (*RolloutWebhookReviewCanary) DeepCopyInto

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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutWebhookReviewStatus.

func (*RolloutWebhookReviewStatus) DeepCopyInto

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

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

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

func (in *RouteRef) DeepCopy() *RouteRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteRef.

func (*RouteRef) DeepCopyInto

func (in *RouteRef) DeepCopyInto(out *RouteRef)

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

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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL