v1

package
v0.0.0-...-4a1a1e7 Latest Latest
Warning

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

Go to latest
Published: Mar 28, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the zonecontrol v1 API group +kubebuilder:object:generate=true +groupName=zonecontrol.k8s.aws

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "zonecontrol.k8s.aws", Version: "v1"}

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

func Resource(resource string) schema.GroupResource

Types

type ZoneAwareUpdate

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

	Spec   ZoneAwareUpdateSpec   `json:"spec,omitempty"`
	Status ZoneAwareUpdateStatus `json:"status,omitempty"`
}

ZoneAwareUpdate is the Schema for the zoneawareupdates API

func (*ZoneAwareUpdate) DeepCopy

func (in *ZoneAwareUpdate) DeepCopy() *ZoneAwareUpdate

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

func (*ZoneAwareUpdate) DeepCopyInto

func (in *ZoneAwareUpdate) DeepCopyInto(out *ZoneAwareUpdate)

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

func (*ZoneAwareUpdate) DeepCopyObject

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

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

type ZoneAwareUpdateList

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

ZoneAwareUpdateList contains a list of ZoneAwareUpdate

func (*ZoneAwareUpdateList) DeepCopy

func (in *ZoneAwareUpdateList) DeepCopy() *ZoneAwareUpdateList

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

func (*ZoneAwareUpdateList) DeepCopyInto

func (in *ZoneAwareUpdateList) DeepCopyInto(out *ZoneAwareUpdateList)

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

func (*ZoneAwareUpdateList) DeepCopyObject

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

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

type ZoneAwareUpdateSpec

type ZoneAwareUpdateSpec struct {

	// The name of the StatefulSet for which the ZoneAwareUpdate applies to.
	StatefulSet string `json:"statefulset,omitempty"`

	// Max number (or %) of pods that can be updated at the same time.
	MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"`

	// The exponential growth rate in float string. Default value is 2.0.
	// It's possible to disable exponential updates by setting the ExponentialFactor to 0. In this case,
	// the number of pods updated at each step is defined only by the MaxUnavailable param.
	//+kubebuilder:default:="2.0"
	ExponentialFactor string `json:"exponentialFactor,omitempty"`

	// CW alarm name used to pause/skip updates.
	// Alarm should be on the same account and region.
	// +optional
	PauseRolloutAlarm string `json:"pauseRolloutAlarm,omitempty"`

	// Flag to ignore the PauseRolloutAlarm (default false)
	// +optional
	IgnoreAlarm bool `json:"ignoreAlarm,omitempty"`

	// Dryn-run mode that can be used to test the new controller before enable it
	// +optional
	DryRun bool `json:"dryRun,omitempty"`
}

ZoneAwareUpdateSpec defines the desired state of ZoneAwareUpdate

func (*ZoneAwareUpdateSpec) DeepCopy

func (in *ZoneAwareUpdateSpec) DeepCopy() *ZoneAwareUpdateSpec

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

func (*ZoneAwareUpdateSpec) DeepCopyInto

func (in *ZoneAwareUpdateSpec) DeepCopyInto(out *ZoneAwareUpdateSpec)

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

type ZoneAwareUpdateStatus

type ZoneAwareUpdateStatus struct {

	// CurrentRevision indicates the version of the StatefulSet used to generate Pods
	// +optional
	CurrentRevision string `json:"currentRevision,omitempty"`

	// UpdateRevision indicates the new version of the StatefulSet
	// +optional
	UpdateRevision string `json:"updateRevision,omitempty"`

	// OldReplicas is the number of Pods *per zone* in the CurrentRevision, when there is new UpdateRevision.
	// It becomes zero for all zones when all pods are in the new revision.
	// +optional
	OldReplicas map[string]int32 `json:"oldReplicas,omitempty"`

	// UpdateStep is used to track the rollout progress. Everytime pods are deleted/updated this is increased.
	// It becomes zero when all pods are in the new revision.
	// +optional
	UpdateStep int32 `json:"updateStep,omitempty"`

	// DeletedReplicas is the number of replicas deleted in the last reconcile loop.
	// +optional
	DeletedReplicas int32 `json:"deletedReplicas,omitempty"`

	// PausedRollout indicates if the rollout was paused becaused the PauseRolloutAlarm is in alarm.
	// +optional
	PausedRollout bool `json:"pausedRollout,omitempty"`
}

