v1

package
v1.0.17 Latest Latest
Warning

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

Go to latest
Published: Jan 8, 2021 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the hive v1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/openshift/hive/pkg/apis/hive +k8s:defaulter-gen=TypeMeta +groupName=hive.openshift.io

Package v1 contains API Schema definitions for the hive v1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/openshift/hive/pkg/apis/hive +k8s:defaulter-gen=TypeMeta +groupName=hive.openshift.io

Index

Constants

View Source
const (
	// FinalizerDeprovision is used on ClusterDeployments to ensure we run a successful deprovision
	// job before cleaning up the API object.
	FinalizerDeprovision string = "hive.openshift.io/deprovision"

	// HiveClusterTypeLabel is an optional label that can be applied to ClusterDeployments. It is
	// shown in short output, usable in searching, and adds metrics vectors which can be used to
	// alert on cluster types differently.
	HiveClusterTypeLabel = "hive.openshift.io/cluster-type"

	// DefaultClusterType will be used when the above HiveClusterTypeLabel is unset. This
	// value will not be added as a label, only used for metrics vectors.
	DefaultClusterType = "unspecified"

	// HiveInstallLogLabel is used on ConfigMaps uploaded by the install manager which contain an install log.
	HiveInstallLogLabel = "hive.openshift.io/install-log"

	// HiveClusterPlatformLabel is a label that is applied to ClusterDeployments
	// to denote which platform the cluster was created on. This can be used in
	// searching and filtering clusters, as well as in SelectorSyncSets to only
	// target specific cloud platforms.
	HiveClusterPlatformLabel = "hive.openshift.io/cluster-platform"

	// HiveClusterRegionLabel is a label that is applied to ClusterDeployments
	// to denote which region the cluster was created in. This can be used in
	// searching and filtering clusters, as well as in SelectorSyncSets to only
	// target specific regions of the cluster-platform.
	HiveClusterRegionLabel = "hive.openshift.io/cluster-region"
)
View Source
const (
	// ResumingHibernationReason is used as the reason when the cluster is transitioning
	// from a Hibernating state to a Running state.
	ResumingHibernationReason = "Resuming"
	// RunningHibernationReason is used as the reason when the cluster is running and
	// the Hibernating condition is false.
	RunningHibernationReason = "Running"
	// StoppingHibernationReason is used as the reason when the cluster is transitioning
	// from a Running state to a Hibernating state.
	StoppingHibernationReason = "Stopping"
	// HibernatingHibernationReason is used as the reason when the cluster is in a
	// Hibernating state.
	HibernatingHibernationReason = "Hibernating"
	// UnsupportedHibernationReason is used as the reason when the cluster spec
	// specifies that the cluster be moved to a Hibernating state, but either the cluster
	// version is not compatible with hibernation (< 4.4.8) or the cloud provider of
	// the cluster is not supported.
	UnsupportedHibernationReason = "Unsupported"
	// FailedToStopHibernationReason is used when there was an error stopping machines
	// to enter hibernation
	FailedToStopHibernationReason = "FailedToStop"
	// FailedToStartHibernationReason is used when there was an error starting machines
	// to leave hibernation
	FailedToStartHibernationReason = "FailedToStart"
	// SyncSetsNotAppliedReason is used as the reason when SyncSets have not yet been applied
	// for the cluster based on ClusterSync.Status.FirstSucessTime
	SyncSetsNotAppliedReason = "SyncSetsNotApplied"
)

Cluster hibernating reasons

View Source
const (
	// FinalizerDNSZone is used on DNSZones to ensure we successfully deprovision
	// the cloud objects before cleaning up the API object.
	FinalizerDNSZone string = "hive.openshift.io/dnszone"

	// FinalizerDNSEndpoint is used on DNSZones to ensure we successfully
	// delete the parent-link records before cleaning up the API object.
	FinalizerDNSEndpoint string = "hive.openshift.io/dnsendpoint"
)
View Source
const (
	// MachinePoolImageIDOverrideAnnotation can be applied to MachinePools to control the precise image ID to be used
	// for the MachineSets we reconcile for this pool. This feature is presently only implemented for AWS, and
	// is intended for very limited use cases we do not recommend pursuing regularly. As such it is not currently
	// part of our official API.
	MachinePoolImageIDOverrideAnnotation = "hive.openshift.io/image-id-override"
)

Variables

View Source
var (
	// HiveAPIGroup is the group that all hive objects belong to in the API server.
	HiveAPIGroup = "hive.openshift.io"

	// HiveAPIVersion is the api version that all hive objects are currently at.
	HiveAPIVersion = "v1"

	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: HiveAPIGroup, Version: HiveAPIVersion}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}

	// AddToScheme is a shortcut for SchemeBuilder.AddToScheme
	AddToScheme = SchemeBuilder.AddToScheme
)

AllClusterDeploymentConditions is a slice containing all condition types. This can be used for dealing with cluster deployment conditions dynamically.

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AWSClusterDeprovision

type AWSClusterDeprovision struct {
	// Region is the AWS region for this deprovisioning
	Region string `json:"region"`

	// CredentialsSecretRef is the AWS account credentials to use for deprovisioning the cluster
	CredentialsSecretRef *corev1.LocalObjectReference `json:"credentialsSecretRef,omitempty"`
}

AWSClusterDeprovision contains AWS-specific configuration for a ClusterDeprovision

func (*AWSClusterDeprovision) DeepCopy

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

func (*AWSClusterDeprovision) DeepCopyInto

func (in *AWSClusterDeprovision) DeepCopyInto(out *AWSClusterDeprovision)

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

type AWSDNSZoneSpec

type AWSDNSZoneSpec struct {
	// CredentialsSecretRef contains a reference to a secret that contains AWS credentials
	// for CRUD operations
	CredentialsSecretRef corev1.LocalObjectReference `json:"credentialsSecretRef"`

	// AdditionalTags is a set of additional tags to set on the DNS hosted zone. In addition
	// to these tags,the DNS Zone controller will set a hive.openhsift.io/hostedzone tag
	// identifying the HostedZone record that it belongs to.
	AdditionalTags []AWSResourceTag `json:"additionalTags,omitempty"`

	// Region is the AWS region to use for route53 operations.
	// This defaults to us-east-1.
	// For AWS China, use cn-northwest-1.
	// +optional
	Region string `json:"region,omitempty"`
}

AWSDNSZoneSpec contains AWS-specific DNSZone specifications

func (*AWSDNSZoneSpec) DeepCopy

func (in *AWSDNSZoneSpec) DeepCopy() *AWSDNSZoneSpec

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

func (*AWSDNSZoneSpec) DeepCopyInto

func (in *AWSDNSZoneSpec) DeepCopyInto(out *AWSDNSZoneSpec)

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

type AWSDNSZoneStatus

type AWSDNSZoneStatus struct {
	// ZoneID is the ID of the zone in AWS
	// +optional
	ZoneID *string `json:"zoneID,omitempty"`
}

AWSDNSZoneStatus contains status information specific to AWS DNS zones

func (*AWSDNSZoneStatus) DeepCopy

func (in *AWSDNSZoneStatus) DeepCopy() *AWSDNSZoneStatus

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

func (*AWSDNSZoneStatus) DeepCopyInto

func (in *AWSDNSZoneStatus) DeepCopyInto(out *AWSDNSZoneStatus)

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

type AWSResourceTag

type AWSResourceTag struct {
	// Key is the key for the tag
	Key string `json:"key"`
	// Value is the value for the tag
	Value string `json:"value"`
}

AWSResourceTag represents a tag that is applied to an AWS cloud resource

func (*AWSResourceTag) DeepCopy

func (in *AWSResourceTag) DeepCopy() *AWSResourceTag

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

func (*AWSResourceTag) DeepCopyInto

func (in *AWSResourceTag) DeepCopyInto(out *AWSResourceTag)

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

type AzureClusterDeprovision

type AzureClusterDeprovision struct {
	// CredentialsSecretRef is the Azure account credentials to use for deprovisioning the cluster
	CredentialsSecretRef *corev1.LocalObjectReference `json:"credentialsSecretRef,omitempty"`
}

AzureClusterDeprovision contains Azure-specific configuration for a ClusterDeprovision

func (*AzureClusterDeprovision) DeepCopy

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

func (*AzureClusterDeprovision) DeepCopyInto

func (in *AzureClusterDeprovision) DeepCopyInto(out *AzureClusterDeprovision)

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

type AzureDNSZoneSpec added in v1.0.5

type AzureDNSZoneSpec struct {
	// CredentialsSecretRef references a secret that will be used to authenticate with
	// Azure CloudDNS. It will need permission to create and manage CloudDNS Hosted Zones.
	// Secret should have a key named 'osServicePrincipal.json'.
	// The credentials must specify the project to use.
	CredentialsSecretRef corev1.LocalObjectReference `json:"credentialsSecretRef"`

	// ResourceGroupName specifies the Azure resource group in which the Hosted Zone should be created.
	ResourceGroupName string `json:"resourceGroupName"`
}

AzureDNSZoneSpec contains Azure-specific DNSZone specifications

func (*AzureDNSZoneSpec) DeepCopy added in v1.0.5

func (in *AzureDNSZoneSpec) DeepCopy() *AzureDNSZoneSpec

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

func (*AzureDNSZoneSpec) DeepCopyInto added in v1.0.5

func (in *AzureDNSZoneSpec) DeepCopyInto(out *AzureDNSZoneSpec)

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

type AzureDNSZoneStatus added in v1.0.5

type AzureDNSZoneStatus struct {
}

AzureDNSZoneStatus contains status information specific to Azure DNS zones

func (*AzureDNSZoneStatus) DeepCopy added in v1.0.5

func (in *AzureDNSZoneStatus) DeepCopy() *AzureDNSZoneStatus

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

func (*AzureDNSZoneStatus) DeepCopyInto added in v1.0.5

func (in *AzureDNSZoneStatus) DeepCopyInto(out *AzureDNSZoneStatus)

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

type BackupConfig

type BackupConfig struct {
	// Velero specifies configuration for the Velero backup integration.
	// +optional
	Velero VeleroBackupConfig `json:"velero,omitempty"`

	// MinBackupPeriodSeconds specifies that a minimum of MinBackupPeriodSeconds will occur in between each backup.
	// This is used to rate limit backups. This potentially batches together multiple changes into 1 backup.
	// No backups will be lost as changes that happen during this interval are queued up and will result in a
	// backup happening once the interval has been completed.
	// +optional
	MinBackupPeriodSeconds *int `json:"minBackupPeriodSeconds,omitempty"`
}

BackupConfig contains settings for the Velero backup integration.

func (*BackupConfig) DeepCopy

func (in *BackupConfig) DeepCopy() *BackupConfig

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

func (*BackupConfig) DeepCopyInto

func (in *BackupConfig) DeepCopyInto(out *BackupConfig)

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

type BackupReference

type BackupReference struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
}

BackupReference is a reference to a backup resource

func (*BackupReference) DeepCopy

func (in *BackupReference) DeepCopy() *BackupReference

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

func (*BackupReference) DeepCopyInto

func (in *BackupReference) DeepCopyInto(out *BackupReference)

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

type CertificateBundleSpec

type CertificateBundleSpec struct {
	// Name is an identifier that must be unique within the bundle and must be referenced by
	// an ingress or by the control plane serving certs
	// +required
	Name string `json:"name"`

	// Generate indicates whether this bundle should have real certificates generated for it.
	// +optional
	Generate bool `json:"generate,omitempty"`

	// CertificateSecretRef is the reference to the secret that contains the certificate bundle. If
	// the certificate bundle is to be generated, it will be generated with the name in this
	// reference. Otherwise, it is expected that the secret should exist in the same namespace
	// as the ClusterDeployment
	CertificateSecretRef corev1.LocalObjectReference `json:"certificateSecretRef"`
}

CertificateBundleSpec specifies a certificate bundle associated with a cluster deployment

func (*CertificateBundleSpec) DeepCopy

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

func (*CertificateBundleSpec) DeepCopyInto

func (in *CertificateBundleSpec) DeepCopyInto(out *CertificateBundleSpec)

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

type CertificateBundleStatus

type CertificateBundleStatus struct {
	// Name of the certificate bundle
	Name string `json:"name"`

	// Generated indicates whether the certificate bundle was generated
	Generated bool `json:"generated"`
}

CertificateBundleStatus specifies whether a certificate bundle was generated for this cluster deployment.

func (*CertificateBundleStatus) DeepCopy

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

func (*CertificateBundleStatus) DeepCopyInto

func (in *CertificateBundleStatus) DeepCopyInto(out *CertificateBundleStatus)

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

type Checkpoint

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

	Spec   CheckpointSpec   `json:"spec,omitempty"`
	Status CheckpointStatus `json:"status,omitempty"`
}

Checkpoint is the Schema for the backup of Hive objects. +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced

func (*Checkpoint) DeepCopy

func (in *Checkpoint) DeepCopy() *Checkpoint

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

func (*Checkpoint) DeepCopyInto

func (in *Checkpoint) DeepCopyInto(out *Checkpoint)

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

func (*Checkpoint) DeepCopyObject

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

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

type CheckpointList

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

CheckpointList contains a list of Checkpoint

func (*CheckpointList) DeepCopy

func (in *CheckpointList) DeepCopy() *CheckpointList

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

func (*CheckpointList) DeepCopyInto

func (in *CheckpointList) DeepCopyInto(out *CheckpointList)

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

func (*CheckpointList) DeepCopyObject

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

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

type CheckpointSpec

type CheckpointSpec struct {
	// LastBackupChecksum is the checksum of all Hive objects in the namespace at the time of the last backup.
	LastBackupChecksum string `json:"lastBackupChecksum"`

	// LastBackupTime is the last time we performed a backup of the namespace
	LastBackupTime metav1.Time `json:"lastBackupTime"`

	// LastBackupRef is a reference to last backup object created
	LastBackupRef BackupReference `json:"lastBackupRef"`
}

CheckpointSpec defines the metadata around the Hive objects state in the namespace at the time of the last backup.

func (*CheckpointSpec) DeepCopy

func (in *CheckpointSpec) DeepCopy() *CheckpointSpec

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

func (*CheckpointSpec) DeepCopyInto

func (in *CheckpointSpec) DeepCopyInto(out *CheckpointSpec)

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

type CheckpointStatus

type CheckpointStatus struct {
}

CheckpointStatus defines the observed state of Checkpoint

func (*CheckpointStatus) DeepCopy

func (in *CheckpointStatus) DeepCopy() *CheckpointStatus

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

func (*CheckpointStatus) DeepCopyInto

func (in *CheckpointStatus) DeepCopyInto(out *CheckpointStatus)

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

type ClusterClaim added in v1.0.7

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

	Spec   ClusterClaimSpec   `json:"spec"`
	Status ClusterClaimStatus `json:"status,omitempty"`
}

ClusterClaim represents a claim to a cluster from a cluster pool. +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:path=clusterclaims

func (*ClusterClaim) DeepCopy added in v1.0.7

func (in *ClusterClaim) DeepCopy() *ClusterClaim

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

func (*ClusterClaim) DeepCopyInto added in v1.0.7

func (in *ClusterClaim) DeepCopyInto(out *ClusterClaim)

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

func (*ClusterClaim) DeepCopyObject added in v1.0.7

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

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

type ClusterClaimCondition added in v1.0.7

type ClusterClaimCondition struct {
	// Type is the type of the condition.
	Type ClusterClaimConditionType `json:"type"`
	// Status is the status of the condition.
	Status corev1.ConditionStatus `json:"status"`
	// LastProbeTime is the last time we probed the condition.
	// +optional
	LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"`
	// LastTransitionTime is the last time the condition transitioned from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// Reason is a unique, one-word, CamelCase reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// Message is a human-readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`
}

ClusterClaimCondition contains details for the current condition of a cluster claim.

