v1alpha1

package
v0.0.0-...-24a8f2d Latest Latest
Warning

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

Go to latest
Published: Sep 15, 2022 License: Apache-2.0 Imports: 6 Imported by: 8

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the cluster.open-cluster-management.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=cluster.open-cluster-management.io

Index

Constants

View Source
const (
	ConfiguredAsExpectedReason = "ConfiguredAsExpected"
	PlatfromDestroyReason      = "Destroying"
	MisConfiguredReason        = "MisConfigured"
	BeingConfiguredReason      = "BeingConfigured"
	NotApplicableReason        = "NA"
	RemovingReason             = "Removing"
	AsExpectedReason           = "AsExpected"
	NodePoolProvision          = "NodePoolsProvisioned"

	// PlatformConfigured indicates (if status is true) that the
	// platform configuration specified for the platform provider has been applied
	PlatformConfigured ConditionType = "PlatformInfrastructureConfigured"
	// PlatformIAMConfigured indicates (if status is true) that the IAM is configured
	PlatformIAMConfigured ConditionType = "PlatformIAMConfigured"
	// ProviderSecretConfigured indicates the state of the secret reference
	ProviderSecretConfigured ConditionType = "ProviderSecretConfigured"

	// HostedCluster indicates the state of the hostedcluster
	HostedClusterAvailable ConditionType = "HostedClusterAvailable"

	// HostedCluster indicates the state of the hostedcluster
	HostedClusterProgress ConditionType = "HostedClusterProgress"

	// Nodepool indicates the state of the nodepools
	Nodepool ConditionType = "NodePool"

	// this mirror open-cluster-management.io/api/work/v1/types.go#L266-L279
	// WorkProgressing represents that the work is in the progress to be
	// applied on the managed cluster.
	WorkProgressing ConditionType = "Progressing"
	// WorkApplied represents that the workload defined in work is
	// succesfully applied on the managed cluster.
	WorkApplied ConditionType = "Applied"
	// WorkAvailable represents that all resources of the work exists on
	// the managed cluster.
	WorkAvailable ConditionType = "Available"
	// WorkDegraded represents that the current state of work does not match
	// the desired state for a certain period.
	WorkDegraded ConditionType = "Degraded"
	// WorkConfigured indicates the status of applying the ManifestWork
	WorkConfigured ConditionType = "ManifestWorkConfigured"

	InfraOverrideDestroy   = "ORPHAN"
	InfraConfigureOnly     = "INFRA-ONLY"
	DeleteHostingNamespace = "DELETE-HOSTING-NAMESPACE"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "cluster.open-cluster-management.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
)

Functions

This section is empty.

Types

type AWSCredentials

type AWSCredentials struct {
	ControlPlaneOperatorARN string `json:"controlPlaneOperatorARN"`
	KubeCloudControllerARN  string `json:"kubeCloudControllerARN"`
	NodePoolManagementARN   string `json:"nodePoolManagementARN"`
}

func (*AWSCredentials) DeepCopy

func (in *AWSCredentials) DeepCopy() *AWSCredentials

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

func (*AWSCredentials) DeepCopyInto

func (in *AWSCredentials) DeepCopyInto(out *AWSCredentials)

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

type AWSPlatform

type AWSPlatform struct {

	// Region is the AWS region in which the cluster resides. This configures the
	// OCP control plane cloud integrations, and is used by NodePool to resolve
	// the correct boot AMI for a given release.
	//
	// +immutable
	Region string `json:"region"`

	// Zones are availability zones in the AWS region.
	// NodePool resource is created in each zone and the NodePool
	// name is suffixed by the zone name.
	//
	// +optional
	Zones []string `json:"zones,omitempty"`
}

func (*AWSPlatform) DeepCopy

func (in *AWSPlatform) DeepCopy() *AWSPlatform

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

func (*AWSPlatform) DeepCopyInto

func (in *AWSPlatform) DeepCopyInto(out *AWSPlatform)

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

type AzurePlatform

type AzurePlatform struct {

	// Region is the Azure region(location) in which the cluster resides. This configures the
	// OCP control plane cloud integrations, and is used by NodePool to resolve
	// the correct boot image for a given release.
	//
	// +immutable
	Location string `json:"location"`
}

func (*AzurePlatform) DeepCopy

func (in *AzurePlatform) DeepCopy() *AzurePlatform

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

func (*AzurePlatform) DeepCopyInto

func (in *AzurePlatform) DeepCopyInto(out *AzurePlatform)

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

type ConditionType

type ConditionType string

type CredentialARNs

type CredentialARNs struct {
	AWS *AWSCredentials `json:"aws,omitempty"`
}

func (*CredentialARNs) DeepCopy

func (in *CredentialARNs) DeepCopy() *CredentialARNs

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

func (*CredentialARNs) DeepCopyInto

func (in *CredentialARNs) DeepCopyInto(out *CredentialARNs)

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

type CurrentPhase

type CurrentPhase string

type HypershiftDeployment

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

	Spec   HypershiftDeploymentSpec   `json:"spec,omitempty"`
	Status HypershiftDeploymentStatus `json:"status,omitempty"`
}

HypershiftDeployment is the Schema for the hypershiftDeployments API

func (*HypershiftDeployment) DeepCopy

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

func (*HypershiftDeployment) DeepCopyInto

func (in *HypershiftDeployment) DeepCopyInto(out *HypershiftDeployment)

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

func (*HypershiftDeployment) DeepCopyObject

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

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

type HypershiftDeploymentList

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

HypershiftDeploymentList contains a list of HypershiftDeployment

func (*HypershiftDeploymentList) DeepCopy

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

func (*HypershiftDeploymentList) DeepCopyInto

