v1alpha1

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the apps v1alpha1 API group +kubebuilder:object:generate=true +groupName=apps.kusionstack.io

Index

Constants

View Source
const (
	DefaultWebhookInterval = int64(5)
	DefaultWebhookTimeout  = int64(60)
)
View Source
const (
	PodAvailableConditionsAnnotation = "pod.kusionstack.io/available-conditions" // indicate the available conditions of a pod

	LastPodStatusAnnotationKey = "collaset.kusionstack.io/last-pod-status"
)
View Source
const (
	AnnotationPodSkipRuleConditions         = "podtransitionrule.kusionstack.io/skip-rule-conditions"
	AnnotationPodTransitionRuleDetailPrefix = "detail.podtransitionrule.kusionstack.io"
)

PodTransitionRule Annotation

View Source
const (
	ControlledByKusionStackLabelKey = "kusionstack.io/control"

	PodOperatingLabelPrefix           = "operating.podopslifecycle.kusionstack.io"            // indicate a pod is operating
	PodOperationTypeLabelPrefix       = "operation-type.podopslifecycle.kusionstack.io"       // indicate the type of operation
	PodOperationPermissionLabelPrefix = "operation-permission.podopslifecycle.kusionstack.io" // indicate the permission of operation
	PodUndoOperationTypeLabelPrefix   = "undo-operation-type.podopslifecycle.kusionstack.io"  // indicate the type of operation has been canceled
	PodDoneOperationTypeLabelPrefix   = "done-operation-type.podopslifecycle.kusionstack.io"  // indicate the type of operation has been done

	PodPreCheckLabelPrefix    = "pre-check.podopslifecycle.kusionstack.io"    // indicate a pod is in pre-check phase
	PodPreCheckedLabelPrefix  = "pre-checked.podopslifecycle.kusionstack.io"  // indicate a pod has finished pre-check phase
	PodPreparingLabelPrefix   = "preparing.podopslifecycle.kusionstack.io"    // indicate a pod is preparing for operation
	PodOperateLabelPrefix     = "operate.podopslifecycle.kusionstack.io"      // indicate a pod is in operate phase
	PodOperatedLabelPrefix    = "operated.podopslifecycle.kusionstack.io"     // indicate a pod has finished operate phase
	PodPostCheckLabelPrefix   = "post-check.podopslifecycle.kusionstack.io"   // indicate a pod is in post-check phase
	PodPostCheckedLabelPrefix = "post-checked.podopslifecycle.kusionstack.io" // indicate a pod has finished post-check phase
	PodCompletingLabelPrefix  = "completing.podopslifecycle.kusionstack.io"   // indicate a pod is completing operation

	PodServiceAvailableLabel          = "podopslifecycle.kusionstack.io/service-available" // indicate a pod is available to serve
	PodDeletionIndicationLabelKey     = "podopslifecycle.kusionstack.io/to-delete"         // users can use this label to indicate a pod to delete
	PodReplaceIndicationLabelKey      = "podopslifecycle.kusionstack.io/to-replace"        // users can use this label to indicate a pod to replace
	PodReplaceByReplaceUpdateLabelKey = "podopslifecycle.kusionstack.io/replaced-by-replace-update"
	PodPreparingDeleteLabel           = "podopslifecycle.kusionstack.io/preparing-to-delete"

	PodInstanceIDLabelKey = "collaset.kusionstack.io/instance-id" // used to attach Pod instance ID on Pod

	PodReplacePairOriginName = "collaset.kusionstack.io/replace-pair-origin-name" // used to indicate the original Pod name for replacement.

	PodReplacePairNewId = "collaset.kusionstack.io/replace-pair-new-id" // used to indicate the new created Pod instance ID for replacement.

	PvcTemplateHashLabelKey = "collaset.kusionstack.io/pvc-template-hash" // used to attach hash of pvc template to pvc resource

)

pod ops lifecyle labels

View Source
const (
	PodOperationProtectionFinalizerPrefix = "prot.podopslifecycle.kusionstack.io"
	ProtectFinalizer                      = "finalizer.operating.kusionstack.io/protected"
)

well known finalizer

View Source
const (
	PodDeletionEvent  = "PodDeletion"
	ServiceReadyEvent = "ServiceReady"
)

well known event reasons

View Source
const (
	PodOpsLifecyclePreCheckStage  = "PreCheck"
	PodOpsLifecyclePostCheckStage = "PostCheck"
)

well known variables

View Source
const (
	// AnnotationPodDecorationRevision struct: { groupName: {name: pdName, revision: currentRevision}, groupName: {} }
	AnnotationPodDecorationRevision = "poddecoration.kusionstack.io/revisions"
)

PodDecoration Annotation

View Source
const (
	CollaSetUpdateIndicateLabelKey = "collaset.kusionstack.io/update-included"
)
View Source
const (
	ReadinessGatePodServiceReady = "pod.kusionstack.io/service-ready"
)

well known readiness gate

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "apps.kusionstack.io", Version: "v1alpha1"}

	// 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

func SetDefaultCollaSetUpdateStrategy added in v0.2.0

func SetDefaultCollaSetUpdateStrategy(cls *CollaSet)

func SetDefaultPodSpec added in v0.2.0

func SetDefaultPodSpec(in *CollaSet)

func SetDetaultCollaSet added in v0.2.0

func SetDetaultCollaSet(cls *CollaSet)

Types

type AvailableRule

type AvailableRule struct {
	// MaxUnavailableValue is the expected max unavailable replicas which is allowed to be a integer or a percentage of the whole
	// number of the target resources.
	MaxUnavailableValue *intstr.IntOrString `json:"maxUnavailableValue,omitempty"`

	// MinAvailableValue is the expected min available replicas which is allowed to be a integer or a percentage of the whole
	// number of the target resources.
	MinAvailableValue *intstr.IntOrString `json:"minAvailableValue,omitempty"`
}

func (*AvailableRule) DeepCopy

func (in *AvailableRule) DeepCopy() *AvailableRule

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

func (*AvailableRule) DeepCopyInto

func (in *AvailableRule) DeepCopyInto(out *AvailableRule)

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

type ByLabel

type ByLabel struct {
}

func (*ByLabel) DeepCopy

func (in *ByLabel) DeepCopy() *ByLabel

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

func (*ByLabel) DeepCopyInto

func (in *ByLabel) DeepCopyInto(out *ByLabel)

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

type ByPartition

type ByPartition struct {
	// Partition controls the update progress by indicating how many pods should be updated.
	// Defaults to nil (all pods will be updated)
	// +optional
	Partition *int32 `json:"partition,omitempty"`
}