func (*ClusterClaimCondition) DeepCopy added in v1.0.7

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

func (*ClusterClaimCondition) DeepCopyInto added in v1.0.7

func (in *ClusterClaimCondition) DeepCopyInto(out *ClusterClaimCondition)

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

type ClusterClaimConditionType added in v1.0.7

type ClusterClaimConditionType string

ClusterClaimConditionType is a valid value for ClusterClaimCondition.Type.

const (
	// ClusterClaimPendingCondition is set when a cluster has not yet been assigned and made ready to the claim.
	ClusterClaimPendingCondition ClusterClaimConditionType = "Pending"
	// ClusterClaimClusterDeletedCondition is set when the cluster assigned to the claim has been deleted.
	ClusterClaimClusterDeletedCondition ClusterClaimConditionType = "ClusterDeleted"
	// ClusterRunningCondition is true when a claimed cluster is running and ready for use.
	ClusterRunningCondition ClusterClaimConditionType = "ClusterRunning"
)

type ClusterClaimList added in v1.0.7

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

ClusterClaimList contains a list of ClusterClaims.

func (*ClusterClaimList) DeepCopy added in v1.0.7

func (in *ClusterClaimList) DeepCopy() *ClusterClaimList

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

func (*ClusterClaimList) DeepCopyInto added in v1.0.7

func (in *ClusterClaimList) DeepCopyInto(out *ClusterClaimList)

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

func (*ClusterClaimList) DeepCopyObject added in v1.0.7

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

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

type ClusterClaimSpec added in v1.0.7

type ClusterClaimSpec struct {
	// ClusterPoolName is the name of the cluster pool from which to claim a cluster.
	ClusterPoolName string `json:"clusterPoolName"`

	// Subjects hold references to which to authorize access to the claimed cluster.
	// +optional
	Subjects []rbacv1.Subject `json:"subjects,omitempty"`

	// Namespace is the namespace containing the ClusterDeployment (name will match the namespace) of the claimed cluster.
	// This field will be set as soon as a suitable cluster can be found, however that cluster may still be
	// resuming and not yet ready for use. Wait for the ClusterRunning condition to be true to avoid this issue.
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Lifetime is the maximum lifetime of the claim after it is assigned a cluster. If the claim still exists
	// when the lifetime has elapsed, the claim will be deleted by Hive.
	// +optional
	Lifetime *metav1.Duration `json:"lifetime,omitempty"`
}

ClusterClaimSpec defines the desired state of the ClusterClaim.

func (*ClusterClaimSpec) DeepCopy added in v1.0.7

func (in *ClusterClaimSpec) DeepCopy() *ClusterClaimSpec

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

func (*ClusterClaimSpec) DeepCopyInto added in v1.0.7

func (in *ClusterClaimSpec) DeepCopyInto(out *ClusterClaimSpec)

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

type ClusterClaimStatus added in v1.0.7

type ClusterClaimStatus struct {
	// Conditions includes more detailed status for the cluster pool.
	// +optional
	Conditions []ClusterClaimCondition `json:"conditions,omitempty"`
}

ClusterClaimStatus defines the observed state of ClusterClaim.

func (*ClusterClaimStatus) DeepCopy added in v1.0.7

func (in *ClusterClaimStatus) DeepCopy() *ClusterClaimStatus

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

func (*ClusterClaimStatus) DeepCopyInto added in v1.0.7

func (in *ClusterClaimStatus) DeepCopyInto(out *ClusterClaimStatus)

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

type ClusterDeployment

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

	Spec   ClusterDeploymentSpec   `json:"spec,omitempty"`
	Status ClusterDeploymentStatus `json:"status,omitempty"`
}

ClusterDeployment is the Schema for the clusterdeployments API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Platform",type="string",JSONPath=".metadata.labels.hive\\.openshift\\.io/cluster-platform" +kubebuilder:printcolumn:name="Region",type="string",JSONPath=".metadata.labels.hive\\.openshift\\.io/cluster-region" +kubebuilder:printcolumn:name="ClusterType",type="string",JSONPath=".metadata.labels.hive\\.openshift\\.io/cluster-type" +kubebuilder:printcolumn:name="Installed",type="boolean",JSONPath=".spec.installed" +kubebuilder:printcolumn:name="InfraID",type="string",JSONPath=".spec.clusterMetadata.infraID" +kubebuilder:printcolumn:name="Version",type="string",JSONPath=".metadata.labels.hive\\.openshift\\.io/version-major-minor-patch" +kubebuilder:printcolumn:name="PowerState",type="string",JSONPath=".status.conditions[?(@.type=='Hibernating')].reason" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:path=clusterdeployments,shortName=cd,scope=Namespaced

func (*ClusterDeployment) DeepCopy

func (in *ClusterDeployment) DeepCopy() *ClusterDeployment

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

func (*ClusterDeployment) DeepCopyInto

func (in *ClusterDeployment) DeepCopyInto(out *ClusterDeployment)

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

func (*ClusterDeployment) DeepCopyObject

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

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

type ClusterDeploymentCondition

type ClusterDeploymentCondition struct {
	// Type is the type of the condition.
	Type ClusterDeploymentConditionType `json:"type"`
	// Status is the status of the condition.
	Status corev1.ConditionStatus `json:"status"`
	// LastProbeTime is the last time we probed the condition.
	// +optional
	LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"`
	// LastTransitionTime is the last time the condition transitioned from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// Reason is a unique, one-word, CamelCase reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// Message is a human-readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`
}

ClusterDeploymentCondition contains details for the current condition of a cluster deployment

func (*ClusterDeploymentCondition) DeepCopy

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

func (*ClusterDeploymentCondition) DeepCopyInto

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

type ClusterDeploymentConditionType

type ClusterDeploymentConditionType string

ClusterDeploymentConditionType is a valid value for ClusterDeploymentCondition.Type

const (
	// ClusterImageSetNotFoundCondition is set when the ClusterImageSet referenced by the
	// ClusterDeployment is not found.
	ClusterImageSetNotFoundCondition ClusterDeploymentConditionType = "ClusterImageSetNotFound"

	// InstallerImageResolutionFailedCondition is a condition that indicates whether the job
	// to determine the installer image based on a release image was successful.
	InstallerImageResolutionFailedCondition ClusterDeploymentConditionType = "InstallerImageResolutionFailed"

	// ControlPlaneCertificateNotFoundCondition is set when a control plane certificate bundle
	// is not available, preventing the target cluster's control plane from being configured with
	// certificates.
	ControlPlaneCertificateNotFoundCondition ClusterDeploymentConditionType = "ControlPlaneCertificateNotFound"

	// IngressCertificateNotFoundCondition is a condition indicating that one of the CertificateBundle
	// secrets required by an Ingress is not available.
	IngressCertificateNotFoundCondition ClusterDeploymentConditionType = "IngressCertificateNotFound"

	// UnreachableCondition indicates that Hive is unable to establish an API connection to the remote cluster.
	UnreachableCondition ClusterDeploymentConditionType = "Unreachable"

	// ActiveAPIURLOverrideCondition indicates that Hive is communicating with the remote cluster using the
	// API URL override.
	ActiveAPIURLOverrideCondition ClusterDeploymentConditionType = "ActiveAPIURLOverride"

	// DNSNotReadyCondition indicates that the the DNSZone object created for the clusterDeployment
	// (ie manageDNS==true) has not yet indicated that the DNS zone is successfully responding to queries.
	DNSNotReadyCondition ClusterDeploymentConditionType = "DNSNotReady"

	// InstallImagesResolvedCondition indicates that the the install images for the clusterDeployment
	// have been not been resolved. This usually includes the installer and OpenShift cli images.
	InstallImagesNotResolvedCondition ClusterDeploymentConditionType = "InstallImagesNotResolved"

	// ProvisionFailedCondition indicates that a provision failed
	ProvisionFailedCondition ClusterDeploymentConditionType = "ProvisionFailed"

	// SyncSetFailedCondition indicates if any syncset for a cluster deployment failed
	SyncSetFailedCondition ClusterDeploymentConditionType = "SyncSetFailed"

	// RelocationFailedCondition indicates if a relocation to another Hive instance has failed
	RelocationFailedCondition ClusterDeploymentConditionType = "RelocationFailed"

	// ClusterHibernatingCondition is set when the ClusterDeployment is either
	// transitioning to/from a hibernating state or is in a hibernating state.
	ClusterHibernatingCondition ClusterDeploymentConditionType = "Hibernating"

	// InstallLaunchErrorCondition is set when a cluster provision fails to launch an install pod
	InstallLaunchErrorCondition ClusterDeploymentConditionType = "InstallLaunchError"

	// DeprovisionLaunchErrorCondition is set when a cluster deprovision fails to launch.
	DeprovisionLaunchErrorCondition ClusterDeploymentConditionType = "DeprovisionLaunchError"

	// ProvisionStoppedCondition is set when cluster provisioning is stopped
	ProvisionStoppedCondition ClusterDeploymentConditionType = "ProvisionStopped"

	// AuthenticationFailureCondition is true when platform credentials cannot be used because of authentication failure
	AuthenticationFailureClusterDeploymentCondition ClusterDeploymentConditionType = "AuthenticationFailure"
)

WARNING: All ClusterDeploymentConditionTypes should be added to the AllClusterDeploymentConditions slice below.

type ClusterDeploymentList

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

ClusterDeploymentList contains a list of ClusterDeployment

func (*ClusterDeploymentList) DeepCopy

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

func (*ClusterDeploymentList) DeepCopyInto

func (in *ClusterDeploymentList) DeepCopyInto(out *ClusterDeploymentList)

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

func (*ClusterDeploymentList) DeepCopyObject

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

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

type ClusterDeploymentSpec

type ClusterDeploymentSpec struct {

	// ClusterName is the friendly name of the cluster. It is used for subdomains,
	// some resource tagging, and other instances where a friendly name for the
	// cluster is useful.
	// +required
	ClusterName string `json:"clusterName"`

	// BaseDomain is the base domain to which the cluster should belong.
	// +required
	BaseDomain string `json:"baseDomain"`

	// Platform is the configuration for the specific platform upon which to
	// perform the installation.
	// +required
	Platform Platform `json:"platform"`

	// PullSecretRef is the reference to the secret to use when pulling images.
	// +optional
	PullSecretRef *corev1.LocalObjectReference `json:"pullSecretRef,omitempty"`

	// PreserveOnDelete allows the user to disconnect a cluster from Hive without deprovisioning it
	PreserveOnDelete bool `json:"preserveOnDelete,omitempty"`

	// ControlPlaneConfig contains additional configuration for the target cluster's control plane
	// +optional
	ControlPlaneConfig ControlPlaneConfigSpec `json:"controlPlaneConfig,omitempty"`

	// Ingress allows defining desired clusteringress/shards to be configured on the cluster.
	// +optional
	Ingress []ClusterIngress `json:"ingress,omitempty"`

	// CertificateBundles is a list of certificate bundles associated with this cluster
	// +optional
	CertificateBundles []CertificateBundleSpec `json:"certificateBundles,omitempty"`

	// ManageDNS specifies whether a DNSZone should be created and managed automatically
	// for this ClusterDeployment
	// +optional
	ManageDNS bool `json:"manageDNS,omitempty"`

	// ClusterMetadata contains metadata information about the installed cluster.
	ClusterMetadata *ClusterMetadata `json:"clusterMetadata,omitempty"`

	// Installed is true if the cluster has been installed
	// +optional
	Installed bool `json:"installed"`

	// Provisioning contains settings used only for initial cluster provisioning.
	// May be unset in the case of adopted clusters.
	Provisioning *Provisioning `json:"provisioning,omitempty"`

	// ClusterPoolRef is a reference to the ClusterPool that this ClusterDeployment originated from.
	// +optional
	ClusterPoolRef *ClusterPoolReference `json:"clusterPoolRef,omitempty"`

	// PowerState indicates whether a cluster should be running or hibernating. When omitted,
	// PowerState defaults to the Running state.
	// +optional
	PowerState ClusterPowerState `json:"powerState,omitempty"`

	// HibernateAfter will transition a cluster to hibernating power state after it has been running for the
	// given duration. The time that a cluster has been running is the time since the cluster was installed or the
	// time since the cluster last came out of hibernation.
	// +optional
	HibernateAfter *metav1.Duration `json:"hibernateAfter,omitempty"`

	// InstallAttemptsLimit is the maximum number of times Hive will attempt to install the cluster.
	// +optional
	InstallAttemptsLimit *int32 `json:"installAttemptsLimit,omitempty"`
}

ClusterDeploymentSpec defines the desired state of ClusterDeployment

func (*ClusterDeploymentSpec) DeepCopy

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

func (*ClusterDeploymentSpec) DeepCopyInto

func (in *ClusterDeploymentSpec) DeepCopyInto(out *ClusterDeploymentSpec)

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

type ClusterDeploymentStatus

type ClusterDeploymentStatus struct {

	// InstallRestarts is the total count of container restarts on the clusters install job.
	InstallRestarts int `json:"installRestarts,omitempty"`

	// APIURL is the URL where the cluster's API can be accessed.
	APIURL string `json:"apiURL,omitempty"`

	// WebConsoleURL is the URL for the cluster's web console UI.
	WebConsoleURL string `json:"webConsoleURL,omitempty"`

	// InstallerImage is the name of the installer image to use when installing the target cluster
	// +optional
	InstallerImage *string `json:"installerImage,omitempty"`

	// CLIImage is the name of the oc cli image to use when installing the target cluster
	// +optional
	CLIImage *string `json:"cliImage,omitempty"`

	// Conditions includes more detailed status for the cluster deployment
	// +optional
	Conditions []ClusterDeploymentCondition `json:"conditions,omitempty"`

	// CertificateBundles contains of the status of the certificate bundles associated with this cluster deployment.
	// +optional
	CertificateBundles []CertificateBundleStatus `json:"certificateBundles,omitempty"`

	// InstalledTimestamp is the time we first detected that the cluster has been successfully installed.
	InstalledTimestamp *metav1.Time `json:"installedTimestamp,omitempty"`

	// ProvisionRef is a reference to the last ClusterProvision created for the deployment
	// +optional
	ProvisionRef *corev1.LocalObjectReference `json:"provisionRef,omitempty"`
}

ClusterDeploymentStatus defines the observed state of ClusterDeployment

func (*ClusterDeploymentStatus) DeepCopy

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

func (*ClusterDeploymentStatus) DeepCopyInto

func (in *ClusterDeploymentStatus) DeepCopyInto(out *ClusterDeploymentStatus)

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

type ClusterDeprovision

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

	Spec   ClusterDeprovisionSpec   `json:"spec,omitempty"`
	Status ClusterDeprovisionStatus `json:"status,omitempty"`
}

ClusterDeprovision is the Schema for the clusterdeprovisions API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="InfraID",type="string",JSONPath=".spec.infraID" +kubebuilder:printcolumn:name="ClusterID",type="string",JSONPath=".spec.clusterID" +kubebuilder:printcolumn:name="Completed",type="boolean",JSONPath=".status.completed" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:path=clusterdeprovisions,shortName=cdr,scope=Namespaced

func (*ClusterDeprovision) DeepCopy

func (in *ClusterDeprovision) DeepCopy() *ClusterDeprovision

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

func (*ClusterDeprovision) DeepCopyInto

func (in *ClusterDeprovision) DeepCopyInto(out *ClusterDeprovision)

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

func (*ClusterDeprovision) DeepCopyObject

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

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

type ClusterDeprovisionCondition added in v1.0.11

type ClusterDeprovisionCondition struct {
	// Type is the type of the condition.
	Type ClusterDeprovisionConditionType `json:"type"`
	// Status is the status of the condition.
	Status corev1.ConditionStatus `json:"status"`
	// LastProbeTime is the last time we probed the condition.
	// +optional
	LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"`
	// LastTransitionTime is the last time the condition transitioned from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// Reason is a unique, one-word, CamelCase reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// Message is a human-readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`
}

