v1alpha1

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Dec 11, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the lifecycle v1alpha1 API group +kubebuilder:object:generate=true +groupName=lifecycle.suse.com

Index

Constants

View Source
const (
	UpgradePlanFinalizer = "upgradeplan.lifecycle.suse.com/finalizer"

	ValidationFailedCondition     = "ValidationFailed"
	UnsupportedArchitectureReason = "UnsupportedArchitecture"

	OperatingSystemUpgradedCondition = "OSUpgraded"
	KubernetesUpgradedCondition      = "KubernetesUpgraded"

	// UpgradeError indicates that the upgrade process has encountered a transient error.
	UpgradeError = "Error"

	// UpgradePending indicates that the upgrade process has not begun.
	UpgradePending = "Pending"

	// UpgradeInProgress indicates that the upgrade process has started.
	UpgradeInProgress = "InProgress"

	// UpgradeSkipped indicates that the upgrade has been skipped.
	UpgradeSkipped = "Skipped"

	// UpgradeSucceeded indicates that the upgrade process has been successful.
	UpgradeSucceeded = "Succeeded"

	// UpgradeFailed indicates that the upgrade process has failed.
	UpgradeFailed = "Failed"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "lifecycle.suse.com", 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 GetChartConditionType added in v0.1.0

func GetChartConditionType(prettyName string) string

func SetupWebhookWithManager added in v0.1.1

func SetupWebhookWithManager(mgr ctrl.Manager) error

func SupportedArchitectures added in v0.1.0

func SupportedArchitectures(architectures []Arch) map[string]struct{}

Types

type Arch added in v0.1.0

type Arch string

+kubebuilder:validation:Enum=x86_64;aarch64

const (
	ArchTypeX86 Arch = "x86_64"
	ArchTypeARM Arch = "aarch64"
)

func (Arch) Short added in v0.1.0

func (a Arch) Short() string

type Components added in v0.1.0

type Components struct {
	Kubernetes      Kubernetes      `json:"kubernetes"`
	OperatingSystem OperatingSystem `json:"operatingSystem"`
	Workloads       Workloads       `json:"workloads"`
}

func (*Components) DeepCopy added in v0.1.0

func (in *Components) DeepCopy() *Components

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

func (*Components) DeepCopyInto added in v0.1.0

func (in *Components) DeepCopyInto(out *Components)

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

type CoreComponent added in v0.1.1

type CoreComponent struct {
	Name       string                   `json:"name"`
	Version    string                   `json:"version,omitempty"`
	Containers []CoreComponentContainer `json:"containers,omitempty"`
	Type       CoreComponentType        `json:"type"`
}

func (*CoreComponent) ConvertContainerSliceToMap added in v0.1.1

func (c *CoreComponent) ConvertContainerSliceToMap() map[string]string

func (*CoreComponent) DeepCopy added in v0.1.1

func (in *CoreComponent) DeepCopy() *CoreComponent

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

func (*CoreComponent) DeepCopyInto added in v0.1.1

func (in *CoreComponent) DeepCopyInto(out *CoreComponent)

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

type CoreComponentContainer added in v0.1.1

type CoreComponentContainer struct {
	Name  string `json:"name"`
	Image string `json:"image"`
}

func (*CoreComponentContainer) DeepCopy added in v0.1.1

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

func (*CoreComponentContainer) DeepCopyInto added in v0.1.1

func (in *CoreComponentContainer) DeepCopyInto(out *CoreComponentContainer)

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

type CoreComponentType added in v0.1.1

type CoreComponentType string

+kubebuilder:validation:Enum=HelmChart;Deployment

const (
	HelmChartType  CoreComponentType = "HelmChart"
	DeploymentType CoreComponentType = "Deployment"
)

type DisableDrain added in v0.1.0

type DisableDrain struct {
	// +optional
	ControlPlane bool `json:"controlPlane"`
	// +optional
	Worker bool `json:"worker"`
}

func (*DisableDrain) DeepCopy added in v0.1.0

func (in *DisableDrain) DeepCopy() *DisableDrain

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

func (*DisableDrain) DeepCopyInto added in v0.1.0

func (in *DisableDrain) DeepCopyInto(out *DisableDrain)

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

type HelmChart added in v0.1.0

type HelmChart struct {
	ReleaseName string                `json:"releaseName"`
	Name        string                `json:"chart"`
	Repository  string                `json:"repository,omitempty"`
	Version     string                `json:"version"`
	PrettyName  string                `json:"prettyName"`
	Values      *apiextensionsv1.JSON `json:"values,omitempty"`

	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	DependencyCharts []HelmChart `json:"dependencyCharts,omitempty"`
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Schemaless
	AddonCharts []HelmChart `json:"addonCharts,omitempty"`
}

func (*HelmChart) DeepCopy added in v0.1.0

func (in *HelmChart) DeepCopy() *HelmChart

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

func (*HelmChart) DeepCopyInto added in v0.1.0

func (in *HelmChart) DeepCopyInto(out *HelmChart)

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

type HelmValues added in v0.1.0

type HelmValues struct {
	Chart  string                `json:"chart"`
	Values *apiextensionsv1.JSON `json:"values"`
}

func (*HelmValues) DeepCopy added in v0.1.0

func (in *HelmValues) DeepCopy() *HelmValues

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

func (*HelmValues) DeepCopyInto added in v0.1.0

func (in *HelmValues) DeepCopyInto(out *HelmValues)

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

type Kubernetes added in v0.1.0

type Kubernetes struct {
	K3S  KubernetesDistribution `json:"k3s"`
	RKE2 KubernetesDistribution `json:"rke2"`
}

func (*Kubernetes) DeepCopy added in v0.1.0

func (in *Kubernetes) DeepCopy() *Kubernetes

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

func (*Kubernetes) DeepCopyInto added in v0.1.0

func (in *Kubernetes) DeepCopyInto(out *Kubernetes)

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

type KubernetesDistribution added in v0.1.0

type KubernetesDistribution struct {
	Version        string          `json:"version"`
	CoreComponents []CoreComponent `json:"coreComponents,omitempty"`
}

func (*KubernetesDistribution) DeepCopy added in v0.1.0

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

func (*KubernetesDistribution) DeepCopyInto added in v0.1.0

func (in *KubernetesDistribution) DeepCopyInto(out *KubernetesDistribution)

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

type OperatingSystem added in v0.1.0

type OperatingSystem struct {
	Version   string `json:"version"`
	ZypperID  string `json:"zypperID"`
	CPEScheme string `json:"cpeScheme"`
	// +kubebuilder:validation:MinItems=1
	SupportedArchs []Arch `json:"supportedArchs"`
	PrettyName     string `json:"prettyName"`
}

func (*OperatingSystem) DeepCopy added in v0.1.0

func (in *OperatingSystem) DeepCopy() *OperatingSystem

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

func (*OperatingSystem) DeepCopyInto added in v0.1.0

func (in *OperatingSystem) DeepCopyInto(out *OperatingSystem)

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

type ReleaseManifest added in v0.1.0

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

	Spec   ReleaseManifestSpec   `json:"spec,omitempty"`
	Status ReleaseManifestStatus `json:"status,omitempty"`
}

