Documentation ¶
Overview ¶
Package v1 contains API Schema definitions for the hive v1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package +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/apis/hive +k8s:defaulter-gen=TypeMeta +groupName=hive.openshift.io
Index ¶
- Constants
- Variables
- func RegisterDefaults(scheme *runtime.Scheme) error
- func Resource(resource string) schema.GroupResource
- type AWSAssociatedVPC
- type AWSClusterDeprovision
- type AWSDNSZoneSpec
- type AWSDNSZoneStatus
- type AWSPrivateLinkConfig
- type AWSPrivateLinkDNSRecordType
- type AWSPrivateLinkInventory
- type AWSPrivateLinkSubnet
- type AWSPrivateLinkVPC
- type AWSResourceTag
- type AWSServiceProviderCredentials
- type ArgoCDConfig
- type AzureClusterDeprovision
- type AzureDNSZoneSpec
- type AzureDNSZoneStatus
- type BackupConfig
- type BackupReference
- type CertificateBundleSpec
- type CertificateBundleStatus
- type Checkpoint
- type CheckpointList
- type CheckpointSpec
- type CheckpointStatus
- type ClusterClaim
- type ClusterClaimCondition
- type ClusterClaimConditionType
- type ClusterClaimList
- type ClusterClaimSpec
- type ClusterClaimStatus
- type ClusterDeployment
- type ClusterDeploymentCondition
- type ClusterDeploymentConditionType
- type ClusterDeploymentCustomization
- type ClusterDeploymentCustomizationList
- type ClusterDeploymentCustomizationSpec
- type ClusterDeploymentCustomizationStatus
- type ClusterDeploymentList
- type ClusterDeploymentSpec
- type ClusterDeploymentStatus
- type ClusterDeprovision
- type ClusterDeprovisionCondition
- type ClusterDeprovisionConditionType
- type ClusterDeprovisionList
- type ClusterDeprovisionPlatform
- type ClusterDeprovisionSpec
- type ClusterDeprovisionStatus
- type ClusterImageSet
- type ClusterImageSetList
- type ClusterImageSetReference
- type ClusterImageSetSpec
- type ClusterImageSetStatus
- type ClusterIngress
- type ClusterInstallCondition
- type ClusterInstallConditionType
- type ClusterInstallLocalReference
- type ClusterMetadata
- type ClusterOperatorState
- type ClusterPlatformMetadata
- type ClusterPool
- type ClusterPoolClaimLifetime
- type ClusterPoolCondition
- type ClusterPoolConditionType
- type ClusterPoolList
- type ClusterPoolReference
- type ClusterPoolSpec
- type ClusterPoolStatus
- type ClusterPowerState
- type ClusterProvision
- type ClusterProvisionCondition
- type ClusterProvisionConditionType
- type ClusterProvisionList
- type ClusterProvisionSpec
- type ClusterProvisionStage
- type ClusterProvisionStatus
- type ClusterRelocate
- type ClusterRelocateList
- type ClusterRelocateSpec
- type ClusterRelocateStatus
- type ClusterState
- type ClusterStateList
- type ClusterStateSpec
- type ClusterStateStatus
- type Condition
- type ConditionType
- type ControlPlaneAdditionalCertificate
- type ControlPlaneConfigSpec
- type ControlPlaneServingCertificateSpec
- type ControllerConfig
- type ControllerName
- type ControllerNames
- type ControllersConfig
- type DNSZone
- type DNSZoneCondition
- type DNSZoneConditionType
- type DNSZoneList
- type DNSZoneSpec
- type DNSZoneStatus
- type DeleteProtectionType
- type DeploymentConfig
- type DeploymentName
- type FailedProvisionAWSConfig
- type FailedProvisionConfig
- type FeatureGateSelection
- type FeatureGatesEnabled
- type FeatureSet
- type GCPClusterDeprovision
- type GCPDNSZoneSpec
- type GCPDNSZoneStatus
- type GCPPrivateServiceConnectConfig
- type GCPPrivateServiceConnectInventory
- type GCPPrivateServiceConnectSubnet
- type HibernationConfig
- type HiveConfig
- type HiveConfigCondition
- type HiveConfigConditionType
- type HiveConfigList
- type HiveConfigSpec
- type HiveConfigStatus
- type IBMClusterDeprovision
- type IdentityProviderStatus
- type InventoryEntry
- type InventoryEntryKind
- type KubeconfigSecretReference
- type MachinePool
- type MachinePoolAutoscaling
- type MachinePoolCondition
- type MachinePoolConditionType
- type MachinePoolList
- type MachinePoolNameLease
- type MachinePoolNameLeaseList
- type MachinePoolNameLeaseSpec
- type MachinePoolNameLeaseStatus
- type MachinePoolPlatform
- type MachinePoolSpec
- type MachinePoolStatus
- type MachineSetStatus
- type ManageDNSAWSConfig
- type ManageDNSAzureConfig
- type ManageDNSConfig
- type ManageDNSGCPConfig
- type MetaRuntimeObject
- type OpenStackClusterDeprovision
- type OvirtClusterDeprovision
- type PatchEntity
- type Platform
- type PlatformStatus
- type PrivateLinkConfig
- type Provisioning
- type ReleaseImageVerificationConfigMapReference
- type RelocateStatus
- type SecretMapping
- type SecretReference
- type SelectorSyncIdentityProvider
- type SelectorSyncIdentityProviderList
- type SelectorSyncIdentityProviderSpec
- type SelectorSyncSet
- type SelectorSyncSetList
- type SelectorSyncSetSpec
- type SelectorSyncSetStatus
- type ServiceProviderCredentials
- type SpecificControllerConfig
- type SyncCondition
- type SyncConditionType
- type SyncIdentityProvider
- type SyncIdentityProviderCommonSpec
- type SyncIdentityProviderList
- type SyncIdentityProviderSpec
- type SyncObjectPatch
- type SyncSet
- type SyncSetApplyBehavior
- type SyncSetCommonSpec
- type SyncSetList
- type SyncSetObjectStatus
- type SyncSetPatchApplyMode
- type SyncSetResourceApplyMode
- type SyncSetSpec
- type SyncSetStatus
- type SyncStatus
- type TaintIdentifier
- type VSphereClusterDeprovision
- type VeleroBackupConfig
Constants ¶
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" // 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" // FinalizerArgoCDCluster is used on ClusterDeployments to ensure we clean up the ArgoCD cluster // secret before cleaning up the API object. FinalizerArgoCDCluster = "hive.openshift.io/argocd-cluster" )
const ( // HibernatingReasonResumingOrRunning is used as the reason for the Hibernating condition when the cluster // is resuming or running. Precise details are available in the Ready condition. HibernatingReasonResumingOrRunning = "ResumingOrRunning" // HibernatingReasonStopping is used as the reason when the cluster is transitioning // from a Running state to a Hibernating state. HibernatingReasonStopping = string(ClusterPowerStateStopping) // HibernatingReasonWaitingForMachinesToStop is used on the Hibernating condition when waiting for cloud VMs to stop HibernatingReasonWaitingForMachinesToStop = string(ClusterPowerStateWaitingForMachinesToStop) // HibernatingReasonHibernating is used as the reason when the cluster is in a // Hibernating state. HibernatingReasonHibernating = string(ClusterPowerStateHibernating) // HibernatingReasonUnsupported is used as the reason when the cluster spec // specifies that the cluster be moved to a Hibernating state, but the cloud provider of // the cluster is not supported. HibernatingReasonUnsupported = "Unsupported" // HibernatingReasonFailedToStop is used when there was an error stopping machines // to enter hibernation HibernatingReasonFailedToStop = string(ClusterPowerStateFailedToStop) // HibernatingReasonSyncSetsNotApplied is used as the reason when SyncSets have not yet been applied // for the cluster based on ClusterSync.Status.FirstSucessTime HibernatingReasonSyncSetsNotApplied = string(ClusterPowerStateSyncSetsNotApplied) // HibernatingReasonSyncSetsApplied means SyncSets have been successfully applied at some point. // (It does not necessarily mean they are currently copacetic -- check ClusterSync status // for that.) HibernatingReasonSyncSetsApplied = "SyncSetsApplied" // HibernatingReasonPowerStatePaused indicates that we can't/won't discover the state of the // cluster's cloud machines because the powerstate-paused annotation is set. HibernatingReasonPowerStatePaused = "PowerStatePaused" // HibernatingReasonClusterDeploymentDeleted indicates that a Cluster Deployment has been deleted // and that the cluster is deprovisioning unless preserveOnDelete is set to true. HibernatingReasonClusterDeploymentDeleted = "ClusterDeploymentDeleted" // ReadyReasonStoppingOrHibernating is used as the reason for the Ready condition when the cluster // is stopping or hibernating. Precise details are available in the Hibernating condition. ReadyReasonStoppingOrHibernating = "StoppingOrHibernating" // ReadyReasonStartingMachines is used to reflect attempt to list and start cloud VMs ReadyReasonStartingMachines = string(ClusterPowerStateStartingMachines) // ReadyReasonFailedToStartMachines is used when there was an error starting machines // to leave hibernation ReadyReasonFailedToStartMachines = string(ClusterPowerStateFailedToStartMachines) // ReadyReasonWaitingForMachines is used on the Ready condition when waiting for cloud VMs to start. ReadyReasonWaitingForMachines = string(ClusterPowerStateWaitingForMachines) // ReadyReasonWaitingForNodes is used on the Ready condition when waiting for nodes to become Ready. ReadyReasonWaitingForNodes = string(ClusterPowerStateWaitingForNodes) // ReadyReasonPausingForClusterOperatorsToSettle is used on the Ready condition when pausing to let ClusterOperators start and post new status before we check it. ReadyReasonPausingForClusterOperatorsToSettle = string(ClusterPowerStatePausingForClusterOperatorsToSettle) // ReadyReasonWaitingForClusterOperators is used on the Ready condition when waiting for ClusterOperators to // get to a good state. (Available=True, Processing=False, Degraded=False) ReadyReasonWaitingForClusterOperators = string(ClusterPowerStateWaitingForClusterOperators) // ReadyReasonRunning is used on the Ready condition as the reason when the cluster is running and ready ReadyReasonRunning = string(ClusterPowerStateRunning) // ReadyReasonPowerStatePaused indicates that we can't/won't discover the state of the // cluster's cloud machines because the powerstate-paused annotation is set. ReadyReasonPowerStatePaused = "PowerStatePaused" // ReadyReasonClusterDeploymentDeleted indicates that a Cluster Deployment has been deleted // and that the cluster is deprovisioning unless preserveOnDelete is set to true. ReadyReasonClusterDeploymentDeleted = "ClusterDeploymentDeleted" )
Cluster hibernating and ready reasons
const ( // ProvisionedReasonProvisioning is set while the cluster is still provisioning. ProvisionedReasonProvisioning = "Provisioning" // ProvisionedReasonProvisionStopped means cluster provisioning is stopped. The ProvisionStopped condition may contain more detail. ProvisionedReasonProvisionStopped = "ProvisionStopped" // ProvisionedReasonProvisioned is set when the provision is successful. ProvisionedReasonProvisioned = "Provisioned" // ProvisionedReasonDeprovisioning is set when we start to deprovision the cluster. ProvisionedReasonDeprovisioning = "Deprovisioning" // ProvisionedReasonDeprovisionFailed means the deprovision failed terminally. ProvisionedReasonDeprovisionFailed = "DeprovisionFailed" // ProvisionedReasonDeprovisioned is set when the cluster has been successfully deprovisioned ProvisionedReasonDeprovisioned = "Deprovisioned" )
Provisioned status condition reasons
const ( // CustomizationApplyReasonSucceeded indicates that the customization // worked properly on the last applied cluster deployment. CustomizationApplyReasonSucceeded = "Succeeded" // CustomizationApplyReasonBrokenSyntax indicates that Hive failed to apply // customization patches on install-config. More details would be found in // ApplySucceded condition message. CustomizationApplyReasonBrokenSyntax = "BrokenBySyntax" // CustomizationApplyReasonBrokenCloud indicates that cluster deployment provision has failed // when using this customization. More details would be found in the ApplySucceeded condition message. CustomizationApplyReasonBrokenCloud = "BrokenByCloud" // CustomizationApplyReasonInstallationPending indicates that the customization patches have // been successfully applied but provisioning is not completed yet. CustomizationApplyReasonInstallationPending = "InstallationPending" )
const ( // InventoryReasonValid is used when all ClusterDeploymentCustomization are // available and when used the ClusterDeployments are successfully installed. InventoryReasonValid = "Valid" // InventoryReasonInvalid is used when there is something wrong with ClusterDeploymentCustomization, for example // patching issue, provisioning failure, missing, etc. InventoryReasonInvalid = "Invalid" )
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" )
const (
ApplySucceededCondition conditionsv1.ConditionType = "ApplySucceeded"
)
const InitializedConditionReason = "Initialized"
InitializedConditionReason is used when a condition is initialized for the first time, and the status of the condition is still Unknown
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 GCP, 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 ¶
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 )
var FeatureSets = map[FeatureSet]*FeatureGatesEnabled{ DefaultFeatureSet: { Enabled: []string{}, }, CustomFeatureSet: { Enabled: []string{}, }, }
FeatureSets Contains a map of Feature names to Enabled/Disabled Feature.
var PositivePolarityClusterDeploymentConditions = []ClusterDeploymentConditionType{ ActiveAPIURLOverrideCondition, ClusterHibernatingCondition, ClusterReadyCondition, AWSPrivateLinkReadyClusterDeploymentCondition, ClusterInstallCompletedClusterDeploymentCondition, ClusterInstallRequirementsMetClusterDeploymentCondition, RequirementsMetCondition, ProvisionedCondition, }
PositivePolarityClusterDeploymentConditions is a slice containing all condition types with positive polarity For controllers that handle these conditions, the desired state is True All cluster deployment condition types that are not in this slice are assumed to have negative polarity
Functions ¶
func RegisterDefaults ¶
RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type AWSAssociatedVPC ¶
type AWSAssociatedVPC struct { AWSPrivateLinkVPC `json:",inline"` // CredentialsSecretRef references a secret in the TargetNamespace that will be used to authenticate with // AWS for associating the VPC with the Private HostedZone created for PrivateLink. // When not provided, the common credentials for the controller should be used. // // +optional CredentialsSecretRef *corev1.LocalObjectReference `json:"credentialsSecretRef"` }
AWSAssociatedVPC defines a VPC that should be able to resolve the DNS addresses setup for Private Link.
func (*AWSAssociatedVPC) DeepCopy ¶
func (in *AWSAssociatedVPC) DeepCopy() *AWSAssociatedVPC
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSAssociatedVPC.
func (*AWSAssociatedVPC) DeepCopyInto ¶
func (in *AWSAssociatedVPC) DeepCopyInto(out *AWSAssociatedVPC)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 // +optional CredentialsSecretRef *corev1.LocalObjectReference `json:"credentialsSecretRef,omitempty"` // CredentialsAssumeRole refers to the IAM role that must be assumed to obtain // AWS account access for deprovisioning the cluster. // +optional CredentialsAssumeRole *aws.AssumeRole `json:"credentialsAssumeRole,omitempty"` // HostedZoneRole is the role to assume when performing operations // on a hosted zone owned by another account. // +optional HostedZoneRole *string `json:"hostedZoneRole,omitempty"` }
AWSClusterDeprovision contains AWS-specific configuration for a ClusterDeprovision
func (*AWSClusterDeprovision) DeepCopy ¶
func (in *AWSClusterDeprovision) DeepCopy() *AWSClusterDeprovision
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 // +optional CredentialsSecretRef corev1.LocalObjectReference `json:"credentialsSecretRef,omitempty"` // CredentialsAssumeRole refers to the IAM role that must be assumed to obtain // AWS account access for the DNS CRUD operations. // +optional CredentialsAssumeRole *aws.AssumeRole `json:"credentialsAssumeRole,omitempty"` // 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 AWSPrivateLinkConfig ¶
type AWSPrivateLinkConfig struct { // CredentialsSecretRef references a secret in the TargetNamespace that will be used to authenticate with // AWS for creating the resources for AWS PrivateLink. CredentialsSecretRef corev1.LocalObjectReference `json:"credentialsSecretRef"` // EndpointVPCInventory is a list of VPCs and the corresponding subnets in various AWS regions. // The controller uses this list to choose a VPC for creating AWS VPC Endpoints. Since the // VPC Endpoints must be in the same region as the ClusterDeployment, we must have VPCs in that // region to be able to setup Private Link. EndpointVPCInventory []AWSPrivateLinkInventory `json:"endpointVPCInventory,omitempty"` // AssociatedVPCs is the list of VPCs that should be able to resolve the DNS addresses // setup for Private Link. This allows clients in VPC to resolve the AWS PrivateLink address // using AWS's default DNS resolver for Private Route53 Hosted Zones. // // This list should at minimum include the VPC where the current Hive controller is running. AssociatedVPCs []AWSAssociatedVPC `json:"associatedVPCs,omitempty"` // DNSRecordType defines what type of DNS record should be created in Private Hosted Zone // for the customer cluster's API endpoint (which is the VPC Endpoint's regional DNS name). // // +kubebuilder:default=Alias // +optional DNSRecordType AWSPrivateLinkDNSRecordType `json:"dnsRecordType,omitempty"` }
AWSPrivateLinkConfig defines the configuration for the aws-private-link controller.
func (*AWSPrivateLinkConfig) DeepCopy ¶
func (in *AWSPrivateLinkConfig) DeepCopy() *AWSPrivateLinkConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSPrivateLinkConfig.
func (*AWSPrivateLinkConfig) DeepCopyInto ¶
func (in *AWSPrivateLinkConfig) DeepCopyInto(out *AWSPrivateLinkConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSPrivateLinkDNSRecordType ¶
type AWSPrivateLinkDNSRecordType string
AWSPrivateLinkDNSRecordType defines what type of DNS record should be created in Private Hosted Zone for the customer cluster's API endpoint (which is the VPC Endpoint's regional DNS name). +kubebuilder:validation:Enum=Alias;ARecord
const ( // AliasAWSPrivateLinkDNSRecordType uses Route53 Alias record type for pointing the customer cluster's // API DNS name to the DNS name of the VPC endpoint. This is the default and should be used for most // cases as it is provided at no extra cost in terms of DNS queries and usually resolves faster in AWS // environments. AliasAWSPrivateLinkDNSRecordType AWSPrivateLinkDNSRecordType = "Alias" // ARecordAWSPrivateLinkDNSRecordType uses Route53 A record type for pointing the customer cluster's // API DNS name to the DNS name of the VPC endpoint. This should be used when Alias record type cannot // be used or other restrictions prevent use of Alias records. ARecordAWSPrivateLinkDNSRecordType AWSPrivateLinkDNSRecordType = "ARecord" )
type AWSPrivateLinkInventory ¶
type AWSPrivateLinkInventory struct { AWSPrivateLinkVPC `json:",inline"` Subnets []AWSPrivateLinkSubnet `json:"subnets"` }
AWSPrivateLinkInventory is a VPC and its corresponding subnets in an AWS region. This VPC will be used to create an AWS VPC Endpoint whenever there is a VPC Endpoint Service created for a ClusterDeployment.
func (*AWSPrivateLinkInventory) DeepCopy ¶
func (in *AWSPrivateLinkInventory) DeepCopy() *AWSPrivateLinkInventory
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSPrivateLinkInventory.
func (*AWSPrivateLinkInventory) DeepCopyInto ¶
func (in *AWSPrivateLinkInventory) DeepCopyInto(out *AWSPrivateLinkInventory)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSPrivateLinkSubnet ¶
type AWSPrivateLinkSubnet struct { SubnetID string `json:"subnetID"` AvailabilityZone string `json:"availabilityZone"` }
AWSPrivateLinkSubnet defines a subnet in the an AWS VPC.
func (*AWSPrivateLinkSubnet) DeepCopy ¶
func (in *AWSPrivateLinkSubnet) DeepCopy() *AWSPrivateLinkSubnet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSPrivateLinkSubnet.
func (*AWSPrivateLinkSubnet) DeepCopyInto ¶
func (in *AWSPrivateLinkSubnet) DeepCopyInto(out *AWSPrivateLinkSubnet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSPrivateLinkVPC ¶
AWSPrivateLinkVPC defines an AWS VPC in a region.
func (*AWSPrivateLinkVPC) DeepCopy ¶
func (in *AWSPrivateLinkVPC) DeepCopy() *AWSPrivateLinkVPC
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSPrivateLinkVPC.
func (*AWSPrivateLinkVPC) DeepCopyInto ¶
func (in *AWSPrivateLinkVPC) DeepCopyInto(out *AWSPrivateLinkVPC)
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 AWSServiceProviderCredentials ¶
type AWSServiceProviderCredentials struct { // CredentialsSecretRef references a secret in the TargetNamespace that will be used to authenticate with // AWS to become the Service Provider. Being a Service Provider allows the controllers // to assume the role in customer AWS accounts to manager clusters. // +optional CredentialsSecretRef corev1.LocalObjectReference `json:"credentialsSecretRef,omitempty"` }
AWSServiceProviderCredentials is used to configure credentials related to being a service provider on AWS.
func (*AWSServiceProviderCredentials) DeepCopy ¶
func (in *AWSServiceProviderCredentials) DeepCopy() *AWSServiceProviderCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSServiceProviderCredentials.
func (*AWSServiceProviderCredentials) DeepCopyInto ¶
func (in *AWSServiceProviderCredentials) DeepCopyInto(out *AWSServiceProviderCredentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ArgoCDConfig ¶
type ArgoCDConfig struct { // Enabled dictates if ArgoCD gitops integration is enabled. // If not specified, the default is disabled. Enabled bool `json:"enabled"` // Namespace specifies the namespace where ArgoCD is installed. Used for the location of cluster secrets. // Defaults to "argocd" // +optional Namespace string `json:"namespace,omitempty"` }
ArgoCDConfig contains settings for integration with ArgoCD.
func (*ArgoCDConfig) DeepCopy ¶
func (in *ArgoCDConfig) DeepCopy() *ArgoCDConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArgoCDConfig.
func (*ArgoCDConfig) DeepCopyInto ¶
func (in *ArgoCDConfig) DeepCopyInto(out *ArgoCDConfig)
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"` // cloudName is the name of the Azure cloud environment which can be used to configure the Azure SDK // with the appropriate Azure API endpoints. // If empty, the value is equal to "AzurePublicCloud". // +optional CloudName *azure.CloudEnvironment `json:"cloudName,omitempty"` // ResourceGroupName is the name of the resource group where the cluster was installed. // Required for new deprovisions (schema notwithstanding). // +optional ResourceGroupName *string `json:"resourceGroupName,omitempty"` }
AzureClusterDeprovision contains Azure-specific configuration for a ClusterDeprovision
func (*AzureClusterDeprovision) DeepCopy ¶
func (in *AzureClusterDeprovision) DeepCopy() *AzureClusterDeprovision
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 ¶
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"` // CloudName is the name of the Azure cloud environment which can be used to configure the Azure SDK // with the appropriate Azure API endpoints. // If empty, the value is equal to "AzurePublicCloud". // +optional CloudName azure.CloudEnvironment `json:"cloudName,omitempty"` }
AzureDNSZoneSpec contains Azure-specific DNSZone specifications
func (*AzureDNSZoneSpec) DeepCopy ¶
func (in *AzureDNSZoneSpec) DeepCopy() *AzureDNSZoneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureDNSZoneSpec.
func (*AzureDNSZoneSpec) DeepCopyInto ¶
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 ¶
type AzureDNSZoneStatus struct { }
AzureDNSZoneStatus contains status information specific to Azure DNS zones
func (*AzureDNSZoneStatus) DeepCopy ¶
func (in *AzureDNSZoneStatus) DeepCopy() *AzureDNSZoneStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureDNSZoneStatus.
func (*AzureDNSZoneStatus) DeepCopyInto ¶
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 ¶
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 ¶
func (in *CertificateBundleSpec) DeepCopy() *CertificateBundleSpec
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 ¶
func (in *CertificateBundleStatus) DeepCopy() *CertificateBundleStatus
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 ¶
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 +kubebuilder:printcolumn:name="Pool",type="string",JSONPath=".spec.clusterPoolName" +kubebuilder:printcolumn:name="Pending",type="string",JSONPath=".status.conditions[?(@.type=='Pending')].reason" +kubebuilder:printcolumn:name="ClusterNamespace",type="string",JSONPath=".spec.namespace" +kubebuilder:printcolumn:name="ClusterRunning",type="string",JSONPath=".status.conditions[?(@.type=='ClusterRunning')].reason" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"
func (*ClusterClaim) DeepCopy ¶
func (in *ClusterClaim) DeepCopy() *ClusterClaim
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterClaim.
func (*ClusterClaim) DeepCopyInto ¶
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 ¶
func (in *ClusterClaim) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterClaimCondition ¶
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) ConditionType ¶
func (c ClusterClaimCondition) ConditionType() ConditionType
ConditionType satisfies the conditions.Condition interface
func (*ClusterClaimCondition) DeepCopy ¶
func (in *ClusterClaimCondition) DeepCopy() *ClusterClaimCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterClaimCondition.
func (*ClusterClaimCondition) DeepCopyInto ¶
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 ¶
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" // ClusterRunningCondition is true when a claimed cluster is running and ready for use. ClusterRunningCondition ClusterClaimConditionType = "ClusterRunning" )
func (ClusterClaimConditionType) String ¶
func (t ClusterClaimConditionType) String() string
String satisfies the conditions.ConditionType interface
type ClusterClaimList ¶
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 ¶
func (in *ClusterClaimList) DeepCopy() *ClusterClaimList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterClaimList.
func (*ClusterClaimList) DeepCopyInto ¶
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 ¶
func (in *ClusterClaimList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterClaimSpec ¶
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. // This is a Duration value; see https://pkg.go.dev/time#ParseDuration for accepted formats. // Note: due to discrepancies in validation vs parsing, we use a Pattern instead of `Format=duration`. See // https://bugzilla.redhat.com/show_bug.cgi?id=2050332 // https://github.com/kubernetes/apimachinery/issues/131 // https://github.com/kubernetes/apiextensions-apiserver/issues/56 // +optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" Lifetime *metav1.Duration `json:"lifetime,omitempty"` }
ClusterClaimSpec defines the desired state of the ClusterClaim.
func (*ClusterClaimSpec) DeepCopy ¶
func (in *ClusterClaimSpec) DeepCopy() *ClusterClaimSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterClaimSpec.
func (*ClusterClaimSpec) DeepCopyInto ¶
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 ¶
type ClusterClaimStatus struct { // Conditions includes more detailed status for the cluster pool. // +optional Conditions []ClusterClaimCondition `json:"conditions,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"` }
ClusterClaimStatus defines the observed state of ClusterClaim.
func (*ClusterClaimStatus) DeepCopy ¶
func (in *ClusterClaimStatus) DeepCopy() *ClusterClaimStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterClaimStatus.
func (*ClusterClaimStatus) DeepCopyInto ¶
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="InfraID",type="string",JSONPath=".spec.clusterMetadata.infraID" +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="Version",type="string",JSONPath=".metadata.labels.hive\\.openshift\\.io/version" +kubebuilder:printcolumn:name="ClusterType",type="string",JSONPath=".metadata.labels.hive\\.openshift\\.io/cluster-type" +kubebuilder:printcolumn:name="ProvisionStatus",type="string",JSONPath=".status.conditions[?(@.type=='Provisioned')].reason" +kubebuilder:printcolumn:name="PowerState",type="string",JSONPath=".status.powerState" +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) ConditionType ¶
func (c ClusterDeploymentCondition) ConditionType() ConditionType
ConditionType satisfies the conditions.Condition interface
func (*ClusterDeploymentCondition) DeepCopy ¶
func (in *ClusterDeploymentCondition) DeepCopy() *ClusterDeploymentCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDeploymentCondition.
func (*ClusterDeploymentCondition) DeepCopyInto ¶
func (in *ClusterDeploymentCondition) DeepCopyInto(out *ClusterDeploymentCondition)
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 ( // 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" // ClusterReadyCondition works in conjunction with ClusterHibernatingCondition and gives more information // pertaining to the transition status of the cluster and whether it is running and ready ClusterReadyCondition ClusterDeploymentConditionType = "Ready" // 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. // This indicates that at least one provision attempt was made, but there will be no further // retries (without InstallAttemptsLimit changes or other hive configuration stopping further retries). ProvisionStoppedCondition ClusterDeploymentConditionType = "ProvisionStopped" // Provisioned is True when a cluster is installed; False while it is provisioning or deprovisioning. // The Reason indicates where it is in that lifecycle. ProvisionedCondition ClusterDeploymentConditionType = "Provisioned" // RequirementsMetCondition is set True when all pre-provision requirements have been met, // and the controllers can begin the cluster install. RequirementsMetCondition ClusterDeploymentConditionType = "RequirementsMet" // AuthenticationFailureCondition is true when platform credentials cannot be used because of authentication failure AuthenticationFailureClusterDeploymentCondition ClusterDeploymentConditionType = "AuthenticationFailure" // AWSPrivateLinkReadyClusterDeploymentCondition is true when private link access has been // setup for the cluster. AWSPrivateLinkReadyClusterDeploymentCondition ClusterDeploymentConditionType = "AWSPrivateLinkReady" // AWSPrivateLinkFailedClusterDeploymentCondition is true controller fails to setup private link access // for the cluster. AWSPrivateLinkFailedClusterDeploymentCondition ClusterDeploymentConditionType = "AWSPrivateLinkFailed" // PrivateLinkReadyClusterDeploymentCondition is true when private link access has been // setup for the cluster. PrivateLinkReadyClusterDeploymentCondition ClusterDeploymentConditionType = "PrivateLinkReady" // PrivateLinkFailedClusterDeploymentCondition is true controller fails to setup private link access // for the cluster. PrivateLinkFailedClusterDeploymentCondition ClusterDeploymentConditionType = "PrivateLinkFailed" // These are conditions that are copied from ClusterInstall on to the ClusterDeployment object. ClusterInstallFailedClusterDeploymentCondition ClusterDeploymentConditionType = "ClusterInstallFailed" ClusterInstallCompletedClusterDeploymentCondition ClusterDeploymentConditionType = "ClusterInstallCompleted" ClusterInstallStoppedClusterDeploymentCondition ClusterDeploymentConditionType = "ClusterInstallStopped" ClusterInstallRequirementsMetClusterDeploymentCondition ClusterDeploymentConditionType = "ClusterInstallRequirementsMet" // ClusterImageSetNotFoundCondition is a legacy condition type that is not intended to be used // in production. This type is never used by hive. ClusterImageSetNotFoundCondition ClusterDeploymentConditionType = "ClusterImageSetNotFound" )
func (ClusterDeploymentConditionType) String ¶
func (t ClusterDeploymentConditionType) String() string
String satisfies the conditions.ConditionType interface
type ClusterDeploymentCustomization ¶
type ClusterDeploymentCustomization struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterDeploymentCustomizationSpec `json:"spec"` Status ClusterDeploymentCustomizationStatus `json:"status,omitempty"` }
ClusterDeploymentCustomization is the Schema for clusterdeploymentcustomizations API. +kubebuilder:subresource:status +k8s:openapi-gen=true +kubebuilder:resource:scope=Namespaced
func (*ClusterDeploymentCustomization) DeepCopy ¶
func (in *ClusterDeploymentCustomization) DeepCopy() *ClusterDeploymentCustomization
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDeploymentCustomization.
func (*ClusterDeploymentCustomization) DeepCopyInto ¶
func (in *ClusterDeploymentCustomization) DeepCopyInto(out *ClusterDeploymentCustomization)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterDeploymentCustomization) DeepCopyObject ¶
func (in *ClusterDeploymentCustomization) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterDeploymentCustomizationList ¶
type ClusterDeploymentCustomizationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClusterDeploymentCustomization `json:"items"` }
ClusterDeploymentCustomizationList contains a list of ClusterDeploymentCustomizations.
func (*ClusterDeploymentCustomizationList) DeepCopy ¶
func (in *ClusterDeploymentCustomizationList) DeepCopy() *ClusterDeploymentCustomizationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDeploymentCustomizationList.
func (*ClusterDeploymentCustomizationList) DeepCopyInto ¶
func (in *ClusterDeploymentCustomizationList) DeepCopyInto(out *ClusterDeploymentCustomizationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterDeploymentCustomizationList) DeepCopyObject ¶
func (in *ClusterDeploymentCustomizationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterDeploymentCustomizationSpec ¶
type ClusterDeploymentCustomizationSpec struct { // InstallConfigPatches is a list of patches to be applied to the install-config. InstallConfigPatches []PatchEntity `json:"installConfigPatches,omitempty"` }
ClusterDeploymentCustomizationSpec defines the desired state of ClusterDeploymentCustomization.
func (*ClusterDeploymentCustomizationSpec) DeepCopy ¶
func (in *ClusterDeploymentCustomizationSpec) DeepCopy() *ClusterDeploymentCustomizationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDeploymentCustomizationSpec.
func (*ClusterDeploymentCustomizationSpec) DeepCopyInto ¶
func (in *ClusterDeploymentCustomizationSpec) DeepCopyInto(out *ClusterDeploymentCustomizationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterDeploymentCustomizationStatus ¶
type ClusterDeploymentCustomizationStatus struct { // ClusterDeploymentRef is a reference to the cluster deployment that this customization is applied on. // +optional ClusterDeploymentRef *corev1.LocalObjectReference `json:"clusterDeploymentRef,omitempty"` // ClusterPoolRef is the name of the current cluster pool the CDC used at. // +optional ClusterPoolRef *corev1.LocalObjectReference `json:"clusterPoolRef,omitempty"` // LastAppliedConfiguration contains the last applied patches to the install-config. // The information will retain for reference in case the customization is updated. // +optional LastAppliedConfiguration string `json:"lastAppliedConfiguration,omitempty"` // Conditions describes the state of the operator's reconciliation functionality. // +patchMergeKey=type // +patchStrategy=merge // +optional Conditions []conditionsv1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` }
ClusterDeploymentCustomizationStatus defines the observed state of ClusterDeploymentCustomization.
func (*ClusterDeploymentCustomizationStatus) DeepCopy ¶
func (in *ClusterDeploymentCustomizationStatus) DeepCopy() *ClusterDeploymentCustomizationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDeploymentCustomizationStatus.
func (*ClusterDeploymentCustomizationStatus) DeepCopyInto ¶
func (in *ClusterDeploymentCustomizationStatus) DeepCopyInto(out *ClusterDeploymentCustomizationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 ¶
func (in *ClusterDeploymentList) DeepCopy() *ClusterDeploymentList
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. This can also be // used to abandon ongoing cluster deprovision. // +optional 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"` // ClusterInstallLocalReference provides reference to an object that implements // the hivecontract ClusterInstall. The namespace of the object is same as the // ClusterDeployment. // This cannot be set when Provisioning is also set. // +optional ClusterInstallRef *ClusterInstallLocalReference `json:"clusterInstallRef,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. // +kubebuilder:validation:Enum="";Running;Hibernating // +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. // This is a Duration value; see https://pkg.go.dev/time#ParseDuration for accepted formats. // Note: due to discrepancies in validation vs parsing, we use a Pattern instead of `Format=duration`. See // https://bugzilla.redhat.com/show_bug.cgi?id=2050332 // https://github.com/kubernetes/apimachinery/issues/131 // https://github.com/kubernetes/apiextensions-apiserver/issues/56 // +optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" 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"` // BoundServiceAccountSigningKeySecretRef refers to a Secret that contains a // 'bound-service-account-signing-key.key' data key pointing to the private // key that will be used to sign ServiceAccount objects. Primarily used to // provision AWS clusters to use Amazon's Security Token Service. // +optional BoundServiceAccountSigningKeySecretRef *corev1.LocalObjectReference `json:"boundServiceAccountSigningKeySecretRef,omitempty"` }
ClusterDeploymentSpec defines the desired state of ClusterDeployment
func (*ClusterDeploymentSpec) DeepCopy ¶
func (in *ClusterDeploymentSpec) DeepCopy() *ClusterDeploymentSpec
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"` // InstallVersion is the version of OpenShift as reported by the release image // resolved for the installation. // +optional InstallVersion *string `json:"installVersion,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"` // InstallStartedTimestamp is the time when all pre-requisites were met and cluster installation was launched. InstallStartedTimestamp *metav1.Time `json:"installStartedTimestamp,omitempty"` // InstalledTimestamp is the time we first detected that the cluster has been successfully installed. InstalledTimestamp *metav1.Time `json:"installedTimestamp,omitempty"` // PowerState indicates the powerstate of cluster // +optional PowerState ClusterPowerState `json:"powerState,omitempty"` // ProvisionRef is a reference to the last ClusterProvision created for the deployment // +optional ProvisionRef *corev1.LocalObjectReference `json:"provisionRef,omitempty"` // Platform contains the observed state for the specific platform upon which to // perform the installation. // +optional Platform *PlatformStatus `json:"platformStatus,omitempty"` }
ClusterDeploymentStatus defines the observed state of ClusterDeployment
func (*ClusterDeploymentStatus) DeepCopy ¶
func (in *ClusterDeploymentStatus) DeepCopy() *ClusterDeploymentStatus
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 ¶
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) ConditionType ¶
func (c ClusterDeprovisionCondition) ConditionType() ConditionType
ConditionType satisfies the conditions.Condition interface
func (*ClusterDeprovisionCondition) DeepCopy ¶
func (in *ClusterDeprovisionCondition) DeepCopy() *ClusterDeprovisionCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDeprovisionCondition.
func (*ClusterDeprovisionCondition) DeepCopyInto ¶
func (in *ClusterDeprovisionCondition) DeepCopyInto(out *ClusterDeprovisionCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterDeprovisionConditionType ¶
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" // DeprovisionFailedClusterDeprovisionCondition is true when deprovision attempt failed DeprovisionFailedClusterDeprovisionCondition ClusterDeprovisionConditionType = "DeprovisionFailed" )
func (ClusterDeprovisionConditionType) String ¶
func (t ClusterDeprovisionConditionType) String() string
String satisfies the conditions.ConditionType interface
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 ¶
func (in *ClusterDeprovisionList) DeepCopy() *ClusterDeprovisionList
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"` // IBMCloud contains IBM Cloud specific deprovision settings IBMCloud *IBMClusterDeprovision `json:"ibmcloud,omitempty"` }
ClusterDeprovisionPlatform contains platform-specific configuration for the deprovision
func (*ClusterDeprovisionPlatform) DeepCopy ¶
func (in *ClusterDeprovisionPlatform) DeepCopy() *ClusterDeprovisionPlatform
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDeprovisionPlatform.
func (*ClusterDeprovisionPlatform) DeepCopyInto ¶
func (in *ClusterDeprovisionPlatform) DeepCopyInto(out *ClusterDeprovisionPlatform)
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"` // 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. ClusterName string `json:"clusterName,omitempty"` // BaseDomain is the DNS base domain. BaseDomain string `json:"baseDomain,omitempty"` // Platform contains platform-specific configuration for a ClusterDeprovision Platform ClusterDeprovisionPlatform `json:"platform,omitempty"` }
ClusterDeprovisionSpec defines the desired state of ClusterDeprovision
func (*ClusterDeprovisionSpec) DeepCopy ¶
func (in *ClusterDeprovisionSpec) DeepCopy() *ClusterDeprovisionSpec
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 ¶
func (in *ClusterDeprovisionStatus) DeepCopy() *ClusterDeprovisionStatus
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 ¶
func (in *ClusterImageSetReference) DeepCopy() *ClusterImageSetReference
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 ¶
func (in *ClusterImageSetStatus) DeepCopy() *ClusterImageSetStatus
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"` // HttpErrorCodePages allows configuring custom HTTP error pages using the IngressController object // +optional HttpErrorCodePages *configv1.ConfigMapNameReference `json:"httpErrorCodePages,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 ClusterInstallCondition ¶
type ClusterInstallCondition struct { // Type is the type of the condition. Type ClusterInstallConditionType `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"` }
ClusterInstallCondition contains details for the current condition of a cluster install.
func (ClusterInstallCondition) ConditionType ¶
func (c ClusterInstallCondition) ConditionType() ConditionType
ConditionType satisfies the conditions.Condition interface
func (*ClusterInstallCondition) DeepCopy ¶
func (in *ClusterInstallCondition) DeepCopy() *ClusterInstallCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterInstallCondition.
func (*ClusterInstallCondition) DeepCopyInto ¶
func (in *ClusterInstallCondition) DeepCopyInto(out *ClusterInstallCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterInstallConditionType ¶
type ClusterInstallConditionType string
const ( // ClusterInstallRequirementsMet is True when all pre-install requirements have been met. ClusterInstallRequirementsMet ClusterInstallConditionType = "RequirementsMet" // ClusterInstallCompleted is True when the requested install has been completed successfully. ClusterInstallCompleted ClusterInstallConditionType = "Completed" // ClusterInstallFailed is True when an attempt to install the cluster has failed. // The ClusterInstall controllers may still be retrying if supported, and this condition will // go back to False if a later attempt succeeds. ClusterInstallFailed ClusterInstallConditionType = "Failed" // ClusterInstallStopped is True the controllers are no longer working on this // ClusterInstall. Combine with Completed or Failed to know if the overall request was // successful or not. ClusterInstallStopped ClusterInstallConditionType = "Stopped" )
func (ClusterInstallConditionType) String ¶
func (t ClusterInstallConditionType) String() string
String satisfies the conditions.ConditionType interface
type ClusterInstallLocalReference ¶
type ClusterInstallLocalReference struct { Group string `json:"group"` Version string `json:"version"` Kind string `json:"kind"` Name string `json:"name"` }
ClusterInstallLocalReference provides reference to an object that implements the hivecontract ClusterInstall. The namespace of the object is same as the ClusterDeployment.
func (*ClusterInstallLocalReference) DeepCopy ¶
func (in *ClusterInstallLocalReference) DeepCopy() *ClusterInstallLocalReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterInstallLocalReference.
func (*ClusterInstallLocalReference) DeepCopyInto ¶
func (in *ClusterInstallLocalReference) DeepCopyInto(out *ClusterInstallLocalReference)
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. // +optional AdminPasswordSecretRef *corev1.LocalObjectReference `json:"adminPasswordSecretRef,omitempty"` // Platform holds platform-specific cluster metadata // +optional Platform *ClusterPlatformMetadata `json:"platform,omitempty"` }
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 ¶
func (in *ClusterOperatorState) DeepCopy() *ClusterOperatorState
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 ClusterPlatformMetadata ¶
type ClusterPlatformMetadata struct { // AWS holds AWS-specific cluster metadata // +optional AWS *aws.Metadata `json:"aws,omitempty"` // Azure holds azure-specific cluster metadata // +optional Azure *azure.Metadata `json:"azure,omitempty"` // GCP holds GCP-specific cluster metadata // +optional GCP *gcp.Metadata `json:"gcp,omitempty"` }
func (*ClusterPlatformMetadata) DeepCopy ¶
func (in *ClusterPlatformMetadata) DeepCopy() *ClusterPlatformMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPlatformMetadata.
func (*ClusterPlatformMetadata) DeepCopyInto ¶
func (in *ClusterPlatformMetadata) DeepCopyInto(out *ClusterPlatformMetadata)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterPool ¶
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="Size",type="string",JSONPath=".spec.size" +kubebuilder:printcolumn:name="Standby",type="string",JSONPath=".status.standby" +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.ready" +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 ¶
func (in *ClusterPool) DeepCopy() *ClusterPool
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPool.
func (*ClusterPool) DeepCopyInto ¶
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 ¶
func (in *ClusterPool) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterPoolClaimLifetime ¶
type ClusterPoolClaimLifetime struct { // Default is the default lifetime of the claim when no lifetime is set on the claim itself. // This is a Duration value; see https://pkg.go.dev/time#ParseDuration for accepted formats. // Note: due to discrepancies in validation vs parsing, we use a Pattern instead of `Format=duration`. See // https://bugzilla.redhat.com/show_bug.cgi?id=2050332 // https://github.com/kubernetes/apimachinery/issues/131 // https://github.com/kubernetes/apiextensions-apiserver/issues/56 // +optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" Default *metav1.Duration `json:"default,omitempty"` // Maximum 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. // The lifetime of a claim is the mimimum of the lifetimes set by the cluster pool and the claim itself. // This is a Duration value; see https://pkg.go.dev/time#ParseDuration for accepted formats. // Note: due to discrepancies in validation vs parsing, we use a Pattern instead of `Format=duration`. See // https://bugzilla.redhat.com/show_bug.cgi?id=2050332 // https://github.com/kubernetes/apimachinery/issues/131 // https://github.com/kubernetes/apiextensions-apiserver/issues/56 // +optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" Maximum *metav1.Duration `json:"maximum,omitempty"` }
ClusterPoolClaimLifetime defines the lifetimes for claims for the cluster pool.
func (*ClusterPoolClaimLifetime) DeepCopy ¶
func (in *ClusterPoolClaimLifetime) DeepCopy() *ClusterPoolClaimLifetime
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPoolClaimLifetime.
func (*ClusterPoolClaimLifetime) DeepCopyInto ¶
func (in *ClusterPoolClaimLifetime) DeepCopyInto(out *ClusterPoolClaimLifetime)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterPoolCondition ¶
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) ConditionType ¶
func (c ClusterPoolCondition) ConditionType() ConditionType
ConditionType satisfies the conditions.Condition interface
func (*ClusterPoolCondition) DeepCopy ¶
func (in *ClusterPoolCondition) DeepCopy() *ClusterPoolCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPoolCondition.
func (*ClusterPoolCondition) DeepCopyInto ¶
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 ¶
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" // ClusterPoolAllClustersCurrentCondition indicates whether all unassigned (installing or ready) // ClusterDeployments in the pool match the current configuration of the ClusterPool. ClusterPoolAllClustersCurrentCondition ClusterPoolConditionType = "AllClustersCurrent" // ClusterPoolInventoryValidCondition is set to provide information on whether the cluster pool inventory is valid. ClusterPoolInventoryValidCondition ClusterPoolConditionType = "InventoryValid" // ClusterPoolDeletionPossibleCondition gives information about a deleted ClusterPool which is pending cleanup. // Note that it is normal for this condition to remain Initialized/Unknown until the ClusterPool is deleted. ClusterPoolDeletionPossibleCondition ClusterPoolConditionType = "DeletionPossible" )
func (ClusterPoolConditionType) String ¶
func (t ClusterPoolConditionType) String() string
String satisfies the conditions.ConditionType interface
type ClusterPoolList ¶
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 ¶
func (in *ClusterPoolList) DeepCopy() *ClusterPoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPoolList.
func (*ClusterPoolList) DeepCopyInto ¶
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 ¶
func (in *ClusterPoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterPoolReference ¶
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"` // ClaimedTimestamp is the time this cluster was assigned to a ClusterClaim. This is only used for // ClusterDeployments belonging to ClusterPools. ClaimedTimestamp *metav1.Time `json:"claimedTimestamp,omitempty"` // CustomizationRef is the ClusterPool Inventory claimed customization for this ClusterDeployment. // The Customization exists in the ClusterPool namespace. // +optional CustomizationRef *corev1.LocalObjectReference `json:"clusterDeploymentCustomization,omitempty"` }
ClusterPoolReference is a reference to a ClusterPool
func (*ClusterPoolReference) DeepCopy ¶
func (in *ClusterPoolReference) DeepCopy() *ClusterPoolReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPoolReference.
func (*ClusterPoolReference) DeepCopyInto ¶
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 ¶
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"` // RunningCount is the number of clusters we should keep running. The remainder will be kept hibernated until claimed. // By default no clusters will be kept running (all will be hibernated). // +kubebuilder:validation:Minimum=0 // +optional RunningCount int32 `json:"runningCount,omitempty"` // 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"` // Annotations 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 Annotations map[string]string `json:"annotations,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. // This is a Duration value; see https://pkg.go.dev/time#ParseDuration for accepted formats. // Note: due to discrepancies in validation vs parsing, we use a Pattern instead of `Format=duration`. See // https://bugzilla.redhat.com/show_bug.cgi?id=2050332 // https://github.com/kubernetes/apimachinery/issues/131 // https://github.com/kubernetes/apiextensions-apiserver/issues/56 // +optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" 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"` // SkipMachinePools allows creating clusterpools where the machinepools are not managed by hive after cluster creation // +optional SkipMachinePools bool `json:"skipMachinePools,omitempty"` // ClaimLifetime defines the lifetimes for claims for the cluster pool. // +optional ClaimLifetime *ClusterPoolClaimLifetime `json:"claimLifetime,omitempty"` // HibernationConfig configures the hibernation/resume behavior of ClusterDeployments owned by the ClusterPool. // +optional HibernationConfig *HibernationConfig `json:"hibernationConfig"` // Inventory maintains a list of entries consumed by the ClusterPool // to customize the default ClusterDeployment. // +optional Inventory []InventoryEntry `json:"inventory,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"` }
ClusterPoolSpec defines the desired state of the ClusterPool.
func (*ClusterPoolSpec) DeepCopy ¶
func (in *ClusterPoolSpec) DeepCopy() *ClusterPoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPoolSpec.
func (*ClusterPoolSpec) DeepCopyInto ¶
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 ¶
type ClusterPoolStatus struct { // Size is the number of unclaimed clusters that have been created for the pool. Size int32 `json:"size"` // Standby is the number of unclaimed clusters that are installed, but not running. // +optional Standby int32 `json:"standby"` // Ready is the number of unclaimed clusters that are installed and are running and 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 ¶
func (in *ClusterPoolStatus) DeepCopy() *ClusterPoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPoolStatus.
func (*ClusterPoolStatus) DeepCopyInto ¶
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 ¶
type ClusterPowerState string
ClusterPowerState is used to indicate whether a cluster is running or in a hibernating state.
const ( // ClusterPowerStateRunning is the default state of a cluster after it has // been installed. All of its machines should be running. ClusterPowerStateRunning ClusterPowerState = "Running" // ClusterPowerStateHibernating indicates the machines belonging to a cluster // are stopped. ClusterPowerStateHibernating ClusterPowerState = "Hibernating" // ClusterPowerStateSyncSetsNotApplied indicates SyncSets have not yet been applied // for the cluster based on ClusterSync.Status.FirstSucessTime ClusterPowerStateSyncSetsNotApplied ClusterPowerState = "SyncSetsNotApplied" // ClusterPowerStateStartingMachines is used to reflect attempt to list and start cloud VMs ClusterPowerStateStartingMachines ClusterPowerState = "StartingMachines" // ClusterPowerStateFailedToStartMachines ClusterPowerStateFailedToStartMachines ClusterPowerState = "FailedToStartMachines" // ClusterPowerStateStopping indicates the cluster is transitioning // from a Running state to a Hibernating state. ClusterPowerStateStopping ClusterPowerState = "Stopping" // ClusterPowerStateFailedToStop is used when there was an error stopping machines // to enter hibernation ClusterPowerStateFailedToStop ClusterPowerState = "FailedToStop" // ClusterPowerStateWaitingForMachinesToStop is used when waiting for cloud VMs to stop ClusterPowerStateWaitingForMachinesToStop ClusterPowerState = "WaitingForMachinesToStop" // ClusterPowerStateWaitingForMachines is used when waiting for cloud VMs to start. ClusterPowerStateWaitingForMachines ClusterPowerState = "WaitingForMachines" // ClusterPowerStateWaitingForNodes is used when waiting for nodes to become Ready. ClusterPowerStateWaitingForNodes ClusterPowerState = "WaitingForNodes" // ClusterPowerStatePausingForClusterOperatorsToSettle is used when pausing to let ClusterOperators start and post new status before we check it. ClusterPowerStatePausingForClusterOperatorsToSettle ClusterPowerState = "PausingForClusterOperatorsToSettle" // ClusterPowerStateWaitingForClusterOperators is used when waiting for ClusterOperators to // get to a good state. (Available=True, Processing=False, Degraded=False) ClusterPowerStateWaitingForClusterOperators ClusterPowerState = "WaitingForClusterOperators" // ClusterPowerStateUnknown indicates that we can't/won't discover the state of the cluster's cloud machines. ClusterPowerStateUnknown = "Unknown" )
type ClusterProvision ¶
type ClusterProvision struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +kubebuilder:pruning:PreserveUnknownFields 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) ConditionType ¶
func (c ClusterProvisionCondition) ConditionType() ConditionType
ConditionType satisfies the conditions.Condition interface
func (*ClusterProvisionCondition) DeepCopy ¶
func (in *ClusterProvisionCondition) DeepCopy() *ClusterProvisionCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProvisionCondition.
func (*ClusterProvisionCondition) DeepCopyInto ¶
func (in *ClusterProvisionCondition) DeepCopyInto(out *ClusterProvisionCondition)
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" )
func (ClusterProvisionConditionType) String ¶
func (t ClusterProvisionConditionType) String() string
String satisfies the conditions.ConditionType interface
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 ¶
func (in *ClusterProvisionList) DeepCopy() *ClusterProvisionList
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. // NOTE: This is not used because it didn't work (it was always empty). We think because the thing it's storing // (ClusterMetadata from installer) is not a runtime.Object, so can't be put in a RawExtension. Metadata *runtime.RawExtension `json:"metadata,omitempty"` // MetadataJSON is a JSON representation of the ClusterMetadata produced by the installer. We don't use a // runtime.RawExtension because ClusterMetadata isn't a runtime.Object. We don't use ClusterMetadata itself // because we don't want our API consumers to need to pull in the installer code and its dependencies. // +optional MetadataJSON []byte `json:"metadataJSON,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"` // PrevProvisionName is the name of the previous failed provision attempt. PrevProvisionName *string `json:"prevProvisionName,omitempty"` }
ClusterProvisionSpec defines the results of provisioning a cluster.
func (*ClusterProvisionSpec) DeepCopy ¶
func (in *ClusterProvisionSpec) DeepCopy() *ClusterProvisionSpec
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 ¶
func (in *ClusterProvisionStatus) DeepCopy() *ClusterProvisionStatus
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 ¶
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 ¶
func (in *ClusterRelocate) DeepCopy() *ClusterRelocate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRelocate.
func (*ClusterRelocate) DeepCopyInto ¶
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 ¶
func (in *ClusterRelocate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterRelocateList ¶
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 ¶
func (in *ClusterRelocateList) DeepCopy() *ClusterRelocateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRelocateList.
func (*ClusterRelocateList) DeepCopyInto ¶
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 ¶
func (in *ClusterRelocateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterRelocateSpec ¶
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 ¶
func (in *ClusterRelocateSpec) DeepCopy() *ClusterRelocateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRelocateSpec.
func (*ClusterRelocateSpec) DeepCopyInto ¶
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 ¶
type ClusterRelocateStatus struct{}
ClusterRelocateStatus defines the observed state of ClusterRelocate.
func (*ClusterRelocateStatus) DeepCopy ¶
func (in *ClusterRelocateStatus) DeepCopy() *ClusterRelocateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRelocateStatus.
func (*ClusterRelocateStatus) DeepCopyInto ¶
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 Condition ¶
type Condition interface {
ConditionType() ConditionType
}
type ConditionType ¶
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 ¶
func (in *ControlPlaneAdditionalCertificate) DeepCopy() *ControlPlaneAdditionalCertificate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneAdditionalCertificate.
func (*ControlPlaneAdditionalCertificate) DeepCopyInto ¶
func (in *ControlPlaneAdditionalCertificate) DeepCopyInto(out *ControlPlaneAdditionalCertificate)
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"` // APIServerIPOverride is the optional override of the API server IP address. // Hive will use this IP address for creating TCP connections. // Port from the original API server URL will be used. // This field can be used when repointing the APIServer's DNS is not viable option. // +optional APIServerIPOverride string `json:"apiServerIPOverride,omitempty"` }
ControlPlaneConfigSpec contains additional configuration settings for a target cluster's control plane.
func (*ControlPlaneConfigSpec) DeepCopy ¶
func (in *ControlPlaneConfigSpec) DeepCopy() *ControlPlaneConfigSpec
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 ¶
func (in *ControlPlaneServingCertificateSpec) DeepCopy() *ControlPlaneServingCertificateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneServingCertificateSpec.
func (*ControlPlaneServingCertificateSpec) DeepCopyInto ¶
func (in *ControlPlaneServingCertificateSpec) DeepCopyInto(out *ControlPlaneServingCertificateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerConfig ¶
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. // +optional Replicas *int32 `json:"replicas,omitempty"` // Resources describes the compute resource requirements of the controller container. // This is ONLY for controllers that have been split out into their own pods. // This is ignored for all others. // +optional Resources *corev1.ResourceRequirements `json:"resources,omitempty"` }
ControllerConfig contains the configuration for a controller
func (*ControllerConfig) DeepCopy ¶
func (in *ControllerConfig) DeepCopy() *ControllerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerConfig.
func (*ControllerConfig) DeepCopyInto ¶
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 ¶
type ControllerName string
+kubebuilder:validation:Enum=clusterDeployment;clusterrelocate;clusterstate;clusterversion;controlPlaneCerts;dnsendpoint;dnszone;remoteingress;remotemachineset;machinepool;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" FakeClusterInstallControllerName ControllerName = "fakeclusterinstall" HibernationControllerName ControllerName = "hibernation" RemoteIngressControllerName ControllerName = "remoteingress" SyncIdentityProviderControllerName ControllerName = "syncidentityprovider" UnreachableControllerName ControllerName = "unreachable" VeleroBackupControllerName ControllerName = "velerobackup" MetricsControllerName ControllerName = "metrics" ClustersyncControllerName ControllerName = "clustersync" AWSPrivateLinkControllerName ControllerName = "awsprivatelink" PrivateLinkControllerName ControllerName = "privatelink" HiveControllerName ControllerName = "hive" // DeprecatedRemoteMachinesetControllerName was deprecated but can be used to disable the // MachinePool controller which supercedes it for compatability. DeprecatedRemoteMachinesetControllerName ControllerName = "remotemachineset" MachinePoolControllerName ControllerName = "machinepool" )
WARNING: All the controller names below should also be added to the kubebuilder validation of the type ControllerName
func (ControllerName) String ¶
func (controllerName ControllerName) String() string
type ControllerNames ¶
type ControllerNames []ControllerName
ControllerNames is a slice of controller names
func (ControllerNames) Contains ¶
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 ¶
func (in ControllerNames) DeepCopy() ControllerNames
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerNames.
func (ControllerNames) DeepCopyInto ¶
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 ¶
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 ¶
func (in *ControllersConfig) DeepCopy() *ControllersConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllersConfig.
func (*ControllersConfig) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSZone.
func (*DNSZone) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DNSZone) DeepCopyObject ¶
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) ConditionType ¶
func (c DNSZoneCondition) ConditionType() ConditionType
ConditionType satisfies the conditions.Condition interface
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" // APIOptInRequiredCondition is true when the user account used for managing DNS // needs to enable the DNS apis. APIOptInRequiredCondition DNSZoneConditionType = "APIOptInRequired" // GenericDNSErrorsCondition is true when there's some DNS Zone related error that isn't related to // authentication or credentials, and needs to be bubbled up to ClusterDeployment GenericDNSErrorsCondition DNSZoneConditionType = "DNSError" )
func (DNSZoneConditionType) String ¶
func (t DNSZoneConditionType) String() string
String satisfies the conditions.ConditionType interface
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"` // PreserveOnDelete allows the user to disconnect a DNSZone from Hive without deprovisioning it. // This can also be used to abandon ongoing DNSZone deprovision. // Typically set automatically due to PreserveOnDelete being set on a ClusterDeployment. // +optional PreserveOnDelete bool `json:"preserveOnDelete,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 ¶
type DeleteProtectionType string
const (
DeleteProtectionEnabled DeleteProtectionType = "enabled"
)
type DeploymentConfig ¶
type DeploymentConfig struct { // DeploymentName is the name of one of the Deployments/StatefulSets managed by hive-operator. // NOTE: At this time each deployment has only one container. In the future, we may provide a // way to specify which container this DeploymentConfig will be applied to. // +kubebuilder:validation:Enum=hive-controllers;hive-clustersync;hiveadmission DeploymentName DeploymentName `json:"deploymentName"` // Resources allows customization of the resource (memory, CPU, etc.) limits and requests used // by containers in the Deployment/StatefulSet named by DeploymentName. // +optional Resources *corev1.ResourceRequirements `json:"resources"` }
func (*DeploymentConfig) DeepCopy ¶
func (in *DeploymentConfig) DeepCopy() *DeploymentConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentConfig.
func (*DeploymentConfig) DeepCopyInto ¶
func (in *DeploymentConfig) DeepCopyInto(out *DeploymentConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentName ¶
type DeploymentName string
const ( DeploymentNameControllers DeploymentName = "hive-controllers" DeploymentNameClustersync DeploymentName = "hive-clustersync" DeploymentNameMachinepool DeploymentName = "hive-machinepool" DeploymentNameAdmission DeploymentName = "hiveadmission" )
type FailedProvisionAWSConfig ¶
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 ¶
func (in *FailedProvisionAWSConfig) DeepCopy() *FailedProvisionAWSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailedProvisionAWSConfig.
func (*FailedProvisionAWSConfig) DeepCopyInto ¶
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"` // RetryReasons is a list of installFailingReason strings from the [additional-]install-log-regexes ConfigMaps. // If specified, Hive will only retry a failed installation if it results in one of the listed reasons. If // omitted (not the same thing as empty!), Hive will retry regardless of the failure reason. (The total number // of install attempts is still constrained by ClusterDeployment.Spec.InstallAttemptsLimit.) RetryReasons *[]string `json:"retryReasons,omitempty"` }
FailedProvisionConfig contains settings to control behavior undertaken by Hive when an installation attempt fails.
func (*FailedProvisionConfig) DeepCopy ¶
func (in *FailedProvisionConfig) DeepCopy() *FailedProvisionConfig
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 FeatureGateSelection ¶
type FeatureGateSelection struct { // featureSet changes the list of features in the cluster. The default is empty. Be very careful adjusting this setting. // +unionDiscriminator // +optional FeatureSet FeatureSet `json:"featureSet,omitempty"` // custom allows the enabling or disabling of any feature. // Because of its nature, this setting cannot be validated. If you have any typos or accidentally apply invalid combinations // might cause unknown behavior. featureSet must equal "Custom" must be set to use this field. // +optional // +nullable Custom *FeatureGatesEnabled `json:"custom,omitempty"` }
FeatureGateSelection allows selecting feature gates for the controller.
func (*FeatureGateSelection) DeepCopy ¶
func (in *FeatureGateSelection) DeepCopy() *FeatureGateSelection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGateSelection.
func (*FeatureGateSelection) DeepCopyInto ¶
func (in *FeatureGateSelection) DeepCopyInto(out *FeatureGateSelection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeatureGatesEnabled ¶
type FeatureGatesEnabled struct { // enabled is a list of all feature gates that you want to force on // +optional Enabled []string `json:"enabled,omitempty"` }
FeatureGatesEnabled is list of feature gates that must be enabled.
func (*FeatureGatesEnabled) DeepCopy ¶
func (in *FeatureGatesEnabled) DeepCopy() *FeatureGatesEnabled
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGatesEnabled.
func (*FeatureGatesEnabled) DeepCopyInto ¶
func (in *FeatureGatesEnabled) DeepCopyInto(out *FeatureGatesEnabled)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeatureSet ¶
type FeatureSet string
FeatureSet defines the set of feature gates that should be used. +kubebuilder:validation:Enum="";Custom
var ( // DefaultFeatureSet feature set is the default things supported as part of normal supported platform. DefaultFeatureSet FeatureSet = "" // CustomFeatureSet allows the enabling or disabling of any feature. Turning this feature set on IS NOT SUPPORTED. // Because of its nature, this setting cannot be validated. If you have any typos or accidentally apply invalid combinations // it might leave object in a state that is unrecoverable. CustomFeatureSet FeatureSet = "Custom" )
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"` // NetworkProjectID is used for shared VPC setups // +optional NetworkProjectID *string `json:"networkProjectID,omitempty"` }
GCPClusterDeprovision contains GCP-specific configuration for a ClusterDeprovision
func (*GCPClusterDeprovision) DeepCopy ¶
func (in *GCPClusterDeprovision) DeepCopy() *GCPClusterDeprovision
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 GCPPrivateServiceConnectConfig ¶
type GCPPrivateServiceConnectConfig struct { // CredentialsSecretRef references a secret in the TargetNamespace that will be used to authenticate with // GCP for creating the resources for GCP Private Service Connect CredentialsSecretRef corev1.LocalObjectReference `json:"credentialsSecretRef"` // EndpointVPCInventory is a list of VPCs and the corresponding subnets in various GCP regions. // The controller uses this list to choose a VPC for creating GCP Endpoints. Since the VPC Endpoints // must be in the same region as the ClusterDeployment, we must have VPCs in that region to be able // to setup Private Service Connect. // +optional EndpointVPCInventory []GCPPrivateServiceConnectInventory `json:"endpointVPCInventory,omitempty"` }
GCPPrivateServiceConnectConfig defines the gcp private service connect config for the private-link controller.
func (*GCPPrivateServiceConnectConfig) DeepCopy ¶
func (in *GCPPrivateServiceConnectConfig) DeepCopy() *GCPPrivateServiceConnectConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPPrivateServiceConnectConfig.
func (*GCPPrivateServiceConnectConfig) DeepCopyInto ¶
func (in *GCPPrivateServiceConnectConfig) DeepCopyInto(out *GCPPrivateServiceConnectConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPPrivateServiceConnectInventory ¶
type GCPPrivateServiceConnectInventory struct { Network string `json:"network"` Subnets []GCPPrivateServiceConnectSubnet `json:"subnets"` }
GCPPrivateServiceConnectInventory is a VPC and its corresponding subnets. This VPC will be used to create a GCP Endpoint whenever there is a Private Service Connect service created for a ClusterDeployment.
func (*GCPPrivateServiceConnectInventory) DeepCopy ¶
func (in *GCPPrivateServiceConnectInventory) DeepCopy() *GCPPrivateServiceConnectInventory
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPPrivateServiceConnectInventory.
func (*GCPPrivateServiceConnectInventory) DeepCopyInto ¶
func (in *GCPPrivateServiceConnectInventory) DeepCopyInto(out *GCPPrivateServiceConnectInventory)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPPrivateServiceConnectSubnet ¶
type GCPPrivateServiceConnectSubnet struct { Subnet string `json:"subnet"` Region string `json:"region"` }
GCPPrivateServiceConnectSubnet defines subnet and the corresponding GCP region.
func (*GCPPrivateServiceConnectSubnet) DeepCopy ¶
func (in *GCPPrivateServiceConnectSubnet) DeepCopy() *GCPPrivateServiceConnectSubnet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPPrivateServiceConnectSubnet.
func (*GCPPrivateServiceConnectSubnet) DeepCopyInto ¶
func (in *GCPPrivateServiceConnectSubnet) DeepCopyInto(out *GCPPrivateServiceConnectSubnet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HibernationConfig ¶
type HibernationConfig struct { // ResumeTimeout is the maximum amount of time we will wait for an unclaimed ClusterDeployment to resume from // hibernation (e.g. at the behest of runningCount, or in preparation for being claimed). If this time is // exceeded, the ClusterDeployment will be considered Broken and we will replace it. The default (unspecified // or zero) means no timeout -- we will allow the ClusterDeployment to continue trying to resume "forever". // This is a Duration value; see https://pkg.go.dev/time#ParseDuration for accepted formats. // Note: due to discrepancies in validation vs parsing, we use a Pattern instead of `Format=duration`. See // https://bugzilla.redhat.com/show_bug.cgi?id=2050332 // https://github.com/kubernetes/apimachinery/issues/131 // https://github.com/kubernetes/apiextensions-apiserver/issues/56 // +optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" ResumeTimeout metav1.Duration `json:"resumeTimeout"` }
func (*HibernationConfig) DeepCopy ¶
func (in *HibernationConfig) DeepCopy() *HibernationConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HibernationConfig.
func (*HibernationConfig) DeepCopyInto ¶
func (in *HibernationConfig) DeepCopyInto(out *HibernationConfig)
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 HiveConfigCondition ¶
type HiveConfigCondition struct { // Type is the type of the condition. Type HiveConfigConditionType `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"` }
HiveConfigCondition contains details for the current condition of a HiveConfig
func (*HiveConfigCondition) DeepCopy ¶
func (in *HiveConfigCondition) DeepCopy() *HiveConfigCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HiveConfigCondition.
func (*HiveConfigCondition) DeepCopyInto ¶
func (in *HiveConfigCondition) DeepCopyInto(out *HiveConfigCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HiveConfigConditionType ¶
type HiveConfigConditionType string
HiveConfigConditionType is a valid value for HiveConfigCondition.Type
const ( // HiveReadyCondition is set when hive is deployed successfully and ready to provision clusters HiveReadyCondition HiveConfigConditionType = "Ready" )
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. // NOTE: Whereas it is possible to edit this value, causing hive to "move" its core components to the new // namespace, the old namespace is not deleted, as it will still contain resources created by kubernetes // and/or other OpenShift controllers. // +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. The cert data should be stored in the Secret key named 'ca.crt'. // +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"` // ServiceProviderCredentialsConfig is used to configure credentials related to being a service provider on // various cloud platforms. // +optional ServiceProviderCredentialsConfig ServiceProviderCredentials `json:"serviceProviderCredentialsConfig,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"` // MachinePoolPollInterval is a string duration indicating how much time must pass before checking whether // remote resources related to MachinePools need to be reapplied. Set to zero to disable polling -- we'll // only reconcile when hub objects change. // The default interval is 30m. MachinePoolPollInterval string `json:"machinePoolPollInterval,omitempty"` // ClusterVersionPollInterval is a string duration indicating how much time must pass before checking // whether we need to update the hive.openshift.io/version* labels on ClusterDeployment. If zero or unset, // we'll only reconcile when the ClusterDeployment changes. ClusterVersionPollInterval string `json:"clusterVersionPollInterval,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"` // DeploymentConfig is used to configure (pods/containers of) the Deployments generated by hive-operator. // +optional DeploymentConfig *[]DeploymentConfig `json:"deploymentConfig,omitempty"` // PrivateLink is used to configure the privatelink controller. // +optional PrivateLink *PrivateLinkConfig `json:"privateLink,omitempty"` // AWSPrivateLink defines the configuration for the aws-private-link controller. // It provides 3 major pieces of information required by the controller, // 1. The Credentials that should be used to create AWS PrivateLink resources other than // what exist in the customer's account. // 2. A list of VPCs that can be used by the controller to choose one to create AWS VPC Endpoints // for the AWS VPC Endpoint Services created for ClusterDeployments in their // corresponding regions. // 3. A list of VPCs that should be able to resolve the DNS addresses setup for Private Link. AWSPrivateLink *AWSPrivateLinkConfig `json:"awsPrivateLink,omitempty"` // ReleaseImageVerificationConfigMapRef is a reference to the ConfigMap that // will be used to verify release images. // // The config map structure is exactly the same as the config map used for verification of release // images for OpenShift 4 during upgrades. Therefore you can usually set this to the config map shipped // as part of OpenShift (openshift-config-managed/release-verification). // // See https://github.com/openshift/cluster-update-keys for more details. // The keys within the config map in the data field define how verification is performed: // // verifier-public-key-*: One or more GPG public keys in ASCII form that must have signed the // release image by digest. // // store-*: A URL (scheme file://, http://, or https://) location that contains signatures. These // signatures are in the atomic container signature format. The URL will have the digest // of the image appended to it as "<STORE>/<ALGO>=<DIGEST>/signature-<NUMBER>" as described // in the container image signing format. The docker-image-manifest section of the // signature must match the release image digest. Signatures are searched starting at // NUMBER 1 and incrementing if the signature exists but is not valid. The signature is a // GPG signed and encrypted JSON message. The file store is provided for testing only at // the current time, although future versions of the CVO might allow host mounting of // signatures. // // See https://github.com/containers/image/blob/ab49b0a48428c623a8f03b41b9083d48966b34a9/docs/signature-protocols.md // for a description of the signature store // // The returned verifier will require that any new release image will only be considered verified // if each provided public key has signed the release image digest. The signature may be in any // store and the lookup order is internally defined. // // If not set, no verification will be performed. // +optional ReleaseImageVerificationConfigMapRef *ReleaseImageVerificationConfigMapReference `json:"releaseImageVerificationConfigMapRef,omitempty"` // ArgoCD specifies configuration for ArgoCD integration. If enabled, Hive will automatically add provisioned // clusters to ArgoCD, and remove them when they are deprovisioned. ArgoCD ArgoCDConfig `json:"argoCDConfig,omitempty"` FeatureGates *FeatureGateSelection `json:"featureGates,omitempty"` // ExportMetrics has been disabled and has no effect. If upgrading from a version where it was // active, please be aware of the following in your HiveConfig.Spec.TargetNamespace (default // `hive` if unset): // 1) ServiceMonitors named hive-controllers and hive-clustersync; // 2) Role and RoleBinding named prometheus-k8s; // 3) The `openshift.io/cluster-monitoring` metadata.label on the Namespace itself. // You may wish to delete these resources. Or you may wish to continue using them to enable // monitoring in your environment; but be aware that hive will no longer reconcile them. ExportMetrics bool `json:"exportMetrics,omitempty"` // MetricsConfig encapsulates metrics specific configurations, like opting in for certain metrics. // +optional MetricsConfig *metricsconfig.MetricsConfig `json:"metricsConfig,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"` // Conditions includes more detailed status for the HiveConfig // +optional Conditions []HiveConfigCondition `json:"conditions,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 IBMClusterDeprovision ¶
type IBMClusterDeprovision struct { // CredentialsSecretRef is the IBM Cloud credentials to use for deprovisioning the cluster CredentialsSecretRef corev1.LocalObjectReference `json:"credentialsSecretRef"` // Region specifies the IBM Cloud region Region string `json:"region"` // BaseDomain is the DNS base domain. // TODO: Use the non-platform-specific BaseDomain field. BaseDomain string `json:"baseDomain"` }
IBMClusterDeprovision contains IBM Cloud specific configuration for a ClusterDeprovision
func (*IBMClusterDeprovision) DeepCopy ¶
func (in *IBMClusterDeprovision) DeepCopy() *IBMClusterDeprovision
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMClusterDeprovision.
func (*IBMClusterDeprovision) DeepCopyInto ¶
func (in *IBMClusterDeprovision) DeepCopyInto(out *IBMClusterDeprovision)
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 ¶
func (in *IdentityProviderStatus) DeepCopy() *IdentityProviderStatus
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 InventoryEntry ¶
type InventoryEntry struct { // Kind denotes the kind of the referenced resource. The default is ClusterDeploymentCustomization, which is also currently the only supported value. // +kubebuilder:default=ClusterDeploymentCustomization Kind InventoryEntryKind `json:"kind,omitempty"` // Name is the name of the referenced resource. // +required Name string `json:"name,omitempty"` }
InventoryEntry maintains a reference to a custom resource consumed by a clusterpool to customize the cluster deployment.
func (*InventoryEntry) DeepCopy ¶
func (in *InventoryEntry) DeepCopy() *InventoryEntry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InventoryEntry.
func (*InventoryEntry) DeepCopyInto ¶
func (in *InventoryEntry) DeepCopyInto(out *InventoryEntry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InventoryEntryKind ¶
type InventoryEntryKind string
InventoryEntryKind is the Kind of the inventory entry. +kubebuilder:validation:Enum="";ClusterDeploymentCustomization
const ClusterDeploymentCustomizationInventoryEntry InventoryEntryKind = "ClusterDeploymentCustomization"
type KubeconfigSecretReference ¶
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 ¶
func (in *KubeconfigSecretReference) DeepCopy() *KubeconfigSecretReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeconfigSecretReference.
func (*KubeconfigSecretReference) DeepCopyInto ¶
func (in *KubeconfigSecretReference) DeepCopyInto(out *KubeconfigSecretReference)
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 ¶
func (in *MachinePoolAutoscaling) DeepCopy() *MachinePoolAutoscaling
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) ConditionType ¶
func (c MachinePoolCondition) ConditionType() ConditionType
ConditionType satisfies the conditions.Condition interface
func (*MachinePoolCondition) DeepCopy ¶
func (in *MachinePoolCondition) DeepCopy() *MachinePoolCondition
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" )
func (MachinePoolConditionType) String ¶
func (t MachinePoolConditionType) String() string
String satisfies the conditions.ConditionType interface
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 ¶
func (in *MachinePoolNameLease) DeepCopy() *MachinePoolNameLease
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 ¶
func (in *MachinePoolNameLeaseList) DeepCopy() *MachinePoolNameLeaseList
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 ¶
func (in *MachinePoolNameLeaseSpec) DeepCopy() *MachinePoolNameLeaseSpec
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 ¶
func (in *MachinePoolNameLeaseStatus) DeepCopy() *MachinePoolNameLeaseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachinePoolNameLeaseStatus.
func (*MachinePoolNameLeaseStatus) DeepCopyInto ¶
func (in *MachinePoolNameLeaseStatus) DeepCopyInto(out *MachinePoolNameLeaseStatus)
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"` // IBMCloud is the configuration used when installing on IBM Cloud. IBMCloud *ibmcloud.MachinePool `json:"ibmcloud,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. // When using a MachinePool to control the default worker machines // created by installer, these must match the values provided in the // install-config. Platform MachinePoolPlatform `json:"platform"` // Map of label string keys and values that will be applied to the created MachineSet's // MachineSpec. This affects the labels that will end up on the *Nodes* (in contrast with // the MachineLabels field). This list will overwrite any modifications made to Node labels // on an ongoing basis. // +optional Labels map[string]string `json:"labels,omitempty"` // Map of label string keys and values that will be applied to the created MachineSet's // MachineTemplateSpec. This affects the labels that will end up on the *Machines* (in // contrast with the Labels field). This list will overwrite any modifications made to // Machine labels on an ongoing basis. Note: We ignore entries that conflict with // generated labels. // +optional MachineLabels map[string]string `json:"machineLabels,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. // In case of duplicate entries, first encountered taint Value will be preserved, // and the rest collapsed on the corresponding MachineSets. // Note that taints are uniquely identified based on key+effect, not just key. // +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"` // OwnedLabels lists the keys of labels this MachinePool created on the remote MachineSet's // MachineSpec. (In contrast with OwnedMachineLabels.) // Used to identify labels to remove from the remote MachineSet when they are absent from // the MachinePool's spec.labels. // +optional OwnedLabels []string `json:"ownedLabels,omitempty"` // OwnedMachineLabels lists the keys of labels this MachinePool created on the remote // MachineSet's MachineTemplateSpec. (In contrast with OwnedLabels.) // Used to identify labels to remove from the remote MachineSet when they are absent from // the MachinePool's spec.machineLabels. // +optional OwnedMachineLabels []string `json:"ownedMachineLabels,omitempty"` // OwnedTaints lists identifiers of taints this MachinePool created on the remote MachineSet. // Used to identify taints to remove from the remote MachineSet when they are absent from // the MachinePool's spec.taints. // +optional OwnedTaints []TaintIdentifier `json:"ownedTaints,omitempty"` // ControlledByReplica indicates which replica of the hive-machinepool StatefulSet is responsible // for this MachinePool. Note that this value indicates the replica that most recently handled the // MachinePool. If the hive-machinepool statefulset is scaled up or down, the controlling replica // can change, potentially causing logs to be spread across multiple pods. ControlledByReplica *int64 `json:"controlledByReplica,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"` // The number of ready replicas for this MachineSet. A machine is considered ready // when the node has been created and is "Ready". It is transferred as-is from the // MachineSet from remote cluster. // +optional ReadyReplicas int32 `json:"readyReplicas,omitempty"` // 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"` // In the event that there is a terminal problem reconciling the // replicas, both ErrorReason and ErrorMessage will be set. ErrorReason // will be populated with a succinct value suitable for machine // interpretation, while ErrorMessage will contain a more verbose // string suitable for logging and human consumption. // +optional ErrorReason *string `json:"errorReason,omitempty"` // +optional ErrorMessage *string `json:"errorMessage,omitempty"` }
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 ¶
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"` // CloudName is the name of the Azure cloud environment which can be used to configure the Azure SDK // with the appropriate Azure API endpoints. // If empty, the value is equal to "AzurePublicCloud". // +optional CloudName azure.CloudEnvironment `json:"cloudName,omitempty"` }
ManageDNSAzureConfig contains Azure-specific info to manage a given domain
func (*ManageDNSAzureConfig) DeepCopy ¶
func (in *ManageDNSAzureConfig) DeepCopy() *ManageDNSAzureConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManageDNSAzureConfig.
func (*ManageDNSAzureConfig) DeepCopyInto ¶
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 ¶
MetaRuntimeObject allows for the generic specification of hive objects since all hive objects implement both the meta and runtime object interfaces.
type OpenStackClusterDeprovision ¶
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 ¶
func (in *OpenStackClusterDeprovision) DeepCopy() *OpenStackClusterDeprovision
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStackClusterDeprovision.
func (*OpenStackClusterDeprovision) DeepCopyInto ¶
func (in *OpenStackClusterDeprovision) DeepCopyInto(out *OpenStackClusterDeprovision)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OvirtClusterDeprovision ¶
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 ¶
func (in *OvirtClusterDeprovision) DeepCopy() *OvirtClusterDeprovision
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OvirtClusterDeprovision.
func (*OvirtClusterDeprovision) DeepCopyInto ¶
func (in *OvirtClusterDeprovision) DeepCopyInto(out *OvirtClusterDeprovision)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PatchEntity ¶
type PatchEntity struct { // Op is the operation to perform: add, remove, replace, move, copy, test // +required Op string `json:"op"` // Path is the json path to the value to be modified // +required Path string `json:"path"` // From is the json path to copy or move the value from // +optional From string `json:"from,omitempty"` // Value is the value to be used in the operation // +required Value string `json:"value"` }
PatchEntity represent a json patch (RFC 6902) to be applied to the install-config
func (*PatchEntity) DeepCopy ¶
func (in *PatchEntity) DeepCopy() *PatchEntity
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchEntity.
func (*PatchEntity) DeepCopyInto ¶
func (in *PatchEntity) DeepCopyInto(out *PatchEntity)
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"` // AgentBareMetal is the configuration used when performing an Assisted Agent based installation // to bare metal. AgentBareMetal *agent.BareMetalPlatform `json:"agentBareMetal,omitempty"` // IBMCloud is the configuration used when installing on IBM Cloud IBMCloud *ibmcloud.Platform `json:"ibmcloud,omitempty"` // None indicates platform-agnostic install. // https://docs.openshift.com/container-platform/4.7/installing/installing_platform_agnostic/installing-platform-agnostic.html None *none.Platform `json:"none,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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Platform.
func (*Platform) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PlatformStatus ¶
type PlatformStatus struct { // AWS is the observed state on AWS. AWS *aws.PlatformStatus `json:"aws,omitempty"` // GCP is the observed state on GCP GCP *gcp.PlatformStatus `json:"gcp,omitempty"` }
PlatformStatus contains the observed state for the specific platform upon which to perform the installation
func (*PlatformStatus) DeepCopy ¶
func (in *PlatformStatus) DeepCopy() *PlatformStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlatformStatus.
func (*PlatformStatus) DeepCopyInto ¶
func (in *PlatformStatus) DeepCopyInto(out *PlatformStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrivateLinkConfig ¶
type PrivateLinkConfig struct { // GCP is the configuration for GCP hub and link resources. // +optional GCP *GCPPrivateServiceConnectConfig `json:"gcp,omitempty"` }
PrivateLinkConfig defines the configuration for the privatelink controller.
func (*PrivateLinkConfig) DeepCopy ¶
func (in *PrivateLinkConfig) DeepCopy() *PrivateLinkConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateLinkConfig.
func (*PrivateLinkConfig) DeepCopyInto ¶
func (in *PrivateLinkConfig) DeepCopyInto(out *PrivateLinkConfig)
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. // +optional InstallConfigSecretRef *corev1.LocalObjectReference `json:"installConfigSecretRef,omitempty"` // 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"` // InstallerImageOverride allows specifying a URI for the installer image, normally gleaned from // the metadata within the ReleaseImage. // +optional InstallerImageOverride string `json:"installerImageOverride,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. It serves the same purpose as, and is mutually exclusive // with, ManifestsSecretRef. ManifestsConfigMapRef *corev1.LocalObjectReference `json:"manifestsConfigMapRef,omitempty"` // ManifestsSecretRef is a reference to user-provided manifests to add to or replace manifests // that are generated by the installer. It serves the same purpose as, and is mutually exclusive // with, ManifestsConfigMapRef. ManifestsSecretRef *corev1.LocalObjectReference `json:"manifestsSecretRef,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 ReleaseImageVerificationConfigMapReference ¶
type ReleaseImageVerificationConfigMapReference struct { // Namespace of the ConfigMap Namespace string `json:"namespace"` // Name of the ConfigMap Name string `json:"name"` }
ReleaseImageVerificationConfigMapReference is a reference to the ConfigMap that will be used to verify release images.
func (*ReleaseImageVerificationConfigMapReference) DeepCopy ¶
func (in *ReleaseImageVerificationConfigMapReference) DeepCopy() *ReleaseImageVerificationConfigMapReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseImageVerificationConfigMapReference.
func (*ReleaseImageVerificationConfigMapReference) DeepCopyInto ¶
func (in *ReleaseImageVerificationConfigMapReference) DeepCopyInto(out *ReleaseImageVerificationConfigMapReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RelocateStatus ¶
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 ¶
func (in *SelectorSyncIdentityProvider) DeepCopy() *SelectorSyncIdentityProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelectorSyncIdentityProvider.
func (*SelectorSyncIdentityProvider) DeepCopyInto ¶
func (in *SelectorSyncIdentityProvider) DeepCopyInto(out *SelectorSyncIdentityProvider)
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 ¶
func (in *SelectorSyncIdentityProviderList) DeepCopy() *SelectorSyncIdentityProviderList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelectorSyncIdentityProviderList.
func (*SelectorSyncIdentityProviderList) DeepCopyInto ¶
func (in *SelectorSyncIdentityProviderList) DeepCopyInto(out *SelectorSyncIdentityProviderList)
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 ¶
func (in *SelectorSyncIdentityProviderSpec) DeepCopy() *SelectorSyncIdentityProviderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelectorSyncIdentityProviderSpec.
func (*SelectorSyncIdentityProviderSpec) DeepCopyInto ¶
func (in *SelectorSyncIdentityProviderSpec) DeepCopyInto(out *SelectorSyncIdentityProviderSpec)
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 ¶
func (in *SelectorSyncSetStatus) DeepCopy() *SelectorSyncSetStatus
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 ServiceProviderCredentials ¶
type ServiceProviderCredentials struct { // AWS is used to configure credentials related to being a service provider on AWS. // +optional AWS *AWSServiceProviderCredentials `json:"aws,omitempty"` }
ServiceProviderCredentials is used to configure credentials related to being a service provider on various cloud platforms.
func (*ServiceProviderCredentials) DeepCopy ¶
func (in *ServiceProviderCredentials) DeepCopy() *ServiceProviderCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceProviderCredentials.
func (*ServiceProviderCredentials) DeepCopyInto ¶
func (in *ServiceProviderCredentials) DeepCopyInto(out *ServiceProviderCredentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SpecificControllerConfig ¶
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 ¶
func (in *SpecificControllerConfig) DeepCopy() *SpecificControllerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecificControllerConfig.
func (*SpecificControllerConfig) DeepCopyInto ¶
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) ConditionType ¶
func (c SyncCondition) ConditionType() ConditionType
ConditionType satisfies the conditions.Condition interface
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" )
func (SyncConditionType) String ¶
func (t SyncConditionType) String() string
String satisfies the conditions.ConditionType interface
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 ¶
func (in *SyncIdentityProvider) DeepCopy() *SyncIdentityProvider
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 ¶
func (in *SyncIdentityProviderCommonSpec) DeepCopy() *SyncIdentityProviderCommonSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncIdentityProviderCommonSpec.
func (*SyncIdentityProviderCommonSpec) DeepCopyInto ¶
func (in *SyncIdentityProviderCommonSpec) DeepCopyInto(out *SyncIdentityProviderCommonSpec)
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 ¶
func (in *SyncIdentityProviderList) DeepCopy() *SyncIdentityProviderList
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 ¶
func (in *SyncIdentityProviderSpec) DeepCopy() *SyncIdentityProviderSpec
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncSet.
func (*SyncSet) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SyncSet) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SyncSetApplyBehavior ¶
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"` // EnableResourceTemplates, if True, causes hive to honor golang text/templates in Resources. // While the standard syntax is supported, it won't do you a whole lot of good as the parser // does not pass a data object (i.e. there is no "dot" for you to use). This currently exists // to expose a single function: {{ fromCDLabel "some.label/key" }} will // be substituted with the string value of ClusterDeployment.Labels["some.label/key"]. The // empty string is interpolated if there are no labels, or if the indicated key does not exist. // Note that this only works in values (not e.g. map keys) that are of type string. EnableResourceTemplates bool `json:"enableResourceTemplates,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 TaintIdentifier ¶
type TaintIdentifier struct { // Key matches corev1.Taint.Key. Key string `json:"key,omitempty"` // Effect matches corev1.Taint.Effect. Effect corev1.TaintEffect `json:"effect,omitempty"` }
TaintIdentifier uniquely identifies a Taint. (It turns out taints are mutually exclusive by key+effect, not simply by key.)
func (*TaintIdentifier) DeepCopy ¶
func (in *TaintIdentifier) DeepCopy() *TaintIdentifier
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TaintIdentifier.
func (*TaintIdentifier) DeepCopyInto ¶
func (in *TaintIdentifier) DeepCopyInto(out *TaintIdentifier)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VSphereClusterDeprovision ¶
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 ¶
func (in *VSphereClusterDeprovision) DeepCopy() *VSphereClusterDeprovision
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereClusterDeprovision.
func (*VSphereClusterDeprovision) DeepCopyInto ¶
func (in *VSphereClusterDeprovision) DeepCopyInto(out *VSphereClusterDeprovision)
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.
Source Files ¶
- checkpoint_types.go
- clusterclaim_types.go
- clusterdeployment_types.go
- clusterdeploymentcustomization_types.go
- clusterdeprovision_types.go
- clusterimageset_types.go
- clusterinstall_conditions.go
- clusterpool_types.go
- clusterprovision_types.go
- clusterrelocate_types.go
- clusterstate_types.go
- conditions.go
- dnszone_types.go
- doc.go
- hiveconfig_types.go
- machinepool_types.go
- machinepoolnamelease_types.go
- metaruntimeobject.go
- register.go
- syncidentityprovider_types.go
- syncset_types.go
- zz_generated.deepcopy.go
- zz_generated.defaults.go
Directories ¶
Path | Synopsis |
---|---|
Package agent contains API Schema definitions for assisted agent based installations.
|
Package agent contains API Schema definitions for assisted agent based installations. |
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 ibmcloud contains API Schema definitions for IBM Cloud clusters.
|
Package ibmcloud contains API Schema definitions for IBM Cloud clusters. |
Package metricsconfig contains API Schema definitions for configurations specific to metrics controller.
|
Package metricsconfig contains API Schema definitions for configurations specific to metrics controller. |
Package none contains API Schema definitions for platform-agnostic installations.
|
Package none contains API Schema definitions for platform-agnostic installations. |
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. |