func (*ByPartition) DeepCopy

func (in *ByPartition) DeepCopy() *ByPartition

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

func (*ByPartition) DeepCopyInto

func (in *ByPartition) DeepCopyInto(out *ByPartition)

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

type ClientConfigBeta1 added in v0.2.0

type ClientConfigBeta1 struct {
	// URL gives the location of the webhook.
	URL string `json:"url"`

	// CABundle is a PEM encoded CA bundle which will be used to validate the webhook's server certificate.
	// +optional
	CABundle string `json:"caBundle,omitempty"`

	// Poll is the polling to query url.
	// +optional
	Poll *Poll `json:"poll,omitempty"`
}

func (*ClientConfigBeta1) DeepCopy added in v0.2.0

func (in *ClientConfigBeta1) DeepCopy() *ClientConfigBeta1

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

func (*ClientConfigBeta1) DeepCopyInto added in v0.2.0

func (in *ClientConfigBeta1) DeepCopyInto(out *ClientConfigBeta1)

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

type CollaSet

type CollaSet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   CollaSetSpec   `json:"spec,omitempty"`
	Status CollaSetStatus `json:"status,omitempty"`
}

CollaSet is the Schema for the collasets API +k8s:openapi-gen=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:shortName=cls +kubebuilder:subresource:status +kubebuilder:printcolumn:name="DESIRED",type="integer",JSONPath=".spec.replicas",description="The desired number of pods." +kubebuilder:printcolumn:name="CURRENT",type="integer",JSONPath=".status.replicas",description="The number of currently all pods." +kubebuilder:printcolumn:name="AVAILABLE",type="integer",JSONPath=".status.availableReplicas",description="The number of pods available." +kubebuilder:printcolumn:name="UPDATED",type="integer",JSONPath=".status.updatedReplicas",description="The number of pods updated." +kubebuilder:printcolumn:name="UPDATED_READY",type="integer",JSONPath=".status.updatedReadyReplicas",description="The number of pods ready." +kubebuilder:printcolumn:name="UPDATED_AVAILABLE",type="integer",JSONPath=".status.updatedAvailableReplicas",description="The number of pods updated available." +kubebuilder:printcolumn:name="CURRENT_REVISION",type="string",JSONPath=".status.currentRevision",description="The current revision." +kubebuilder:printcolumn:name="UPDATED_REVISION",type="string",JSONPath=".status.updatedRevision",description="The updated revision." +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +resource:path=collasets

func (*CollaSet) DeepCopy

func (in *CollaSet) DeepCopy() *CollaSet

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

func (*CollaSet) DeepCopyInto

func (in *CollaSet) DeepCopyInto(out *CollaSet)

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

func (*CollaSet) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CollaSetCondition

type CollaSetCondition struct {
	// Type of in place set condition.
	Type CollaSetConditionType `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"`
}

func (*CollaSetCondition) DeepCopy

func (in *CollaSetCondition) DeepCopy() *CollaSetCondition

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

func (*CollaSetCondition) DeepCopyInto

func (in *CollaSetCondition) DeepCopyInto(out *CollaSetCondition)

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

type CollaSetConditionType

type CollaSetConditionType string
const (
	CollaSetScale  CollaSetConditionType = "Scale"
	CollaSetUpdate CollaSetConditionType = "Update"
)

type CollaSetList

type CollaSetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []CollaSet `json:"items"`
}

CollaSetList contains a list of CollaSet

func (*CollaSetList) DeepCopy

func (in *CollaSetList) DeepCopy() *CollaSetList

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

func (*CollaSetList) DeepCopyInto

func (in *CollaSetList) DeepCopyInto(out *CollaSetList)

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