ReleaseManifest is the Schema for the releasemanifests API

func (*ReleaseManifest) DeepCopy added in v0.1.0

func (in *ReleaseManifest) DeepCopy() *ReleaseManifest

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

func (*ReleaseManifest) DeepCopyInto added in v0.1.0

func (in *ReleaseManifest) DeepCopyInto(out *ReleaseManifest)

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

func (*ReleaseManifest) DeepCopyObject added in v0.1.0

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

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

type ReleaseManifestList added in v0.1.0

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

ReleaseManifestList contains a list of ReleaseManifest

func (*ReleaseManifestList) DeepCopy added in v0.1.0

func (in *ReleaseManifestList) DeepCopy() *ReleaseManifestList

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

func (*ReleaseManifestList) DeepCopyInto added in v0.1.0

func (in *ReleaseManifestList) DeepCopyInto(out *ReleaseManifestList)

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

func (*ReleaseManifestList) DeepCopyObject added in v0.1.0

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

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

type ReleaseManifestSpec added in v0.1.0

type ReleaseManifestSpec struct {
	ReleaseVersion string     `json:"releaseVersion"`
	Components     Components `json:"components,omitempty"`
}

ReleaseManifestSpec defines the desired state of ReleaseManifest

func (*ReleaseManifestSpec) DeepCopy added in v0.1.0

func (in *ReleaseManifestSpec) DeepCopy() *ReleaseManifestSpec

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

func (*ReleaseManifestSpec) DeepCopyInto added in v0.1.0

func (in *ReleaseManifestSpec) DeepCopyInto(out *ReleaseManifestSpec)

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

type ReleaseManifestStatus added in v0.1.0

type ReleaseManifestStatus struct {
}

