v1alpha1

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Dec 13, 2023 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the kubeadm v1beta1 API group +kubebuilder:object:generate=true +groupName=controlplane.cluster.x-k8s.io

Index

Constants

View Source
const (
	// CertificatesAvailableCondition documents that cluster certificates were generated as part of the
	// processing of a OCNEControlPlane object.
	CertificatesAvailableCondition clusterv1.ConditionType = "CertificatesAvailable"

	// CertificatesGenerationFailedReason (Severity=Warning) documents a OCNEControlPlane controller detecting
	// an error while generating certificates; those kind of errors are usually temporary and the controller
	// automatically recover from them.
	CertificatesGenerationFailedReason = "CertificatesGenerationFailed"
)
View Source
const (
	// AvailableCondition documents that the first control plane instance has completed the ocne init operation
	// and so the control plane is available and an API server instance is ready for processing requests.
	AvailableCondition clusterv1.ConditionType = "Available"

	// WaitingForOCNEInitReason (Severity=Info) documents a OCNEControlPlane object waiting for the first
	// control plane instance to complete the ocne init operation.
	WaitingForOCNEInitReason = "WaitingForOCNEInit"
)
View Source
const (
	// MachinesSpecUpToDateCondition documents that the spec of the machines controlled by the OCNEControlPlane
	// is up to date. When this condition is false, the OCNEControlPlane is executing a rolling upgrade.
	MachinesSpecUpToDateCondition clusterv1.ConditionType = "MachinesSpecUpToDate"

	// RollingUpdateInProgressReason (Severity=Warning) documents a OCNEControlPlane object executing a
	// rolling upgrade for aligning the machines spec to the desired state.
	RollingUpdateInProgressReason = "RollingUpdateInProgress"
)
View Source
const (
	// ResizedCondition documents a OCNEControlPlane that is resizing the set of controlled machines.
	ResizedCondition clusterv1.ConditionType = "Resized"

	// ScalingUpReason (Severity=Info) documents a OCNEControlPlane that is increasing the number of replicas.
	ScalingUpReason = "ScalingUp"

	// ScalingDownReason (Severity=Info) documents a OCNEControlPlane that is decreasing the number of replicas.
	ScalingDownReason = "ScalingDown"
)
View Source
const (
	// ModuleOperatorDeploy reports that ModuleOperator is deployed
	ModuleOperatorDeploy clusterv1.ConditionType = "ModuleOperatorDeployed"

	// VerrazzanoPlatformOperatorDeploy reports that VerrazzanoPlatformOperator is deployed
	VerrazzanoPlatformOperatorDeploy clusterv1.ConditionType = "VerrazzanoPlatformOperatorDeployed"

	// ModuleOperatorUninstalled (Severity=Info) documents a OCNEControlPlane that OCNEModule operator is uninstalled.
	ModuleOperatorUninstalled string = "ModuleOperatorUninstalled"

	// VerrazzanoPlatformOperatorUninstalled (Severity=Info) documents a OCNEControlPlane that Verrazzano Platform Operator is uninstalled.
	VerrazzanoPlatformOperatorUninstalled string = "VerrazzanoPlatformOperatorUninstalled"
)
View Source
const (
	// ControlPlaneComponentsHealthyCondition reports the overall status of control plane components
	// implemented as static pods generated by ocne including kube-api-server, kube-controller manager,
	// kube-scheduler and etcd if managed.
	ControlPlaneComponentsHealthyCondition clusterv1.ConditionType = "ControlPlaneComponentsHealthy"

	// ControlPlaneComponentsUnhealthyReason (Severity=Error) documents a control plane component not healthy.
	ControlPlaneComponentsUnhealthyReason = "ControlPlaneComponentsUnhealthy"

	// ControlPlaneComponentsUnknownReason reports a control plane component in unknown status.
	ControlPlaneComponentsUnknownReason = "ControlPlaneComponentsUnknown"

	// ControlPlaneComponentsInspectionFailedReason documents a failure in inspecting the control plane component status.
	ControlPlaneComponentsInspectionFailedReason = "ControlPlaneComponentsInspectionFailed"

	// MachineAPIServerPodHealthyCondition reports a machine's kube-apiserver's operational status.
	MachineAPIServerPodHealthyCondition clusterv1.ConditionType = "APIServerPodHealthy"

	// MachineControllerManagerPodHealthyCondition reports a machine's kube-controller-manager's health status.
	MachineControllerManagerPodHealthyCondition clusterv1.ConditionType = "ControllerManagerPodHealthy"

	// MachineSchedulerPodHealthyCondition reports a machine's kube-scheduler's operational status.
	MachineSchedulerPodHealthyCondition clusterv1.ConditionType = "SchedulerPodHealthy"

	// MachineEtcdPodHealthyCondition reports a machine's etcd pod's operational status.
	// NOTE: This conditions exists only if a stacked etcd cluster is used.
	MachineEtcdPodHealthyCondition clusterv1.ConditionType = "EtcdPodHealthy"

	// PodProvisioningReason (Severity=Info) documents a pod waiting to be provisioned i.e., Pod is in "Pending" phase.
	PodProvisioningReason = "PodProvisioning"

	// PodMissingReason (Severity=Error) documents a pod does not exist.
	PodMissingReason = "PodMissing"

	// PodFailedReason (Severity=Error) documents if a pod failed during provisioning i.e., e.g CrashLoopbackOff, ImagePullBackOff
	// or if all the containers in a pod have terminated.
	PodFailedReason = "PodFailed"

	// PodInspectionFailedReason documents a failure in inspecting the pod status.
	PodInspectionFailedReason = "PodInspectionFailed"
)
View Source
const (
	// EtcdClusterHealthyCondition documents the overall etcd cluster's health.
	EtcdClusterHealthyCondition clusterv1.ConditionType = "EtcdClusterHealthy"

	// EtcdClusterInspectionFailedReason documents a failure in inspecting the etcd cluster status.
	EtcdClusterInspectionFailedReason = "EtcdClusterInspectionFailed"

	// EtcdClusterUnknownReason reports an etcd cluster in unknown status.
	EtcdClusterUnknownReason = "EtcdClusterUnknown"

	// EtcdClusterUnhealthyReason (Severity=Error) is set when the etcd cluster is unhealthy.
	EtcdClusterUnhealthyReason = "EtcdClusterUnhealthy"

	// MachineEtcdMemberHealthyCondition report the machine's etcd member's health status.
	// NOTE: This conditions exists only if a stacked etcd cluster is used.
	MachineEtcdMemberHealthyCondition clusterv1.ConditionType = "EtcdMemberHealthy"

	// EtcdMemberInspectionFailedReason documents a failure in inspecting the etcd member status.
	EtcdMemberInspectionFailedReason = "MemberInspectionFailed"

	// EtcdMemberUnhealthyReason (Severity=Error) documents a Machine's etcd member is unhealthy.
	EtcdMemberUnhealthyReason = "EtcdMemberUnhealthy"

	// MachinesCreatedCondition documents that the machines controlled by the OCNEControlPlane are created.
	// When this condition is false, it indicates that there was an error when cloning the infrastructure/bootstrap template or
	// when generating the machine object.
	MachinesCreatedCondition clusterv1.ConditionType = "MachinesCreated"

	// InfrastructureTemplateCloningFailedReason (Severity=Error) documents a OCNEControlPlane failing to
	// clone the infrastructure template.
	InfrastructureTemplateCloningFailedReason = "InfrastructureTemplateCloningFailed"

	// BootstrapTemplateCloningFailedReason (Severity=Error) documents a OCNEControlPlane failing to
	// clone the bootstrap template.
	BootstrapTemplateCloningFailedReason = "BootstrapTemplateCloningFailed"

	// MachineGenerationFailedReason (Severity=Error) documents a OCNEControlPlane failing to
	// generate a machine object.
	MachineGenerationFailedReason = "MachineGenerationFailed"
)
View Source
const (
	// OCNEControlPlaneFinalizer is the finalizer applied to OCNEControlPlane resources
	// by its managing controller.
	OCNEControlPlaneFinalizer = "ocne.controlplane.cluster.x-k8s.io"

	// SkipCoreDNSAnnotation annotation explicitly skips reconciling CoreDNS if set.
	SkipCoreDNSAnnotation = "controlplane.cluster.x-k8s.io/skip-coredns"

	// SkipKubeProxyAnnotation annotation explicitly skips reconciling kube-proxy if set.
	SkipKubeProxyAnnotation = "controlplane.cluster.x-k8s.io/skip-kube-proxy"

	// OCNEClusterConfigurationAnnotation is a machine annotation that stores the json-marshalled string of KCP ClusterConfiguration.
	// This annotation is used to detect any changes in ClusterConfiguration and trigger machine rollout in KCP.
	OCNEClusterConfigurationAnnotation = "controlplane.cluster.x-k8s.io/ocne-cluster-configuration"
)
View Source
const (
	// MachinesReadyCondition reports an aggregate of current status of the machines controlled by the OCNEControlPlane.
	MachinesReadyCondition clusterv1.ConditionType = "MachinesReady"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "controlplane.cluster.x-k8s.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

This section is empty.

Types

type ImageMeta added in v1.6.1

type ImageMeta struct {
	// Repository sets the container registry to pull images from.
	// if not set, the Repository defined in OCNEMeta will be used instead.
	// +optional
	Repository string `json:"repository,omitempty"`

	// Tag allows to specify a tag for the image.
	// if not set, the Tag defined in OCNEMeta will be used instead.
	// +optional
	Tag string `json:"tag,omitempty"`

	// PullPolicy allows to specify an image pull policy for the container images.
	// if not set, the PullPolicy is IfNotPresent.
	// +optional
	PullPolicy string `json:"pullPolicy,omitempty"`
}

func (*ImageMeta) DeepCopy added in v1.6.1

func (in *ImageMeta) DeepCopy() *ImageMeta

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

func (*ImageMeta) DeepCopyInto added in v1.6.1

func (in *ImageMeta) DeepCopyInto(out *ImageMeta)

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

type ModuleOperator added in v1.6.1

type ModuleOperator struct {
	// Enabled sets the operational mode for a specific module.
	// if not set, the Enabled is set to false.
	// +optional
	Enabled bool `json:"enabled,omitempty"`

	// Image is used to set various attributes regarding a specific module.
	// If not set, they are set as per the ImageMeta definitions.
	// +optional
	Image *ImageMeta `json:"image,omitempty"`

	// ImagePullSecrets allows to specify secrets if the image is being pulled from an authenticated private registry.
	// if not set, it will be assumed the images are public.
	// +optional
	ImagePullSecrets []SecretName `json:"imagePullSecrets,omitempty"`
}

func (*ModuleOperator) DeepCopy added in v1.6.1

func (in *ModuleOperator) DeepCopy() *ModuleOperator

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

func (*ModuleOperator) DeepCopyInto added in v1.6.1

func (in *ModuleOperator) DeepCopyInto(out *ModuleOperator)

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

type OCNEControlPlane

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

	Spec   OCNEControlPlaneSpec   `json:"spec,omitempty"`
	Status OCNEControlPlaneStatus `json:"status,omitempty"`
}