func (*CollaSetList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CollaSetSpec

type CollaSetSpec struct {
	// Indicates that the scaling and updating is paused and will not be processed by the
	// CollaSet controller.
	// +optional
	Paused bool `json:"paused,omitempty"`
	// Replicas is the desired number of replicas of the given Template.
	// These are replicas in the sense that they are instantiations of the
	// same Template, but individual replicas also have a consistent identity.
	// If unspecified, defaults to 0.
	// +optional
	Replicas *int32 `json:"replicas,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 is the object that describes the pod that will be created if
	// insufficient replicas are detected. Each pod stamped out by the CollaSet
	// will fulfill this Template, but have a unique identity from the rest
	// of the CollaSet.
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	Template corev1.PodTemplateSpec `json:"template,omitempty"`

	// VolumeClaimTemplates is a list of claims that pods are allowed to reference.
	// The StatefulSet controller is responsible for mapping network identities to
	// claims in a way that maintains the identity of a pod. Every claim in
	// this list must have at least one matching (by name) volumeMount in one
	// container in the template. A claim in this list takes precedence over
	// any volumes in the template, with the same name.
	// +optional
	VolumeClaimTemplates []corev1.PersistentVolumeClaim `json:"volumeClaimTemplates,omitempty"`

	// UpdateStrategy indicates the CollaSetUpdateStrategy that will be
	// employed to update Pods in the CollaSet when a revision is made to
	// Template.
	// +optional
	UpdateStrategy UpdateStrategy `json:"updateStrategy,omitempty"`

	// ScaleStrategy indicates the strategy detail that will be used during pod scaling.
	// +optional
	ScaleStrategy ScaleStrategy `json:"scaleStrategy,omitempty"`

	// Indicate the number of histories to be conserved
	// If unspecified, defaults to 20
	// +optional
	HistoryLimit int32 `json:"historyLimit,omitempty"`
}

CollaSetSpec defines the desired state of CollaSet

func (*CollaSetSpec) DeepCopy

func (in *CollaSetSpec) DeepCopy() *CollaSetSpec

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

func (*CollaSetSpec) DeepCopyInto

func (in *CollaSetSpec) DeepCopyInto(out *CollaSetSpec)

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

type CollaSetStatus

type CollaSetStatus struct {
	// ObservedGeneration is the most recent generation observed for this CollaSet. It corresponds to the
	// CollaSet's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// CurrentRevision, if not empty, indicates the version of the CollaSet.
	// +optional
	CurrentRevision string `json:"currentRevision,omitempty"`

	// UpdatedRevision, if not empty, indicates the version of the CollaSet currently updated.
	// +optional
	UpdatedRevision string `json:"updatedRevision,omitempty"`

	// Count of hash collisions for the CollaSet. The CollaSet 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"`

	// the number of scheduled replicas for the CollaSet.
	// +optional
	ScheduledReplicas int32 `json:"scheduledReplicas,omitempty"`

	// ReadyReplicas indicates the number of the pod with ready condition
	// +optional
	ReadyReplicas int32 `json:"readyReplicas,omitempty"`

	// The number of available replicas (ready for at least minReadySeconds) for this replica set.
	// +optional
	AvailableReplicas int32 `json:"availableReplicas,omitempty"`

	// Replicas is the most recently observed number of replicas.
	// +optional
	Replicas int32 `json:"replicas,omitempty"`

	// The number of pods in updated version.
	// +optional
	UpdatedReplicas int32 `json:"updatedReplicas,omitempty"`

	// OperatingReplicas indicates the number of pods during pod ops lifecycle and not finish update-phase.
	// +optional
	OperatingReplicas int32 `json:"operatingReplicas,omitempty"`

	// UpdatedReadyReplicas indicates the number of the pod with updated revision and ready condition
	// +optional
	UpdatedReadyReplicas int32 `json:"updatedReadyReplicas,omitempty"`

	// UpdatedAvailableReplicas indicates the number of available updated revision replicas for this CollaSet.
	// A pod is updated available means the pod is ready for updated revision and accessible
	// +optional
	UpdatedAvailableReplicas int32 `json:"updatedAvailableReplicas,omitempty"`

	// Represents the latest available observations of a CollaSet's current state.
	// +optional
	Conditions []CollaSetCondition `json:"conditions,omitempty"`
}

CollaSetStatus defines the observed state of CollaSet

func (*CollaSetStatus) DeepCopy

func (in *CollaSetStatus) DeepCopy() *CollaSetStatus

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

func (*CollaSetStatus) DeepCopyInto

func (in *CollaSetStatus) DeepCopyInto(out *CollaSetStatus)

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

type ContainerInjectPolicy added in v0.2.0

type ContainerInjectPolicy string
const (
	BeforePrimaryContainer ContainerInjectPolicy = "BeforePrimaryContainer"
	AfterPrimaryContainer  ContainerInjectPolicy = "AfterPrimaryContainer"
)

type ContainerPatch added in v0.2.0

type ContainerPatch struct {
	// InjectPolicy indicates the position to inject the Container configuration.
	// Default is BeforePrimaryContainer.
	// +optional
	InjectPolicy ContainerInjectPolicy `json:"injectPolicy"`

	corev1.Container `json:",inline"`
}

func (*ContainerPatch) DeepCopy added in v0.2.0

func (in *ContainerPatch) DeepCopy() *ContainerPatch

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

func (*ContainerPatch) DeepCopyInto added in v0.2.0

func (in *ContainerPatch) DeepCopyInto(out *ContainerPatch)

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

type ContextDetail

type ContextDetail struct {
	ID   int               `json:"id"`
	Data map[string]string `json:"data,omitempty"`
}

func (*ContextDetail) Contains

func (cd *ContextDetail) Contains(key, value string) bool

Contains is used to check whether the key-value pair in contained in Data.

func (*ContextDetail) DeepCopy

func (in *ContextDetail) DeepCopy() *ContextDetail

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

func (*ContextDetail) DeepCopyInto

func (in *ContextDetail) DeepCopyInto(out *ContextDetail)

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

func (*ContextDetail) Get added in v0.2.0

func (cd *ContextDetail) Get(key string) (string, bool)

Get is used to get the specified key from Data.

func (*ContextDetail) Put

func (cd *ContextDetail) Put(key, value string)

Put is used to specify the value with the specified key in Data .

func (*ContextDetail) Remove

func (cd *ContextDetail) Remove(key string)

Remove is used to remove the specified key from Data .

type FailurePolicyType

type FailurePolicyType string

FailurePolicyType specifies the type of failure policy

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 LabelCheckRule

type LabelCheckRule struct {
	// Requires is the expected labels on pods
	Requires *metav1.LabelSelector `json:"requires"`
}

func (*LabelCheckRule) DeepCopy

func (in *LabelCheckRule) DeepCopy() *LabelCheckRule

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

func (*LabelCheckRule) DeepCopyInto

func (in *LabelCheckRule) DeepCopyInto(out *LabelCheckRule)

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

type MetadataPatchPolicy added in v0.2.0

type MetadataPatchPolicy string
const (
	RetainMetadata         MetadataPatchPolicy = "Retain"
	OverwriteMetadata      MetadataPatchPolicy = "Overwrite"
	MergePatchJsonMetadata MetadataPatchPolicy = "MergePatchJson"
)

type Parameter

type Parameter struct {
	// Key is the parameter key.
	Key string `json:"key,omitempty"`

	// Value is the string value of this parameter.
	// Defaults to "".
	// +optional
	Value string `json:"value,omitempty"`

	// Source for the parameter's value. Cannot be used if value is not empty.
	// +optional
	ValueFrom *ParameterSource `json:"valueFrom,omitempty"`
}

func (*Parameter) DeepCopy

func (in *Parameter) DeepCopy() *Parameter

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

func (*Parameter) DeepCopyInto

func (in *Parameter) DeepCopyInto(out *Parameter)

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

type ParameterSource

type ParameterSource struct {

	// Type defines target pod type.
	// +optional
	Type string `json:"type,omitempty"`

	// Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations,
	// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP.
	// +optional
	FieldRef *corev1.ObjectFieldSelector `json:"fieldRef,omitempty"`
}

func (*ParameterSource) DeepCopy

func (in *ParameterSource) DeepCopy() *ParameterSource

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

func (*ParameterSource) DeepCopyInto

func (in *ParameterSource) DeepCopyInto(out *ParameterSource)

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

type PersistentVolumeClaimRetentionPolicy

type PersistentVolumeClaimRetentionPolicy struct {
	// WhenDeleted specifies what happens to PVCs created from CollaSet
	// VolumeClaimTemplates when the CollaSet is deleted. The default policy
	// of `Delete` policy causes those PVCs to be deleted.
	//`Retain` causes PVCs to not be affected by StatefulSet deletion. The
	// +optional
	WhenDeleted PersistentVolumeClaimRetentionPolicyType `json:"whenDeleted,omitempty"`

	// WhenScaled specifies what happens to PVCs created from StatefulSet
	// VolumeClaimTemplates when the StatefulSet is scaled down. The default
	// policy of `Retain` causes PVCs to not be affected by a scaledown. The
	// `Delete` policy causes the associated PVCs for any excess pods above
	// the replica count to be deleted.
	// +optional
	WhenScaled PersistentVolumeClaimRetentionPolicyType `json:"whenScaled,omitempty"`
}

func (*PersistentVolumeClaimRetentionPolicy) DeepCopy

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

func (*PersistentVolumeClaimRetentionPolicy) DeepCopyInto

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

type PersistentVolumeClaimRetentionPolicyType

type PersistentVolumeClaimRetentionPolicyType string

PersistentVolumeClaimRetentionPolicyType is a string enumeration of the policies that will determine which action will be applied on volumes from the VolumeClaimTemplates when the CollaSet is deleted or scaled down.

const (
	// RetainPersistentVolumeClaimRetentionPolicyType specifies that
	// PersistentVolumeClaims associated with CollaSet VolumeClaimTemplates
	// will not be deleted.
	RetainPersistentVolumeClaimRetentionPolicyType PersistentVolumeClaimRetentionPolicyType = "Retain"
	// DeletePersistentVolumeClaimRetentionPolicyType is the default policy, which specifies that
	// PersistentVolumeClaims associated with CollaSet VolumeClaimTemplates
	// will be deleted in the scenario specified in PersistentVolumeClaimRetentionPolicy.
	DeletePersistentVolumeClaimRetentionPolicyType PersistentVolumeClaimRetentionPolicyType = "Delete"
)

type PodAvailableConditions

type PodAvailableConditions struct {
	ExpectedFinalizers map[string]string `json:"expectedFinalizers,omitempty"` // indicate the expected finalizers of a pod
}

+kubebuilder:object:generate=false

type PodDecoration added in v0.2.0

type PodDecoration struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PodDecorationSpec   `json:"spec,omitempty"`
	Status PodDecorationStatus `json:"status,omitempty"`
}