func (in *HypershiftDeploymentList) DeepCopyInto(out *HypershiftDeploymentList)

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

func (*HypershiftDeploymentList) DeepCopyObject

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

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

type HypershiftDeploymentSpec

type HypershiftDeploymentSpec struct {
	// Infrastructure instructions and pointers so either ClusterDeployment generates what is needed or
	// skips it when the user provides the infrastructure values
	// +immutable
	Infrastructure InfraSpec `json:"infrastructure"`

	// Infrastructure ID, this is used to tag resources in the Cloud Provider, it will be generated
	// if not provided
	// +immutable
	// +optional
	InfraID string `json:"infra-id,omitempty"`

	// InfrastructureOverride allows support for special cases
	//   OverrideDestroy = "ORPHAN"
	//   InfraConfigureOnly = "INFRA-ONLY"
	//   DeleteHostingNamespace = "DELETE-HOSTING-NAMESPACE"
	// +kubebuilder:validation:Enum=ORPHAN;INFRA-ONLY;DELETE-HOSTING-NAMESPACE
	Override InfraOverride `json:"override,omitempty"`

	//HostingNamespace specify the where the children resouces(hostedcluster, nodepool)
	//to sit in
	//if not provided, the default is "clusters"
	// +optional
	HostingNamespace string `json:"hostingNamespace"`

	//HostingCluster only applies to ManifestWork, and specifies which managedCluster's namespace the manifestwork will be applied to.
	//If not specified, the controller will flag an error condition.
	//The HostingCluster would be the management cluster of the hostedcluster and nodepool generated
	//by the hypershiftDeployment
	HostingCluster string `json:"hostingCluster"`

	// HostedCluster that will be applied to the ManagementCluster by ACM, if omitted, it will be generated
	// +optional
	HostedClusterSpec *hypv1alpha1.HostedClusterSpec `json:"hostedClusterSpec,omitempty"`

	// Reference to a HostedCluster on the HyperShift deployment namespace that will be applied to the
	// ManagementCluster by ACM, if omitted, it will be generated
	// required if InfraSpec.Configure is false
	// +optional
	HostedClusterRef corev1.LocalObjectReference `json:"hostedClusterReference,omitempty"`

	// NodePools is an array of NodePool resources that will be applied to the ManagementCluster by ACM,
	// if omitted, a default NodePool will be generated
	// +optional
	NodePools []*HypershiftNodePools `json:"nodePools,omitempty"`

	// HostedManagedClusterSet is the ManagedClusterSet the hosted cluster should belong to.
	// If omitted, the default is the hosting cluster's cluster set
	// +optional
	HostedManagedClusterSet string `json:"hostedManagedClusterSet,omitempty"`

	// Reference to an array of NodePool resources on the HyperShift deployment namespace that will be applied
	// to the ManagementCluster by ACM,
	// required if InfraSpec.Configure is false
	// +optional
	NodePoolsRef []corev1.LocalObjectReference `json:"nodePoolReferences,omitempty"`

	// Credentials are ARN's that are used for standing up the resources in the cluster.
	Credentials *CredentialARNs `json:"credentials,omitempty"`
}

HypershiftDeploymentSpec defines the desired state of HypershiftDeployment

func (*HypershiftDeploymentSpec) DeepCopy

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

func (*HypershiftDeploymentSpec) DeepCopyInto

func (in *HypershiftDeploymentSpec) DeepCopyInto(out *HypershiftDeploymentSpec)

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

type HypershiftDeploymentStatus

type HypershiftDeploymentStatus struct {
	// Track the conditions for each step in the desired curation that is being
	// executed as a job
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	//Show which phase of curation is currently being processed
	Phase CurrentPhase `json:"phase,omitempty"`
}

HypershiftDeploymentStatus defines the observed state of HypershiftDeployment

func (*HypershiftDeploymentStatus) DeepCopy

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

func (*HypershiftDeploymentStatus) DeepCopyInto

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

type HypershiftNodePools

type HypershiftNodePools struct {
	// Name is the name to give this NodePool
	Name string `json:"name"`

	// Spec stores the NodePoolSpec you wan to use. If omitted, it will be generated
	Spec hypv1alpha1.NodePoolSpec `json:"spec"`
}

func (*HypershiftNodePools) DeepCopy

func (in *HypershiftNodePools) DeepCopy() *HypershiftNodePools

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

func (*HypershiftNodePools) DeepCopyInto

func (in *HypershiftNodePools) DeepCopyInto(out *HypershiftNodePools)

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

type InfraOverride

type InfraOverride string

type InfraSpec

type InfraSpec struct {
	// Configure the infrastructure using the provided CloudProvider, or user provided
	// +immutable
	Configure bool `json:"configure"`

	// Region is the AWS region in which the cluster resides. This configures the
	// OCP control plane cloud integrations, and is used by NodePool to resolve
	// the correct boot AMI for a given release.
	//
	// +optional
	// +immutable
	Platform *Platforms `json:"platform,omitempty"`

	// CloudProvider secret, contains the Cloud credenetial, Pull Secret and Base Domain
	CloudProvider corev1.LocalObjectReference `json:"cloudProvider,omitempty"`
}

func (*InfraSpec) DeepCopy

func (in *InfraSpec) DeepCopy() *InfraSpec

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

func (*InfraSpec) DeepCopyInto

func (in *InfraSpec) DeepCopyInto(out *InfraSpec)

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

type Platforms

type Platforms struct {
	Azure *AzurePlatform `json:"azure,omitempty"`
	AWS   *AWSPlatform   `json:"aws,omitempty"`
}

func (*Platforms) DeepCopy

func (in *Platforms) DeepCopy() *Platforms

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

func (*Platforms) DeepCopyInto

func (in *Platforms) DeepCopyInto(out *Platforms)

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