ReleaseManifestStatus defines the observed state of ReleaseManifest

func (*ReleaseManifestStatus) DeepCopy added in v0.1.0

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

func (*ReleaseManifestStatus) DeepCopyInto added in v0.1.0

func (in *ReleaseManifestStatus) DeepCopyInto(out *ReleaseManifestStatus)

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

type UpgradePlan

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

	Spec   UpgradePlanSpec   `json:"spec,omitempty"`
	Status UpgradePlanStatus `json:"status,omitempty"`
}

UpgradePlan is the Schema for the upgradeplans API

func (*UpgradePlan) DeepCopy

func (in *UpgradePlan) DeepCopy() *UpgradePlan

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

func (*UpgradePlan) DeepCopyInto

func (in *UpgradePlan) DeepCopyInto(out *UpgradePlan)

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

func (*UpgradePlan) DeepCopyObject

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

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

type UpgradePlanList

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

UpgradePlanList contains a list of UpgradePlan

func (*UpgradePlanList) DeepCopy

func (in *UpgradePlanList) DeepCopy() *UpgradePlanList

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

func (*UpgradePlanList) DeepCopyInto

func (in *UpgradePlanList) DeepCopyInto(out *UpgradePlanList)

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

func (*UpgradePlanList) DeepCopyObject

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

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

type UpgradePlanSpec

type UpgradePlanSpec struct {
	// ReleaseVersion specifies the target version for platform upgrade.
	// The version format is X.Y.Z, for example "3.0.2".
	ReleaseVersion string `json:"releaseVersion"`
	// DisableDrain specifies whether control-plane and worker nodes drain should be disabled.
	// +optional
	DisableDrain *DisableDrain `json:"disableDrain"`
	// Helm specifies additional values for components installed via Helm.
	// It is only advised to use this field for values that are critical for upgrades.
	// Standard chart value updates should be performed after
	// the respective charts have been upgraded to the next version.
	// +optional
	Helm []HelmValues `json:"helm"`
}

UpgradePlanSpec defines the desired state of UpgradePlan

func (*UpgradePlanSpec) DeepCopy

func (in *UpgradePlanSpec) DeepCopy() *UpgradePlanSpec

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

func (*UpgradePlanSpec) DeepCopyInto

func (in *UpgradePlanSpec) DeepCopyInto(out *UpgradePlanSpec)

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

type UpgradePlanStatus

type UpgradePlanStatus struct {
	// +listType=map
	// +listMapKey=type
	// +patchStrategy=merge
	// +patchMergeKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	// ObservedGeneration is the currently tracked generation of the UpgradePlan. Meant for internal use only.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// SUCNameSuffix is the suffix added to all resources created for SUC. Meant for internal use only.
	// Changes for each new ObservedGeneration.
	SUCNameSuffix string `json:"sucNameSuffix,omitempty"`

	// LastSuccessfulReleaseVersion is the last release version that this UpgradePlan has successfully upgraded to.
	LastSuccessfulReleaseVersion string `json:"lastSuccessfulReleaseVersion,omitempty"`
}

UpgradePlanStatus defines the observed state of UpgradePlan

func (*UpgradePlanStatus) DeepCopy

func (in *UpgradePlanStatus) DeepCopy() *UpgradePlanStatus

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

func (*UpgradePlanStatus) DeepCopyInto

func (in *UpgradePlanStatus) DeepCopyInto(out *UpgradePlanStatus)

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

type UpgradePlanValidator added in v0.1.1

type UpgradePlanValidator struct{}

func (*UpgradePlanValidator) DeepCopy added in v0.1.1

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

func (*UpgradePlanValidator) DeepCopyInto added in v0.1.1

func (in *UpgradePlanValidator) DeepCopyInto(out *UpgradePlanValidator)

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

func (*UpgradePlanValidator) ValidateCreate added in v0.1.1

func (*UpgradePlanValidator) ValidateDelete added in v0.1.1

func (*UpgradePlanValidator) ValidateUpdate added in v0.1.1

func (*UpgradePlanValidator) ValidateUpdate(ctx context.Context, old, new runtime.Object) (admission.Warnings, error)

type Workloads added in v0.1.0

type Workloads struct {
	Helm []HelmChart `json:"helm"`
}

func (*Workloads) DeepCopy added in v0.1.0

func (in *Workloads) DeepCopy() *Workloads

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

func (*Workloads) DeepCopyInto added in v0.1.0

func (in *Workloads) DeepCopyInto(out *Workloads)

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