ZoneAwareUpdateStatus defines the observed state of ZoneAwareUpdate

func (*ZoneAwareUpdateStatus) DeepCopy

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

func (*ZoneAwareUpdateStatus) DeepCopyInto

func (in *ZoneAwareUpdateStatus) DeepCopyInto(out *ZoneAwareUpdateStatus)

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

type ZoneDisruptionBudget

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

	Spec   ZoneDisruptionBudgetSpec   `json:"spec,omitempty"`
	Status ZoneDisruptionBudgetStatus `json:"status,omitempty"`
}

ZoneDisruptionBudget is the Schema for the zonedisruptionbudgets API

func (*ZoneDisruptionBudget) DeepCopy

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

func (*ZoneDisruptionBudget) DeepCopyInto

func (in *ZoneDisruptionBudget) DeepCopyInto(out *ZoneDisruptionBudget)

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

func (*ZoneDisruptionBudget) DeepCopyObject

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

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

type ZoneDisruptionBudgetList

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

ZoneDisruptionBudgetList contains a list of ZoneDisruptionBudget

func (*ZoneDisruptionBudgetList) DeepCopy

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

func (*ZoneDisruptionBudgetList) DeepCopyInto

func (in *ZoneDisruptionBudgetList) DeepCopyInto(out *ZoneDisruptionBudgetList)

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

func (*ZoneDisruptionBudgetList) DeepCopyObject

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

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

type ZoneDisruptionBudgetSpec

type ZoneDisruptionBudgetSpec struct {

	// Selector label query over pods managed by the budget
	Selector *metav1.LabelSelector `json:"selector,omitempty"`
	// Evict pod specification is allowed if at most "maxUnavailable" pods selected by
	// "selector" are unavailable in the same zone after the above operation for pod.
	// Evictions are not allowed if there are unavailable pods in other zones.
	MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"`

	// Dryn-run mode that can be used to test the new controller before enable it
	// +optional
	DryRun bool `json:"dryRun,omitempty"`
}

ZoneDisruptionBudgetSpec defines the desired state of ZoneDisruptionBudget

func (*ZoneDisruptionBudgetSpec) DeepCopy

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

func (*ZoneDisruptionBudgetSpec) DeepCopyInto

func (in *ZoneDisruptionBudgetSpec) DeepCopyInto(out *ZoneDisruptionBudgetSpec)

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

type ZoneDisruptionBudgetStatus

type ZoneDisruptionBudgetStatus struct {

	// Most recent generation observed when updating this ZDB status. DisruptionsAllowed and other
	// status information is valid only if observedGeneration equals to ZDB's object generation.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration"`
	// DisruptedPods contains information about pods whose eviction was
	// processed by the API server eviction subresource handler but has not
	// yet been observed by the ZoneDisruptionBudget controller.
	// A pod will be in this map from the time when the API server processed the
	// eviction request to the time when the pod is seen by ZDB controller
	// as having been marked for deletion (or after a timeout). The key in the map is the name of the pod
	// and the value is the time when the API server processed the eviction request. If
	// the deletion didn't occur and a pod is still there it will be removed from
	// the list automatically by ZoneDisruptionBudget controller after some time.
	// +optional
	DisruptedPods map[string]metav1.Time `json:"disruptedPods,omitempty"`

	// Number of pod disruptions that are currently allowed *per zone*
	// +optional
	DisruptionsAllowed map[string]int32 `json:"disruptionsAllowed,omitempty"`
	// Current number of healthy pods per zone
	// +optional
	CurrentHealthy map[string]int32 `json:"currentHealthy,omitempty"`
	// Current number of unhealthy pods per zone
	// +optional
	CurrentUnhealthy map[string]int32 `json:"currentUnhealthy,omitempty"`
	// Minimum desired number of healthy pods per zone
	// +optional
	DesiredHealthy map[string]int32 `json:"desiredHealthy,omitempty"`
	// Total number of expected replicas per zone
	ExpectedPods map[string]int32 `json:"expectedPods,omitempty"`
}

ZoneDisruptionBudgetStatus defines the observed state of ZoneDisruptionBudget

func (*ZoneDisruptionBudgetStatus) DeepCopy

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

func (*ZoneDisruptionBudgetStatus) DeepCopyInto

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