PodDecoration is the Schema for the poddecorations API +k8s:openapi-gen=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:shortName=pd +kubebuilder:subresource:status +kubebuilder:printcolumn:name="EFFECTIVE",type="boolean",JSONPath=".status.isEffective",description="The number of pods updated." +kubebuilder:printcolumn:name="MATCHED",type="integer",JSONPath=".status.matchedPods",description="The number of selected pods." +kubebuilder:printcolumn:name="INJECTED",type="integer",JSONPath=".status.injectedPods",description="The number of injected pods." +kubebuilder:printcolumn:name="UPDATED",type="integer",JSONPath=".status.updatedPods",description="The number of updated pods." +kubebuilder:printcolumn:name="UPDATED_READY",type="integer",JSONPath=".status.updatedReadyPods",description="The number of pods ready." +kubebuilder:printcolumn:name="CURRENT_REVISION",type="string",JSONPath=".status.currentRevision",description="The current revision." +kubebuilder:printcolumn:name="UPDATED_REVISION",type="string",JSONPath=".status.updatedRevision",description="The updated revision." +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +resource:path=poddecorations

func (*PodDecoration) DeepCopy added in v0.2.0

func (in *PodDecoration) DeepCopy() *PodDecoration

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

func (*PodDecoration) DeepCopyInto added in v0.2.0

func (in *PodDecoration) DeepCopyInto(out *PodDecoration)

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

func (*PodDecoration) DeepCopyObject added in v0.2.0

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PodDecorationAffinity added in v0.2.0

type PodDecorationAffinity struct {
	// OverrideAffinity indicates the pod's scheduling constraints. It is applied by overriding.
	// +optional
	OverrideAffinity *corev1.Affinity `json:"overrideAffinity,omitempty"`

	// NodeSelectorTerms indicates the node selector to append into the existing requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.
	NodeSelectorTerms []corev1.NodeSelectorTerm `json:"nodeSelectorTerms,omitempty"`
}

PodDecorationAffinity carries the configuration to inject into the Pod affinity.

func (*PodDecorationAffinity) DeepCopy added in v0.2.0

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

func (*PodDecorationAffinity) DeepCopyInto added in v0.2.0

func (in *PodDecorationAffinity) DeepCopyInto(out *PodDecorationAffinity)

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

type PodDecorationCondition added in v0.2.0

type PodDecorationCondition struct {
	// Type of in place set condition.
	Type CollaSetConditionType `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"`
}

func (*PodDecorationCondition) DeepCopy added in v0.2.0

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

func (*PodDecorationCondition) DeepCopyInto added in v0.2.0

func (in *PodDecorationCondition) DeepCopyInto(out *PodDecorationCondition)

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

type PodDecorationList added in v0.2.0

type PodDecorationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []PodDecoration `json:"items"`
}

PodDecorationList contains a list of PodDecoration

func (*PodDecorationList) DeepCopy added in v0.2.0

func (in *PodDecorationList) DeepCopy() *PodDecorationList

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

func (*PodDecorationList) DeepCopyInto added in v0.2.0

func (in *PodDecorationList) DeepCopyInto(out *PodDecorationList)

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

func (*PodDecorationList) DeepCopyObject added in v0.2.0

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PodDecorationPodInfo added in v0.2.0

type PodDecorationPodInfo struct {
	Name     string `json:"name,omitempty"`
	Revision string `json:"revision,omitempty"`
	Escaped  bool   `json:"escaped,omitempty"`
}

func (*PodDecorationPodInfo) DeepCopy added in v0.2.0

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

func (*PodDecorationPodInfo) DeepCopyInto added in v0.2.0

func (in *PodDecorationPodInfo) DeepCopyInto(out *PodDecorationPodInfo)

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

type PodDecorationPodTemplate added in v0.2.0

type PodDecorationPodTemplate struct {
	// Metadata is the ResourceDecoration to attach on pod metadata
	Metadata []*PodDecorationPodTemplateMeta `json:"metadata,omitempty"`

	// InitContainers is the init containers needs to be attached to a pod.
	// If there is a container with the same name, PodDecoration will retain old Container.
	InitContainers []*corev1.Container `json:"initContainers,omitempty"`

	// Containers is the containers need to be attached to a pod.
	// If there is a container with the same name, PodDecoration will override it entirely.
	Containers []*ContainerPatch `json:"containers,omitempty"`

	// PrimaryContainers contains the configuration to merge into the primary container.
	// Name in it is not required. If a name indicated, then merge to the container with the matched name,
	// otherwise merge to the one indicated by its policy.
	PrimaryContainers []*PrimaryContainerPatch `json:"primaryContainers,omitempty"`

	// Volumes will be attached to a pod spec volume.
	// If there is a volume with the same name, new volume will replace it.
	Volumes []corev1.Volume `json:"volumes,omitempty"`

	// If specified, the pod's scheduling constraints
	// +optional
	Affinity *PodDecorationAffinity `json:"affinity,omitempty"`

	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used
	// to run this pod.  If no RuntimeClass resource matches the named class, the pod will not be run.
	// If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an
	// empty definition that uses the default runtime handler.
	// More info: https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md
	// This is a beta feature as of Kubernetes v1.14.
	// +optional
	RuntimeClassName *string `json:"runtimeClassName,omitempty"`
}