OCNEControlPlane is the Schema for the OCNEControlPlane API.

func (*OCNEControlPlane) DeepCopy

func (in *OCNEControlPlane) DeepCopy() *OCNEControlPlane

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

func (*OCNEControlPlane) DeepCopyInto

func (in *OCNEControlPlane) DeepCopyInto(out *OCNEControlPlane)

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

func (*OCNEControlPlane) DeepCopyObject

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

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

func (*OCNEControlPlane) Default

func (in *OCNEControlPlane) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*OCNEControlPlane) GetConditions

func (in *OCNEControlPlane) GetConditions() clusterv1.Conditions

GetConditions returns the set of conditions for this object.

func (*OCNEControlPlane) Hub

func (*OCNEControlPlane) Hub()

func (*OCNEControlPlane) SetConditions

func (in *OCNEControlPlane) SetConditions(conditions clusterv1.Conditions)

SetConditions sets the conditions on this object.

func (*OCNEControlPlane) SetupWebhookWithManager

func (in *OCNEControlPlane) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*OCNEControlPlane) ValidateCreate

func (in *OCNEControlPlane) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*OCNEControlPlane) ValidateDelete

func (in *OCNEControlPlane) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*OCNEControlPlane) ValidateUpdate

func (in *OCNEControlPlane) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type OCNEControlPlaneList

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

