Documentation
¶
Overview ¶
Package v1beta1 contains API Schema definitions for the workload v1beta1 API group +kubebuilder:object:generate=true +groupName=workload.dmall.domain
Index ¶
- Variables
- type AdvDeployment
- func (in *AdvDeployment) DeepCopy() *AdvDeployment
- func (in *AdvDeployment) DeepCopyInto(out *AdvDeployment)
- func (in *AdvDeployment) DeepCopyObject() runtime.Object
- func (in *AdvDeployment) Default()
- func (in *AdvDeployment) ValidateCreate() error
- func (in *AdvDeployment) ValidateUpdate(old runtime.Object) error
- type AdvDeploymentAggrStatus
- type AdvDeploymentCondition
- type AdvDeploymentConditionType
- type AdvDeploymentList
- type AdvDeploymentSpec
- type AdvDeploymentStatus
- type AdvDeploymentUpdateStrategy
- type AggrAppSetStatus
- type AppSet
- type AppSetCondition
- type AppSetConditionType
- type AppSetList
- type AppSetSpec
- type AppSetStatus
- type AppSetUpdateStrategy
- type AppStatus
- type ChartSpec
- type ChartURL
- type ClusterAppActual
- type ClusterTopology
- type DeployState
- type Endpoint
- type Event
- type Pod
- type PodSet
- type PodSetStatusInfo
- type PodSpec
- type PodUpdateStrategyType
- type Service
- type ServicePort
- type StatefulSetStrategy
- type TargetCluster
- type Topology
- type UpdatePriorityOrderTerm
- type UpdatePriorityStrategy
- type UpdatePriorityWeightTerm
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "workload.dmall.com", Version: "v1beta1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type AdvDeployment ¶
type AdvDeployment struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec AdvDeploymentSpec `json:"spec,omitempty"`
Status AdvDeploymentStatus `json:"status,omitempty"`
}
AdvDeployment is the Schema for the advdeployments API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=ad +kubebuilder:printcolumn:name="DESIRED",type="integer",JSONPath=".status.aggrStatus.desired",description="The desired number of pods." +kubebuilder:printcolumn:name="AVAILABLE",type="integer",JSONPath=".status.aggrStatus.available",description="The number of pods ready." +kubebuilder:printcolumn:name="UNAVAILABLE",type="integer",JSONPath=".status.aggrStatus.unAvailable",description="The number of pods unAvailable." +kubebuilder:printcolumn:name="VERSION",type="string",JSONPath=".status.aggrStatus.version",description="The image version." +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.aggrStatus.status",description="The app run status." +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp",description="CreationTimestamp is a timestamp representing the server time when this object was created. "
func (*AdvDeployment) DeepCopy ¶
func (in *AdvDeployment) DeepCopy() *AdvDeployment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvDeployment.
func (*AdvDeployment) DeepCopyInto ¶
func (in *AdvDeployment) DeepCopyInto(out *AdvDeployment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AdvDeployment) DeepCopyObject ¶
func (in *AdvDeployment) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*AdvDeployment) Default ¶
func (in *AdvDeployment) Default()
Default makes AdvDeployment an mutating webhook When delete, if error occurs, finalizer is a good options for us to retry and record the events.
func (*AdvDeployment) ValidateCreate ¶
func (in *AdvDeployment) ValidateCreate() error
ValidateCreate implements webhook.Validator 1. check filed regex
func (*AdvDeployment) ValidateUpdate ¶
func (in *AdvDeployment) ValidateUpdate(old runtime.Object) error
ValidateUpdate validate HelmRequest update request immutable fields: 1. ...
type AdvDeploymentAggrStatus ¶
type AdvDeploymentAggrStatus struct {
OwnerResource []string `json:"ownerResource,omitempty"`
Status AppStatus `json:"status,omitempty"`
Version string `json:"version,omitempty"`
Desired int32 `json:"desired"`
Available int32 `json:"available"`
UnAvailable int32 `json:"unAvailable"`
PodSets []*PodSetStatusInfo `json:"podSets,omitempty"`
}
AdvDeploymentAggrStatus advdeployment aggrestatus info
func (*AdvDeploymentAggrStatus) DeepCopy ¶
func (in *AdvDeploymentAggrStatus) DeepCopy() *AdvDeploymentAggrStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvDeploymentAggrStatus.
func (*AdvDeploymentAggrStatus) DeepCopyInto ¶
func (in *AdvDeploymentAggrStatus) DeepCopyInto(out *AdvDeploymentAggrStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AdvDeploymentCondition ¶
type AdvDeploymentCondition struct {
// Type of deployment condition.
Type AdvDeploymentConditionType `json:"type"`
// Status of the condition, one of True, False, Unknown.
Status corev1.ConditionStatus `json:"status"`
// The last time this condition was updated.
LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"`
// Last time the condition transitioned from one status to another.
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
// The reason for the condition's last transition.
Reason string `json:"reason,omitempty"`
// A human readable message indicating details about the transition.
Message string `json:"message,omitempty"`
}
AdvDeploymentCondition describes the state of a adv deployment at a certain point.
func (*AdvDeploymentCondition) DeepCopy ¶
func (in *AdvDeploymentCondition) DeepCopy() *AdvDeploymentCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvDeploymentCondition.
func (*AdvDeploymentCondition) DeepCopyInto ¶
func (in *AdvDeploymentCondition) DeepCopyInto(out *AdvDeploymentCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AdvDeploymentConditionType ¶
type AdvDeploymentConditionType string
AdvDeploymentConditionType advdeployment condition type
const ( // Available means the deployment is available, ie. at least the minimum available // replicas required are up and running for at least minReadySeconds. DeploymentAvailable AdvDeploymentConditionType = "Available" // Progressing means the deployment is progressing. Progress for a deployment is // considered when a new replica set is created or adopted, and when new pods scale // up or old pods scale down. Progress is not estimated for paused deployments or // when progressDeadlineSeconds is not specified. DeploymentProgressing AdvDeploymentConditionType = "Progressing" // ReplicaFailure is added in a deployment when one of its pods fails to be created // or deleted. DeploymentReplicaFailure AdvDeploymentConditionType = "ReplicaFailure" )
These are valid conditions of a deployment.
type AdvDeploymentList ¶
type AdvDeploymentList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []AdvDeployment `json:"items"`
}
AdvDeploymentList contains a list of AdvDeployment
func (*AdvDeploymentList) DeepCopy ¶
func (in *AdvDeploymentList) DeepCopy() *AdvDeploymentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvDeploymentList.
func (*AdvDeploymentList) DeepCopyInto ¶
func (in *AdvDeploymentList) DeepCopyInto(out *AdvDeploymentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AdvDeploymentList) DeepCopyObject ¶
func (in *AdvDeploymentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AdvDeploymentSpec ¶
type AdvDeploymentSpec struct {
// Replicas is the total desired replicas of all the subsets.
// If unspecified, defaults to 1.
// +optional
Replicas *int32 `json:"replicas,omitempty"`
ServiceName *string `json:"serviceName,omitempty"`
// template is the object that describes the pod that will be created if
// insufficient replicas are detected. Each pod stamped out by the workload
// will fulfill this Template, but have a unique identity from the rest
// of the workload.
PodSpec PodSpec `json:"podSpec,omitempty"`
// UpdateStrategy indicates the strategy the advDeployment use to preform the update,
// when template is changed.
// +optional
UpdateStrategy AdvDeploymentUpdateStrategy `json:"updateStrategy,omitempty"`
// Topology describes the pods distribution detail between each of subsets.
// +optional
Topology Topology `json:"topology,omitempty"`
// Indicates the number of histories to be conserved.
// If unspecified, defaults to 10.
// +optional
RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty"`
}
AdvDeploymentSpec defines the desired state of AdvDeployment
func (*AdvDeploymentSpec) DeepCopy ¶
func (in *AdvDeploymentSpec) DeepCopy() *AdvDeploymentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvDeploymentSpec.
func (*AdvDeploymentSpec) DeepCopyInto ¶
func (in *AdvDeploymentSpec) DeepCopyInto(out *AdvDeploymentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AdvDeploymentStatus ¶
type AdvDeploymentStatus struct {
// observedGeneration is the most recent generation observed for this workload. It corresponds to the
// StatefulSet's generation, which is updated on mutation by the API Server.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
//
Conditions []AdvDeploymentCondition `json:"conditions,omitempty"`
// currentRevision, if not empty, indicates the version of the workload used to generate Pods in the
// sequence [0,currentReplicas).
CurrentRevision string `json:"currentRevision,omitempty"`
// updateRevision, if not empty, indicates the version of the workload used to generate Pods in the sequence
// [replicas-updatedReplicas,replicas)
UpdateRevision string `json:"updateRevision,omitempty"`
//
LastUpdateTime *metav1.Time `json:"lastUpdateTime,omitempty"`
// collisionCount is the count of hash collisions for the workload. The workload controller
// uses this field as a collision avoidance mechanism when it needs to create the name for the
// newest ControllerRevision.
// +optional
CollisionCount *int32 `json:"collisionCount,omitempty"`
//
AggrStatus AdvDeploymentAggrStatus `json:"aggrStatus,omitempty"`
}
AdvDeploymentStatus defines the observed state of AdvDeployment
func (*AdvDeploymentStatus) DeepCopy ¶
func (in *AdvDeploymentStatus) DeepCopy() *AdvDeploymentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvDeploymentStatus.
func (*AdvDeploymentStatus) DeepCopyInto ¶
func (in *AdvDeploymentStatus) DeepCopyInto(out *AdvDeploymentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AdvDeploymentUpdateStrategy ¶
type AdvDeploymentUpdateStrategy struct {
// canary, blue, green
UpgradeType string `json:"upgradeType,omitempty"`
StatefulSetStrategy *StatefulSetStrategy `json:"statefulSetStrategy,omitempty"`
MinReadySeconds int32 `json:"minReadySeconds,omitempty"`
Meta map[string]string `json:"meta,omitempty"`
// Priorities are the rules for calculating the priority of updating pods.
// Each pod to be updated, will pass through these terms and get a sum of weights.
// Also, priorityStrategy can just be allowed to work with Parallel podManagementPolicy.
// +optional
PriorityStrategy *UpdatePriorityStrategy `json:"priorityStrategy,omitempty"`
Paused bool `json:"paused,omitempty"`
NeedWaitingForConfirm bool `json:"needWaitingForConfirm,omitempty"`
}
AdvDeploymentUpdateStrategy advdeployment update strategy
func (*AdvDeploymentUpdateStrategy) DeepCopy ¶
func (in *AdvDeploymentUpdateStrategy) DeepCopy() *AdvDeploymentUpdateStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdvDeploymentUpdateStrategy.
func (*AdvDeploymentUpdateStrategy) DeepCopyInto ¶
func (in *AdvDeploymentUpdateStrategy) DeepCopyInto(out *AdvDeploymentUpdateStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AggrAppSetStatus ¶
type AggrAppSetStatus struct {
Status AppStatus `json:"status,omitempty"`
Version string `json:"version,omitempty"`
Desired int32 `json:"desired"`
Available int32 `json:"available"`
UnAvailable int32 `json:"unAvailable"`
Clusters []*ClusterAppActual `json:"clusters,omitempty"`
Pods []*Pod `json:"pods,omitempty"`
WarnEvents []*Event `json:"warnEvents,omitempty"`
Service *Service `json:"service,omitempty"`
}
AggrAppSetStatus represent the app status
func (*AggrAppSetStatus) DeepCopy ¶
func (in *AggrAppSetStatus) DeepCopy() *AggrAppSetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AggrAppSetStatus.
func (*AggrAppSetStatus) DeepCopyInto ¶
func (in *AggrAppSetStatus) DeepCopyInto(out *AggrAppSetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppSet ¶
type AppSet struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec AppSetSpec `json:"spec,omitempty"`
Status AppSetStatus `json:"status,omitempty"`
}
+k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=as +kubebuilder:printcolumn:name="DESIRED",type="integer",JSONPath=".status.aggrStatus.desired",description="The desired number of pods." +kubebuilder:printcolumn:name="AVAILABLE",type="integer",JSONPath=".status.aggrStatus.available",description="The number of pods ready." +kubebuilder:printcolumn:name="UNAVAILABLE",type="integer",JSONPath=".status.aggrStatus.unAvailable",description="The number of pods unAvailable." +kubebuilder:printcolumn:name="VERSION",type="string",JSONPath=".status.aggrStatus.version",description="The image version." +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.aggrStatus.status",description="The app run status." +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp",description="CreationTimestamp is a timestamp representing the server time when this object was created. "
func (*AppSet) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppSet.
func (*AppSet) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppSet) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AppSetCondition ¶
type AppSetCondition struct {
// Type of in place set condition.
Type AppSetConditionType `json:"type,omitempty"`
// Status of the condition, one of True, False, Unknown.
Status corev1.ConditionStatus `json:"status,omitempty"`
// Last time the condition transitioned from one status to another.
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
// The reason for the condition's last transition.
Reason string `json:"reason,omitempty"`
// A human readable message indicating details about the transition.
Message string `json:"message,omitempty"`
}
UnitedDeploymentCondition describes current state of a UnitedDeployment.
func (*AppSetCondition) DeepCopy ¶
func (in *AppSetCondition) DeepCopy() *AppSetCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppSetCondition.
func (*AppSetCondition) DeepCopyInto ¶
func (in *AppSetCondition) DeepCopyInto(out *AppSetCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppSetConditionType ¶
type AppSetConditionType string
AppSetConditionType indicates valid conditions type of a UnitedDeployment.
type AppSetList ¶
type AppSetList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []AppSet `json:"items"`
}
+kubebuilder:object:root=true AppStatusList implements list of AppStatus. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*AppSetList) DeepCopy ¶
func (in *AppSetList) DeepCopy() *AppSetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppSetList.
func (*AppSetList) DeepCopyInto ¶
func (in *AppSetList) DeepCopyInto(out *AppSetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppSetList) DeepCopyObject ¶
func (in *AppSetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AppSetSpec ¶
type AppSetSpec struct {
Labels map[string]string `json:"labels,omitempty"`
Meta map[string]string `json:"meta,omitempty"`
Replicas *int32 `json:"replicas,omitempty"`
ServiceName *string `json:"serviceName,omitempty"`
// template is the object that describes the pod that will be created if
// insufficient replicas are detected. Each pod stamped out by the workload
// will fulfill this Template, but have a unique identity from the rest
// of the workload.
PodSpec PodSpec `json:"podSpec,omitempty"`
// UpdateStrategy indicates the strategy the advDeployment use to preform the update,
// when template is changed.
// +optional
UpdateStrategy AppSetUpdateStrategy `json:"updateStrategy,omitempty"`
// Topology describes the pods distribution detail between each of subsets.
// +optional
ClusterTopology ClusterTopology `json:"clusterTopology,omitempty"`
}
AppSetSpec contains AppSet specification
func (*AppSetSpec) DeepCopy ¶
func (in *AppSetSpec) DeepCopy() *AppSetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppSetSpec.
func (*AppSetSpec) DeepCopyInto ¶
func (in *AppSetSpec) DeepCopyInto(out *AppSetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppSetStatus ¶
type AppSetStatus struct {
// ObservedGeneration is the most recent generation observed for this worklod. It corresponds to the
// worklod's generation, which is updated on mutation by the API Server.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
LastUpdateTime *metav1.Time `json:"lastUpdateTime,omitempty"`
// Represents the latest available observations of a UnitedDeployment's current state.
// +optional
Conditions []AppSetCondition `json:"conditions,omitempty"`
AggrStatus AggrAppSetStatus `json:"aggrStatus,omitempty"`
}
AppSetStatus contains AppSet status
func (*AppSetStatus) DeepCopy ¶
func (in *AppSetStatus) DeepCopy() *AppSetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppSetStatus.
func (*AppSetStatus) DeepCopyInto ¶
func (in *AppSetStatus) DeepCopyInto(out *AppSetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppSetUpdateStrategy ¶
type AppSetUpdateStrategy struct {
// canary, blue, green
UpgradeType string `json:"upgradeType,omitempty"`
MinReadySeconds int32 `json:"minReadySeconds,omitempty"`
PriorityStrategy *UpdatePriorityStrategy `json:"priorityStrategy,omitempty"`
CanaryClusters []string `json:"canaryClusters,omitempty"`
Paused bool `json:"paused,omitempty"`
NeedWaitingForConfirm bool `json:"needWaitingForConfirm,omitempty"`
}
func (*AppSetUpdateStrategy) DeepCopy ¶
func (in *AppSetUpdateStrategy) DeepCopy() *AppSetUpdateStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppSetUpdateStrategy.
func (*AppSetUpdateStrategy) DeepCopyInto ¶
func (in *AppSetUpdateStrategy) DeepCopyInto(out *AppSetUpdateStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppStatus ¶
type AppStatus string
AppStatus app status
const ( AppStatusRuning AppStatus = "Running" AppStatusMigrating AppStatus = "Migrating" AppStatusWorkRatioing AppStatus = "WorkRatioing" AppStatusScaling AppStatus = "Scaling" AppStatusUpdateing AppStatus = "Updateing" AppStatusInstalling AppStatus = "Installing" AppStatusUnknown AppStatus = "Unknown" )
AppStatus enum
type ChartSpec ¶
type ChartSpec struct {
RawChart *[]byte `json:"rawChart,omitempty"`
CharURL *ChartURL `json:"chartUrl,omitempty"`
}
ChartSpec charspec with raw content
func (*ChartSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartSpec.
func (*ChartSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChartURL ¶
type ChartURL struct {
URL string `json:"url,omitempty"`
ChartVersion string `json:"chartVersion,omitempty"`
}
ChartURL char url info
func (*ChartURL) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartURL.
func (*ChartURL) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterAppActual ¶
type ClusterAppActual struct {
Name string `json:"name,omitempty"`
Desired int32 `json:"desired,omitempty"`
Available int32 `json:"available,omitempty"`
UnAvailable int32 `json:"unAvailable,omitempty"`
PodSets []*PodSetStatusInfo `json:"podSets,omitempty"`
}
ClusterAppActual cluster app actual info
func (*ClusterAppActual) DeepCopy ¶
func (in *ClusterAppActual) DeepCopy() *ClusterAppActual
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAppActual.
func (*ClusterAppActual) DeepCopyInto ¶
func (in *ClusterAppActual) DeepCopyInto(out *ClusterAppActual)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterTopology ¶
type ClusterTopology struct {
Clusters []*TargetCluster `json:"clusters,omitempty"`
}
func (*ClusterTopology) DeepCopy ¶
func (in *ClusterTopology) DeepCopy() *ClusterTopology
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTopology.
func (*ClusterTopology) DeepCopyInto ¶
func (in *ClusterTopology) DeepCopyInto(out *ClusterTopology)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeployState ¶
type DeployState string
DeployState deployment state
const ( Created DeployState = "Created" ReconcileFailed DeployState = "ReconcileFailed" Reconciling DeployState = "Reconciling" Available DeployState = "Available" Unmanaged DeployState = "Unmanaged" )
Deploy state enum
type Endpoint ¶
type Endpoint struct {
// Hostname, either as a domain name or IP address.
Host string `json:"host,omitempty"`
// List of ports opened for this endpoint on the hostname.
Ports []ServicePort `json:"ports,omitempty"`
}
Endpoint describes an endpoint that is host and a list of available ports for that host.
func (*Endpoint) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoint.
func (*Endpoint) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Event ¶
type Event struct {
// A human-readable description of the status of related object.
Message string `json:"message,omitempty"`
// Component from which the event is generated.
SourceComponent string `json:"sourceComponent,omitempty"`
Name string `json:"name,omitempty"`
// Reference to a piece of an object, which triggered an event. For example
// "spec.containers{name}" refers to container within pod with given name, if no container
// name is specified, for example "spec.containers[2]", then it refers to container with
// index 2 in this pod.
SubObject string `json:"object,omitempty"`
// The number of times this event has occurred.
Count int32 `json:"count,omitempty"`
// The time at which the event was first recorded.
FirstSeen metav1.Time `json:"firstSeen,omitempty"`
// The time at which the most recent occurrence of this event was recorded.
LastSeen metav1.Time `json:"lastSeen,omitempty"`
// Short, machine understandable string that gives the reason
// for this event being generated.
Reason string `json:"reason,omitempty"`
// Event type (at the moment only normal and warning are supported).
Type string `json:"type,omitempty"`
}
Event is a single event representation.
func (*Event) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Event.
func (*Event) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Pod ¶
type Pod struct {
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
State string `json:"state,omitempty"`
PodIP string `json:"podIp,omitempty"`
NodeIP string `json:"nodeIp,omitempty"`
NodeName string `json:"nodeName,omitempty"`
ClusterName string `json:"clusterName,omitempty"`
StartTime metav1.Time `json:"startTime,omitempty"`
}
Pod info
func (*Pod) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pod.
func (*Pod) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodSet ¶
type PodSet struct {
// Indicates subset name as a DNS_LABEL, which will be used to generate
// subset workload name prefix in the format '<deployment-name>-<subset-name>-'.
// Name should be unique between all of the subsets under one advDeployment.
Name string `json:"name"`
// Indicates the node selector to form the subset. Depending on the node selector,
// pods provisioned could be distributed across multiple groups of nodes.
// A subset's nodeSelectorTerm is not allowed to be updated.
// +optional
NodeSelectorTerm *corev1.NodeSelectorTerm `json:"nodeSelectorTerm,omitempty"`
// Indicates the number of the pod to be created under this subset. Replicas could also be
// percentage like '10%', which means 10% of UnitedDeployment replicas of pods will be distributed
// under this subset. If nil, the number of replicas in this subset is determined by controller.
// Controller will try to keep all the subsets with nil replicas have average pods.
// +optional
Replicas *intstr.IntOrString `json:"replicas,omitempty"`
Image string `json:"image,omitempty"`
// the images version
Version string `json:"version,omitempty"`
// the override podset chart spec
Chart *ChartSpec `json:"chart,omitempty"`
// use for helm
RawValues string `json:"rawValues,omitempty"`
// exp: bule/green, rz/gz
Mata map[string]string `json:"meta,omitempty"`
}
PodSet defines the detail of a PodSet.
func (*PodSet) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSet.
func (*PodSet) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodSetStatusInfo ¶
type PodSetStatusInfo struct {
Name string `json:"name"`
Desired int32 `json:"desired"`
Available int32 `json:"available"`
UnAvailable int32 `json:"unAvailable,omitempty"`
Version string `json:"version,omitempty"`
ClusterName string `json:"clusterName,omitempty"`
HaveDeploy *bool `json:"haveDeploy,omitempty"`
Ready *int32 `json:"ready,omitempty"`
Update *int32 `json:"update,omitempty"`
Current *int32 `json:"current,omitempty"`
Running *int32 `json:"running,omitempty"`
WarnEvent *int32 `json:"warnEvent,omitempty"`
EndpointReady *int32 `json:"endpointReady,omitempty"`
}
PodSetStatusInfo pod status info
func (*PodSetStatusInfo) DeepCopy ¶
func (in *PodSetStatusInfo) DeepCopy() *PodSetStatusInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSetStatusInfo.
func (*PodSetStatusInfo) DeepCopyInto ¶
func (in *PodSetStatusInfo) DeepCopyInto(out *PodSetStatusInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodSpec ¶
type PodSpec struct {
// support PodSet:helm, InPlaceSet,StatefulSet, deployment
// Default value is deployment
// +optional
DeployType string `json:"deployType,omitempty"`
// Selector is a label query over pods that should match the replica count.
// It must match the pod template's labels.
Selector *metav1.LabelSelector `json:"selector,omitempty"`
Template *corev1.PodTemplateSpec `json:"template,omitempty"`
Chart *ChartSpec `json:"chart,omitempty"`
}
PodSpec pod spec info
func (*PodSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSpec.
func (*PodSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodUpdateStrategyType ¶
type PodUpdateStrategyType string
PodUpdateStrategyType is a string enumeration type that enumerates all possible ways we can update a Pod when updating application
const ( RecreatePodUpdateStrategyType PodUpdateStrategyType = "ReCreate" InPlaceIfPossiblePodUpdateStrategyType PodUpdateStrategyType = "InPlaceIfPossible" InPlaceOnlyPodUpdateStrategyType PodUpdateStrategyType = "InPlaceOnly" )
PodUpdateStrategyType enum
type Service ¶
type Service struct {
// InternalEndpoint of all Kubernetes services that have the same label selector as connected Replication
// Controller. Endpoints is DNS name merged with ports.
InternalEndpoint Endpoint `json:"internalEndpoint,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
// Label selector of the service.
Selector map[string]string `json:"selector,omitempty"`
// Type determines how the service will be exposed. Valid options: ClusterIP, NodePort, LoadBalancer
Type string `json:"type,omitempty"`
// ClusterIP is usually assigned by the master. Valid values are None, empty string (""), or
// a valid IP address. None can be specified for headless services when proxying is not required
ClusterIP string `json:"clusterIP,omitempty"`
Domain *string `json:"domain,omitempty"`
}
Service service info
func (*Service) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.
func (*Service) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServicePort ¶
type ServicePort struct {
Name string `json:"name"`
Port int32 `json:"port"`
Protocol string `json:"protocol"`
TargetPort int32 `json:"targetPort"`
}
ServicePort is a pair of port and protocol, e.g. a service endpoint.
func (*ServicePort) DeepCopy ¶
func (in *ServicePort) DeepCopy() *ServicePort
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePort.
func (*ServicePort) DeepCopyInto ¶
func (in *ServicePort) DeepCopyInto(out *ServicePort)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatefulSetStrategy ¶
type StatefulSetStrategy struct {
Partition *int32 `json:"partition,omitempty"`
PodUpdatePolicy PodUpdateStrategyType `json:"podUpdatePolicy,omitempty"`
}
StatefulSetStrategy is used to communicate parameter for StatefulSetStrategyType.
func (*StatefulSetStrategy) DeepCopy ¶
func (in *StatefulSetStrategy) DeepCopy() *StatefulSetStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulSetStrategy.
func (*StatefulSetStrategy) DeepCopyInto ¶
func (in *StatefulSetStrategy) DeepCopyInto(out *StatefulSetStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TargetCluster ¶
type TargetCluster struct {
// Target cluster name
Name string `json:"name,omitempty"`
// exp: zone, rack
Meta map[string]string `json:"meta,omitempty"`
// Contains the details of each subset. Each element in this array represents one subset
// which will be provisioned and managed by UnitedDeployment.
// +optional
PodSets []*PodSet `json:"podSets,omitempty"`
}
func (*TargetCluster) DeepCopy ¶
func (in *TargetCluster) DeepCopy() *TargetCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetCluster.
func (*TargetCluster) DeepCopyInto ¶
func (in *TargetCluster) DeepCopyInto(out *TargetCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Topology ¶
type Topology struct {
// Contains the details of each subset. Each element in this array represents one subset
// which will be provisioned and managed by UnitedDeployment.
// +optional
PodSets []*PodSet `json:"podSets,omitempty"`
}
Topology defines the spread detail of each subset under UnitedDeployment. A UnitedDeployment manages multiple homogeneous workloads which are called subset. Each of subsets under the UnitedDeployment is described in Topology.
func (*Topology) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Topology.
func (*Topology) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpdatePriorityOrderTerm ¶
type UpdatePriorityOrderTerm struct {
// Calculate priority by value of this key.
// Values of this key, will be sorted by GetInt(val). GetInt method will find the last int in value,
// such as getting 5 in value '5', getting 10 in value 'sts-10'.
OrderedKey string `json:"orderedKey"`
}
UpdatePriorityOrderTerm defines order priority.
func (*UpdatePriorityOrderTerm) DeepCopy ¶
func (in *UpdatePriorityOrderTerm) DeepCopy() *UpdatePriorityOrderTerm
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdatePriorityOrderTerm.
func (*UpdatePriorityOrderTerm) DeepCopyInto ¶
func (in *UpdatePriorityOrderTerm) DeepCopyInto(out *UpdatePriorityOrderTerm)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpdatePriorityStrategy ¶
type UpdatePriorityStrategy struct {
// First, all pods which have key1 in labels will be sorted by the value of key1.
// Then, the left pods which have no key1 but have key2 in labels will be sorted by
// the value of key2 and put behind those pods have key1.
OrderPriority []UpdatePriorityOrderTerm `json:"orderPriority,omitempty"`
// Weight priority terms, pods will be sorted by the sum of all terms weight.
WeightPriority []UpdatePriorityWeightTerm `json:"weightPriority,omitempty"`
}
UpdatePriorityStrategy is the strategy to define priority for pods update. Only one of orderPriority and weightPriority can be set.
func (*UpdatePriorityStrategy) DeepCopy ¶
func (in *UpdatePriorityStrategy) DeepCopy() *UpdatePriorityStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdatePriorityStrategy.
func (*UpdatePriorityStrategy) DeepCopyInto ¶
func (in *UpdatePriorityStrategy) DeepCopyInto(out *UpdatePriorityStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpdatePriorityWeightTerm ¶
type UpdatePriorityWeightTerm struct {
// Weight associated with matching the corresponding matchExpressions, in the range 1-100.
Weight int32 `json:"weight"`
// MatchSelector is used to select by pod's labels.
MatchSelector metav1.LabelSelector `json:"matchSelector"`
}
UpdatePriorityWeightTerm defines weight priority.
func (*UpdatePriorityWeightTerm) DeepCopy ¶
func (in *UpdatePriorityWeightTerm) DeepCopy() *UpdatePriorityWeightTerm
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdatePriorityWeightTerm.
func (*UpdatePriorityWeightTerm) DeepCopyInto ¶
func (in *UpdatePriorityWeightTerm) DeepCopyInto(out *UpdatePriorityWeightTerm)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.