v1alpha1

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Sep 1, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PlanStatusUnknown     = "Unknown"
	PlanStatusProgressing = "Progressing"
	PlanStatusWaiting     = "Waiting"
	PlanStatusComplete    = "Complete"
)

Variables

View Source
var (
	SchemeBuilder runtime.SchemeBuilder

	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{
	Group:   "kubeupgrade.heathcliff.eu",
	Version: "v1alpha1",
}

Define your schema name and the version

Functions

func RegisterDefaults

func RegisterDefaults(scheme *runtime.Scheme) error

RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

func SetObjectDefaults_KubeUpgradePlan

func SetObjectDefaults_KubeUpgradePlan(in *KubeUpgradePlan)

func SetObjectDefaults_KubeUpgradePlanList

func SetObjectDefaults_KubeUpgradePlanList(in *KubeUpgradePlanList)

func SetObjectDefaults_KubeUpgradeSpec

func SetObjectDefaults_KubeUpgradeSpec(spec *KubeUpgradeSpec)

func SetObjectDefaults_KubeUpgradeStatus

func SetObjectDefaults_KubeUpgradeStatus(status *KubeUpgradeStatus)

func SetObjectDefaults_UpgradedConfig added in v0.2.0

func SetObjectDefaults_UpgradedConfig(cfg *UpgradedConfig)

Types

type KubeUpgradePlan

type KubeUpgradePlan struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +required
	Spec KubeUpgradeSpec `json:"spec" valid:"required"`

	// +optional
	Status KubeUpgradeStatus `json:"status,omitempty"`
}

+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:printcolumn:JSONPath=.spec.kubernetesVersion,name=Version,type=string,description="The targeted kubernetes version" +kubebuilder:printcolumn:JSONPath=.status.summary,name=Status,type=string,description="A summary of the overall status of the cluster" +kubebuilder:resource:scope=Cluster,shortName=plan +kubebuilder:object:root=true +kubebuilder:subresource:status

func (*KubeUpgradePlan) DeepCopy

func (in *KubeUpgradePlan) DeepCopy() *KubeUpgradePlan

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

func (*KubeUpgradePlan) DeepCopyInto

func (in *KubeUpgradePlan) DeepCopyInto(out *KubeUpgradePlan)

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

func (*KubeUpgradePlan) DeepCopyObject

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

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

type KubeUpgradePlanGroup

type KubeUpgradePlanGroup struct {
	// Specify group(s) that should be upgraded first.
	// Should be used to ensure control-plane nodes are upgraded first.
	// +optional
	// +kubebuilder:example=control-plane
	DependsOn []string `json:"dependsOn,omitempty"`

	// The labels by which to filter for this group
	// +required
	// +kubebuilder:validation:MinProperties=1
	// +kubebuilder:example="node-role.kubernetes.io/control-plane;node-role.kubernetes.io/compute"
	Labels map[string]string `json:"labels"`

	// The configuration for all upgraded daemons in the group. Overwrites global parameters.
	// +optional
	// +nullable
	Upgraded *UpgradedConfig `json:"upgraded,omitempty"`
}

func (*KubeUpgradePlanGroup) DeepCopy

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

func (*KubeUpgradePlanGroup) DeepCopyInto

func (in *KubeUpgradePlanGroup) DeepCopyInto(out *KubeUpgradePlanGroup)

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

type KubeUpgradePlanList

type KubeUpgradePlanList struct {
	metav1.TypeMeta `json:",inline"`

	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []KubeUpgradePlan `json:"items"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true

func (*KubeUpgradePlanList) DeepCopy

func (in *KubeUpgradePlanList) DeepCopy() *KubeUpgradePlanList

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

func (*KubeUpgradePlanList) DeepCopyInto

func (in *KubeUpgradePlanList) DeepCopyInto(out *KubeUpgradePlanList)

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

func (*KubeUpgradePlanList) DeepCopyObject

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

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

type KubeUpgradeSpec

type KubeUpgradeSpec struct {
	// The kubernetes version the cluster should be at.
	// If the actual version differs, the cluster will be upgraded
	// +required
	// +kubebuilder:example=v1.31.0
	// +kubebuilder:validation:Pattern=v[0-9]+\.[0-9]+\.[0-9]+
	KubernetesVersion string `json:"kubernetesVersion"`

	// The different groups in which the nodes will be upgraded.
	// At minimum needs to separate control-plane from compute nodes, to ensure that control-plane nodes will be upgraded first.
	// +required
	// +kubebuilder:validation:MinProperties=1
	Groups map[string]KubeUpgradePlanGroup `json:"groups"`

	// The configuration for all upgraded daemons. Can be overwritten by group specific config.
	// +optional
	// +nullable
	Upgraded *UpgradedConfig `json:"upgraded,omitempty"`
}

func (*KubeUpgradeSpec) DeepCopy

func (in *KubeUpgradeSpec) DeepCopy() *KubeUpgradeSpec

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

func (*KubeUpgradeSpec) DeepCopyInto

func (in *KubeUpgradeSpec) DeepCopyInto(out *KubeUpgradeSpec)

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

type KubeUpgradeStatus

type KubeUpgradeStatus struct {
	// A summary of the overall status of the cluster
	// +kubebuilder:validation:Enum=Unknown;Waiting;Progressing;Complete
	// +default="Unknown"
	Summary string `json:"summary,omitempty"`

	// The current status of each group
	Groups map[string]string `json:"groups,omitempty"`
}

func (*KubeUpgradeStatus) DeepCopy

func (in *KubeUpgradeStatus) DeepCopy() *KubeUpgradeStatus

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

func (*KubeUpgradeStatus) DeepCopyInto

func (in *KubeUpgradeStatus) DeepCopyInto(out *KubeUpgradeStatus)

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

type UpgradedConfig added in v0.2.0

type UpgradedConfig struct {
	// The container image repository for os rebases
	// +optional
	// +default="ghcr.io/heathcliff26/fcos-k8s"
	// +kubebuilder:example="ghcr.io/heathcliff26/fcos-k8s"
	Stream string `json:"stream,omitempty"`

	// URL for the fleetlock server. Needs to be set either globally or for each node
	// +optional
	// +kubebuilder:validation:Pattern=^https?.\/\/[a-zA-z0-9]
	// +kubebuilder:example="https://fleetlock.example.com"
	FleetlockURL string `json:"fleetlock-url"`

	// The group to use for fleetlock
	// +default="default"
	// +kubebuilder:example="control-plane;compute"
	FleetlockGroup string `json:"fleetlock-group,omitempty"`

	// The interval between regular checks
	// +optional
	// +kubebuilder:validation:Format=duration
	// +default="3h"
	// +kubebuilder:example="3h;24h;30m"
	CheckInterval string `json:"check-interval,omitempty"`

	// The interval between retries when an operation fails
	// +optional
	// +kubebuilder:validation:Format=duration
	// +default="5m"
	// +kubebuilder:example="5m;1m;30s"
	RetryInterval string `json:"retry-interval,omitempty"`
}

func (*UpgradedConfig) DeepCopy added in v0.2.0

func (in *UpgradedConfig) DeepCopy() *UpgradedConfig

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

func (*UpgradedConfig) DeepCopyInto added in v0.2.0

func (in *UpgradedConfig) DeepCopyInto(out *UpgradedConfig)

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