OCNEControlPlaneList contains a list of OCNEControlPlane.

func (*OCNEControlPlaneList) DeepCopy

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

func (*OCNEControlPlaneList) DeepCopyInto

func (in *OCNEControlPlaneList) DeepCopyInto(out *OCNEControlPlaneList)

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

func (*OCNEControlPlaneList) DeepCopyObject

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

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

func (*OCNEControlPlaneList) Hub

func (*OCNEControlPlaneList) Hub()

type OCNEControlPlaneMachineTemplate

type OCNEControlPlaneMachineTemplate struct {
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"`

	// InfrastructureRef is a required reference to a custom resource
	// offered by an infrastructure provider.
	InfrastructureRef corev1.ObjectReference `json:"infrastructureRef"`

	// NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane node
	// The default value is 0, meaning that the node can be drained without any time limitations.
	// NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`
	// +optional
	NodeDrainTimeout *metav1.Duration `json:"nodeDrainTimeout,omitempty"`

	// NodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes
	// to be detached. The default value is 0, meaning that the volumes can be detached without any time limitations.
	// +optional
	NodeVolumeDetachTimeout *metav1.Duration `json:"nodeVolumeDetachTimeout,omitempty"`

	// NodeDeletionTimeout defines how long the machine controller will attempt to delete the Node that the Machine
	// hosts after the Machine is marked for deletion. A duration of 0 will retry deletion indefinitely.
	// If no value is provided, the default value for this property of the Machine resource will be used.
	// +optional
	NodeDeletionTimeout *metav1.Duration `json:"nodeDeletionTimeout,omitempty"`
}

