cluster-api: sigs.k8s.io/cluster-api/cmd/clusterctl/api/v1alpha3 Index | Files

package v1alpha3

import "sigs.k8s.io/cluster-api/cmd/clusterctl/api/v1alpha3"

Package v1alpha3 contains API Schema definitions for the clusterctl v1alpha3 API group +kubebuilder:object:generate=true +groupName=clusterctl.cluster.x-k8s.io

Index

Package Files

groupversion_info.go labels.go metadata_type.go provider_type.go zz_generated.deepcopy.go

Constants

const (
    // ClusterctlLabelName is applied to all components managed by clusterctl.
    ClusterctlLabelName = "clusterctl.cluster.x-k8s.io"

    // ClusterctlCoreLabelName is applied to all the core objects managed by clusterctl.
    ClusterctlCoreLabelName = "clusterctl.cluster.x-k8s.io/core"

    // ClusterctlResourceLifecyleLabelName describes the lifecyle for a specific resource.
    //
    // Example: resources shared between instances of the same provider:  CRDs,
    // ValidatingWebhookConfiguration, MutatingWebhookConfiguration, and so on.
    ClusterctlResourceLifecyleLabelName = "clusterctl.cluster.x-k8s.io/lifecycle"

    // ClusterctlMoveLabelName can be set on CRDs that providers wish to move that are not part of a cluster
    ClusterctlMoveLabelName = "clusterctl.cluster.x-k8s.io/move"
)
const (
    // CoreProviderType is a type reserved for Cluster API core repository.
    CoreProviderType = ProviderType("CoreProvider")

    // BootstrapProviderType is the type associated with codebases that provide
    // bootstrapping capabilities.
    BootstrapProviderType = ProviderType("BootstrapProvider")

    // InfrastructureProviderType is the type associated with codebases that provide
    // infrastructure capabilities.
    InfrastructureProviderType = ProviderType("InfrastructureProvider")

    // ControlPlaneProviderType is the type associated with codebases that provide
    // control-plane capabilities.
    ControlPlaneProviderType = ProviderType("ControlPlaneProvider")

    // ProviderTypeUnknown is used when the type is unknown.
    ProviderTypeUnknown = ProviderType("")
)
const (
    // ResourceLifecycleShared is used to indicate that a resource is shared between
    // multiple instances of a provider.
    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
)

func ManifestLabel Uses

func ManifestLabel(name string, providerType ProviderType) string

ManifestLabel returns the cluster.x-k8s.io/provider label value for a provider/type.

Note: the label uniquely describes the provider type and its kind (e.g. bootstrap-kubeadm); it's not meant to be used to describe each instance of a particular provider.

type Metadata Uses

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 Uses

func (in *Metadata) DeepCopy() *Metadata

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

func (*Metadata) DeepCopyInto Uses

func (in *Metadata) DeepCopyInto(out *Metadata)

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

func (*Metadata) DeepCopyObject Uses

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

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

func (*Metadata) GetReleaseSeriesForVersion Uses

func (m *Metadata) GetReleaseSeriesForVersion(version *version.Version) *ReleaseSeries

GetReleaseSeriesForVersion returns the release series for a given version.

type Provider Uses

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

    // ProviderName indicates the name of the provider.
    // +optional
    ProviderName string `json:"providerName,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 Uses

func (in *Provider) DeepCopy() *Provider

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

func (*Provider) DeepCopyInto Uses

func (in *Provider) DeepCopyInto(out *Provider)

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

func (*Provider) DeepCopyObject Uses

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

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

func (*Provider) Equals Uses

func (p *Provider) Equals(other Provider) bool

Equals returns true if two providers are identical (same name, provider name, type, version etc.).

func (*Provider) GetProviderType Uses

func (p *Provider) GetProviderType() ProviderType

GetProviderType parse the Provider.Type string field and return the typed representation.

func (*Provider) HasWatchingOverlapWith Uses

func (p *Provider) HasWatchingOverlapWith(other Provider) bool

HasWatchingOverlapWith returns true if the provider has an overlapping watching namespace with another provider.

func (*Provider) InstanceName Uses

func (p *Provider) InstanceName() string

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 Uses

func (p *Provider) ManifestLabel() string

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

func (*Provider) SameAs Uses

func (p *Provider) SameAs(other Provider) bool

SameAs returns true if two providers have the same ProviderName and Type. Please note that there could be many instances of the same provider.

type ProviderList Uses

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 Uses

func (in *ProviderList) DeepCopy() *ProviderList

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

func (*ProviderList) DeepCopyInto Uses

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 Uses

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

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

func (*ProviderList) FilterByNamespace Uses

func (l *ProviderList) FilterByNamespace(namespace string) []Provider

func (*ProviderList) FilterByProviderNameAndType Uses

func (l *ProviderList) FilterByProviderNameAndType(provider string, providerType ProviderType) []Provider

func (*ProviderList) FilterByType Uses

func (l *ProviderList) FilterByType(providerType ProviderType) []Provider

func (*ProviderList) FilterCore Uses

func (l *ProviderList) FilterCore() []Provider

func (*ProviderList) FilterNonCore Uses

func (l *ProviderList) FilterNonCore() []Provider

type ProviderType Uses

type ProviderType string

ProviderType is a string representation of a Provider type.

func (ProviderType) Order Uses

func (p ProviderType) Order() int

Order return an integer that can be used to sort ProviderType values.

type ReleaseSeries Uses

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 Cluster API contract supported by this series.
    //
    // The value is an API Version, e.g. `v1alpha3`.
    Contract string `json:"contract,omitempty"`
}

ReleaseSeries maps a provider release series (major/minor) with a API Version of Cluster API (contract).

func (*ReleaseSeries) DeepCopy Uses

func (in *ReleaseSeries) DeepCopy() *ReleaseSeries

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

func (*ReleaseSeries) DeepCopyInto Uses

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 Uses

type ResourceLifecycle string

ResourceLifecycle configures the lifecycle of a resource

Package v1alpha3 imports 7 packages (graph) and is imported by 16 packages. Updated 2020-09-01. Refresh now. Tools for package owners.