ClusterDeprovisionCondition contains details for the current condition of a ClusterDeprovision

func (*ClusterDeprovisionCondition) DeepCopy added in v1.0.11

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

func (*ClusterDeprovisionCondition) DeepCopyInto added in v1.0.11

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

type ClusterDeprovisionConditionType added in v1.0.11

type ClusterDeprovisionConditionType string

ClusterDeprovisionConditionType is a valid value for ClusterDeprovisionCondition.Type

const (
	// AuthenticationFailureClusterDeprovisionCondition is true when credentials cannot be used because of authentication failure
	AuthenticationFailureClusterDeprovisionCondition ClusterDeprovisionConditionType = "AuthenticationFailure"
)

type ClusterDeprovisionList

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

ClusterDeprovisionList contains a list of ClusterDeprovision

func (*ClusterDeprovisionList) DeepCopy

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

func (*ClusterDeprovisionList) DeepCopyInto

func (in *ClusterDeprovisionList) DeepCopyInto(out *ClusterDeprovisionList)

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

func (*ClusterDeprovisionList) DeepCopyObject

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

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

type ClusterDeprovisionPlatform

type ClusterDeprovisionPlatform struct {
	// AWS contains AWS-specific deprovision settings
	AWS *AWSClusterDeprovision `json:"aws,omitempty"`
	// Azure contains Azure-specific deprovision settings
	Azure *AzureClusterDeprovision `json:"azure,omitempty"`
	// GCP contains GCP-specific deprovision settings
	GCP *GCPClusterDeprovision `json:"gcp,omitempty"`
	// OpenStack contains OpenStack-specific deprovision settings
	OpenStack *OpenStackClusterDeprovision `json:"openstack,omitempty"`
	// VSphere contains VMWare vSphere-specific deprovision settings
	VSphere *VSphereClusterDeprovision `json:"vsphere,omitempty"`
	// Ovirt contains oVirt-specific deprovision settings
	Ovirt *OvirtClusterDeprovision `json:"ovirt,omitempty"`
}

ClusterDeprovisionPlatform contains platform-specific configuration for the deprovision

func (*ClusterDeprovisionPlatform) DeepCopy

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

func (*ClusterDeprovisionPlatform) DeepCopyInto

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

type ClusterDeprovisionSpec

type ClusterDeprovisionSpec struct {
	// InfraID is the identifier generated during installation for a cluster. It is used for tagging/naming resources in cloud providers.
	InfraID string `json:"infraID"`

	// ClusterID is a globally unique identifier for the cluster to deprovision. It will be used if specified.
	ClusterID string `json:"clusterID,omitempty"`

	// Platform contains platform-specific configuration for a ClusterDeprovision
	Platform ClusterDeprovisionPlatform `json:"platform,omitempty"`
}

ClusterDeprovisionSpec defines the desired state of ClusterDeprovision

func (*ClusterDeprovisionSpec) DeepCopy

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

func (*ClusterDeprovisionSpec) DeepCopyInto

func (in *ClusterDeprovisionSpec) DeepCopyInto(out *ClusterDeprovisionSpec)

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

type ClusterDeprovisionStatus

type ClusterDeprovisionStatus struct {
	// Completed is true when the uninstall has completed successfully
	Completed bool `json:"completed,omitempty"`

	// Conditions includes more detailed status for the cluster deprovision
	// +optional
	Conditions []ClusterDeprovisionCondition `json:"conditions,omitempty"`
}

ClusterDeprovisionStatus defines the observed state of ClusterDeprovision

func (*ClusterDeprovisionStatus) DeepCopy

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

func (*ClusterDeprovisionStatus) DeepCopyInto

func (in *ClusterDeprovisionStatus) DeepCopyInto(out *ClusterDeprovisionStatus)

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

type ClusterImageSet

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

	Spec   ClusterImageSetSpec   `json:"spec,omitempty"`
	Status ClusterImageSetStatus `json:"status,omitempty"`
}

ClusterImageSet is the Schema for the clusterimagesets API +k8s:openapi-gen=true +kubebuilder:resource:scope=Cluster +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Release",type="string",JSONPath=".spec.releaseImage" +kubebuilder:resource:path=clusterimagesets,shortName=imgset,scope=Cluster

func (*ClusterImageSet) DeepCopy

func (in *ClusterImageSet) DeepCopy() *ClusterImageSet

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

func (*ClusterImageSet) DeepCopyInto

func (in *ClusterImageSet) DeepCopyInto(out *ClusterImageSet)

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

func (*ClusterImageSet) DeepCopyObject

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

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

type ClusterImageSetList

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

ClusterImageSetList contains a list of ClusterImageSet

func (*ClusterImageSetList) DeepCopy

func (in *ClusterImageSetList) DeepCopy() *ClusterImageSetList

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

func (*ClusterImageSetList) DeepCopyInto

func (in *ClusterImageSetList) DeepCopyInto(out *ClusterImageSetList)

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

func (*ClusterImageSetList) DeepCopyObject

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

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

type ClusterImageSetReference

type ClusterImageSetReference struct {
	// Name is the name of the ClusterImageSet that this refers to
	Name string `json:"name"`
}

ClusterImageSetReference is a reference to a ClusterImageSet

func (*ClusterImageSetReference) DeepCopy

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

func (*ClusterImageSetReference) DeepCopyInto

func (in *ClusterImageSetReference) DeepCopyInto(out *ClusterImageSetReference)

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

type ClusterImageSetSpec

type ClusterImageSetSpec struct {
	// ReleaseImage is the image that contains the payload to use when installing
	// a cluster.
	ReleaseImage string `json:"releaseImage"`
}

ClusterImageSetSpec defines the desired state of ClusterImageSet

func (*ClusterImageSetSpec) DeepCopy

func (in *ClusterImageSetSpec) DeepCopy() *ClusterImageSetSpec

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

func (*ClusterImageSetSpec) DeepCopyInto

func (in *ClusterImageSetSpec) DeepCopyInto(out *ClusterImageSetSpec)

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

type ClusterImageSetStatus

type ClusterImageSetStatus struct{}

ClusterImageSetStatus defines the observed state of ClusterImageSet

func (*ClusterImageSetStatus) DeepCopy

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

func (*ClusterImageSetStatus) DeepCopyInto

func (in *ClusterImageSetStatus) DeepCopyInto(out *ClusterImageSetStatus)

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

type ClusterIngress

type ClusterIngress struct {
	// Name of the ClusterIngress object to create.
	// +required
	Name string `json:"name"`

	// Domain (sometimes referred to as shard) is the full DNS suffix that the resulting
	// IngressController object will service (eg abcd.mycluster.mydomain.com).
	// +required
	Domain string `json:"domain"`

	// NamespaceSelector allows filtering the list of namespaces serviced by the
	// ingress controller.
	// +optional
	NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`

	// RouteSelector allows filtering the set of Routes serviced by the ingress controller
	// +optional
	RouteSelector *metav1.LabelSelector `json:"routeSelector,omitempty"`

	// ServingCertificate references a CertificateBundle in the ClusterDeployment.Spec that
	// should be used for this Ingress
	// +optional
	ServingCertificate string `json:"servingCertificate,omitempty"`
}

ClusterIngress contains the configurable pieces for any ClusterIngress objects that should exist on the cluster.

func (*ClusterIngress) DeepCopy

func (in *ClusterIngress) DeepCopy() *ClusterIngress

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

func (*ClusterIngress) DeepCopyInto

func (in *ClusterIngress) DeepCopyInto(out *ClusterIngress)

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

type ClusterMetadata

type ClusterMetadata struct {

	// ClusterID is a globally unique identifier for this cluster generated during installation. Used for reporting metrics among other places.
	ClusterID string `json:"clusterID"`

	// InfraID is an identifier for this cluster generated during installation and used for tagging/naming resources in cloud providers.
	InfraID string `json:"infraID"`

	// AdminKubeconfigSecretRef references the secret containing the admin kubeconfig for this cluster.
	AdminKubeconfigSecretRef corev1.LocalObjectReference `json:"adminKubeconfigSecretRef"`

	// AdminPasswordSecretRef references the secret containing the admin username/password which can be used to login to this cluster.
	AdminPasswordSecretRef corev1.LocalObjectReference `json:"adminPasswordSecretRef"`
}

ClusterMetadata contains metadata information about the installed cluster.

func (*ClusterMetadata) DeepCopy

func (in *ClusterMetadata) DeepCopy() *ClusterMetadata

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

func (*ClusterMetadata) DeepCopyInto

func (in *ClusterMetadata) DeepCopyInto(out *ClusterMetadata)

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

type ClusterOperatorState

type ClusterOperatorState struct {
	// Name is the name of the cluster operator
	Name string `json:"name"`

	// Conditions is the set of conditions in the status of the cluster operator
	// on the target cluster
	Conditions []configv1.ClusterOperatorStatusCondition `json:"conditions,omitempty"`
}

ClusterOperatorState summarizes the status of a single cluster operator

func (*ClusterOperatorState) DeepCopy

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

func (*ClusterOperatorState) DeepCopyInto

func (in *ClusterOperatorState) DeepCopyInto(out *ClusterOperatorState)

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

type ClusterPool added in v1.0.6

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

	Spec   ClusterPoolSpec   `json:"spec"`
	Status ClusterPoolStatus `json:"status,omitempty"`
}

ClusterPool represents a pool of clusters that should be kept ready to be given out to users. Clusters are removed from the pool once claimed and then automatically replaced with a new one. +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:subresource:scale:specpath=.spec.size,statuspath=.status.size +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.ready" +kubebuilder:printcolumn:name="Size",type="string",JSONPath=".spec.size" +kubebuilder:printcolumn:name="BaseDomain",type="string",JSONPath=".spec.baseDomain" +kubebuilder:printcolumn:name="ImageSet",type="string",JSONPath=".spec.imageSetRef.name" +kubebuilder:resource:path=clusterpools,shortName=cp

func (*ClusterPool) DeepCopy added in v1.0.6

func (in *ClusterPool) DeepCopy() *ClusterPool

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

func (*ClusterPool) DeepCopyInto added in v1.0.6

func (in *ClusterPool) DeepCopyInto(out *ClusterPool)

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

func (*ClusterPool) DeepCopyObject added in v1.0.6

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

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

type ClusterPoolCondition added in v1.0.6

type ClusterPoolCondition struct {
	// Type is the type of the condition.
	Type ClusterPoolConditionType `json:"type"`
	// Status is the status of the condition.
	Status corev1.ConditionStatus `json:"status"`
	// LastProbeTime is the last time we probed the condition.
	// +optional
	LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"`
	// LastTransitionTime is the last time the condition transitioned from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// Reason is a unique, one-word, CamelCase reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// Message is a human-readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`
}

ClusterPoolCondition contains details for the current condition of a cluster pool

func (*ClusterPoolCondition) DeepCopy added in v1.0.6

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

func (*ClusterPoolCondition) DeepCopyInto added in v1.0.6

func (in *ClusterPoolCondition) DeepCopyInto(out *ClusterPoolCondition)

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

type ClusterPoolConditionType added in v1.0.6

type ClusterPoolConditionType string

ClusterPoolConditionType is a valid value for ClusterPoolCondition.Type

const (
	// ClusterPoolMissingDependenciesCondition is set when a cluster pool is missing dependencies required to create a
	// cluster. Dependencies include resources such as the ClusterImageSet and the credentials Secret.
	ClusterPoolMissingDependenciesCondition ClusterPoolConditionType = "MissingDependencies"
	// ClusterPoolCapacityAvailableCondition is set to provide information on whether the cluster pool has capacity
	// available to create more clusters for the pool.
	ClusterPoolCapacityAvailableCondition ClusterPoolConditionType = "CapacityAvailable"
)

type ClusterPoolList added in v1.0.6

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

ClusterPoolList contains a list of ClusterPools

func (*ClusterPoolList) DeepCopy added in v1.0.6

func (in *ClusterPoolList) DeepCopy() *ClusterPoolList

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

func (*ClusterPoolList) DeepCopyInto added in v1.0.6

func (in *ClusterPoolList) DeepCopyInto(out *ClusterPoolList)

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

func (*ClusterPoolList) DeepCopyObject added in v1.0.6

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

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

type ClusterPoolReference added in v1.0.6

type ClusterPoolReference struct {
	// Namespace is the namespace where the ClusterPool resides.
	Namespace string `json:"namespace"`
	// PoolName is the name of the ClusterPool for which the cluster was created.
	PoolName string `json:"poolName"`
	// ClaimName is the name of the ClusterClaim that claimed the cluster from the pool.
	// +optional
	ClaimName string `json:"claimName,omitempty"`
}

ClusterPoolReference is a reference to a ClusterPool

func (*ClusterPoolReference) DeepCopy added in v1.0.6

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

func (*ClusterPoolReference) DeepCopyInto added in v1.0.6

func (in *ClusterPoolReference) DeepCopyInto(out *ClusterPoolReference)

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

type ClusterPoolSpec added in v1.0.6

type ClusterPoolSpec struct {

	// Platform encompasses the desired platform for the cluster.
	// +required
	Platform Platform `json:"platform"`

	// PullSecretRef is the reference to the secret to use when pulling images.
	// +optional
	PullSecretRef *corev1.LocalObjectReference `json:"pullSecretRef,omitempty"`

	// Size is the default number of clusters that we should keep provisioned and waiting for use.
	// +kubebuilder:validation:Minimum=0
	// +required
	Size int32 `json:"size"`

	// MaxSize is the maximum number of clusters that will be provisioned including clusters that have been claimed
	// and ones waiting to be used.
	// By default there is no limit.
	// +optional
	MaxSize *int32 `json:"maxSize,omitempty"`

	// MaxConcurrent is the maximum number of clusters that will be provisioned or deprovisioned at an time. This includes the
	// claimed clusters being deprovisioned.
	// By default there is no limit.
	// +optional
	MaxConcurrent *int32 `json:"maxConcurrent,omitempty"`

	// BaseDomain is the base domain to use for all clusters created in this pool.
	// +required
	BaseDomain string `json:"baseDomain"`

	// ImageSetRef is a reference to a ClusterImageSet. The release image specified in the ClusterImageSet will be used
	// by clusters created for this cluster pool.
	ImageSetRef ClusterImageSetReference `json:"imageSetRef"`

	// Labels to be applied to new ClusterDeployments created for the pool. ClusterDeployments that have already been
	// claimed will not be affected when this value is modified.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// InstallConfigSecretTemplateRef is a secret with the key install-config.yaml consisting of the content of the install-config.yaml
	// to be used as a template for all clusters in this pool.
	// Cluster specific settings (name, basedomain) will be injected dynamically when the ClusterDeployment install-config Secret is generated.
	// +optional
	InstallConfigSecretTemplateRef *corev1.LocalObjectReference `json:"installConfigSecretTemplateRef,omitempty"`

	// HibernateAfter will be applied to new ClusterDeployments created for the pool. HibernateAfter will transition
	// clusters in the clusterpool to hibernating power state after it has been running for the given duration. The time
	// that a cluster has been running is the time since the cluster was installed or the time since the cluster last came
	// out of hibernation.
	// +optional
	HibernateAfter *metav1.Duration `json:"hibernateAfter,omitempty"`

	// SkipMachinePools allows creating clusterpools where the machinepools are not managed by hive after cluster creation
	// +optional
	SkipMachinePools bool `json:"skipMachinePools,omitempty"`
}

ClusterPoolSpec defines the desired state of the ClusterPool.

func (*ClusterPoolSpec) DeepCopy added in v1.0.6

func (in *ClusterPoolSpec) DeepCopy() *ClusterPoolSpec

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