func (*PodDecorationPodTemplate) DeepCopy added in v0.2.0

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

func (*PodDecorationPodTemplate) DeepCopyInto added in v0.2.0

func (in *PodDecorationPodTemplate) DeepCopyInto(out *PodDecorationPodTemplate)

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

type PodDecorationPodTemplateMeta added in v0.2.0

type PodDecorationPodTemplateMeta struct {

	// patch pod metadata policy, Default is "Retain"
	PatchPolicy MetadataPatchPolicy `json:"patchPolicy"`

	// Map of string keys and values that can be used to organize and categorize
	// (scope and select) objects. May match selectors of replication controllers
	// and services.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations is an unstructured key value map stored with a resource that may be
	// set by external tools to store and retrieve arbitrary metadata. They are not
	// queryable and should be preserved when modifying objects.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (*PodDecorationPodTemplateMeta) DeepCopy added in v0.2.0

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

func (*PodDecorationPodTemplateMeta) DeepCopyInto added in v0.2.0

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

type PodDecorationPrimaryContainer added in v0.2.0

type PodDecorationPrimaryContainer struct {
	// Name indicates target container name
	Name *string `json:"name,omitempty"`

	// Image indicates a new image to override the one in application container.
	Image *string `json:"image,omitempty"`

	// AppEnvs is the env variables that will be injected into application container.
	Env []corev1.EnvVar `json:"env,omitempty"`

	// VolumeMounts indicates the volume mount list which is injected into app container volume mount list.
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`
}

PodDecorationPrimaryContainer contains the decoration configuration to override the application container.

func (*PodDecorationPrimaryContainer) DeepCopy added in v0.2.0

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

func (*PodDecorationPrimaryContainer) DeepCopyInto added in v0.2.0

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

type PodDecorationRollingUpdate added in v0.2.0

type PodDecorationRollingUpdate struct {
	// Partition controls the update progress by indicating how many pods should be updated.
	// Partition value indicates the number of Pods which should be updated to the updated revision.
	// Defaults to nil (all pods will be updated)
	// +optional
	Partition *int32 `json:"partition,omitempty"`

	// Selector indicates the update progress is controlled by selector.
	// +optional
	Selector *metav1.LabelSelector `json:"selector,omitempty"`
}

func (*PodDecorationRollingUpdate) DeepCopy added in v0.2.0

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

func (*PodDecorationRollingUpdate) DeepCopyInto added in v0.2.0

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

type PodDecorationSpec added in v0.2.0

type PodDecorationSpec struct {
	// Indicate the number of histories to be conserved
	// If unspecified, defaults to 20
	// +optional
	HistoryLimit int32 `json:"historyLimit,omitempty"`

	// DisablePodDetail used to disable show status pod details
	DisablePodDetail bool `json:"disablePodDetail,omitempty"`

	// Selector is a label query over pods that should be injected with PodDecoration
	Selector *metav1.LabelSelector `json:"selector,omitempty"`

	// UpdateStrategy carries the strategy configuration for update.
	UpdateStrategy PodDecorationUpdateStrategy `json:"updateStrategy,omitempty"`

	// Weight indicates the priority to apply for a group of PodDecorations with same group value.
	// The greater one has higher priority to apply.
	// Default value is 0.
	Weight *int32 `json:"weight,omitempty"`

	// Template includes the decoration message about pod template.
	Template PodDecorationPodTemplate `json:"template,omitempty"`
}

PodDecorationSpec defines the desired state of PodDecoration

func (*PodDecorationSpec) DeepCopy added in v0.2.0

func (in *PodDecorationSpec) DeepCopy() *PodDecorationSpec

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

func (*PodDecorationSpec) DeepCopyInto added in v0.2.0

func (in *PodDecorationSpec) DeepCopyInto(out *PodDecorationSpec)

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

type PodDecorationStatus added in v0.2.0

type PodDecorationStatus struct {
	// ObservedGeneration is the most recent generation observed for this PodDecoration. It corresponds to the
	// PodDecoration's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// CurrentRevision, if not empty, indicates the version of the PodDecoration.
	// +optional
	CurrentRevision string `json:"currentRevision,omitempty"`

	// UpdatedRevision, if not empty, indicates the version of the PodDecoration currently updated.
	// +optional
	UpdatedRevision string `json:"updatedRevision,omitempty"`

	// Count of hash collisions for the PodDecoration. The PodDecoration 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"`

	// MatchedPods is the number of Pods whose labels are matched with this PodDecoration's selector
	MatchedPods int32 `json:"matchedPods,omitempty"`

	// UpdatedPods is the number of matched Pods that are injected with the latest PodDecoration's containers
	UpdatedPods int32 `json:"updatedPods,omitempty"`

	// InjectedPods is the number of injected Pods that are injected with this PodDecoration
	InjectedPods int32 `json:"injectedPods,omitempty"`

	// UpdatedReadyPods is the number of matched pods that updated and ready
	UpdatedReadyPods int32 `json:"updatedReadyPods,omitempty"`

	// UpdatedAvailablePods indicates the number of available updated revision replicas for this PodDecoration.
	// A pod is updated available means the pod is ready for updated revision and accessible
	// +optional
	UpdatedAvailablePods int32 `json:"updatedAvailablePods,omitempty"`

	// IsEffective indicates PodDecoration is the only one that takes effect in the same group
	IsEffective *bool `json:"isEffective,omitempty"`

	// Details record the update information of CollaSets and Pods
	Details []PodDecorationWorkloadDetail `json:"details,omitempty"`
}

PodDecorationStatus defines the observed state of PodDecoration

func (*PodDecorationStatus) DeepCopy added in v0.2.0

func (in *PodDecorationStatus) DeepCopy() *PodDecorationStatus

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

func (*PodDecorationStatus) DeepCopyInto added in v0.2.0

func (in *PodDecorationStatus) DeepCopyInto(out *PodDecorationStatus)

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

type PodDecorationUpdateStrategy added in v0.2.0

type PodDecorationUpdateStrategy struct {
	// RollingUpdate provides several ways to select Pods to update to target revision.
	RollingUpdate *PodDecorationRollingUpdate `json:"rollingUpdate,omitempty"`
}

func (*PodDecorationUpdateStrategy) DeepCopy added in v0.2.0

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

func (*PodDecorationUpdateStrategy) DeepCopyInto added in v0.2.0

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

type PodDecorationWorkloadDetail added in v0.2.0

type PodDecorationWorkloadDetail struct {
	CollaSet         string                 `json:"collaSet,omitempty"`
	AffectedReplicas int32                  `json:"affectedReplicas,omitempty"`
	Pods             []PodDecorationPodInfo `json:"pods,omitempty"`
}

func (*PodDecorationWorkloadDetail) DeepCopy added in v0.2.0

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

func (*PodDecorationWorkloadDetail) DeepCopyInto added in v0.2.0

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

type PodTransitionDetail added in v0.2.0

type PodTransitionDetail struct {
	// Name representing Pod name
	Name string `json:"name,omitempty"`
	// Stage is pod current stage
	Stage string `json:"stage,omitempty"`
	// Passed indicates whether the pod passed all rules
	Passed      bool         `json:"passed"`
	PassedRules []string     `json:"passedRules,omitempty"`
	RejectInfo  []RejectInfo `json:"rejectInfo,omitempty"`
}

func (*PodTransitionDetail) DeepCopy added in v0.2.0

func (in *PodTransitionDetail) DeepCopy() *PodTransitionDetail

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

func (*PodTransitionDetail) DeepCopyInto added in v0.2.0

func (in *PodTransitionDetail) DeepCopyInto(out *PodTransitionDetail)

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

type PodTransitionRule

type PodTransitionRule struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PodTransitionRuleSpec   `json:"spec,omitempty"`
	Status PodTransitionRuleStatus `json:"status,omitempty"`
}

