Documentation ¶
Overview ¶
Package v1alpha3 contains API Schema definitions for the clusterctl v1alpha3 API group +kubebuilder:object:generate=true +groupName=clusterctl.cluster.x-k8s.io
Index ¶
- Constants
- Variables
- func ManifestLabel(name string, providerType ProviderType) string
- type Metadata
- type Provider
- func (in *Provider) DeepCopy() *Provider
- func (in *Provider) DeepCopyInto(out *Provider)
- func (in *Provider) DeepCopyObject() runtime.Object
- func (p *Provider) Equals(other Provider) bool
- func (p *Provider) GetProviderType() ProviderType
- func (p *Provider) HasWatchingOverlapWith(other Provider) bool
- func (p *Provider) InstanceName() string
- func (p *Provider) ManifestLabel() string
- func (p *Provider) SameAs(other Provider) bool
- type ProviderList
- func (in *ProviderList) DeepCopy() *ProviderList
- func (in *ProviderList) DeepCopyInto(out *ProviderList)
- func (in *ProviderList) DeepCopyObject() runtime.Object
- func (l *ProviderList) FilterByNamespace(namespace string) []Provider
- func (l *ProviderList) FilterByProviderAndType(provider string, providerType ProviderType) []Provider
- func (l *ProviderList) FilterByType(providerType ProviderType) []Provider
- func (l *ProviderList) FilterCore() []Provider
- func (l *ProviderList) FilterNonCore() []Provider
- type ProviderType
- type ReleaseSeries
- type ResourceLifecycle
Constants ¶
const ( // ClusterctlLabelName defines the label that is applied to all the components managed by clusterctl. ClusterctlLabelName = "clusterctl.cluster.x-k8s.io" // ClusterctlCoreLabelName defines the label that is applied to all the core objects managed by clusterctl. ClusterctlCoreLabelName = "clusterctl.cluster.x-k8s.io/core" // ClusterctlResourceLifecyleLabelName defines the label that documents the lifecyle for a specific resource. // e.g. resources shared between instances of the same provider. e.g. CRDs, ValidatingWebhookConfiguration, MutatingWebhookConfiguration etc. // are marked as shared ClusterctlResourceLifecyleLabelName = "clusterctl.cluster.x-k8s.io/lifecycle" )
const ( // CoreProviderType CoreProviderType = ProviderType("CoreProvider") // BootstrapProviderType BootstrapProviderType = ProviderType("BootstrapProvider") // InfrastructureProviderType InfrastructureProviderType = ProviderType("InfrastructureProvider") // ControlPlaneProviderType ControlPlaneProviderType = ProviderType("ControlPlaneProvider") // ProviderTypeUnknown ProviderTypeUnknown = ProviderType("") )
const ( // that the resource is shared between multiple instance of a provider, and should not be deleted // if an instance of the provider is deleted. ResourceLifecycleShared = ResourceLifecycle("shared") )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "clusterctl.cluster.x-k8s.io", Version: "v1alpha3"} // 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 ManifestLabel ¶
func ManifestLabel(name string, providerType ProviderType) string
ManifestLabel returns the cluster.x-k8s.io/provider label value for a provider/type. Please note that this label uniquely identifies the provider, e.g. bootstrap-kubeadm, but not the instances of the provider, e.g. namespace-1/bootstrap-kubeadm and namespace-2/bootstrap-kubeadm.
Types ¶
type Metadata ¶
type Metadata struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +optional ReleaseSeries []ReleaseSeries `json:"releaseSeries"` }
Metadata for a provider repository
func (*Metadata) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metadata.
func (*Metadata) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Metadata) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Metadata) GetReleaseSeriesForVersion ¶
func (m *Metadata) GetReleaseSeriesForVersion(version *version.Version) *ReleaseSeries
GetReleaseSeriesForVersion return the release series for a given version.
type Provider ¶
type Provider struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Provider indicates the name of the provider. // +optional Provider string `json:"provider,omitempty"` // Type indicates the type of the provider. // See ProviderType for a list of supported values // +optional Type string `json:"type,omitempty"` // Version indicates the component version. // +optional Version string `json:"version,omitempty"` // WatchedNamespace indicates the namespace where the provider controller is is watching. // if empty the provider controller is watching for objects in all namespaces. // +optional WatchedNamespace string `json:"watchedNamespace,omitempty"` }
Provider defines an entry in the provider inventory.
func (*Provider) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Provider.
func (*Provider) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Provider) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Provider) Equals ¶
Equals returns true if two providers are identical (same name, type, version etc.).
func (*Provider) GetProviderType ¶
func (p *Provider) GetProviderType() ProviderType
GetProviderType parse the Provider.Type string field and return the typed representation.
func (*Provider) HasWatchingOverlapWith ¶
HasWatchingOverlapWith returns true if the provider has an overlapping watching namespace with another provider.
func (*Provider) InstanceName ¶
InstanceName return the a name that uniquely identifies an entry in the provider inventory. The instanceName is composed by the ManifestLabel and by the namespace where the provider is installed; the resulting value uniquely identify a provider instance because clusterctl does not support multiple instances of the same provider to be installed in the same namespace.
func (*Provider) ManifestLabel ¶
ManifestLabel returns the cluster.x-k8s.io/provider label value for an entry in the provider inventory. Please note that this label uniquely identifies the provider, e.g. bootstrap-kubeadm, but not the instances of the provider, e.g. namespace-1/bootstrap-kubeadm and namespace-2/bootstrap-kubeadm
type ProviderList ¶
type ProviderList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Provider `json:"items"` }
ProviderList contains a list of Provider
func (*ProviderList) DeepCopy ¶
func (in *ProviderList) DeepCopy() *ProviderList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderList.
func (*ProviderList) DeepCopyInto ¶
func (in *ProviderList) DeepCopyInto(out *ProviderList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProviderList) DeepCopyObject ¶
func (in *ProviderList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ProviderList) FilterByNamespace ¶
func (l *ProviderList) FilterByNamespace(namespace string) []Provider
func (*ProviderList) FilterByProviderAndType ¶
func (l *ProviderList) FilterByProviderAndType(provider string, providerType ProviderType) []Provider
func (*ProviderList) FilterByType ¶
func (l *ProviderList) FilterByType(providerType ProviderType) []Provider
func (*ProviderList) FilterCore ¶
func (l *ProviderList) FilterCore() []Provider
func (*ProviderList) FilterNonCore ¶
func (l *ProviderList) FilterNonCore() []Provider
type ProviderType ¶
type ProviderType string
ProviderType is a string representation of a Provider type..
func (ProviderType) Order ¶
func (p ProviderType) Order() int
Order return an integer that can be used to sort ProviderType values.
type ReleaseSeries ¶
type ReleaseSeries struct { // Major version of the release series Major uint `json:"major,omitempty"` // Minor version of the release series Minor uint `json:"minor,omitempty"` // Contract defines the API Version of Cluster API (contract) supported by the ReleaseSeries. Contract string `json:"contract,omitempty"` }
ReleaseSeries maps a provider release series (major/minor) with a API Version of Cluster API (contract).
func (*ReleaseSeries) DeepCopy ¶
func (in *ReleaseSeries) DeepCopy() *ReleaseSeries
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseSeries.
func (*ReleaseSeries) DeepCopyInto ¶
func (in *ReleaseSeries) DeepCopyInto(out *ReleaseSeries)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceLifecycle ¶
type ResourceLifecycle string
ResourceLifecycle configures the lifecycle of a resource