func (*ClusterPoolSpec) DeepCopyInto added in v1.0.6

func (in *ClusterPoolSpec) DeepCopyInto(out *ClusterPoolSpec)

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

type ClusterPoolStatus added in v1.0.6

type ClusterPoolStatus struct {
	// Size is the number of unclaimed clusters that have been created for the pool.
	Size int32 `json:"size"`

	// Ready is the number of unclaimed clusters that have been installed and are ready to be claimed.
	Ready int32 `json:"ready"`

	// Conditions includes more detailed status for the cluster pool
	// +optional
	Conditions []ClusterPoolCondition `json:"conditions,omitempty"`
}

ClusterPoolStatus defines the observed state of ClusterPool

func (*ClusterPoolStatus) DeepCopy added in v1.0.6

func (in *ClusterPoolStatus) DeepCopy() *ClusterPoolStatus

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

func (*ClusterPoolStatus) DeepCopyInto added in v1.0.6

func (in *ClusterPoolStatus) DeepCopyInto(out *ClusterPoolStatus)

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

type ClusterPowerState added in v1.0.6

type ClusterPowerState string

ClusterPowerState is used to indicate whether a cluster is running or in a hibernating state. +kubebuilder:validation:Enum="";Running;Hibernating

const (
	// RunningClusterPowerState is the default state of a cluster after it has
	// been installed. All of its machines should be running.
	RunningClusterPowerState ClusterPowerState = "Running"

	// HibernatingClusterPowerState is used to stop the machines belonging to a cluster
	// and move it to a hibernating state.
	HibernatingClusterPowerState ClusterPowerState = "Hibernating"
)

type ClusterProvision

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

	Spec   ClusterProvisionSpec   `json:"spec,omitempty"`
	Status ClusterProvisionStatus `json:"status,omitempty"`
}

ClusterProvision is the Schema for the clusterprovisions API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="ClusterDeployment",type="string",JSONPath=".spec.clusterDeploymentRef.name" +kubebuilder:printcolumn:name="Stage",type="string",JSONPath=".spec.stage" +kubebuilder:printcolumn:name="InfraID",type="string",JSONPath=".spec.infraID" +kubebuilder:resource:path=clusterprovisions,scope=Namespaced

func (*ClusterProvision) DeepCopy

func (in *ClusterProvision) DeepCopy() *ClusterProvision

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

func (*ClusterProvision) DeepCopyInto

func (in *ClusterProvision) DeepCopyInto(out *ClusterProvision)

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

func (*ClusterProvision) DeepCopyObject

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

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

type ClusterProvisionCondition

type ClusterProvisionCondition struct {
	// Type is the type of the condition.
	Type ClusterProvisionConditionType `json:"type"`
	// Status is the status of the condition.
	Status corev1.ConditionStatus `json:"status"`
	// LastProbeTime is the last time we probed the condition.
	// +optional
	LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"`
	// LastTransitionTime is the last time the condition transitioned from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// Reason is a unique, one-word, CamelCase reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// Message is a human-readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`
}

ClusterProvisionCondition contains details for the current condition of a cluster provision

func (*ClusterProvisionCondition) DeepCopy

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

func (*ClusterProvisionCondition) DeepCopyInto

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

type ClusterProvisionConditionType

type ClusterProvisionConditionType string

ClusterProvisionConditionType is a valid value for ClusterProvisionCondition.Type

const (
	// ClusterProvisionInitializedCondition is set when a cluster provision has finished initialization.
	ClusterProvisionInitializedCondition ClusterProvisionConditionType = "ClusterProvisionInitialized"

	// ClusterProvisionCompletedCondition is set when a cluster provision completes.
	ClusterProvisionCompletedCondition ClusterProvisionConditionType = "ClusterProvisionCompleted"

	// ClusterProvisionFailedCondition is set when a cluster provision fails.
	ClusterProvisionFailedCondition ClusterProvisionConditionType = "ClusterProvisionFailed"

	// ClusterProvisionJobCreated is set when the install job is created for a cluster provision.
	ClusterProvisionJobCreated ClusterProvisionConditionType = "ClusterProvisionJobCreated"

	// InstallPodStuckCondition is set when the install pod is stuck
	InstallPodStuckCondition ClusterProvisionConditionType = "InstallPodStuck"
)

type ClusterProvisionList

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

ClusterProvisionList contains a list of ClusterProvision

func (*ClusterProvisionList) DeepCopy

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

func (*ClusterProvisionList) DeepCopyInto

func (in *ClusterProvisionList) DeepCopyInto(out *ClusterProvisionList)

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

func (*ClusterProvisionList) DeepCopyObject

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

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

type ClusterProvisionSpec

type ClusterProvisionSpec struct {

	// ClusterDeploymentRef references the cluster deployment provisioned.
	ClusterDeploymentRef corev1.LocalObjectReference `json:"clusterDeploymentRef"`

	// PodSpec is the spec to use for the installer pod.
	PodSpec corev1.PodSpec `json:"podSpec"`

	// Attempt is which attempt number of the cluster deployment that this ClusterProvision is
	Attempt int `json:"attempt"`

	// Stage is the stage of provisioning that the cluster deployment has reached.
	Stage ClusterProvisionStage `json:"stage"`

	// ClusterID is a globally unique identifier for this cluster generated during installation. Used for reporting metrics among other places.
	ClusterID *string `json:"clusterID,omitempty"`

	// InfraID is an identifier for this cluster generated during installation and used for tagging/naming resources in cloud providers.
	InfraID *string `json:"infraID,omitempty"`

	// InstallLog is the log from the installer.
	InstallLog *string `json:"installLog,omitempty"`

	// Metadata is the metadata.json generated by the installer, providing metadata information about the cluster created.
	Metadata *runtime.RawExtension `json:"metadata,omitempty"`

	// AdminKubeconfigSecretRef references the secret containing the admin kubeconfig for this cluster.
	AdminKubeconfigSecretRef *corev1.LocalObjectReference `json:"adminKubeconfigSecretRef,omitempty"`

	// AdminPasswordSecretRef references the secret containing the admin username/password which can be used to login to this cluster.
	AdminPasswordSecretRef *corev1.LocalObjectReference `json:"adminPasswordSecretRef,omitempty"`

	// PrevClusterID is the cluster ID of the previous failed provision attempt.
	PrevClusterID *string `json:"prevClusterID,omitempty"`

	// PrevInfraID is the infra ID of the previous failed provision attempt.
	PrevInfraID *string `json:"prevInfraID,omitempty"`
}

ClusterProvisionSpec defines the results of provisioning a cluster.

func (*ClusterProvisionSpec) DeepCopy

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

func (*ClusterProvisionSpec) DeepCopyInto

func (in *ClusterProvisionSpec) DeepCopyInto(out *ClusterProvisionSpec)

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

type ClusterProvisionStage

type ClusterProvisionStage string

ClusterProvisionStage is the stage of provisioning.

const (
	// ClusterProvisionStageInitializing indicates that pre-provision initialization is underway.
	ClusterProvisionStageInitializing ClusterProvisionStage = "initializing"
	// ClusterProvisionStageProvisioning indicates that the cluster provision is ongoing.
	ClusterProvisionStageProvisioning ClusterProvisionStage = "provisioning"
	// ClusterProvisionStageComplete indicates that the cluster provision completed successfully.
	ClusterProvisionStageComplete ClusterProvisionStage = "complete"
	// ClusterProvisionStageFailed indicates that the cluster provision failed.
	ClusterProvisionStageFailed ClusterProvisionStage = "failed"
)

type ClusterProvisionStatus

type ClusterProvisionStatus struct {
	// JobRef is the reference to the job performing the provision.
	JobRef *corev1.LocalObjectReference `json:"jobRef,omitempty"`

	// Conditions includes more detailed status for the cluster provision
	// +optional
	Conditions []ClusterProvisionCondition `json:"conditions,omitempty"`
}

ClusterProvisionStatus defines the observed state of ClusterProvision.

func (*ClusterProvisionStatus) DeepCopy

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

func (*ClusterProvisionStatus) DeepCopyInto

func (in *ClusterProvisionStatus) DeepCopyInto(out *ClusterProvisionStatus)

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

type ClusterRelocate added in v1.0.5

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

	Spec   ClusterRelocateSpec   `json:"spec,omitempty"`
	Status ClusterRelocateStatus `json:"status,omitempty"`
}

ClusterRelocate is the Schema for the ClusterRelocates API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Selector",type="string",JSONPath=".spec.clusterDeploymentSelector" +kubebuilder:resource:path=clusterrelocates

func (*ClusterRelocate) DeepCopy added in v1.0.5

func (in *ClusterRelocate) DeepCopy() *ClusterRelocate

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

func (*ClusterRelocate) DeepCopyInto added in v1.0.5

func (in *ClusterRelocate) DeepCopyInto(out *ClusterRelocate)

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

func (*ClusterRelocate) DeepCopyObject added in v1.0.5

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

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

type ClusterRelocateList added in v1.0.5

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

ClusterRelocateList contains a list of ClusterRelocate

func (*ClusterRelocateList) DeepCopy added in v1.0.5

func (in *ClusterRelocateList) DeepCopy() *ClusterRelocateList

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

func (*ClusterRelocateList) DeepCopyInto added in v1.0.5

func (in *ClusterRelocateList) DeepCopyInto(out *ClusterRelocateList)

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

func (*ClusterRelocateList) DeepCopyObject added in v1.0.5

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

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

type ClusterRelocateSpec added in v1.0.5

type ClusterRelocateSpec struct {
	// KubeconfigSecretRef is a reference to the secret containing the kubeconfig for the destination Hive instance.
	// The kubeconfig must be in a data field where the key is "kubeconfig".
	KubeconfigSecretRef KubeconfigSecretReference `json:"kubeconfigSecretRef"`

	// ClusterDeploymentSelector is a LabelSelector indicating which clusters will be relocated.
	ClusterDeploymentSelector metav1.LabelSelector `json:"clusterDeploymentSelector"`
}

ClusterRelocateSpec defines the relocation of clusters from one Hive instance to another.

func (*ClusterRelocateSpec) DeepCopy added in v1.0.5

func (in *ClusterRelocateSpec) DeepCopy() *ClusterRelocateSpec

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

func (*ClusterRelocateSpec) DeepCopyInto added in v1.0.5

func (in *ClusterRelocateSpec) DeepCopyInto(out *ClusterRelocateSpec)

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

type ClusterRelocateStatus added in v1.0.5

type ClusterRelocateStatus struct{}

ClusterRelocateStatus defines the observed state of ClusterRelocate.

func (*ClusterRelocateStatus) DeepCopy added in v1.0.5

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

func (*ClusterRelocateStatus) DeepCopyInto added in v1.0.5

func (in *ClusterRelocateStatus) DeepCopyInto(out *ClusterRelocateStatus)

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

type ClusterState

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

	Spec   ClusterStateSpec   `json:"spec,omitempty"`
	Status ClusterStateStatus `json:"status,omitempty"`
}

ClusterState is the Schema for the clusterstates API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced

func (*ClusterState) DeepCopy

func (in *ClusterState) DeepCopy() *ClusterState

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

func (*ClusterState) DeepCopyInto

func (in *ClusterState) DeepCopyInto(out *ClusterState)

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

func (*ClusterState) DeepCopyObject

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

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

type ClusterStateList

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

ClusterStateList contains a list of ClusterState

func (*ClusterStateList) DeepCopy

func (in *ClusterStateList) DeepCopy() *ClusterStateList

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

func (*ClusterStateList) DeepCopyInto

func (in *ClusterStateList) DeepCopyInto(out *ClusterStateList)

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

func (*ClusterStateList) DeepCopyObject

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

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

type ClusterStateSpec

type ClusterStateSpec struct {
}

ClusterStateSpec defines the desired state of ClusterState

func (*ClusterStateSpec) DeepCopy

func (in *ClusterStateSpec) DeepCopy() *ClusterStateSpec

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

func (*ClusterStateSpec) DeepCopyInto

func (in *ClusterStateSpec) DeepCopyInto(out *ClusterStateSpec)

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

type ClusterStateStatus

type ClusterStateStatus struct {
	// LastUpdated is the last time that operator state was updated
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty"`

	// ClusterOperators contains the state for every cluster operator in the
	// target cluster
	ClusterOperators []ClusterOperatorState `json:"clusterOperators,omitempty"`
}

ClusterStateStatus defines the observed state of ClusterState

func (*ClusterStateStatus) DeepCopy

func (in *ClusterStateStatus) DeepCopy() *ClusterStateStatus

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

func (*ClusterStateStatus) DeepCopyInto

func (in *ClusterStateStatus) DeepCopyInto(out *ClusterStateStatus)

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

type ControlPlaneAdditionalCertificate

type ControlPlaneAdditionalCertificate struct {
	// Name references a CertificateBundle in the ClusterDeployment.Spec that should be
	// used for this additional certificate.
	Name string `json:"name"`

	// Domain is the domain of the additional control plane certificate
	Domain string `json:"domain"`
}

ControlPlaneAdditionalCertificate defines an additional serving certificate for a control plane

func (*ControlPlaneAdditionalCertificate) DeepCopy

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

func (*ControlPlaneAdditionalCertificate) DeepCopyInto

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

type ControlPlaneConfigSpec

type ControlPlaneConfigSpec struct {
	// ServingCertificates specifies serving certificates for the control plane
	// +optional
	ServingCertificates ControlPlaneServingCertificateSpec `json:"servingCertificates,omitempty"`

	// APIURLOverride is the optional URL override to which Hive will transition for communication with the API
	// server of the remote cluster. When a remote cluster is created, Hive will initially communicate using the
	// API URL established during installation. If an API URL Override is specified, Hive will periodically attempt
	// to connect to the remote cluster using the override URL. Once Hive has determined that the override URL is
	// active, Hive will use the override URL for further communications with the API server of the remote cluster.
	// +optional
	APIURLOverride string `json:"apiURLOverride,omitempty"`
}

ControlPlaneConfigSpec contains additional configuration settings for a target cluster's control plane.

func (*ControlPlaneConfigSpec) DeepCopy

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

func (*ControlPlaneConfigSpec) DeepCopyInto

func (in *ControlPlaneConfigSpec) DeepCopyInto(out *ControlPlaneConfigSpec)

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

type ControlPlaneServingCertificateSpec

type ControlPlaneServingCertificateSpec struct {
	// Default references the name of a CertificateBundle in the ClusterDeployment that should be
	// used for the control plane's default endpoint.
	// +optional
	Default string `json:"default,omitempty"`

	// Additional is a list of additional domains and certificates that are also associated with
	// the control plane's api endpoint.
	// +optional
	Additional []ControlPlaneAdditionalCertificate `json:"additional,omitempty"`
}

ControlPlaneServingCertificateSpec specifies serving certificate settings for the control plane of the target cluster.

func (*ControlPlaneServingCertificateSpec) DeepCopy

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

func (*ControlPlaneServingCertificateSpec) DeepCopyInto

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

type ControllerConfig added in v1.0.11

type ControllerConfig struct {
	// ConcurrentReconciles specifies number of concurrent reconciles for a controller
	// +optional
	ConcurrentReconciles *int32 `json:"concurrentReconciles,omitempty"`
	// ClientQPS specifies client rate limiter QPS for a controller
	// +optional
	ClientQPS *int32 `json:"clientQPS,omitempty"`
	// ClientBurst specifies client rate limiter burst for a controller
	// +optional
	ClientBurst *int32 `json:"clientBurst,omitempty"`
	// QueueQPS specifies workqueue rate limiter QPS for a controller
	// +optional
	QueueQPS *int32 `json:"queueQPS,omitempty"`
	// QueueBurst specifies workqueue rate limiter burst for a controller
	// +optional
	QueueBurst *int32 `json:"queueBurst,omitempty"`
	// Replicas specifies the number of replicas the specific controller pod should use.
	// This is ONLY for controllers that have been split out into their own pods.
	// This is ignored for all others.
	Replicas *int32 `json:"replicas,omitempty"`
}