PodTransitionRule is the Schema for the podtransitionrules API

func (*PodTransitionRule) DeepCopy

func (in *PodTransitionRule) DeepCopy() *PodTransitionRule

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

func (*PodTransitionRule) DeepCopyInto

func (in *PodTransitionRule) DeepCopyInto(out *PodTransitionRule)

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

func (*PodTransitionRule) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PodTransitionRuleList

type PodTransitionRuleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []PodTransitionRule `json:"items"`
}

PodTransitionRuleList contains a list of PodTransitionRule

func (*PodTransitionRuleList) DeepCopy

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

func (*PodTransitionRuleList) DeepCopyInto

func (in *PodTransitionRuleList) DeepCopyInto(out *PodTransitionRuleList)

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

func (*PodTransitionRuleList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PodTransitionRuleSpec

type PodTransitionRuleSpec struct {
	// Selector select the targets controlled by podtransitionrule
	Selector *metav1.LabelSelector `json:"selector,omitempty"`

	// Rules is a set of rules that need to be checked in certain situations
	Rules []TransitionRule `json:"rules,omitempty"`
}

PodTransitionRuleSpec defines the desired state of PodTransitionRule

func (*PodTransitionRuleSpec) DeepCopy

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

func (*PodTransitionRuleSpec) DeepCopyInto

func (in *PodTransitionRuleSpec) DeepCopyInto(out *PodTransitionRuleSpec)

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

type PodTransitionRuleStatus

type PodTransitionRuleStatus struct {
	UpdateTime *metav1.Time `json:"updateTime,omitempty"`

	// ObservedGeneration is the most recent generation observed for PodTransitionRule
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Targets contains the target resource names this PodTransitionRule is able to select.
	Targets []string `json:"targets,omitempty"`

	// RuleStates contains the RuleState resource info in webhook processing progress.
	// +optional
	RuleStates []*RuleState `json:"ruleStates,omitempty"`

	// Details contains all pods podtransitionrule details
	// +optional
	Details []*PodTransitionDetail `json:"details,omitempty"`
}

PodTransitionRuleStatus defines the observed state of PodTransitionRule

func (*PodTransitionRuleStatus) DeepCopy

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

func (*PodTransitionRuleStatus) DeepCopyInto

func (in *PodTransitionRuleStatus) DeepCopyInto(out *PodTransitionRuleStatus)

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 (
	// CollaSetRecreatePodUpdateStrategyType indicates that CollaSet will always update Pod by deleting and recreate it.
	CollaSetRecreatePodUpdateStrategyType PodUpdateStrategyType = "Recreate"
	// CollaSetInPlaceIfPossiblePodUpdateStrategyType indicates thath CollaSet will try to update Pod by in-place update
	// when it is possible. Recently, only Pod image can be updated in-place. Any other Pod spec change will make the
	// policy fall back to CollaSetRecreatePodUpdateStrategyType.
	CollaSetInPlaceIfPossiblePodUpdateStrategyType PodUpdateStrategyType = "InPlaceIfPossible"
	// CollaSetInPlaceOnlyPodUpdateStrategyType indicates that CollaSet will always update Pod in-place, instead of
	// recreating pod. It will encounter an error on original Kubernetes cluster.
	CollaSetInPlaceOnlyPodUpdateStrategyType PodUpdateStrategyType = "InPlaceOnly"
	// CollaSetReplacePodUpdateStrategyType indicates that CollaSet will always update Pod by replace, it will
	// create a new Pod and delete the old pod when the new one service available.
	CollaSetReplacePodUpdateStrategyType PodUpdateStrategyType = "Replace"
)

type Poll added in v0.2.0

type Poll struct {
	// URL gives the location of the webhook, URL?task-id=<task-id>
	URL string `json:"url"`

	// ReplaceRawQuery used to replace raw key. QueryUrl=URL?rawQueryKey=<task-id>, default is task-id
	// +optional
	RawQueryKey string `json:"rawQueryKey,omitempty"`

	// CABundle is a PEM encoded CA bundle which will be used to validate the webhook's server certificate.
	// +optional
	CABundle string `json:"caBundle,omitempty"`

	// Interval give the request time interval, default 5s
	// +optional
	IntervalSeconds *int64 `json:"intervalSeconds,omitempty"`

	// TimeoutSeconds give the request time timeout, default 60s
	// +optional
	TimeoutSeconds *int64 `json:"timeoutSeconds,omitempty"`
}

func (*Poll) DeepCopy added in v0.2.0

func (in *Poll) DeepCopy() *Poll

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

func (*Poll) DeepCopyInto added in v0.2.0

func (in *Poll) DeepCopyInto(out *Poll)

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

type PollResponse added in v0.2.0

type PollResponse struct {
	Success       bool     `json:"success"`
	Message       string   `json:"message"`
	Finished      bool     `json:"finished"`
	FinishedNames []string `json:"finishedNames,omitempty"`
	Stop          bool     `json:"stop"`
}

func (*PollResponse) DeepCopy added in v0.2.0

func (in *PollResponse) DeepCopy() *PollResponse

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

func (*PollResponse) DeepCopyInto added in v0.2.0

func (in *PollResponse) DeepCopyInto(out *PollResponse)

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

type PrimaryContainerInjectTargetPolicy added in v0.2.0

type PrimaryContainerInjectTargetPolicy string
const (
	InjectByName         PrimaryContainerInjectTargetPolicy = "ByName"
	InjectAllContainers  PrimaryContainerInjectTargetPolicy = "All"
	InjectFirstContainer PrimaryContainerInjectTargetPolicy = "First"
	InjectLastContainer  PrimaryContainerInjectTargetPolicy = "Last"
)

type PrimaryContainerPatch added in v0.2.0

type PrimaryContainerPatch struct {
	// TargetPolicy indicates which app container these configuration should inject into.
	// Default is LastAppContainerTargetSelectPolicy
	TargetPolicy PrimaryContainerInjectTargetPolicy `json:"targetPolicy,omitempty"`

	PodDecorationPrimaryContainer `json:",inline"`
}

func (*PrimaryContainerPatch) DeepCopy added in v0.2.0

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

func (*PrimaryContainerPatch) DeepCopyInto added in v0.2.0

func (in *PrimaryContainerPatch) DeepCopyInto(out *PrimaryContainerPatch)

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

type RejectInfo

type RejectInfo struct {
	RuleName string `json:"ruleName,omitempty"`
	Reason   string `json:"reason,omitempty"`
}

func (*RejectInfo) DeepCopy

func (in *RejectInfo) DeepCopy() *RejectInfo

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

func (*RejectInfo) DeepCopyInto

func (in *RejectInfo) DeepCopyInto(out *RejectInfo)

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

type ResourceContext

type ResourceContext struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec ResourceContextSpec `json:"spec,omitempty"`
}

