Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the lifecycle v1alpha1 API group +kubebuilder:object:generate=true +groupName=lifecycle.suse.com
Index ¶
- Constants
- Variables
- func GetChartConditionType(prettyName string) string
- func SupportedArchitectures(architectures []Arch) map[string]struct{}
- type Arch
- type Components
- type DisableDrain
- type HelmChart
- type HelmValues
- type Kubernetes
- type KubernetesDistribution
- type OperatingSystem
- type ReleaseManifest
- type ReleaseManifestList
- type ReleaseManifestSpec
- type ReleaseManifestStatus
- type UpgradePlan
- func (in *UpgradePlan) DeepCopy() *UpgradePlan
- func (in *UpgradePlan) DeepCopyInto(out *UpgradePlan)
- func (in *UpgradePlan) DeepCopyObject() runtime.Object
- func (r *UpgradePlan) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *UpgradePlan) ValidateCreate() (admission.Warnings, error)
- func (r *UpgradePlan) ValidateDelete() (admission.Warnings, error)
- func (r *UpgradePlan) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type UpgradePlanList
- type UpgradePlanSpec
- type UpgradePlanStatus
- type Workloads
Constants ¶
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 ¶
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 SupportedArchitectures ¶ added in v0.1.0
Types ¶
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 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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmChart.
func (*HelmChart) DeepCopyInto ¶ added in v0.1.0
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"`
}
func (*KubernetesDistribution) DeepCopy ¶ added in v0.1.0
func (in *KubernetesDistribution) DeepCopy() *KubernetesDistribution
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
func (in *ReleaseManifestStatus) DeepCopy() *ReleaseManifestStatus
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.
func (*UpgradePlan) SetupWebhookWithManager ¶ added in v0.1.0
func (r *UpgradePlan) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the manager to manage the webhooks
func (*UpgradePlan) ValidateCreate ¶ added in v0.1.0
func (r *UpgradePlan) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*UpgradePlan) ValidateDelete ¶ added in v0.1.0
func (r *UpgradePlan) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*UpgradePlan) ValidateUpdate ¶ added in v0.1.0
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
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 Workloads ¶ added in v0.1.0
type Workloads struct {
Helm []HelmChart `json:"helm"`
}
func (*Workloads) DeepCopy ¶ added in v0.1.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Workloads.
func (*Workloads) DeepCopyInto ¶ added in v0.1.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.