ControllerConfig contains the configuration for a controller

func (*ControllerConfig) DeepCopy added in v1.0.11

func (in *ControllerConfig) DeepCopy() *ControllerConfig

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

func (*ControllerConfig) DeepCopyInto added in v1.0.11

func (in *ControllerConfig) DeepCopyInto(out *ControllerConfig)

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

type ControllerName added in v1.0.11

type ControllerName string

+kubebuilder:validation:Enum=clusterDeployment;clusterrelocate;clusterstate;clusterversion;controlPlaneCerts;dnsendpoint;dnszone;remoteingress;remotemachineset;syncidentityprovider;unreachable;velerobackup;clusterprovision;clusterDeprovision;clusterpool;clusterpoolnamespace;hibernation;clusterclaim;metrics;clustersync

const (
	ClusterClaimControllerName         ControllerName = "clusterclaim"
	ClusterDeploymentControllerName    ControllerName = "clusterDeployment"
	ClusterDeprovisionControllerName   ControllerName = "clusterDeprovision"
	ClusterpoolControllerName          ControllerName = "clusterpool"
	ClusterpoolNamespaceControllerName ControllerName = "clusterpoolnamespace"
	ClusterProvisionControllerName     ControllerName = "clusterProvision"
	ClusterRelocateControllerName      ControllerName = "clusterRelocate"
	ClusterStateControllerName         ControllerName = "clusterState"
	ClusterVersionControllerName       ControllerName = "clusterversion"
	ControlPlaneCertsControllerName    ControllerName = "controlPlaneCerts"
	DNSEndpointControllerName          ControllerName = "dnsendpoint"
	DNSZoneControllerName              ControllerName = "dnszone"
	HibernationControllerName          ControllerName = "hibernation"
	RemoteIngressControllerName        ControllerName = "remoteingress"
	RemoteMachinesetControllerName     ControllerName = "remotemachineset"
	SyncIdentityProviderControllerName ControllerName = "syncidentityprovider"
	UnreachableControllerName          ControllerName = "unreachable"
	VeleroBackupControllerName         ControllerName = "velerobackup"
	MetricsControllerName              ControllerName = "metrics"
	ClustersyncControllerName          ControllerName = "clustersync"
)

WARNING: All the controller names below should also be added to the kubebuilder validation of the type ControllerName

func (ControllerName) String added in v1.0.11

func (controllerName ControllerName) String() string

type ControllerNames added in v1.0.16

type ControllerNames []ControllerName

ControllerNames is a slice of controller names

func (ControllerNames) Contains added in v1.0.16

func (c ControllerNames) Contains(controllerName ControllerName) bool

Contains says whether or not the controller name is in the slice of controller names.

func (ControllerNames) DeepCopy added in v1.0.16

func (in ControllerNames) DeepCopy() ControllerNames

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

func (ControllerNames) DeepCopyInto added in v1.0.16

func (in ControllerNames) DeepCopyInto(out *ControllerNames)

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

type ControllersConfig added in v1.0.11

type ControllersConfig struct {
	// Default specifies default configuration for all the controllers, can be used to override following coded defaults
	// default for concurrent reconciles is 5
	// default for client qps is 5
	// default for client burst is 10
	// default for queue qps is 10
	// default for queue burst is 100
	// +optional
	Default *ControllerConfig `json:"default,omitempty"`
	// Controllers contains a list of configurations for different controllers
	// +optional
	Controllers []SpecificControllerConfig `json:"controllers,omitempty"`
}

ControllersConfig contains default as well as controller specific configurations

func (*ControllersConfig) DeepCopy added in v1.0.11

func (in *ControllersConfig) DeepCopy() *ControllersConfig

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

func (*ControllersConfig) DeepCopyInto added in v1.0.11

func (in *ControllersConfig) DeepCopyInto(out *ControllersConfig)

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

type DNSZone

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

	Spec   DNSZoneSpec   `json:"spec,omitempty"`
	Status DNSZoneStatus `json:"status,omitempty"`
}

DNSZone is the Schema for the dnszones API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced

func (*DNSZone) DeepCopy

func (in *DNSZone) DeepCopy() *DNSZone

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

func (*DNSZone) DeepCopyInto

func (in *DNSZone) DeepCopyInto(out *DNSZone)

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

func (*DNSZone) DeepCopyObject

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

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

type DNSZoneCondition

type DNSZoneCondition struct {
	// Type is the type of the condition.
	Type DNSZoneConditionType `json:"type"`
	// Status is the status of the condition.
	Status corev1.ConditionStatus `json:"status"`
	// LastProbeTime is the last time we probed the condition.
	// +optional
	LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"`
	// LastTransitionTime is the last time the condition transitioned from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// Reason is a unique, one-word, CamelCase reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// Message is a human-readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`
}

DNSZoneCondition contains details for the current condition of a DNSZone

func (*DNSZoneCondition) DeepCopy

func (in *DNSZoneCondition) DeepCopy() *DNSZoneCondition

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

func (*DNSZoneCondition) DeepCopyInto

func (in *DNSZoneCondition) DeepCopyInto(out *DNSZoneCondition)

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

type DNSZoneConditionType

type DNSZoneConditionType string

DNSZoneConditionType is a valid value for DNSZoneCondition.Type

const (
	// ZoneAvailableDNSZoneCondition is true if the DNSZone is responding to DNS queries
	ZoneAvailableDNSZoneCondition DNSZoneConditionType = "ZoneAvailable"
	// ParentLinkCreatedCondition is true if the parent link has been created
	ParentLinkCreatedCondition DNSZoneConditionType = "ParentLinkCreated"
	// DomainNotManaged is true if we try to reconcile a DNSZone and the HiveConfig
	// does not contain a ManagedDNS entry for the domain in the DNSZone
	DomainNotManaged DNSZoneConditionType = "DomainNotManaged"
	// InsufficientCredentialsCondition is true when credentials cannot be used to create a
	// DNS zone because of insufficient permissions
	InsufficientCredentialsCondition DNSZoneConditionType = "InsufficientCredentials"
	// AuthenticationFailureCondition is true when credentials cannot be used to create a
	// DNS zone because they fail authentication
	AuthenticationFailureCondition DNSZoneConditionType = "AuthenticationFailure"
)

type DNSZoneList

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

DNSZoneList contains a list of DNSZone

func (*DNSZoneList) DeepCopy

func (in *DNSZoneList) DeepCopy() *DNSZoneList

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

func (*DNSZoneList) DeepCopyInto

func (in *DNSZoneList) DeepCopyInto(out *DNSZoneList)

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

func (*DNSZoneList) DeepCopyObject

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

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

type DNSZoneSpec

type DNSZoneSpec struct {
	// Zone is the DNS zone to host
	Zone string `json:"zone"`

	// LinkToParentDomain specifies whether DNS records should
	// be automatically created to link this DNSZone with a
	// parent domain.
	// +optional
	LinkToParentDomain bool `json:"linkToParentDomain,omitempty"`

	// AWS specifies AWS-specific cloud configuration
	// +optional
	AWS *AWSDNSZoneSpec `json:"aws,omitempty"`

	// GCP specifies GCP-specific cloud configuration
	// +optional
	GCP *GCPDNSZoneSpec `json:"gcp,omitempty"`

	// Azure specifes Azure-specific cloud configuration
	// +optional
	Azure *AzureDNSZoneSpec `json:"azure,omitempty"`
}

DNSZoneSpec defines the desired state of DNSZone

func (*DNSZoneSpec) DeepCopy

func (in *DNSZoneSpec) DeepCopy() *DNSZoneSpec

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

func (*DNSZoneSpec) DeepCopyInto

func (in *DNSZoneSpec) DeepCopyInto(out *DNSZoneSpec)

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

type DNSZoneStatus

type DNSZoneStatus struct {
	// LastSyncTimestamp is the time that the zone was last sync'd.
	// +optional
	LastSyncTimestamp *metav1.Time `json:"lastSyncTimestamp,omitempty"`

	// LastSyncGeneration is the generation of the zone resource that was last sync'd. This is used to know
	// if the Object has changed and we should sync immediately.
	// +optional
	LastSyncGeneration int64 `json:"lastSyncGeneration,omitempty"`

	// NameServers is a list of nameservers for this DNS zone
	// +optional
	NameServers []string `json:"nameServers,omitempty"`

	// AWSDNSZoneStatus contains status information specific to AWS
	// +optional
	AWS *AWSDNSZoneStatus `json:"aws,omitempty"`

	// GCPDNSZoneStatus contains status information specific to GCP
	// +optional
	GCP *GCPDNSZoneStatus `json:"gcp,omitempty"`

	// AzureDNSZoneStatus contains status information specific to Azure
	Azure *AzureDNSZoneStatus `json:"azure,omitempty"`

	// Conditions includes more detailed status for the DNSZone
	// +optional
	Conditions []DNSZoneCondition `json:"conditions,omitempty"`
}

DNSZoneStatus defines the observed state of DNSZone

func (*DNSZoneStatus) DeepCopy

func (in *DNSZoneStatus) DeepCopy() *DNSZoneStatus

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

func (*DNSZoneStatus) DeepCopyInto

func (in *DNSZoneStatus) DeepCopyInto(out *DNSZoneStatus)

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

type DeleteProtectionType added in v1.0.5

type DeleteProtectionType string
const (
	DeleteProtectionEnabled DeleteProtectionType = "enabled"
)

type FailedProvisionAWSConfig added in v1.0.12

type FailedProvisionAWSConfig struct {
	// CredentialsSecretRef references a secret in the TargetNamespace that will be used to authenticate with
	// AWS S3. It will need permission to upload logs to S3.
	// Secret should have keys named aws_access_key_id and aws_secret_access_key that contain the AWS credentials.
	// Example Secret:
	//   data:
	//     aws_access_key_id: minio
	//     aws_secret_access_key: minio123
	CredentialsSecretRef corev1.LocalObjectReference `json:"credentialsSecretRef"`

	// Region is the AWS region to use for S3 operations.
	// This defaults to us-east-1.
	// For AWS China, use cn-northwest-1.
	// +optional
	Region string `json:"region,omitempty"`

	// ServiceEndpoint is the url to connect to an S3 compatible provider.
	ServiceEndpoint string `json:"serviceEndpoint,omitempty"`

	// Bucket is the S3 bucket to store the logs in.
	Bucket string `json:"bucket,omitempty"`
}

FailedProvisionAWSConfig contains AWS-specific info to upload log files.

func (*FailedProvisionAWSConfig) DeepCopy added in v1.0.12

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

func (*FailedProvisionAWSConfig) DeepCopyInto added in v1.0.12

func (in *FailedProvisionAWSConfig) DeepCopyInto(out *FailedProvisionAWSConfig)

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

type FailedProvisionConfig

type FailedProvisionConfig struct {

	// DEPRECATED: This flag is no longer respected and will be removed in the future.
	SkipGatherLogs bool                      `json:"skipGatherLogs,omitempty"`
	AWS            *FailedProvisionAWSConfig `json:"aws,omitempty"`
}

FailedProvisionConfig contains settings to control behavior undertaken by Hive when an installation attempt fails.

func (*FailedProvisionConfig) DeepCopy

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

func (*FailedProvisionConfig) DeepCopyInto

func (in *FailedProvisionConfig) DeepCopyInto(out *FailedProvisionConfig)

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

type GCPClusterDeprovision

type GCPClusterDeprovision struct {
	// Region is the GCP region for this deprovision
	Region string `json:"region"`
	// CredentialsSecretRef is the GCP account credentials to use for deprovisioning the cluster
	CredentialsSecretRef *corev1.LocalObjectReference `json:"credentialsSecretRef,omitempty"`
}

GCPClusterDeprovision contains GCP-specific configuration for a ClusterDeprovision

func (*GCPClusterDeprovision) DeepCopy

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

func (*GCPClusterDeprovision) DeepCopyInto

func (in *GCPClusterDeprovision) DeepCopyInto(out *GCPClusterDeprovision)

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

type GCPDNSZoneSpec

type GCPDNSZoneSpec struct {
	// CredentialsSecretRef references a secret that will be used to authenticate with
	// GCP CloudDNS. It will need permission to create and manage CloudDNS Hosted Zones.
	// Secret should have a key named 'osServiceAccount.json'.
	// The credentials must specify the project to use.
	CredentialsSecretRef corev1.LocalObjectReference `json:"credentialsSecretRef"`
}

GCPDNSZoneSpec contains GCP-specific DNSZone specifications

func (*GCPDNSZoneSpec) DeepCopy

func (in *GCPDNSZoneSpec) DeepCopy() *GCPDNSZoneSpec

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

func (*GCPDNSZoneSpec) DeepCopyInto

func (in *GCPDNSZoneSpec) DeepCopyInto(out *GCPDNSZoneSpec)

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

type GCPDNSZoneStatus

type GCPDNSZoneStatus struct {
	// ZoneName is the name of the zone in GCP Cloud DNS
	// +optional
	ZoneName *string `json:"zoneName,omitempty"`
}

GCPDNSZoneStatus contains status information specific to GCP Cloud DNS zones

func (*GCPDNSZoneStatus) DeepCopy

func (in *GCPDNSZoneStatus) DeepCopy() *GCPDNSZoneStatus

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

func (*GCPDNSZoneStatus) DeepCopyInto

func (in *GCPDNSZoneStatus) DeepCopyInto(out *GCPDNSZoneStatus)

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

type HiveConfig

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

	Spec   HiveConfigSpec   `json:"spec,omitempty"`
	Status HiveConfigStatus `json:"status,omitempty"`
}

HiveConfig is the Schema for the hives API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster

func (*HiveConfig) DeepCopy

func (in *HiveConfig) DeepCopy() *HiveConfig

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

func (*HiveConfig) DeepCopyInto

func (in *HiveConfig) DeepCopyInto(out *HiveConfig)

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

func (*HiveConfig) DeepCopyObject

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

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

type HiveConfigList

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

HiveConfigList contains a list of Hive

func (*HiveConfigList) DeepCopy

func (in *HiveConfigList) DeepCopy() *HiveConfigList

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

func (*HiveConfigList) DeepCopyInto

func (in *HiveConfigList) DeepCopyInto(out *HiveConfigList)

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

func (*HiveConfigList) DeepCopyObject

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

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

type HiveConfigSpec

