v1beta1

package
v0.0.0-...-210f5be Latest Latest
Warning

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

Go to latest
Published: Feb 6, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the workload v1beta1 API group +kubebuilder:object:generate=true +groupName=workload.dmall.domain

Index

Constants

This section is empty.

Variables

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

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

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

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

func (*AdvDeploymentUpdateStrategy) DeepCopyInto

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

func (in *AppSet) DeepCopy() *AppSet

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

func (*AppSet) DeepCopyInto

func (in *AppSet) DeepCopyInto(out *AppSet)

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

func (*AppSet) DeepCopyObject

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

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

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

func (in *ChartSpec) DeepCopy() *ChartSpec

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

func (*ChartSpec) DeepCopyInto

func (in *ChartSpec) DeepCopyInto(out *ChartSpec)

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

func (in *ChartURL) DeepCopy() *ChartURL

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

func (*ChartURL) DeepCopyInto

func (in *ChartURL) DeepCopyInto(out *ChartURL)

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

func (in *Endpoint) DeepCopy() *Endpoint

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

func (*Endpoint) DeepCopyInto

func (in *Endpoint) DeepCopyInto(out *Endpoint)

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

func (in *Event) DeepCopy() *Event

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

func (*Event) DeepCopyInto

func (in *Event) DeepCopyInto(out *Event)

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

func (in *Pod) DeepCopy() *Pod

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

func (*Pod) DeepCopyInto

func (in *Pod) DeepCopyInto(out *Pod)

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

func (in *PodSet) DeepCopy() *PodSet

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

func (*PodSet) DeepCopyInto

func (in *PodSet) DeepCopyInto(out *PodSet)

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

func (in *PodSpec) DeepCopy() *PodSpec

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

func (*PodSpec) DeepCopyInto

func (in *PodSpec) DeepCopyInto(out *PodSpec)

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

func (in *Service) DeepCopy() *Service

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

func (*Service) DeepCopyInto

func (in *Service) DeepCopyInto(out *Service)

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"`
	MaxUnavailable  *intstr.IntOrString   `json:"maxUnavailable,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

func (in *Topology) DeepCopy() *Topology

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

func (*Topology) DeepCopyInto

func (in *Topology) DeepCopyInto(out *Topology)

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

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

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

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.

Jump to

Keyboard shortcuts

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