OCNEControlPlaneMachineTemplate defines the template for Machines in a OCNEControlPlane object.

func (*OCNEControlPlaneMachineTemplate) DeepCopy

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

func (*OCNEControlPlaneMachineTemplate) DeepCopyInto

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

type OCNEControlPlaneSpec

type OCNEControlPlaneSpec struct {
	// Number of desired machines. Defaults to 1. When stacked etcd is used only
	// odd numbers are permitted, as per [etcd best practice](https://etcd.io/docs/v3.3.12/faq/#why-an-odd-number-of-cluster-members).
	// This is a pointer to distinguish between explicit zero and not specified.
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`

	// Version defines the desired Kubernetes version.
	// Please note that if controlPlaneConfig.ClusterConfiguration.imageRepository is not set
	// we don't allow upgrades to versions >= v1.22.0 for which kubeadm uses the old registry (k8s.gcr.io).
	// Please use a newer patch version with the new registry instead. The default registries of kubeadm are:
	//   * registry.k8s.io (new registry): >= v1.22.17, >= v1.23.15, >= v1.24.9, >= v1.25.0
	//   * k8s.gcr.io (old registry): all older versions
	Version string `json:"version"`

	// MachineTemplate contains information about how machines
	// should be shaped when creating or updating a control plane.
	MachineTemplate OCNEControlPlaneMachineTemplate `json:"machineTemplate"`

	// ControlPlaneConfig is a bootstrap OCNEConfigSpec
	// to use for initializing and joining machines to the control plane.
	ControlPlaneConfig bootstrapv1.OCNEConfigSpec `json:"controlPlaneConfig"`

	// RolloutBefore is a field to indicate a rollout should be performed
	// if the specified criteria is met.
	// +optional
	RolloutBefore *RolloutBefore `json:"rolloutBefore,omitempty"`

	// RolloutAfter is a field to indicate a rollout should be performed
	// after the specified time even if no changes have been made to the
	// OCNEControlPlane.
	// +optional
	RolloutAfter *metav1.Time `json:"rolloutAfter,omitempty"`

	// The RolloutStrategy to use to replace control plane machines with
	// new ones.
	// +optional
	// +kubebuilder:default={type: "RollingUpdate", rollingUpdate: {maxSurge: 1}}
	RolloutStrategy *RolloutStrategy `json:"rolloutStrategy,omitempty"`

	// ModuleOperator deploys the OCNE module operator to the worker cluster post installation.
	// +optional
	ModuleOperator *ModuleOperator `json:"moduleOperator,omitempty"`

	// VerrazzanoPlatformOperator deploys the Verrazzano Platform operator to the worker cluster post installation.
	// +optional
	VerrazzanoPlatformOperator *VerrazzanoPlatformOperator `json:"verrazzanoPlatformOperator,omitempty"`
}

OCNEControlPlaneSpec defines the desired state of OCNEControlPlane.

func (*OCNEControlPlaneSpec) DeepCopy

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

func (*OCNEControlPlaneSpec) DeepCopyInto

func (in *OCNEControlPlaneSpec) DeepCopyInto(out *OCNEControlPlaneSpec)

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

type OCNEControlPlaneStatus

type OCNEControlPlaneStatus struct {
	// Selector is the label selector in string format to avoid introspection
	// by clients, and is used to provide the CRD-based integration for the
	// scale subresource and additional integrations for things like kubectl
	// describe.. The string will be in the same format as the query-param syntax.
	// More info about label selectors: http://kubernetes.io/docs/user-guide/labels#label-selectors
	// +optional
	Selector string `json:"selector,omitempty"`

	// Total number of non-terminated machines targeted by this control plane
	// (their labels match the selector).
	// +optional
	Replicas int32 `json:"replicas"`

	// Version represents the minimum Kubernetes version for the control plane machines
	// in the cluster.
	// +optional
	Version *string `json:"version,omitempty"`

	// Total number of non-terminated machines targeted by this control plane
	// that have the desired template spec.
	// +optional
	UpdatedReplicas int32 `json:"updatedReplicas"`

	// Total number of fully running and ready control plane machines.
	// +optional
	ReadyReplicas int32 `json:"readyReplicas"`

	// Total number of unavailable machines targeted by this control plane.
	// This is the total number of machines that are still required for
	// the deployment to have 100% available capacity. They may either
	// be machines that are running but not yet ready or machines
	// that still have not been created.
	// +optional
	UnavailableReplicas int32 `json:"unavailableReplicas"`

	// Initialized denotes whether or not the control plane has the
	// uploaded kubeadm-config configmap.
	// +optional
	Initialized bool `json:"initialized"`

	// Ready denotes that the OCNEControlPlane API Server is ready to
	// receive requests.
	// +optional
	Ready bool `json:"ready"`

	// FailureReason indicates that there is a terminal problem reconciling the
	// state, and will be set to a token value suitable for
	// programmatic interpretation.
	// +optional
	FailureReason errors.OCNEControlPlaneStatusError `json:"failureReason,omitempty"`

	// ErrorMessage indicates that there is a terminal problem reconciling the
	// state, and will be set to a descriptive error message.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`

	// ObservedGeneration is the latest generation observed by the controller.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions defines current service state of the OCNEControlPlane.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

OCNEControlPlaneStatus defines the observed state of OCNEControlPlane.

func (*OCNEControlPlaneStatus) DeepCopy

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

func (*OCNEControlPlaneStatus) DeepCopyInto

func (in *OCNEControlPlaneStatus) DeepCopyInto(out *OCNEControlPlaneStatus)

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

type OCNEControlPlaneTemplate

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

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

OCNEControlPlaneTemplate is the Schema for the ocnecontrolplanetemplates API.

func (*OCNEControlPlaneTemplate) DeepCopy

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

func (*OCNEControlPlaneTemplate) DeepCopyInto

func (in *OCNEControlPlaneTemplate) DeepCopyInto(out *OCNEControlPlaneTemplate)

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

func (*OCNEControlPlaneTemplate) DeepCopyObject

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

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

func (*OCNEControlPlaneTemplate) Default

func (r *OCNEControlPlaneTemplate) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*OCNEControlPlaneTemplate) Hub

func (*OCNEControlPlaneTemplate) Hub()

func (*OCNEControlPlaneTemplate) SetupWebhookWithManager

func (r *OCNEControlPlaneTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*OCNEControlPlaneTemplate) ValidateCreate

func (r *OCNEControlPlaneTemplate) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*OCNEControlPlaneTemplate) ValidateDelete

func (r *OCNEControlPlaneTemplate) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*OCNEControlPlaneTemplate) ValidateUpdate

func (r *OCNEControlPlaneTemplate) ValidateUpdate(oldRaw runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type OCNEControlPlaneTemplateList

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

OCNEControlPlaneTemplateList contains a list of OCNEControlPlaneTemplate.

func (*OCNEControlPlaneTemplateList) DeepCopy

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

func (*OCNEControlPlaneTemplateList) DeepCopyInto

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

func (*OCNEControlPlaneTemplateList) DeepCopyObject

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

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

func (*OCNEControlPlaneTemplateList) Hub

type OCNEControlPlaneTemplateMachineTemplate

type OCNEControlPlaneTemplateMachineTemplate struct {
	// NodeDrainTimeout is the total amount of time that the controller will spend on draining a controlplane node
	// The default value is 0, meaning that the node can be drained without any time limitations.
	// NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`
	// +optional
	NodeDrainTimeout *metav1.Duration `json:"nodeDrainTimeout,omitempty"`

	// NodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes
	// to be detached. The default value is 0, meaning that the volumes can be detached without any time limitations.
	// +optional
	NodeVolumeDetachTimeout *metav1.Duration `json:"nodeVolumeDetachTimeout,omitempty"`

	// NodeDeletionTimeout defines how long the machine controller will attempt to delete the Node that the Machine
	// hosts after the Machine is marked for deletion. A duration of 0 will retry deletion indefinitely.
	// If no value is provided, the default value for this property of the Machine resource will be used.
	// +optional
	NodeDeletionTimeout *metav1.Duration `json:"nodeDeletionTimeout,omitempty"`
}

OCNEControlPlaneTemplateMachineTemplate defines the template for Machines in a OCNEControlPlaneTemplate object. NOTE: OCNEControlPlaneTemplateMachineTemplate is similar to OCNEControlPlaneMachineTemplate but omits ObjectMeta and InfrastructureRef fields. These fields do not make sense on the OCNEControlPlaneTemplate, because they are calculated by the Cluster topology reconciler during reconciliation and thus cannot be configured on the OCNEControlPlaneTemplate.

func (*OCNEControlPlaneTemplateMachineTemplate) DeepCopy

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

func (*OCNEControlPlaneTemplateMachineTemplate) DeepCopyInto

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

type OCNEControlPlaneTemplateResource

type OCNEControlPlaneTemplateResource struct {
	Spec OCNEControlPlaneTemplateResourceSpec `json:"spec"`
}

OCNEControlPlaneTemplateResource describes the data needed to create a OCNEControlPlane from a template.

func (*OCNEControlPlaneTemplateResource) DeepCopy

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

func (*OCNEControlPlaneTemplateResource) DeepCopyInto

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

type OCNEControlPlaneTemplateResourceSpec

type OCNEControlPlaneTemplateResourceSpec struct {
	// MachineTemplate contains information about how machines
	// should be shaped when creating or updating a control plane.
	// +optional
	MachineTemplate *OCNEControlPlaneTemplateMachineTemplate `json:"machineTemplate,omitempty"`

	// OCNEConfigSpec is a OCNEConfigSpec
	// to use for initializing and joining machines to the control plane.
	OCNEConfigSpec bootstrapv1.OCNEConfigSpec `json:"controlPlaneConfig"`

	// RolloutBefore is a field to indicate a rollout should be performed
	// if the specified criteria is met.
	//
	// +optional
	RolloutBefore *RolloutBefore `json:"rolloutBefore,omitempty"`

	// RolloutAfter is a field to indicate a rollout should be performed
	// after the specified time even if no changes have been made to the
	// OCNEControlPlane.
	//
	// +optional
	RolloutAfter *metav1.Time `json:"rolloutAfter,omitempty"`

	// The RolloutStrategy to use to replace control plane machines with
	// new ones.
	// +optional
	// +kubebuilder:default={type: "RollingUpdate", rollingUpdate: {maxSurge: 1}}
	RolloutStrategy *RolloutStrategy `json:"rolloutStrategy,omitempty"`

	// ModuleOperator deploys the OCNE module operator to the worker cluster post installation.
	// +optional
	ModuleOperator *ModuleOperator `json:"moduleOperator,omitempty"`

	// VerrazzanoPlatformOperator deploys the Verrazzano Platform operator to the worker cluster post installation.
	// +optional
	VerrazzanoPlatformOperator *VerrazzanoPlatformOperator `json:"verrazzanoPlatformOperator,omitempty"`
}

OCNEControlPlaneTemplateResourceSpec defines the desired state of OCNEControlPlane. NOTE: OCNEControlPlaneTemplateResourceSpec is similar to OCNEControlPlaneSpec but omits Replicas and Version fields. These fields do not make sense on the OCNEControlPlaneTemplate, because they are calculated by the Cluster topology reconciler during reconciliation and thus cannot be configured on the OCNEControlPlaneTemplate.

func (*OCNEControlPlaneTemplateResourceSpec) DeepCopy

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

func (*OCNEControlPlaneTemplateResourceSpec) DeepCopyInto

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

type OCNEControlPlaneTemplateSpec

type OCNEControlPlaneTemplateSpec struct {
	Template OCNEControlPlaneTemplateResource `json:"template"`
}

OCNEControlPlaneTemplateSpec defines the desired state of OCNEControlPlaneTemplate.

func (*OCNEControlPlaneTemplateSpec) DeepCopy

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

func (*OCNEControlPlaneTemplateSpec) DeepCopyInto

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

type PrivateRegistry added in v1.6.1

type PrivateRegistry struct {
	// Enabled sets a flag to determine if a private registry will be used when installing Verrazzano.
	// if not set, the Enabled is set to false.
	// +optional
	Enabled bool `json:"enabled,omitempty"`
}

func (*PrivateRegistry) DeepCopy added in v1.6.1

func (in *PrivateRegistry) DeepCopy() *PrivateRegistry

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

func (*PrivateRegistry) DeepCopyInto added in v1.6.1

func (in *PrivateRegistry) DeepCopyInto(out *PrivateRegistry)

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

type RollingUpdate

type RollingUpdate struct {
	// The maximum number of control planes that can be scheduled above or under the
	// desired number of control planes.
	// Value can be an absolute number 1 or 0.
	// Defaults to 1.
	// Example: when this is set to 1, the control plane can be scaled
	// up immediately when the rolling update starts.
	// +optional
	MaxSurge *intstr.IntOrString `json:"maxSurge,omitempty"`
}

RollingUpdate is used to control the desired behavior of rolling update.

func (*RollingUpdate) DeepCopy

func (in *RollingUpdate) DeepCopy() *RollingUpdate

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

func (*RollingUpdate) DeepCopyInto

func (in *RollingUpdate) DeepCopyInto(out *RollingUpdate)

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

type RolloutBefore

type RolloutBefore struct {
	// CertificatesExpiryDays indicates a rollout needs to be performed if the
	// certificates of the machine will expire within the specified days.
	// +optional
	CertificatesExpiryDays *int32 `json:"certificatesExpiryDays,omitempty"`
}

RolloutBefore describes when a rollout should be performed on the KCP machines.

func (*RolloutBefore) DeepCopy

func (in *RolloutBefore) DeepCopy() *RolloutBefore

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

func (*RolloutBefore) DeepCopyInto

func (in *RolloutBefore) DeepCopyInto(out *RolloutBefore)

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

type RolloutStrategy

type RolloutStrategy struct {
	// Type of rollout. Currently the only supported strategy is
	// "RollingUpdate".
	// Default is RollingUpdate.
	// +optional
	Type RolloutStrategyType `json:"type,omitempty"`

	// Rolling update config params. Present only if
	// RolloutStrategyType = RollingUpdate.
	// +optional
	RollingUpdate *RollingUpdate `json:"rollingUpdate,omitempty"`
}

RolloutStrategy describes how to replace existing machines with new ones.

func (*RolloutStrategy) DeepCopy

func (in *RolloutStrategy) DeepCopy() *RolloutStrategy

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

func (*RolloutStrategy) DeepCopyInto

func (in *RolloutStrategy) DeepCopyInto(out *RolloutStrategy)

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

type RolloutStrategyType

type RolloutStrategyType string

RolloutStrategyType defines the rollout strategies for a OCNEControlPlane.

const (
	// RollingUpdateStrategyType replaces the old control planes by new one using rolling update
	// i.e. gradually scale up or down the old control planes and scale up or down the new one.
	RollingUpdateStrategyType RolloutStrategyType = "RollingUpdate"
)

type SecretName added in v1.6.1

type SecretName struct {
	// Name is name of the secret to be used as image pull secret
	// +optional
	Name string `json:"name,omitempty"`
}

func (*SecretName) DeepCopy added in v1.6.1

func (in *SecretName) DeepCopy() *SecretName

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

func (*SecretName) DeepCopyInto added in v1.6.1

func (in *SecretName) DeepCopyInto(out *SecretName)

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

type VerrazzanoPlatformOperator added in v1.6.1

type VerrazzanoPlatformOperator struct {
	// Enabled sets the operational mode for a specific module.
	// if not set, the Enabled is set to false.
	// +optional
	Enabled bool `json:"enabled,omitempty"`

	// Image is used to set various attributes regarding a specific module.
	// If not set, they are set as per the ImageMeta definitions.
	// +optional
	Image *ImageMeta `json:"image,omitempty"`

	// ImagePullSecrets allows to specify secrets if the image is being pulled from an authenticated private registry.
	// if not set, it will be assumed the images are public.
	// +optional
	ImagePullSecrets []SecretName `json:"imagePullSecrets,omitempty"`

	// PrivateRegistry sets the private registry settings for installing Verrazzano.
	// +optional
	PrivateRegistry PrivateRegistry `json:"privateRegistry,omitempty"`
}

func (*VerrazzanoPlatformOperator) DeepCopy added in v1.6.1

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

func (*VerrazzanoPlatformOperator) DeepCopyInto added in v1.6.1

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