type HiveConfigSpec struct {

	// TargetNamespace is the namespace where the core Hive components should be run. Defaults to "hive". Will be
	// created if it does not already exist. All resource references in HiveConfig can be assumed to be in the
	// TargetNamespace.
	// +optional
	TargetNamespace string `json:"targetNamespace,omitempty"`

	// ManagedDomains is the list of DNS domains that are managed by the Hive cluster
	// When specifying 'manageDNS: true' in a ClusterDeployment, the ClusterDeployment's
	// baseDomain should be a direct child of one of these domains, otherwise the
	// ClusterDeployment creation will result in a validation error.
	// +optional
	ManagedDomains []ManageDNSConfig `json:"managedDomains,omitempty"`

	// AdditionalCertificateAuthoritiesSecretRef is a list of references to secrets in the
	// TargetNamespace that contain an additional Certificate Authority to use when communicating
	// with target clusters. These certificate authorities will be used in addition to any self-signed
	// CA generated by each cluster on installation.
	// +optional
	AdditionalCertificateAuthoritiesSecretRef []corev1.LocalObjectReference `json:"additionalCertificateAuthoritiesSecretRef,omitempty"`

	// GlobalPullSecretRef is used to specify a pull secret that will be used globally by all of the cluster deployments.
	// For each cluster deployment, the contents of GlobalPullSecret will be merged with the specific pull secret for
	// a cluster deployment(if specified), with precedence given to the contents of the pull secret for the cluster deployment.
	// The global pull secret is assumed to be in the TargetNamespace.
	// +optional
	GlobalPullSecretRef *corev1.LocalObjectReference `json:"globalPullSecretRef,omitempty"`

	// Backup specifies configuration for backup integration.
	// If absent, backup integration will be disabled.
	// +optional
	Backup BackupConfig `json:"backup,omitempty"`

	// FailedProvisionConfig is used to configure settings related to handling provision failures.
	// +optional
	FailedProvisionConfig FailedProvisionConfig `json:"failedProvisionConfig,omitempty"`

	// LogLevel is the level of logging to use for the Hive controllers.
	// Acceptable levels, from coarsest to finest, are panic, fatal, error, warn, info, debug, and trace.
	// The default level is info.
	// +optional
	LogLevel string `json:"logLevel,omitempty"`

	// SyncSetReapplyInterval is a string duration indicating how much time must pass before SyncSet resources
	// will be reapplied.
	// The default reapply interval is two hours.
	SyncSetReapplyInterval string `json:"syncSetReapplyInterval,omitempty"`

	// MaintenanceMode can be set to true to disable the hive controllers in situations where we need to ensure
	// nothing is running that will add or act upon finalizers on Hive types. This should rarely be needed.
	// Sets replicas to 0 for the hive-controllers deployment to accomplish this.
	MaintenanceMode *bool `json:"maintenanceMode,omitempty"`

	// DeprovisionsDisabled can be set to true to block deprovision jobs from running.
	DeprovisionsDisabled *bool `json:"deprovisionsDisabled,omitempty"`

	// DeleteProtection can be set to "enabled" to turn on automatic delete protection for ClusterDeployments. When
	// enabled, Hive will add the "hive.openshift.io/protected-delete" annotation to new ClusterDeployments. Once a
	// ClusterDeployment has been installed, a user must remove the annotation from a ClusterDeployment prior to
	// deleting it.
	// +kubebuilder:validation:Enum=enabled
	// +optional
	DeleteProtection DeleteProtectionType `json:"deleteProtection,omitempty"`

	// DisabledControllers allows selectively disabling Hive controllers by name.
	// The name of an individual controller matches the name of the controller as seen in the Hive logging output.
	DisabledControllers []string `json:"disabledControllers,omitempty"`

	// ControllersConfig is used to configure different hive controllers
	// +optional
	ControllersConfig *ControllersConfig `json:"controllersConfig,omitempty"`
}

HiveConfigSpec defines the desired state of Hive

func (*HiveConfigSpec) DeepCopy

func (in *HiveConfigSpec) DeepCopy() *HiveConfigSpec

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

func (*HiveConfigSpec) DeepCopyInto

func (in *HiveConfigSpec) DeepCopyInto(out *HiveConfigSpec)

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

type HiveConfigStatus

type HiveConfigStatus struct {
	// AggregatorClientCAHash keeps an md5 hash of the aggregator client CA
	// configmap data from the openshift-config-managed namespace. When the configmap changes,
	// admission is redeployed.
	AggregatorClientCAHash string `json:"aggregatorClientCAHash,omitempty"`

	// ObservedGeneration will record the most recently processed HiveConfig object's generation.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// ConfigApplied will be set by the hive operator to indicate whether or not the LastGenerationObserved
	// was successfully reconciled.
	ConfigApplied bool `json:"configApplied,omitempty"`
}

HiveConfigStatus defines the observed state of Hive

func (*HiveConfigStatus) DeepCopy

func (in *HiveConfigStatus) DeepCopy() *HiveConfigStatus

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

func (*HiveConfigStatus) DeepCopyInto

func (in *HiveConfigStatus) DeepCopyInto(out *HiveConfigStatus)

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

type IdentityProviderStatus

type IdentityProviderStatus struct {
}

IdentityProviderStatus defines the observed state of SyncSet

func (*IdentityProviderStatus) DeepCopy

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

func (*IdentityProviderStatus) DeepCopyInto

func (in *IdentityProviderStatus) DeepCopyInto(out *IdentityProviderStatus)

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

type KubeconfigSecretReference added in v1.0.5

type KubeconfigSecretReference struct {
	// Name is the name of the secret.
	Name string `json:"name"`
	// Namespace is the namespace where the secret lives.
	Namespace string `json:"namespace"`
}

KubeconfigSecretReference is a reference to a secret containing the kubeconfig for a remote cluster.

func (*KubeconfigSecretReference) DeepCopy added in v1.0.5

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

func (*KubeconfigSecretReference) DeepCopyInto added in v1.0.5

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

type MachinePool

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

	Spec   MachinePoolSpec   `json:"spec,omitempty"`
	Status MachinePoolStatus `json:"status,omitempty"`
}

MachinePool is the Schema for the machinepools API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:subresource:scale:specpath=.spec.replicas,statuspath=.status.replicas +kubebuilder:printcolumn:name="PoolName",type="string",JSONPath=".spec.name" +kubebuilder:printcolumn:name="ClusterDeployment",type="string",JSONPath=".spec.clusterDeploymentRef.name" +kubebuilder:printcolumn:name="Replicas",type="integer",JSONPath=".spec.replicas" +kubebuilder:resource:path=machinepools,scope=Namespaced

func (*MachinePool) DeepCopy

func (in *MachinePool) DeepCopy() *MachinePool

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

func (*MachinePool) DeepCopyInto

func (in *MachinePool) DeepCopyInto(out *MachinePool)

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

func (*MachinePool) DeepCopyObject

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

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

type MachinePoolAutoscaling

type MachinePoolAutoscaling struct {
	// MinReplicas is the minimum number of replicas for the machine pool.
	MinReplicas int32 `json:"minReplicas"`

	// MaxReplicas is the maximum number of replicas for the machine pool.
	MaxReplicas int32 `json:"maxReplicas"`
}

MachinePoolAutoscaling details how the machine pool is to be auto-scaled.

func (*MachinePoolAutoscaling) DeepCopy

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

func (*MachinePoolAutoscaling) DeepCopyInto

func (in *MachinePoolAutoscaling) DeepCopyInto(out *MachinePoolAutoscaling)

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

type MachinePoolCondition

type MachinePoolCondition struct {
	// Type is the type of the condition.
	Type MachinePoolConditionType `json:"type"`
	// Status is the status of the condition.
	Status corev1.ConditionStatus `json:"status"`
	// LastProbeTime is the last time we probed the condition.
	// +optional
	LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"`
	// LastTransitionTime is the last time the condition transitioned from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// Reason is a unique, one-word, CamelCase reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// Message is a human-readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`
}

MachinePoolCondition contains details for the current condition of a machine pool

func (*MachinePoolCondition) DeepCopy

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

func (*MachinePoolCondition) DeepCopyInto

func (in *MachinePoolCondition) DeepCopyInto(out *MachinePoolCondition)

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

type MachinePoolConditionType

type MachinePoolConditionType string

MachinePoolConditionType is a valid value for MachinePoolCondition.Type

const (
	// NotEnoughReplicasMachinePoolCondition is true when the minReplicas field
	// is set too low for the number of machinesets for the machine pool.
	NotEnoughReplicasMachinePoolCondition MachinePoolConditionType = "NotEnoughReplicas"

	// NoMachinePoolNameLeasesAvailable is true when the cloud provider requires a name lease for the in-cluster MachineSet, but no
	// leases are available.
	NoMachinePoolNameLeasesAvailable MachinePoolConditionType = "NoMachinePoolNameLeasesAvailable"

	// InvalidSubnetsMachinePoolCondition is true when there are missing or invalid entries in the subnet field
	InvalidSubnetsMachinePoolCondition MachinePoolConditionType = "InvalidSubnets"

	// UnsupportedConfigurationMachinePoolCondition is true when the configuration of the MachinePool is unsupported
	// by the cluster.
	UnsupportedConfigurationMachinePoolCondition MachinePoolConditionType = "UnsupportedConfiguration"
)

type MachinePoolList

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

MachinePoolList contains a list of MachinePool

func (*MachinePoolList) DeepCopy

func (in *MachinePoolList) DeepCopy() *MachinePoolList

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

func (*MachinePoolList) DeepCopyInto

func (in *MachinePoolList) DeepCopyInto(out *MachinePoolList)

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

func (*MachinePoolList) DeepCopyObject

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

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

type MachinePoolNameLease

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

	Spec   MachinePoolNameLeaseSpec   `json:"spec,omitempty"`
	Status MachinePoolNameLeaseStatus `json:"status,omitempty"`
}

MachinePoolNameLease is the Schema for the MachinePoolNameLeases API. This resource is mostly empty as we're primarily relying on the name to determine if a lease is available. Note that not all cloud providers require the use of a lease for naming, at present this is only required for GCP where we're extremely restricted on name lengths. +k8s:openapi-gen=true +kubebuilder:printcolumn:name="MachinePool",type="string",JSONPath=".metadata.labels.hive\\.openshift\\.io/machine-pool-name" +kubebuilder:printcolumn:name="Cluster",type="string",JSONPath=".metadata.labels.hive\\.openshift\\.io/cluster-deployment-name" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Namespaced

func (*MachinePoolNameLease) DeepCopy

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

func (*MachinePoolNameLease) DeepCopyInto

func (in *MachinePoolNameLease) DeepCopyInto(out *MachinePoolNameLease)

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

func (*MachinePoolNameLease) DeepCopyObject

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

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

type MachinePoolNameLeaseList

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

MachinePoolNameLeaseList contains a list of MachinePoolNameLeases.

func (*MachinePoolNameLeaseList) DeepCopy

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

func (*MachinePoolNameLeaseList) DeepCopyInto

func (in *MachinePoolNameLeaseList) DeepCopyInto(out *MachinePoolNameLeaseList)

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

func (*MachinePoolNameLeaseList) DeepCopyObject

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

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

type MachinePoolNameLeaseSpec

type MachinePoolNameLeaseSpec struct {
}

MachinePoolNameLeaseSpec is a minimal resource for obtaining unique machine pool names of a limited length.

func (*MachinePoolNameLeaseSpec) DeepCopy

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

func (*MachinePoolNameLeaseSpec) DeepCopyInto

func (in *MachinePoolNameLeaseSpec) DeepCopyInto(out *MachinePoolNameLeaseSpec)

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

type MachinePoolNameLeaseStatus

type MachinePoolNameLeaseStatus struct {
}

MachinePoolNameLeaseStatus defines the observed state of MachinePoolNameLease.

func (*MachinePoolNameLeaseStatus) DeepCopy

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

func (*MachinePoolNameLeaseStatus) DeepCopyInto

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

type MachinePoolPlatform

type MachinePoolPlatform struct {
	// AWS is the configuration used when installing on AWS.
	AWS *aws.MachinePoolPlatform `json:"aws,omitempty"`
	// Azure is the configuration used when installing on Azure.
	Azure *azure.MachinePool `json:"azure,omitempty"`
	// GCP is the configuration used when installing on GCP.
	GCP *gcp.MachinePool `json:"gcp,omitempty"`
	// OpenStack is the configuration used when installing on OpenStack.
	OpenStack *openstack.MachinePool `json:"openstack,omitempty"`
	// VSphere is the configuration used when installing on vSphere
	VSphere *vsphere.MachinePool `json:"vsphere,omitempty"`
	// Ovirt is the configuration used when installing on oVirt.
	Ovirt *ovirt.MachinePool `json:"ovirt,omitempty"`
}

MachinePoolPlatform is the platform-specific configuration for a machine pool. Only one of the platforms should be set.

func (*MachinePoolPlatform) DeepCopy

func (in *MachinePoolPlatform) DeepCopy() *MachinePoolPlatform

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

func (*MachinePoolPlatform) DeepCopyInto

func (in *MachinePoolPlatform) DeepCopyInto(out *MachinePoolPlatform)

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

type MachinePoolSpec

type MachinePoolSpec struct {

	// ClusterDeploymentRef references the cluster deployment to which this
	// machine pool belongs.
	ClusterDeploymentRef corev1.LocalObjectReference `json:"clusterDeploymentRef"`

	// Name is the name of the machine pool.
	Name string `json:"name"`

	// Replicas is the count of machines for this machine pool.
	// Replicas and autoscaling cannot be used together.
	// Default is 1, if autoscaling is not used.
	// +optional
	Replicas *int64 `json:"replicas,omitempty"`

	// Autoscaling is the details for auto-scaling the machine pool.
	// Replicas and autoscaling cannot be used together.
	// +optional
	Autoscaling *MachinePoolAutoscaling `json:"autoscaling,omitempty"`

	// Platform is configuration for machine pool specific to the platform.
	Platform MachinePoolPlatform `json:"platform"`

	// Map of label string keys and values that will be applied to the created MachineSet's
	// MachineSpec. This list will overwrite any modifications made to Node labels on an
	// ongoing basis.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// List of taints that will be applied to the created MachineSet's MachineSpec.
	// This list will overwrite any modifications made to Node taints on an ongoing basis.
	// +optional
	Taints []corev1.Taint `json:"taints,omitempty"`
}

MachinePoolSpec defines the desired state of MachinePool

func (*MachinePoolSpec) DeepCopy

func (in *MachinePoolSpec) DeepCopy() *MachinePoolSpec

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

func (*MachinePoolSpec) DeepCopyInto

func (in *MachinePoolSpec) DeepCopyInto(out *MachinePoolSpec)

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

type MachinePoolStatus

type MachinePoolStatus struct {
	// Replicas is the current number of replicas for the machine pool.
	// +optional
	Replicas int32 `json:"replicas,omitempty"`

	// MachineSets is the status of the machine sets for the machine pool on the remote cluster.
	MachineSets []MachineSetStatus `json:"machineSets,omitempty"`

	// Conditions includes more detailed status for the cluster deployment
	// +optional
	Conditions []MachinePoolCondition `json:"conditions,omitempty"`
}

MachinePoolStatus defines the observed state of MachinePool

func (*MachinePoolStatus) DeepCopy

func (in *MachinePoolStatus) DeepCopy() *MachinePoolStatus

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

func (*MachinePoolStatus) DeepCopyInto

func (in *MachinePoolStatus) DeepCopyInto(out *MachinePoolStatus)

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

type MachineSetStatus

type MachineSetStatus struct {
	// Name is the name of the machine set.
	Name string `json:"name"`

	// Replicas is the current number of replicas for the machine set.
	Replicas int32 `json:"replicas"`

	// MinReplicas is the minimum number of replicas for the machine set.
	MinReplicas int32 `json:"minReplicas"`

	// MaxReplicas is the maximum number of replicas for the machine set.
	MaxReplicas int32 `json:"maxReplicas"`
}

MachineSetStatus is the status of a machineset in the remote cluster.

func (*MachineSetStatus) DeepCopy

func (in *MachineSetStatus) DeepCopy() *MachineSetStatus

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

func (*MachineSetStatus) DeepCopyInto

func (in *MachineSetStatus) DeepCopyInto(out *MachineSetStatus)

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

type ManageDNSAWSConfig

type ManageDNSAWSConfig struct {
	// CredentialsSecretRef references a secret in the TargetNamespace that will be used to authenticate with
	// AWS Route53. It will need permission to manage entries for the domain
	// listed in the parent ManageDNSConfig object.
	// Secret should have AWS keys named 'aws_access_key_id' and 'aws_secret_access_key'.
	CredentialsSecretRef corev1.LocalObjectReference `json:"credentialsSecretRef"`

	// Region is the AWS region to use for route53 operations.
	// This defaults to us-east-1.
	// For AWS China, use cn-northwest-1.
	// +optional
	Region string `json:"region,omitempty"`
}

ManageDNSAWSConfig contains AWS-specific info to manage a given domain.

func (*ManageDNSAWSConfig) DeepCopy

