Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the clusterstack.x-k8s.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=clusterstack.x-k8s.io
Index ¶
- Constants
- Variables
- type ClusterAddon
- type ClusterAddonList
- type ClusterAddonSpec
- type ClusterAddonStatus
- type ClusterStack
- type ClusterStackList
- type ClusterStackRelease
- func (in *ClusterStackRelease) DeepCopy() *ClusterStackRelease
- func (in *ClusterStackRelease) DeepCopyInto(out *ClusterStackRelease)
- func (in *ClusterStackRelease) DeepCopyObject() runtime.Object
- func (r *ClusterStackRelease) GetConditions() clusterv1.Conditions
- func (r *ClusterStackRelease) SetConditions(conditions clusterv1.Conditions)
- type ClusterStackReleaseList
- type ClusterStackReleasePhase
- type ClusterStackReleaseSpec
- type ClusterStackReleaseStatus
- type ClusterStackReleaseSummary
- type ClusterStackSpec
- type ClusterStackStatus
- type Resource
- type ResourceStatus
Constants ¶
const ( // ClusterStackReleasePhaseNone is the default phase. ClusterStackReleasePhaseNone = ClusterStackReleasePhase("") // ClusterStackReleasePhaseDownloadingAssets is the phase where assets are downloaded from git provider. ClusterStackReleasePhaseDownloadingAssets = ClusterStackReleasePhase("downloading release assets") // ClusterStackReleasePhaseProviderSpecificWork is the phase where provider-specific work is done. ClusterStackReleasePhaseProviderSpecificWork = ClusterStackReleasePhase("provider-specific work") // ClusterStackReleasePhaseApplyingObjects is the phase where objects are applied to the management cluster. ClusterStackReleasePhaseApplyingObjects = ClusterStackReleasePhase("applying objects") // ClusterStackReleasePhaseDone is the phase where all jobs are done. ClusterStackReleasePhaseDone = ClusterStackReleasePhase("done") )
const ( // ClusterReadyCondition reports on whether the associated cluster is ready. ClusterReadyCondition clusterv1.ConditionType = "ClusterReady" // ControlPlaneNotReadyReason is used when the control planes of a cluster are not ready yet. ControlPlaneNotReadyReason = "ControlPlaneNotReady" )
const ( // HelmChartAppliedCondition reports on whether the relevant helm chart has been applied. HelmChartAppliedCondition clusterv1.ConditionType = "HelmChartApplied" // FailedToApplyObjectsReason is used when some objects have been failed to apply. FailedToApplyObjectsReason = "FailedToApplyObjects" // ObjectsApplyingOngoingReason is used when the objects are still being applied. ObjectsApplyingOngoingReason = "ObjectsApplyingOngoing" )
const ( // ProviderClusterStackReleasesSyncedCondition reports on whether the ProviderClusterStackReleases are ready. ProviderClusterStackReleasesSyncedCondition = "ProviderClusterStackReleasesSynced" // ProviderTemplateNotFoundReason is used when providerTemplate is not found. ProviderTemplateNotFoundReason = "ProviderTemplateNotFound" // FailedToCreateOrUpdateReason is used when ProviderClusterStackRelease was failed to be created or updated. FailedToCreateOrUpdateReason = "FailedToCreateOrUpdate" )
const ( // ClusterStackReleaseAssetsReadyCondition reports on whether the download of cluster stack release assets is complete. ClusterStackReleaseAssetsReadyCondition = "ClusterStackReleaseDownloaded" // ReleaseAssetsNotDownloadedYetReason is used when release assets are not yet downloaded. ReleaseAssetsNotDownloadedYetReason = "ReleaseAssetsNotDownloadedYet" // IssueWithReleaseAssetsReason is used when release assets have an issue. IssueWithReleaseAssetsReason = "IssueWithReleaseAssets" )
const ( // ProviderClusterStackReleaseReadyCondition reports on whether the relevant provider-specific object is ready. ProviderClusterStackReleaseReadyCondition clusterv1.ConditionType = "ProviderClusterStackReleaseReady" // ProcessOngoingReason is used when the process of the provider-specific object is still ongoing. ProcessOngoingReason = "ProcessOngoing" )
const ( // GitAPIAvailableCondition is used when Git API is available. GitAPIAvailableCondition clusterv1.ConditionType = "GitAPIAvailable" // GitTokenOrEnvVariableNotSetReason is used when user don't specify the token or environment variable. GitTokenOrEnvVariableNotSetReason = "GitTokenOrEnvVariableNotSet" //#nosec )
const ( // GitReleasesSyncedCondition is used when Git releases have been synced successfully. GitReleasesSyncedCondition clusterv1.ConditionType = "GitReleasesSynced" // FailedToSyncReason is used when Git releases could not be synced. FailedToSyncReason = "FailedToSync" )
const ( // ResourceStatusSynced means a resource is synced. ResourceStatusSynced = ResourceStatus("synced") // ResourceStatusNotSynced means a resource is not synced. ResourceStatusNotSynced = ResourceStatus("not-synced") )
const (
// ClusterAddonFinalizer is the finalizer for ClusterAddon objects.
ClusterAddonFinalizer = "clusteraddon.clusterstack.x-k8s.io"
)
const ( // ClusterStackReleaseAvailableCondition reports on whether there is at least one ClusterStackRelease available to use. ClusterStackReleaseAvailableCondition = "ClusterStackReleaseAvailable" //#nosec )
const (
// ClusterStackReleaseFinalizer is the finalizer for ClusterStackRelease objects.
ClusterStackReleaseFinalizer = "clusterstackrelease.clusterstack.x-k8s.io"
)
const ( // ClusterStackReleasesSyncedCondition reports on whether the ClusterStackReleases are ready. ClusterStackReleasesSyncedCondition = "ClusterStackReleasesSynced" //#nosec )
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "clusterstack.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 )
var ErrNilInput = fmt.Errorf("nil input")
ErrNilInput indicates a nil input.
Functions ¶
This section is empty.
Types ¶
type ClusterAddon ¶
type ClusterAddon struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterAddonSpec `json:"spec,omitempty"`
Status ClusterAddonStatus `json:"status,omitempty"`
}
ClusterAddon is the schema for the clusteraddons API.
func (*ClusterAddon) DeepCopy ¶
func (in *ClusterAddon) DeepCopy() *ClusterAddon
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAddon.
func (*ClusterAddon) DeepCopyInto ¶
func (in *ClusterAddon) DeepCopyInto(out *ClusterAddon)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterAddon) DeepCopyObject ¶
func (in *ClusterAddon) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterAddon) GetConditions ¶
func (r *ClusterAddon) GetConditions() clusterv1.Conditions
GetConditions returns the observations of the operational state of the ClusterAddon resource.
func (*ClusterAddon) SetConditions ¶
func (r *ClusterAddon) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the ClusterAddon to the predescribed clusterv1.Conditions.
type ClusterAddonList ¶
type ClusterAddonList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterAddon `json:"items"`
}
ClusterAddonList contains a list of ClusterAddon.
func (*ClusterAddonList) DeepCopy ¶
func (in *ClusterAddonList) DeepCopy() *ClusterAddonList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAddonList.
func (*ClusterAddonList) DeepCopyInto ¶
func (in *ClusterAddonList) DeepCopyInto(out *ClusterAddonList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterAddonList) DeepCopyObject ¶
func (in *ClusterAddonList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterAddonSpec ¶
type ClusterAddonSpec struct {
// ClusterStack is the full string <provider>-<name>-<Kubernetes version>-<version> that will be filled with the cluster stack that
// the respective cluster uses currently. It always matches cluster.spec.topology.class if the work of this controller is done.
// +optional
ClusterStack string `json:"clusterStack,omitempty"`
// Version is the version of the cluster addons that have been applied in the workload cluster.
// +optional
Version string `json:"version,omitempty"`
// ClusterRef is the reference to the clusterv1.Cluster object that corresponds to the workload cluster where this
// controller applies the cluster addons.
ClusterRef *corev1.ObjectReference `json:"clusterRef"`
}
ClusterAddonSpec defines the desired state of a ClusterAddon object.
func (*ClusterAddonSpec) DeepCopy ¶
func (in *ClusterAddonSpec) DeepCopy() *ClusterAddonSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAddonSpec.
func (*ClusterAddonSpec) DeepCopyInto ¶
func (in *ClusterAddonSpec) DeepCopyInto(out *ClusterAddonSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterAddonStatus ¶
type ClusterAddonStatus struct {
// Resources specifies the status of the resources that this object administrates.
// +optional
Resources []*Resource `json:"resources,omitempty"`
// +optional
// +kubebuilder:default:=false
Ready bool `json:"ready"`
// Conditions define the current service state of the ClusterAddon.
// +optional
Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}
ClusterAddonStatus defines the observed state of ClusterAddon.
func (*ClusterAddonStatus) DeepCopy ¶
func (in *ClusterAddonStatus) DeepCopy() *ClusterAddonStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAddonStatus.
func (*ClusterAddonStatus) DeepCopyInto ¶
func (in *ClusterAddonStatus) DeepCopyInto(out *ClusterAddonStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStack ¶
type ClusterStack struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterStackSpec `json:"spec,omitempty"`
Status ClusterStackStatus `json:"status,omitempty"`
}
ClusterStack is the Schema for the clusterstacks API.
func (*ClusterStack) DeepCopy ¶
func (in *ClusterStack) DeepCopy() *ClusterStack
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStack.
func (*ClusterStack) DeepCopyInto ¶
func (in *ClusterStack) DeepCopyInto(out *ClusterStack)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterStack) DeepCopyObject ¶
func (in *ClusterStack) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterStack) GetConditions ¶
func (r *ClusterStack) GetConditions() clusterv1.Conditions
GetConditions returns the observations of the operational state of the ClusterAddon resource.
func (*ClusterStack) SetConditions ¶
func (r *ClusterStack) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the ClusterAddon to the predescribed clusterv1.Conditions.
type ClusterStackList ¶
type ClusterStackList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterStack `json:"items"`
}
ClusterStackList contains a list of ClusterStack.
func (*ClusterStackList) DeepCopy ¶
func (in *ClusterStackList) DeepCopy() *ClusterStackList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStackList.
func (*ClusterStackList) DeepCopyInto ¶
func (in *ClusterStackList) DeepCopyInto(out *ClusterStackList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterStackList) DeepCopyObject ¶
func (in *ClusterStackList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterStackRelease ¶
type ClusterStackRelease struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterStackReleaseSpec `json:"spec,omitempty"`
Status ClusterStackReleaseStatus `json:"status,omitempty"`
}
ClusterStackRelease is the Schema for the clusterstackreleases API.
func (*ClusterStackRelease) DeepCopy ¶
func (in *ClusterStackRelease) DeepCopy() *ClusterStackRelease
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStackRelease.
func (*ClusterStackRelease) DeepCopyInto ¶
func (in *ClusterStackRelease) DeepCopyInto(out *ClusterStackRelease)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterStackRelease) DeepCopyObject ¶
func (in *ClusterStackRelease) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterStackRelease) GetConditions ¶
func (r *ClusterStackRelease) GetConditions() clusterv1.Conditions
GetConditions returns the observations of the operational state of the ClusterAddon resource.
func (*ClusterStackRelease) SetConditions ¶
func (r *ClusterStackRelease) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the ClusterAddon to the predescribed clusterv1.Conditions.
type ClusterStackReleaseList ¶
type ClusterStackReleaseList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterStackRelease `json:"items"`
}
ClusterStackReleaseList contains a list of ClusterStackRelease.
func (*ClusterStackReleaseList) DeepCopy ¶
func (in *ClusterStackReleaseList) DeepCopy() *ClusterStackReleaseList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStackReleaseList.
func (*ClusterStackReleaseList) DeepCopyInto ¶
func (in *ClusterStackReleaseList) DeepCopyInto(out *ClusterStackReleaseList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterStackReleaseList) DeepCopyObject ¶
func (in *ClusterStackReleaseList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterStackReleasePhase ¶
type ClusterStackReleasePhase string
ClusterStackReleasePhase is the phase of a ClusterStackRelease object.
type ClusterStackReleaseSpec ¶
type ClusterStackReleaseSpec struct {
// ProviderRef specifies the reference to the ProviderClusterStackRelease object.
// It has to be set only if the object exists, i.e. if the noProvider mode is turned off.
// +optional
ProviderRef *corev1.ObjectReference `json:"providerRef,omitempty"`
}
ClusterStackReleaseSpec defines the desired state of ClusterStackRelease.
func (*ClusterStackReleaseSpec) DeepCopy ¶
func (in *ClusterStackReleaseSpec) DeepCopy() *ClusterStackReleaseSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStackReleaseSpec.
func (*ClusterStackReleaseSpec) DeepCopyInto ¶
func (in *ClusterStackReleaseSpec) DeepCopyInto(out *ClusterStackReleaseSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStackReleaseStatus ¶
type ClusterStackReleaseStatus struct {
// Resources specifies the status of the resources that this object administrates.
// +optional
Resources []*Resource `json:"resources,omitempty"`
// KubernetesVersion is the Kubernetes version incl. patch version, e.g. 1.26.6.
// The controller fetches the version from the release assets of the cluster stack.
// +optional
KubernetesVersion string `json:"kubernetesVersion,omitempty"`
// +optional
// +kubebuilder:default:=false
Ready bool `json:"ready,omitempty"`
// Conditions defines current service state of the ClusterAddon.
// +optional
Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}
ClusterStackReleaseStatus defines the observed state of ClusterStackRelease.
func (*ClusterStackReleaseStatus) DeepCopy ¶
func (in *ClusterStackReleaseStatus) DeepCopy() *ClusterStackReleaseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStackReleaseStatus.
func (*ClusterStackReleaseStatus) DeepCopyInto ¶
func (in *ClusterStackReleaseStatus) DeepCopyInto(out *ClusterStackReleaseStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStackReleaseSummary ¶
type ClusterStackReleaseSummary struct {
Name string `json:"name"`
Ready bool `json:"ready"`
Phase ClusterStackReleasePhase `json:"phase"`
// +optional
Message string `json:"message,omitempty"`
}
ClusterStackReleaseSummary gives the summary of the status of a ClusterStackRelease object.
func (*ClusterStackReleaseSummary) DeepCopy ¶
func (in *ClusterStackReleaseSummary) DeepCopy() *ClusterStackReleaseSummary
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStackReleaseSummary.
func (*ClusterStackReleaseSummary) DeepCopyInto ¶
func (in *ClusterStackReleaseSummary) DeepCopyInto(out *ClusterStackReleaseSummary)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStackSpec ¶
type ClusterStackSpec struct {
// Provider is the name of the cluster stack provider.
// +kubebuilder:validation:MinLength=1
Provider string `json:"provider"`
// Name is the name of the cluster stack.
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
// KubernetesVersion is the Kubernetes version in the format '<majorVersion>.<minorVersion>', e.g. 1.26.
// +kubebuilder:validation:Pattern=`^\d\.\d+$`
KubernetesVersion string `json:"kubernetesVersion"`
// Channel specifies the release channel of the cluster stack. Defaults to 'stable'.
// +kubebuilder:default:=stable
// +kubebuilder:validation:enum=stable;alpha;beta;rc
Channel version.Channel `json:"channel,omitempty"`
// Versions is a list of version of the cluster stack that should be available in the management cluster.
// A version has to have the format 'v<versionNumber>', e.g. v1 for stable channel or, v1-alpha.1 for alpha channel.
// The versions have to correspond to the channel property.
// +optional
Versions []string `json:"versions"`
// AutoSubscribe is a feature where the operator checks automatically if there are new versions of this cluster stack available.
// +optional
// +kubebuilder:default:=true
AutoSubscribe bool `json:"autoSubscribe"`
// NoProvider indicates if set on true that there is no provider-specific implementation and operator.
// +optional
// +kubebuilder:default:=false
NoProvider bool `json:"noProvider,omitempty"`
// ProviderRef has to reference the ProviderClusterStackReleaseTemplate that contains all provider-specific information.
// +optional
ProviderRef *corev1.ObjectReference `json:"providerRef,omitempty"`
}
ClusterStackSpec defines the desired state of ClusterStack.
func (*ClusterStackSpec) DeepCopy ¶
func (in *ClusterStackSpec) DeepCopy() *ClusterStackSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStackSpec.
func (*ClusterStackSpec) DeepCopyInto ¶
func (in *ClusterStackSpec) DeepCopyInto(out *ClusterStackSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStackStatus ¶
type ClusterStackStatus struct {
// +optional
LatestRelease string `json:"latestRelease"`
// +optional
Summary []ClusterStackReleaseSummary `json:"summary,omitempty"`
// +optional
UsableVersions string `json:"usableVersions,omitempty"`
// +optional
Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}
ClusterStackStatus defines the observed state of ClusterStack.
func (*ClusterStackStatus) DeepCopy ¶
func (in *ClusterStackStatus) DeepCopy() *ClusterStackStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStackStatus.
func (*ClusterStackStatus) DeepCopyInto ¶
func (in *ClusterStackStatus) DeepCopyInto(out *ClusterStackStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resource ¶
type Resource struct {
// Group specifies the group of the object.
Group string `json:"group,omitempty"`
// Version specifies the version of the object.
Version string `json:"version,omitempty"`
// Kind specifies the kind of the object.
Kind string `json:"kind,omitempty"`
// Namespace specifies the namespace of the object.
Namespace string `json:"namespace,omitempty"`
// Name specifies the name of the object.
Name string `json:"name,omitempty"`
// Status specifies the status of the object being applied.
Status ResourceStatus `json:"status,omitempty"`
// Error specifies the error of the last time this object has been applied.
Error string `json:"error,omitempty"`
}
Resource defines the status of a resource.
func NewResourceFromUnstructured ¶
func NewResourceFromUnstructured(u *unstructured.Unstructured) *Resource
NewResourceFromUnstructured defines a new resource based on an unstructured object. For a nil input it returns a nil resource.
func (*Resource) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resource.
func (*Resource) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Resource) GroupVersionKind ¶
func (r *Resource) GroupVersionKind() schema.GroupVersionKind
GroupVersionKind returns a schema.GroupVersionKind.
func (*Resource) NamespacedName ¶
NamespacedName returns a string of the form <namespace>/<name>.