v1alpha1

package
v0.15.1-alpha Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2024 License: MIT Imports: 7 Imported by: 2

Documentation

Overview

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

Index

Constants

View Source
const (
	// KopsControlPlaneStateReadyCondition reports on the successful management of the Kops state.
	KopsControlPlaneStateReadyCondition clusterv1.ConditionType = "KopsControlPlaneStateReady"

	// KopsControlPlaneSecretsReadyCondition reports on the successful reconcile of the Kops Secrets
	KopsControlPlaneSecretsReadyCondition clusterv1.ConditionType = "KopsControlPlaneSecretsReady"

	// KopsTerraformGenerationReadyCondition reports on the successful generation of Terraform files by Kops.
	KopsTerraformGenerationReadyCondition clusterv1.ConditionType = "KopsTerraformGenerationReady"

	// TerraformApplyReadyCondition reports on the successful apply of the Terraform files.
	TerraformApplyReadyCondition clusterv1.ConditionType = "TerraformApplyReady"

	// KopsControlPlaneFinalizer allows the controller to clean up resources on delete.
	KopsControlPlaneFinalizer = "kopscontrolplane.controlplane.cluster.x-k8s.io"

	// ClusterNameAnnotation is the annotation set on KopsControlPlane to signalize that it shouldn't be deleted even with deletionTimestamp.
	ClusterDeleteProtectionAnnotation = "cluster.x-k8s.io/delete-protection"
)
View Source
const (

	// KopsControlPlaneStateReconciliationFailedReason (Severity=Error) indicates that Kops state couldn't be created/updated.
	KopsControlPlaneStateReconciliationFailedReason = "KopsControlPlaneStateReconciliationFailed"

	// KopsControlPlaneSecretsReconciliationFailedReason (Severity=Warn) indicates that Kops Secrets couldn't be reconciliated.
	KopsControlPlaneSecretsReconciliationFailedReason = "KopsControlPlaneSecretsReconciliationFailed"

	// KopsTerraformGenerationReconciliationFailedReason (Severity=Error) indicates that Terraform files couldn't be generated.
	KopsTerraformGenerationReconciliationFailedReason = "KopsTerraformGenerationReconciliationFailed"

	// TerraformApplyReconciliationFailedReason (Severity=Error) indicates that Terraform files couldn't be applied.
	TerraformApplyReconciliationFailedReason = "TerraformApplyReconciliationFailed"

	// FailedToUpdateKopsControlPlane (Severity=Warn) indicates that controller failed to update the custom resource.
	FailedToUpdateKopsControlPlane = "FailedToUpdateKopsControlPlane"
)

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 IdentityRefSpec

type IdentityRefSpec struct {
	Kind      string `json:"kind"`
	Namespace string `json:"namespace"`
	Name      string `json:"name"`
}

func (*IdentityRefSpec) DeepCopy

func (in *IdentityRefSpec) DeepCopy() *IdentityRefSpec

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

func (*IdentityRefSpec) DeepCopyInto

func (in *IdentityRefSpec) DeepCopyInto(out *IdentityRefSpec)

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

type KopsControlPlane

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

	Spec   KopsControlPlaneSpec   `json:"spec,omitempty"`
	Status KopsControlPlaneStatus `json:"status,omitempty"`
}

KopsControlPlane is the Schema for the kopscontrolplanes API

func (*KopsControlPlane) DeepCopy

func (in *KopsControlPlane) DeepCopy() *KopsControlPlane

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

func (*KopsControlPlane) DeepCopyInto

func (in *KopsControlPlane) DeepCopyInto(out *KopsControlPlane)

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

func (*KopsControlPlane) DeepCopyObject

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

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

func (*KopsControlPlane) GetConditions

func (kcp *KopsControlPlane) GetConditions() clusterv1.Conditions

GetConditions returns the set of conditions for this object.

func (*KopsControlPlane) SetConditions

func (kcp *KopsControlPlane) SetConditions(conditions clusterv1.Conditions)

SetConditions sets the conditions on this object.

type KopsControlPlaneList

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

KopsControlPlaneList contains a list of KopsControlPlane

func (*KopsControlPlaneList) DeepCopy

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