func (in *ManageDNSAWSConfig) DeepCopy() *ManageDNSAWSConfig

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

func (*ManageDNSAWSConfig) DeepCopyInto

func (in *ManageDNSAWSConfig) DeepCopyInto(out *ManageDNSAWSConfig)

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

type ManageDNSAzureConfig added in v1.0.5

type ManageDNSAzureConfig struct {
	// CredentialsSecretRef references a secret in the TargetNamespace that will be used to authenticate with
	// Azure DNS. It wil need permission to manage entries in each of the
	// managed domains listed in the parent ManageDNSConfig object.
	// Secret should have a key named 'osServicePrincipal.json'
	CredentialsSecretRef corev1.LocalObjectReference `json:"credentialsSecretRef"`

	// ResourceGroupName specifies the Azure resource group containing the DNS zones
	// for the domains being managed.
	ResourceGroupName string `json:"resourceGroupName"`
}

ManageDNSAzureConfig contains Azure-specific info to manage a given domain

func (*ManageDNSAzureConfig) DeepCopy added in v1.0.5

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

func (*ManageDNSAzureConfig) DeepCopyInto added in v1.0.5

func (in *ManageDNSAzureConfig) DeepCopyInto(out *ManageDNSAzureConfig)

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

type ManageDNSConfig

type ManageDNSConfig struct {

	// Domains is the list of domains that hive will be managing entries for with the provided credentials.
	Domains []string `json:"domains"`

	// AWS contains AWS-specific settings for external DNS
	// +optional
	AWS *ManageDNSAWSConfig `json:"aws,omitempty"`

	// GCP contains GCP-specific settings for external DNS
	// +optional
	GCP *ManageDNSGCPConfig `json:"gcp,omitempty"`

	// Azure contains Azure-specific settings for external DNS
	// +optional
	Azure *ManageDNSAzureConfig `json:"azure,omitempty"`
}

ManageDNSConfig contains the domain being managed, and the cloud-specific details for accessing/managing the domain.

func (*ManageDNSConfig) DeepCopy

func (in *ManageDNSConfig) DeepCopy() *ManageDNSConfig

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

func (*ManageDNSConfig) DeepCopyInto

func (in *ManageDNSConfig) DeepCopyInto(out *ManageDNSConfig)

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

type ManageDNSGCPConfig

type ManageDNSGCPConfig struct {
	// CredentialsSecretRef references a secret in the TargetNamespace that will be used to authenticate with
	// GCP DNS. It will need permission to manage entries in each of the
	// managed domains for this cluster.
	// listed in the parent ManageDNSConfig object.
	// Secret should have a key named 'osServiceAccount.json'.
	// The credentials must specify the project to use.
	CredentialsSecretRef corev1.LocalObjectReference `json:"credentialsSecretRef"`
}

ManageDNSGCPConfig contains GCP-specific info to manage a given domain.

func (*ManageDNSGCPConfig) DeepCopy

func (in *ManageDNSGCPConfig) DeepCopy() *ManageDNSGCPConfig

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

func (*ManageDNSGCPConfig) DeepCopyInto

func (in *ManageDNSGCPConfig) DeepCopyInto(out *ManageDNSGCPConfig)

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

type MetaRuntimeObject added in v1.0.2

type MetaRuntimeObject interface {
	metav1.Object
	runtime.Object
}

MetaRuntimeObject allows for the generic specification of hive objects since all hive objects implement both the meta and runtime object interfaces.

type OpenStackClusterDeprovision added in v1.0.1

type OpenStackClusterDeprovision struct {
	// Cloud is the secion in the clouds.yaml secret below to use for auth/connectivity.
	Cloud string `json:"cloud"`
	// CredentialsSecretRef is the OpenStack account credentials to use for deprovisioning the cluster
	CredentialsSecretRef *corev1.LocalObjectReference `json:"credentialsSecretRef,omitempty"`
	// CertificatesSecretRef refers to a secret that contains CA certificates
	// necessary for communicating with the OpenStack.
	//
	// +optional
	CertificatesSecretRef *corev1.LocalObjectReference `json:"certificatesSecretRef,omitempty"`
}

OpenStackClusterDeprovision contains OpenStack-specific configuration for a ClusterDeprovision

func (*OpenStackClusterDeprovision) DeepCopy added in v1.0.1

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

func (*OpenStackClusterDeprovision) DeepCopyInto added in v1.0.1

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

type OvirtClusterDeprovision added in v1.0.6

type OvirtClusterDeprovision struct {
	// The oVirt cluster ID
	ClusterID string `json:"clusterID"`
	// CredentialsSecretRef is the oVirt account credentials to use for deprovisioning the cluster
	// secret fields: ovirt_url, ovirt_username, ovirt_password, ovirt_ca_bundle
	CredentialsSecretRef corev1.LocalObjectReference `json:"credentialsSecretRef"`
	// CertificatesSecretRef refers to a secret that contains the oVirt CA certificates
	// necessary for communicating with the oVirt.
	CertificatesSecretRef corev1.LocalObjectReference `json:"certificatesSecretRef"`
}

OvirtClusterDeprovision contains oVirt-specific configuration for a ClusterDeprovision

func (*OvirtClusterDeprovision) DeepCopy added in v1.0.6

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

func (*OvirtClusterDeprovision) DeepCopyInto added in v1.0.6

func (in *OvirtClusterDeprovision) DeepCopyInto(out *OvirtClusterDeprovision)

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

type Platform

type Platform struct {
	// AWS is the configuration used when installing on AWS.
	AWS *aws.Platform `json:"aws,omitempty"`

	// Azure is the configuration used when installing on Azure.
	// +optional
	Azure *azure.Platform `json:"azure,omitempty"`

	// BareMetal is the configuration used when installing on bare metal.
	BareMetal *baremetal.Platform `json:"baremetal,omitempty"`

	// GCP is the configuration used when installing on Google Cloud Platform.
	// +optional
	GCP *gcp.Platform `json:"gcp,omitempty"`

	// OpenStack is the configuration used when installing on OpenStack
	OpenStack *openstack.Platform `json:"openstack,omitempty"`

	// VSphere is the configuration used when installing on vSphere
	VSphere *vsphere.Platform `json:"vsphere,omitempty"`

	// Ovirt is the configuration used when installing on oVirt
	Ovirt *ovirt.Platform `json:"ovirt,omitempty"`
}

Platform is the configuration for the specific platform upon which to perform the installation. Only one of the platform configuration should be set.

func (*Platform) DeepCopy

func (in *Platform) DeepCopy() *Platform

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

func (*Platform) DeepCopyInto

func (in *Platform) DeepCopyInto(out *Platform)

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

type Provisioning

type Provisioning struct {
	// InstallConfigSecretRef is the reference to a secret that contains an openshift-install
	// InstallConfig. This file will be passed through directly to the installer.
	// Any version of InstallConfig can be used, provided it can be parsed by the openshift-install
	// version for the release you are provisioning.
	InstallConfigSecretRef corev1.LocalObjectReference `json:"installConfigSecretRef"`

	// ReleaseImage is the image containing metadata for all components that run in the cluster, and
	// is the primary and best way to specify what specific version of OpenShift you wish to install.
	ReleaseImage string `json:"releaseImage,omitempty"`

	// ImageSetRef is a reference to a ClusterImageSet. If a value is specified for ReleaseImage,
	// that will take precedence over the one from the ClusterImageSet.
	ImageSetRef *ClusterImageSetReference `json:"imageSetRef,omitempty"`

	// ManifestsConfigMapRef is a reference to user-provided manifests to
	// add to or replace manifests that are generated by the installer.
	ManifestsConfigMapRef *corev1.LocalObjectReference `json:"manifestsConfigMapRef,omitempty"`

	// SSHPrivateKeySecretRef is the reference to the secret that contains the private SSH key to use
	// for access to compute instances. This private key should correspond to the public key included
	// in the InstallConfig. The private key is used by Hive to gather logs on the target cluster if
	// there are install failures.
	// The SSH private key is expected to be in the secret data under the "ssh-privatekey" key.
	// +optional
	SSHPrivateKeySecretRef *corev1.LocalObjectReference `json:"sshPrivateKeySecretRef,omitempty"`

	// SSHKnownHosts are known hosts to be configured in the hive install manager pod to avoid ssh prompts.
	// Use of ssh in the install pod is somewhat limited today (failure log gathering from cluster, some bare metal
	// provisioning scenarios), so this setting is often not needed.
	SSHKnownHosts []string `json:"sshKnownHosts,omitempty"`

	// InstallerEnv are extra environment variables to pass through to the installer. This may be used to enable
	// additional features of the installer.
	// +optional
	InstallerEnv []corev1.EnvVar `json:"installerEnv,omitempty"`
}

Provisioning contains settings used only for initial cluster provisioning.

func (*Provisioning) DeepCopy

func (in *Provisioning) DeepCopy() *Provisioning

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

func (*Provisioning) DeepCopyInto

func (in *Provisioning) DeepCopyInto(out *Provisioning)

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

type RelocateStatus added in v1.0.6

type RelocateStatus string

RelocateStatus is the status of a cluster relocate. This is used in the value of the "hive.openshift.io/relocate" annotation.

const (
	// RelocateOutgoing indicates that a resource is on the source side of an in-progress relocate
	RelocateOutgoing RelocateStatus = "outgoing"
	// RelocateComplete indicates that a resource is on the source side of a completed relocate
	RelocateComplete RelocateStatus = "complete"
	// RelocateIncoming indicates that a resource is on the destination side of an in-progress relocate
	RelocateIncoming RelocateStatus = "incoming"
)

type SecretMapping

type SecretMapping struct {

	// SourceRef specifies the name and namespace of a secret on the management cluster
	SourceRef SecretReference `json:"sourceRef"`

	// TargetRef specifies the target name and namespace of the secret on the target cluster
	TargetRef SecretReference `json:"targetRef"`
}

SecretMapping defines a source and destination for a secret to be synced by a SyncSet

func (*SecretMapping) DeepCopy

func (in *SecretMapping) DeepCopy() *SecretMapping

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

func (*SecretMapping) DeepCopyInto

func (in *SecretMapping) DeepCopyInto(out *SecretMapping)

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

type SecretReference

type SecretReference struct {
	// Name is the name of the secret
	Name string `json:"name"`
	// Namespace is the namespace where the secret lives. If not present for the source
	// secret reference, it is assumed to be the same namespace as the syncset with the
	// reference.
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

SecretReference is a reference to a secret by name and namespace

func (*SecretReference) DeepCopy

func (in *SecretReference) DeepCopy() *SecretReference

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

func (*SecretReference) DeepCopyInto

func (in *SecretReference) DeepCopyInto(out *SecretReference)

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

type SelectorSyncIdentityProvider

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

	Spec   SelectorSyncIdentityProviderSpec `json:"spec,omitempty"`
	Status IdentityProviderStatus           `json:"status,omitempty"`
}

SelectorSyncIdentityProvider is the Schema for the SelectorSyncSet API +k8s:openapi-gen=true +kubebuilder:resource:scope=Cluster

func (*SelectorSyncIdentityProvider) DeepCopy

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

func (*SelectorSyncIdentityProvider) DeepCopyInto

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

func (*SelectorSyncIdentityProvider) DeepCopyObject

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

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

type SelectorSyncIdentityProviderList

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

SelectorSyncIdentityProviderList contains a list of SelectorSyncIdentityProviders

func (*SelectorSyncIdentityProviderList) DeepCopy

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

func (*SelectorSyncIdentityProviderList) DeepCopyInto

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

func (*SelectorSyncIdentityProviderList) DeepCopyObject

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

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

type SelectorSyncIdentityProviderSpec

type SelectorSyncIdentityProviderSpec struct {
	SyncIdentityProviderCommonSpec `json:",inline"`

	// ClusterDeploymentSelector is a LabelSelector indicating which clusters the SelectorIdentityProvider
	// applies to in any namespace.
	// +optional
	ClusterDeploymentSelector metav1.LabelSelector `json:"clusterDeploymentSelector,omitempty"`
}

SelectorSyncIdentityProviderSpec defines the SyncIdentityProviderCommonSpec to sync to ClusterDeploymentSelector indicating which clusters the SelectorSyncIdentityProvider applies to in any namespace.

func (*SelectorSyncIdentityProviderSpec) DeepCopy

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

func (*SelectorSyncIdentityProviderSpec) DeepCopyInto

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

type SelectorSyncSet

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

	Spec   SelectorSyncSetSpec   `json:"spec,omitempty"`
	Status SelectorSyncSetStatus `json:"status,omitempty"`
}

SelectorSyncSet is the Schema for the SelectorSyncSet API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:path=selectorsyncsets,shortName=sss,scope=Cluster

func (*SelectorSyncSet) DeepCopy

func (in *SelectorSyncSet) DeepCopy() *SelectorSyncSet

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

func (*SelectorSyncSet) DeepCopyInto

func (in *SelectorSyncSet) DeepCopyInto(out *SelectorSyncSet)

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

func (*SelectorSyncSet) DeepCopyObject

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

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

type SelectorSyncSetList

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

SelectorSyncSetList contains a list of SyncSets

func (*SelectorSyncSetList) DeepCopy

func (in *SelectorSyncSetList) DeepCopy() *SelectorSyncSetList

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

func (*SelectorSyncSetList) DeepCopyInto

func (in *SelectorSyncSetList) DeepCopyInto(out *SelectorSyncSetList)

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

func (*SelectorSyncSetList) DeepCopyObject

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

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

type SelectorSyncSetSpec

type SelectorSyncSetSpec struct {
	SyncSetCommonSpec `json:",inline"`

	// ClusterDeploymentSelector is a LabelSelector indicating which clusters the SelectorSyncSet
	// applies to in any namespace.
	// +optional
	ClusterDeploymentSelector metav1.LabelSelector `json:"clusterDeploymentSelector,omitempty"`
}

SelectorSyncSetSpec defines the SyncSetCommonSpec resources and patches to sync along with a ClusterDeploymentSelector indicating which clusters the SelectorSyncSet applies to in any namespace.

func (*SelectorSyncSetSpec) DeepCopy

func (in *SelectorSyncSetSpec) DeepCopy() *SelectorSyncSetSpec

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

func (*SelectorSyncSetSpec) DeepCopyInto

func (in *SelectorSyncSetSpec) DeepCopyInto(out *SelectorSyncSetSpec)

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

type SelectorSyncSetStatus

type SelectorSyncSetStatus struct {
}

SelectorSyncSetStatus defines the observed state of a SelectorSyncSet

func (*SelectorSyncSetStatus) DeepCopy

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

func (*SelectorSyncSetStatus) DeepCopyInto

func (in *SelectorSyncSetStatus) DeepCopyInto(out *SelectorSyncSetStatus)

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

type SpecificControllerConfig added in v1.0.11

type SpecificControllerConfig struct {
	// Name specifies the name of the controller
	Name ControllerName `json:"name"`
	// ControllerConfig contains the configuration for the controller specified by Name field
	Config ControllerConfig `json:"config"`
}

SpecificControllerConfig contains the configuration for a specific controller

func (*SpecificControllerConfig) DeepCopy added in v1.0.11

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

func (*SpecificControllerConfig) DeepCopyInto added in v1.0.11

func (in *SpecificControllerConfig) DeepCopyInto(out *SpecificControllerConfig)

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

type SyncCondition

type SyncCondition struct {
	// Type is the type of the condition.
	Type SyncConditionType `json:"type"`
	// Status is the status of the condition.
	Status corev1.ConditionStatus `json:"status"`
	// LastProbeTime is the last time we probed the condition.
	// +optional
	LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"`
	// LastTransitionTime is the last time the condition transitioned from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// Reason is a unique, one-word, CamelCase reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// Message is a human-readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`
}

SyncCondition is a condition in a SyncStatus

func (*SyncCondition) DeepCopy