ResourceContext is the Schema for the resourcecontext API +k8s:openapi-gen=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:shortName=rc

func (*ResourceContext) DeepCopy

func (in *ResourceContext) DeepCopy() *ResourceContext

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

func (*ResourceContext) DeepCopyInto

func (in *ResourceContext) DeepCopyInto(out *ResourceContext)

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

func (*ResourceContext) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ResourceContextList

type ResourceContextList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ResourceContext `json:"items"`
}

ResourceContextList contains a list of ResourceContext

func (*ResourceContextList) DeepCopy

func (in *ResourceContextList) DeepCopy() *ResourceContextList

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

func (*ResourceContextList) DeepCopyInto

func (in *ResourceContextList) DeepCopyInto(out *ResourceContextList)

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

func (*ResourceContextList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ResourceContextSpec

type ResourceContextSpec struct {
	Contexts []ContextDetail `json:"contexts,omitempty"`
}

ResourceContextSpec defines the desired state of ResourceContext

func (*ResourceContextSpec) DeepCopy

func (in *ResourceContextSpec) DeepCopy() *ResourceContextSpec

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

func (*ResourceContextSpec) DeepCopyInto

func (in *ResourceContextSpec) DeepCopyInto(out *ResourceContextSpec)

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

type ResourceParameter

type ResourceParameter struct {
	// ApiVersion defines the versioned schema of this representation of an object.
	ApiVersion string `json:"apiVersion"`

	// Kind is a string value representing the REST resource this object represents.
	Kind string `json:"kind"`

	// Name is a string value representing resource name
	Name string `json:"name,omitempty"`

	// Parameters is a string map representing parameters
	Parameters map[string]string `json:"parameters,omitempty"`
}

ResourceParameter is representing the request body of resource parameter

func (*ResourceParameter) DeepCopy

func (in *ResourceParameter) DeepCopy() *ResourceParameter

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

func (*ResourceParameter) DeepCopyInto

func (in *ResourceParameter) DeepCopyInto(out *ResourceParameter)

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

type RollingUpdateCollaSetStrategy

type RollingUpdateCollaSetStrategy struct {
	// ByPartition indicates the update progress is controlled by partition value.
	// +optional
	ByPartition *ByPartition `json:"byPartition,omitempty"`

	// ByLabel indicates the update progress is controlled by attaching pod label.
	// +optional
	ByLabel *ByLabel `json:"byLabel,omitempty"`
}

RollingUpdateCollaSetStrategy is used to communicate parameter for rolling update.

func (*RollingUpdateCollaSetStrategy) DeepCopy

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

func (*RollingUpdateCollaSetStrategy) DeepCopyInto

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

type RuleState

type RuleState struct {
	// Name is the name representing the rule
	Name string `json:"name,omitempty"`

	// WebhookStatus is the webhook status representing processing progress
	WebhookStatus *WebhookStatus `json:"webhookStatus,omitempty"`
}

RuleState defines the resource info in webhook processing progress.

func (*RuleState) DeepCopy

func (in *RuleState) DeepCopy() *RuleState

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

func (*RuleState) DeepCopyInto

func (in *RuleState) DeepCopyInto(out *RuleState)

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

type ScaleStrategy

type ScaleStrategy struct {
	// Context indicates the pool from which to allocate Pod instance ID. CollaSets are allowed to share the
	// same Context. It is not allowed to change.
	// Context defaults to be CollaSet's name.
	// +optional
	Context string `json:"context,omitempty"`

	// PodToExclude indicates the pods which will be orphaned by CollaSet.
	// +optional
	PodToExclude []string `json:"podToExclude,omitempty"`

	// PodToInclude indicates the pods which will be adapted by CollaSet.
	// +optional
	PodToInclude []string `json:"podToInclude,omitempty"`

	// PersistentVolumeClaimRetentionPolicy describes the lifecycle of PersistentVolumeClaim
	// created from volumeClaimTemplates. By default, all persistent volume claims are created as needed and
	// deleted after no pod is using them. This policy allows the lifecycle to be altered, for example
	// by deleting persistent volume claims when their CollaSet is deleted, or when their pod is scaled down.
	// +optional
	PersistentVolumeClaimRetentionPolicy *PersistentVolumeClaimRetentionPolicy `json:"persistentVolumeClaimRetentionPolicy,omitempty"`

	// OperationDelaySeconds indicates how many seconds it should delay before operating scale.
	// +optional
	OperationDelaySeconds *int32 `json:"operationDelaySeconds,omitempty"`
}

func (*ScaleStrategy) DeepCopy

func (in *ScaleStrategy) DeepCopy() *ScaleStrategy

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

func (*ScaleStrategy) DeepCopyInto

func (in *ScaleStrategy) DeepCopyInto(out *ScaleStrategy)

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

type TaskInfo added in v0.2.0

type TaskInfo struct {
	TaskId string `json:"taskId,omitempty"`

	Processing []string `json:"processing,omitempty"`

	Approved []string `json:"approved,omitempty"`

	BeginTime *metav1.Time `json:"beginTime,omitempty"`

	LastTime *metav1.Time `json:"lastTime,omitempty"`

	Message string `json:"message,omitempty"`
}

func (*TaskInfo) DeepCopy added in v0.2.0

func (in *TaskInfo) DeepCopy() *TaskInfo

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

func (*TaskInfo) DeepCopyInto added in v0.2.0

func (in *TaskInfo) DeepCopyInto(out *TaskInfo)

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

type TransitionRule

type TransitionRule struct {
	// Name is the name of this rule.
	Name string `json:"name,omitempty"`

	// Disabled is the switch to control this rule enable or not.
	// +optional
	Disabled bool `json:"disabled,omitempty"`

	// +optional
	Stage *string `json:"stage,omitempty"`

	// Conditions is the condition to control this rule enable or not.
	// +optional
	Conditions []string `json:"conditions,omitempty"`

	// Filter is used to filter the resource which will be applied with this rule.
	// +optional
	Filter *TransitionRuleFilter `json:"filter,omitempty"`

	// TransitionRuleDefinition describes the detail of the rule.
	TransitionRuleDefinition `json:",inline"`
}

func (*TransitionRule) DeepCopy

func (in *TransitionRule) DeepCopy() *TransitionRule

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

func (*TransitionRule) DeepCopyInto

func (in *TransitionRule) DeepCopyInto(out *TransitionRule)

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

type TransitionRuleDefinition

type TransitionRuleDefinition struct {

	// AvailablePolicy is the rule to check if the max unavailable number is reached by current resource updated.
	// +optional
	AvailablePolicy *AvailableRule `json:"availablePolicy,omitempty"`

	// LabelCheck is the rule to check labels on pods.
	// +optional
	LabelCheck *LabelCheckRule `json:"labelCheck,omitempty"`

	// +optional
	Webhook *TransitionRuleWebhook `json:"webhook,omitempty"`
}

func (*TransitionRuleDefinition) DeepCopy

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

func (*TransitionRuleDefinition) DeepCopyInto

func (in *TransitionRuleDefinition) DeepCopyInto(out *TransitionRuleDefinition)

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

type TransitionRuleFilter

type TransitionRuleFilter struct {
	// LabelSelector is used to filter resource with label match expresion.
	// +optional
	LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`
}

func (*TransitionRuleFilter) DeepCopy

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

func (*TransitionRuleFilter) DeepCopyInto

func (in *TransitionRuleFilter) DeepCopyInto(out *TransitionRuleFilter)

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

type TransitionRuleWebhook

type TransitionRuleWebhook struct {

	// ClientConfig is the configuration for accessing webhook.
	ClientConfig ClientConfigBeta1 `json:"clientConfig,omitempty"`

	// 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"`

	// Parameters contains the list of parameters which will be passed in webhook body.
	// +optional
	Parameters []Parameter `json:"parameters,omitempty"`
}

func (*TransitionRuleWebhook) DeepCopy

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

func (*TransitionRuleWebhook) DeepCopyInto

func (in *TransitionRuleWebhook) DeepCopyInto(out *TransitionRuleWebhook)

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

type UpdateStrategy

type UpdateStrategy struct {
	// RollingUpdate is used to communicate parameters when Type is RollingUpdateStatefulSetStrategyType.
	// +optional
	RollingUpdate *RollingUpdateCollaSetStrategy `json:"rollingUpdate,omitempty"`

	// PodUpdatePolicy indicates the policy by to update pods.
	// +optional
	PodUpdatePolicy PodUpdateStrategyType `json:"podUpgradePolicy,omitempty"`

	// OperationDelaySeconds indicates how many seconds it should delay before operating update.
	// +optional
	OperationDelaySeconds *int32 `json:"operationDelaySeconds,omitempty"`
}

func (*UpdateStrategy) DeepCopy

func (in *UpdateStrategy) DeepCopy() *UpdateStrategy

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

func (*UpdateStrategy) DeepCopyInto

func (in *UpdateStrategy) DeepCopyInto(out *UpdateStrategy)

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

type WebhookRequest added in v0.2.0

type WebhookRequest struct {

	// TraceId is generated by PodTransitionRule controller.
	// Each request will generate a new traceId
	TraceId string `json:"traceId,omitempty"`

	// RuleName is consistent with TransitionRule
	RuleName string `json:"ruleName,omitempty"`

	// Stage represents the stage of the request, consistent with TransitionRule.Stage
	Stage *string `json:"stage,omitempty"`

	// Resources contains the list of resource parameter
	Resources []ResourceParameter `json:"resources,omitempty"`
}

WebhookRequest is representing the request parameter.

func (*WebhookRequest) DeepCopy added in v0.2.0

func (in *WebhookRequest) DeepCopy() *WebhookRequest

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

func (*WebhookRequest) DeepCopyInto added in v0.2.0

func (in *WebhookRequest) DeepCopyInto(out *WebhookRequest)

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

type WebhookResponse added in v0.2.0

type WebhookResponse struct {
	Success       bool     `json:"success"`
	FinishedNames []string `json:"finishedNames,omitempty"`
	Message       string   `json:"message"`
	Poll          bool     `json:"poll"`
	// Deprecated, will replace by Poll
	Async bool `json:"async"`
	// if Async, use TraceId as TaskId
	TraceId string `json:"traceId"`
	TaskId  string `json:"taskId"`
}

func (*WebhookResponse) DeepCopy added in v0.2.0

func (in *WebhookResponse) DeepCopy() *WebhookResponse

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

func (*WebhookResponse) DeepCopyInto added in v0.2.0

func (in *WebhookResponse) DeepCopyInto(out *WebhookResponse)

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

type WebhookStatus

type WebhookStatus struct {

	// TaskStates is a list of tracing info
	TaskStates []TaskInfo `json:"taskStates,omitempty"`

	// History records history taskStates which were finished or failed. Valid for 10 minutes
	History []TaskInfo `json:"history,omitempty"`
}

WebhookStatus defines the webhook processing status

func (*WebhookStatus) DeepCopy

func (in *WebhookStatus) DeepCopy() *WebhookStatus

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

func (*WebhookStatus) DeepCopyInto

func (in *WebhookStatus) DeepCopyInto(out *WebhookStatus)

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