func (*KopsControlPlaneList) DeepCopyInto

func (in *KopsControlPlaneList) DeepCopyInto(out *KopsControlPlaneList)

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

func (*KopsControlPlaneList) DeepCopyObject

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

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

type KopsControlPlaneSpec

type KopsControlPlaneSpec struct {
	// ControllerClass is the identifier associated with the controllers that defines which controller will reconcile the resource.
	// +optional
	ControllerClass string `json:"controllerClass"`
	// IdentityRef is a reference to a identity to be used when reconciling this cluster
	IdentityRef IdentityRefSpec `json:"identityRef"`
	// SSHPublicKey is the SSH public key added in the nodes; required on AWS
	SSHPublicKey string `json:"SSHPublicKey"`
	// KopsClusterSpec declare the desired Cluster Kops resource: https://kops.sigs.k8s.io/cluster_spec/
	KopsClusterSpec kops.ClusterSpec `json:"kopsClusterSpec"`
	// KopsSecret is a reference to the Kubernetes Secret that holds a list of Kops Secrets
	// +optional
	KopsSecret *corev1.ObjectReference `json:"kopsSecret,omitempty"`
	// SpotInst enables Spot and define their feature flags
	// +optional
	SpotInst SpotInstSpec `json:"spotInst,omitempty"`
	// KopsClusterAddons is intended to pass additional objects to the cluster: https://kops.sigs.k8s.io/addon_objects/#kubeschedulerconfiguration-group-kubeschedulerconfigk8sio
	KopsClusterAddons string `json:"kopsClusterAddons,omitempty"`
	// TerraformConfig has some configurations that can be used to control the Terraform lifecycle
	TerraformConfig TerraformConfigSpec `json:"terraformConfig,omitempty"`
}

KopsControlPlaneSpec defines the desired state of KopsControlPlane

func (*KopsControlPlaneSpec) DeepCopy

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

func (*KopsControlPlaneSpec) DeepCopyInto

func (in *KopsControlPlaneSpec) DeepCopyInto(out *KopsControlPlaneSpec)

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

type KopsControlPlaneStatus

type KopsControlPlaneStatus struct {
	// Ready denotes that the API Server is ready to
	// receive requests.
	// +kubebuilder:default=false
	Ready bool `json:"ready,omitempty"`

	// Paused indicates that the controller is prevented from processing the KopsControlPlane and all its associated objects.
	// +kubebuilder:default=false
	// +optional
	Paused bool `json:"paused,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"`

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

	// Secrets are the list of custom secrets created with the controller
	Secrets []string `json:"secrets,omitempty"`

	// LastReconciled is the timestamp of the last reconciliation.
	// +optional
	LastReconciled *metav1.Time `json:"lastReconciled,omitempty"`
}

KopsControlPlaneStatus defines the observed state of KopsControlPlane

func (*KopsControlPlaneStatus) DeepCopy

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

func (*KopsControlPlaneStatus) DeepCopyInto

func (in *KopsControlPlaneStatus) DeepCopyInto(out *KopsControlPlaneStatus)

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

type SpotInstSpec

type SpotInstSpec struct {
	// Enabled specifies whether Spot.io should be enabled
	Enabled bool `json:"enabled"`
	// Feature flags used by Kops to enable Spot features
	FeatureFlags string `json:"featureFlags"`
}

func (*SpotInstSpec) DeepCopy

func (in *SpotInstSpec) DeepCopy() *SpotInstSpec

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

func (*SpotInstSpec) DeepCopyInto

func (in *SpotInstSpec) DeepCopyInto(out *SpotInstSpec)

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

type TerraformConfigSpec

type TerraformConfigSpec struct {
	// CleanupTerraformDirectory denotes whether the controller should
	// cleanup the Terraform directory after the reconciliation
	CleanupTerraformDirectory bool `json:"cleanupTerraformDirectory"`
}

func (*TerraformConfigSpec) DeepCopy

func (in *TerraformConfigSpec) DeepCopy() *TerraformConfigSpec

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

func (*TerraformConfigSpec) DeepCopyInto

func (in *TerraformConfigSpec) DeepCopyInto(out *TerraformConfigSpec)

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