func (in *SyncCondition) DeepCopy() *SyncCondition

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

func (*SyncCondition) DeepCopyInto

func (in *SyncCondition) DeepCopyInto(out *SyncCondition)

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

type SyncConditionType

type SyncConditionType string

SyncConditionType is a valid value for SyncCondition.Type

const (
	// ApplySuccessSyncCondition indicates whether the resource or patch has been applied.
	ApplySuccessSyncCondition SyncConditionType = "ApplySuccess"

	// ApplyFailureSyncCondition indicates that a resource or patch has failed to apply.
	// It should include a reason and message for the failure.
	ApplyFailureSyncCondition SyncConditionType = "ApplyFailure"

	// DeletionFailedSyncCondition indicates that resource deletion has failed.
	// It should include a reason and message for the failure.
	DeletionFailedSyncCondition SyncConditionType = "DeletionFailed"

	// UnknownObjectSyncCondition indicates that the resource type cannot be determined.
	// It should include a reason and message for the failure.
	UnknownObjectSyncCondition SyncConditionType = "UnknownObject"
)

type SyncIdentityProvider

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

	Spec   SyncIdentityProviderSpec `json:"spec,omitempty"`
	Status IdentityProviderStatus   `json:"status,omitempty"`
}

SyncIdentityProvider is the Schema for the SyncIdentityProvider API +k8s:openapi-gen=true +kubebuilder:resource:scope=Namespaced

func (*SyncIdentityProvider) DeepCopy

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

func (*SyncIdentityProvider) DeepCopyInto

func (in *SyncIdentityProvider) DeepCopyInto(out *SyncIdentityProvider)

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

func (*SyncIdentityProvider) DeepCopyObject

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

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

type SyncIdentityProviderCommonSpec

type SyncIdentityProviderCommonSpec struct {
	//IdentityProviders is an ordered list of ways for a user to identify themselves
	// +required
	IdentityProviders []openshiftapiv1.IdentityProvider `json:"identityProviders"`
}

SyncIdentityProviderCommonSpec defines the identity providers to sync

func (*SyncIdentityProviderCommonSpec) DeepCopy

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

func (*SyncIdentityProviderCommonSpec) DeepCopyInto

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

type SyncIdentityProviderList

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

SyncIdentityProviderList contains a list of SyncIdentityProviders

func (*SyncIdentityProviderList) DeepCopy

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

func (*SyncIdentityProviderList) DeepCopyInto

func (in *SyncIdentityProviderList) DeepCopyInto(out *SyncIdentityProviderList)

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

func (*SyncIdentityProviderList) DeepCopyObject

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

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

type SyncIdentityProviderSpec

type SyncIdentityProviderSpec struct {
	SyncIdentityProviderCommonSpec `json:",inline"`

	// ClusterDeploymentRefs is the list of LocalObjectReference indicating which clusters the
	// SyncSet applies to in the SyncSet's namespace.
	// +required
	ClusterDeploymentRefs []corev1.LocalObjectReference `json:"clusterDeploymentRefs"`
}

SyncIdentityProviderSpec defines the SyncIdentityProviderCommonSpec identity providers to sync along with ClusterDeploymentRefs indicating which clusters the SyncIdentityProvider applies to in the SyncIdentityProvider's namespace.

func (*SyncIdentityProviderSpec) DeepCopy

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

func (*SyncIdentityProviderSpec) DeepCopyInto

func (in *SyncIdentityProviderSpec) DeepCopyInto(out *SyncIdentityProviderSpec)

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

type SyncObjectPatch

type SyncObjectPatch struct {
	// APIVersion is the Group and Version of the object to be patched.
	APIVersion string `json:"apiVersion"`

	// Kind is the Kind of the object to be patched.
	Kind string `json:"kind"`

	// Name is the name of the object to be patched.
	Name string `json:"name"`

	// Namespace is the Namespace in which the object to patch exists.
	// Defaults to the SyncSet's Namespace.
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Patch is the patch to apply.
	Patch string `json:"patch"`

	// PatchType indicates the PatchType as "strategic" (default), "json", or "merge".
	// +optional
	PatchType string `json:"patchType,omitempty"`
}

SyncObjectPatch represents a patch to be applied to a specific object

func (*SyncObjectPatch) DeepCopy

func (in *SyncObjectPatch) DeepCopy() *SyncObjectPatch

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

func (*SyncObjectPatch) DeepCopyInto

func (in *SyncObjectPatch) DeepCopyInto(out *SyncObjectPatch)

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

type SyncSet

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

	Spec   SyncSetSpec   `json:"spec,omitempty"`
	Status SyncSetStatus `json:"status,omitempty"`
}

SyncSet is the Schema for the SyncSet API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:path=syncsets,shortName=ss,scope=Namespaced

func (*SyncSet) DeepCopy

func (in *SyncSet) DeepCopy() *SyncSet

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

func (*SyncSet) DeepCopyInto

func (in *SyncSet) DeepCopyInto(out *SyncSet)

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

func (*SyncSet) DeepCopyObject

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

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

type SyncSetApplyBehavior added in v1.0.5

type SyncSetApplyBehavior string

SyncSetApplyBehavior is a string representing the behavior to use when aplying a syncset to target cluster. +kubebuilder:validation:Enum="";Apply;CreateOnly;CreateOrUpdate

const (
	// ApplySyncSetApplyBehavior is the default apply behavior. It will result
	// in resources getting applied using the 'oc apply' command to the target
	// cluster.
	ApplySyncSetApplyBehavior SyncSetApplyBehavior = "Apply"

	// CreateOnlySyncSetApplyBehavior results in resources only getting created
	// if they do not exist, otherwise they are left alone.
	CreateOnlySyncSetApplyBehavior SyncSetApplyBehavior = "CreateOnly"

	// CreateOrUpdateSyncSetApplyBehavior results in resources getting created if
	// they do not exist, otherwise they are updated with the contents of the
	// syncset resource. This is different from Apply behavior in that an annotation
	// is not added to the target resource with the "lastApplied" value. It allows
	// for syncing larger resources, but loses the ability to sync map entry deletes.
	CreateOrUpdateSyncSetApplyBehavior SyncSetApplyBehavior = "CreateOrUpdate"
)

type SyncSetCommonSpec

type SyncSetCommonSpec struct {
	// Resources is the list of objects to sync from RawExtension definitions.
	// +optional
	Resources []runtime.RawExtension `json:"resources,omitempty"`

	// ResourceApplyMode indicates if the Resource apply mode is "Upsert" (default) or "Sync".
	// ApplyMode "Upsert" indicates create and update.
	// ApplyMode "Sync" indicates create, update and delete.
	// +optional
	ResourceApplyMode SyncSetResourceApplyMode `json:"resourceApplyMode,omitempty"`

	// Patches is the list of patches to apply.
	// +optional
	Patches []SyncObjectPatch `json:"patches,omitempty"`

	// Secrets is the list of secrets to sync along with their respective destinations.
	// +optional
	Secrets []SecretMapping `json:"secretMappings,omitempty"`

	// ApplyBehavior indicates how resources in this syncset will be applied to the target
	// cluster. The default value of "Apply" indicates that resources should be applied
	// using the 'oc apply' command. If no value is set, "Apply" is assumed.
	// A value of "CreateOnly" indicates that the resource will only be created if it does
	// not already exist in the target cluster. Otherwise, it will be left alone.
	// A value of "CreateOrUpdate" indicates that the resource will be created/updated without
	// the use of the 'oc apply' command, allowing larger resources to be synced, but losing
	// some functionality of the 'oc apply' command such as the ability to remove annotations,
	// labels, and other map entries in general.
	// +optional
	ApplyBehavior SyncSetApplyBehavior `json:"applyBehavior,omitempty"`
}

SyncSetCommonSpec defines the resources and patches to sync

func (*SyncSetCommonSpec) DeepCopy

func (in *SyncSetCommonSpec) DeepCopy() *SyncSetCommonSpec

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

func (*SyncSetCommonSpec) DeepCopyInto

func (in *SyncSetCommonSpec) DeepCopyInto(out *SyncSetCommonSpec)

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

type SyncSetList

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

SyncSetList contains a list of SyncSets

func (*SyncSetList) DeepCopy

func (in *SyncSetList) DeepCopy() *SyncSetList

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

func (*SyncSetList) DeepCopyInto

func (in *SyncSetList) DeepCopyInto(out *SyncSetList)

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

func (*SyncSetList) DeepCopyObject

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

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

type SyncSetObjectStatus

type SyncSetObjectStatus struct {
	// Name is the name of the SyncSet.
	Name string `json:"name"`

	// Resources is the list of SyncStatus for objects that have been synced.
	// +optional
	Resources []SyncStatus `json:"resources,omitempty"`

	// ResourceApplyMode indicates if the Resource apply mode is "Upsert" (default) or "Sync".
	// ApplyMode "Upsert" indicates create and update.
	// ApplyMode "Sync" indicates create, update and delete.
	// +optional
	ResourceApplyMode SyncSetResourceApplyMode `json:"resourceApplyMode,omitempty"`

	// Patches is the list of SyncStatus for patches that have been applied.
	// +optional
	Patches []SyncStatus `json:"patches,omitempty"`

	// Secrets is the list of SyncStatus for secrets that have been synced.
	// +optional
	Secrets []SyncStatus `json:"secrets,omitempty"`

	// Conditions is the list of SyncConditions used to indicate UnknownObject
	// when a resource type cannot be determined from a SyncSet resource.
	// +optional
	Conditions []SyncCondition `json:"conditions,omitempty"`
}

SyncSetObjectStatus describes the status of resources created or patches that have been applied from a SyncSet or SelectorSyncSet.

func (*SyncSetObjectStatus) DeepCopy

func (in *SyncSetObjectStatus) DeepCopy() *SyncSetObjectStatus

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

func (*SyncSetObjectStatus) DeepCopyInto

func (in *SyncSetObjectStatus) DeepCopyInto(out *SyncSetObjectStatus)

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

type SyncSetPatchApplyMode

type SyncSetPatchApplyMode string

SyncSetPatchApplyMode is a string representing the mode with which to apply SyncSet Patches.

const (
	// ApplyOncePatchApplyMode indicates that the patch should be applied
	// only once.
	ApplyOncePatchApplyMode SyncSetPatchApplyMode = "ApplyOnce"

	// AlwaysApplyPatchApplyMode indicates that the patch should be
	// continuously applied.
	AlwaysApplyPatchApplyMode SyncSetPatchApplyMode = "AlwaysApply"
)

type SyncSetResourceApplyMode

type SyncSetResourceApplyMode string

SyncSetResourceApplyMode is a string representing the mode with which to apply SyncSet Resources.

const (
	// UpsertResourceApplyMode indicates that objects will be updated
	// or inserted (created).
	UpsertResourceApplyMode SyncSetResourceApplyMode = "Upsert"

	// SyncResourceApplyMode inherits the create or update functionality
	// of Upsert but also indicates that objects will be deleted if created
	// previously and detected missing from defined Resources in the SyncSet.
	SyncResourceApplyMode SyncSetResourceApplyMode = "Sync"
)

type SyncSetSpec

type SyncSetSpec struct {
	SyncSetCommonSpec `json:",inline"`

	// ClusterDeploymentRefs is the list of LocalObjectReference indicating which clusters the
	// SyncSet applies to in the SyncSet's namespace.
	// +required
	ClusterDeploymentRefs []corev1.LocalObjectReference `json:"clusterDeploymentRefs"`
}

SyncSetSpec defines the SyncSetCommonSpec resources and patches to sync along with ClusterDeploymentRefs indicating which clusters the SyncSet applies to in the SyncSet's namespace.

func (*SyncSetSpec) DeepCopy

func (in *SyncSetSpec) DeepCopy() *SyncSetSpec

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

func (*SyncSetSpec) DeepCopyInto

func (in *SyncSetSpec) DeepCopyInto(out *SyncSetSpec)

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

type SyncSetStatus

type SyncSetStatus struct {
}

SyncSetStatus defines the observed state of a SyncSet

func (*SyncSetStatus) DeepCopy

func (in *SyncSetStatus) DeepCopy() *SyncSetStatus

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

func (*SyncSetStatus) DeepCopyInto

func (in *SyncSetStatus) DeepCopyInto(out *SyncSetStatus)

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

type SyncStatus

type SyncStatus struct {
	// APIVersion is the Group and Version of the object that was synced or
	// patched.
	APIVersion string `json:"apiVersion"`

	// Kind is the Kind of the object that was synced or patched.
	Kind string `json:"kind"`

	// Resource is the resource name for the object that was synced.
	// This will be populated for resources, but not patches
	// +optional
	Resource string `json:"resource,omitempty"`

	// Name is the name of the object that was synced or patched.
	Name string `json:"name"`

	// Namespace is the Namespace of the object that was synced or patched.
	Namespace string `json:"namespace"`

	// Hash is the unique md5 hash of the resource or patch.
	Hash string `json:"hash"`

	// Conditions is the list of conditions indicating success or failure of object
	// create, update and delete as well as patch application.
	Conditions []SyncCondition `json:"conditions"`
}

SyncStatus describes objects that have been created or patches that have been applied using the unique md5 sum of the object or patch.

func (*SyncStatus) DeepCopy

func (in *SyncStatus) DeepCopy() *SyncStatus

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

func (*SyncStatus) DeepCopyInto

func (in *SyncStatus) DeepCopyInto(out *SyncStatus)

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

type VSphereClusterDeprovision added in v1.0.5

type VSphereClusterDeprovision struct {
	// CredentialsSecretRef is the vSphere account credentials to use for deprovisioning the cluster
	CredentialsSecretRef corev1.LocalObjectReference `json:"credentialsSecretRef"`
	// CertificatesSecretRef refers to a secret that contains the vSphere CA certificates
	// necessary for communicating with the VCenter.
	CertificatesSecretRef corev1.LocalObjectReference `json:"certificatesSecretRef"`
	// VCenter is the vSphere vCenter hostname.
	VCenter string `json:"vCenter"`
}

VSphereClusterDeprovision contains VMware vSphere-specific configuration for a ClusterDeprovision

func (*VSphereClusterDeprovision) DeepCopy added in v1.0.5

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

func (*VSphereClusterDeprovision) DeepCopyInto added in v1.0.5

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

type VeleroBackupConfig

type VeleroBackupConfig struct {
	// Enabled dictates if Velero backup integration is enabled.
	// If not specified, the default is disabled.
	// +optional
	Enabled bool `json:"enabled,omitempty"`

	// Namespace specifies in which namespace velero backup objects should be created.
	// If not specified, the default is a namespace named "velero".
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

VeleroBackupConfig contains settings for the Velero backup integration.

func (*VeleroBackupConfig) DeepCopy

func (in *VeleroBackupConfig) DeepCopy() *VeleroBackupConfig

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

func (*VeleroBackupConfig) DeepCopyInto

func (in *VeleroBackupConfig) DeepCopyInto(out *VeleroBackupConfig)

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

Directories

Path Synopsis
Package aws contains API Schema definitions for AWS clusters.
Package aws contains API Schema definitions for AWS clusters.
Package azure contains API Schema definitions for Azure cluster.
Package azure contains API Schema definitions for Azure cluster.
Package baremetal contains API Schema definitions for bare metal clusters.
Package baremetal contains API Schema definitions for bare metal clusters.
Package gcp contains API Schema definitions for GCP clusters.
Package gcp contains API Schema definitions for GCP clusters.
Package openstack contains API Schema definitions for OpenStack clusters.
Package openstack contains API Schema definitions for OpenStack clusters.
Package ovirt contains ovirt-specific structures for installer configuration and management.
Package ovirt contains ovirt-specific structures for installer configuration and management.
Package vsphere contains contains API Schema definitions for vSphere clusters.
Package vsphere contains contains API Schema definitions for vSphere clusters.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL