v1beta1

package
v0.0.0-...-d0642ff Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2024 License: Apache-2.0 Imports: 7 Imported by: 2

Documentation

Overview

Package v1beta1 contains API Schema definitions for the extensions.hive.openshift.io v1beta1 API group +kubebuilder:object:generate=true +groupName=extensions.hive.openshift.io

Index

Constants

View Source
const (
	ClusterSpecSyncedCondition hivev1.ClusterInstallConditionType = "SpecSynced"

	ClusterCompletedCondition = hivev1.ClusterInstallCompleted

	ClusterRequirementsMetCondition         = hivev1.ClusterInstallRequirementsMet
	ClusterReadyReason               string = "ClusterIsReady"
	ClusterReadyMsg                  string = "The cluster is ready to begin the installation"
	ClusterNotReadyReason            string = "ClusterNotReady"
	ClusterNotReadyMsg               string = "The cluster is not ready to begin the installation"
	ClusterAlreadyInstallingReason   string = "ClusterAlreadyInstalling"
	ClusterAlreadyInstallingMsg      string = "The cluster requirements are met"
	ClusterInstallationStoppedReason string = "ClusterInstallationStopped"
	ClusterInstallationStoppedMsg    string = "The cluster installation stopped"
	ClusterInsufficientAgentsReason  string = "InsufficientAgents"
	ClusterInsufficientAgentsMsg     string = "The cluster currently requires %d agents but only %d have registered"
	ClusterUnapprovedAgentsReason    string = "UnapprovedAgents"
	ClusterUnapprovedAgentsMsg       string = "The installation is pending on the approval of %d agents"
	ClusterUnsyncedAgentsReason      string = "UnsyncedAgents"
	ClusterUnsyncedAgentsMsg         string = "The cluster currently has %d agents with spec error"
	ClusterAdditionalAgentsReason    string = "AdditionalAgents"
	ClusterAdditionalAgentsMsg       string = "The cluster currently requires exactly %d agents but have %d registered"

	ClusterValidatedCondition        hivev1.ClusterInstallConditionType = "Validated"
	ClusterValidationsOKMsg          string                             = "The cluster's validations are passing"
	ClusterValidationsUnknownMsg     string                             = "The cluster's validations have not yet been calculated"
	ClusterValidationsFailingMsg     string                             = "The cluster's validations are failing:"
	ClusterValidationsUserPendingMsg string                             = "The cluster's validations are pending for user:"

	ClusterFailedCondition        = hivev1.ClusterInstallFailed
	ClusterFailedReason    string = "InstallationFailed"
	ClusterFailedMsg       string = "The installation failed:"
	ClusterNotFailedReason string = "InstallationNotFailed"
	ClusterNotFailedMsg    string = "The installation has not failed"

	ClusterStoppedCondition              = hivev1.ClusterInstallStopped
	ClusterStoppedFailedReason    string = "InstallationFailed"
	ClusterStoppedFailedMsg       string = "The installation has stopped due to error"
	ClusterStoppedCanceledReason  string = "InstallationCancelled"
	ClusterStoppedCanceledMsg     string = "The installation has stopped because it was cancelled"
	ClusterStoppedCompletedReason string = "InstallationCompleted"
	ClusterStoppedCompletedMsg    string = "The installation has stopped because it completed successfully"
	ClusterNotStoppedReason       string = "InstallationNotStopped"
	ClusterNotStoppedMsg          string = "The installation is waiting to start or in progress"

	ClusterInstalledReason              string = "InstallationCompleted"
	ClusterInstalledMsg                 string = "The installation has completed:"
	ClusterInstallationFailedReason     string = "InstallationFailed"
	ClusterInstallationFailedMsg        string = "The installation has failed:"
	ClusterInstallationNotStartedReason string = "InstallationNotStarted"
	ClusterInstallationNotStartedMsg    string = "The installation has not yet started"
	ClusterInstallationOnHoldReason     string = "InstallationOnHold"
	ClusterInstallationOnHoldMsg        string = "The installation is on hold. To unhold set holdInstallation to false"
	ClusterInstallationInProgressReason string = "InstallationInProgress"
	ClusterInstallationInProgressMsg    string = "The installation is in progress:"
	ClusterUnknownStatusReason          string = "UnknownStatus"
	ClusterUnknownStatusMsg             string = "The installation status is currently not recognized:"

	ClusterValidationsPassingReason     string = "ValidationsPassing"
	ClusterValidationsUnknownReason     string = "ValidationsUnknown"
	ClusterValidationsFailingReason     string = "ValidationsFailing"
	ClusterValidationsUserPendingReason string = "ValidationsUserPending"

	ClusterNotAvailableReason string = "NotAvailable"
	ClusterNotAvailableMsg    string = "Information not available"

	ClusterSyncedOkReason     string = "SyncOK"
	ClusterSyncedOkMsg        string = "The Spec has been successfully applied"
	ClusterBackendErrorReason string = "BackendError"
	ClusterBackendErrorMsg    string = "The Spec could not be synced due to backend error:"
	ClusterInputErrorReason   string = "InputError"
	ClusterInputErrorMsg      string = "The Spec could not be synced due to an input error:"

	ClusterLastInstallationPreparationFailedOKReason    string                             = "There is no failing prior preparation attempt"
	ClusterLastInstallationPreparationFailedErrorReason string                             = "The last installation preparation failed"
	ClusterLastInstallationPreparationPending           string                             = "Cluster preparation has never been performed for this cluster"
	ClusterLastInstallationPreparationFailedCondition   hivev1.ClusterInstallConditionType = "LastInstallationPreparationFailed"
)
View Source
const (
	MasterAgentMachinePool string = "master"
	WorkerAgentMachinePool string = "worker"
)
View Source
const (
	// CloudControllerManagerTypeExternal specifies that an external cloud provider is to be configured.
	CloudControllerManagerTypeExternal = "External"

	// CloudControllerManagerTypeNone specifies that no cloud provider is to be configured.
	CloudControllerManagerTypeNone = ""
)
View Source
const (
	Group   string = "extensions.hive.openshift.io"
	Version string = "v1beta1"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: Group, Version: Version}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AgentClusterInstall

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

	Spec   AgentClusterInstallSpec   `json:"spec"`
	Status AgentClusterInstallStatus `json:"status,omitempty"`
}

AgentClusterInstall represents a request to provision an agent based cluster.

+k8s:openapi-gen=true +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=agentclusterinstalls,shortName=aci +kubebuilder:printcolumn:name="Cluster",type="string",JSONPath=".spec.clusterDeploymentRef.name",description="The name of the cluster the ACI refers to." +kubebuilder:printcolumn:name="State",type="string",JSONPath=".status.debugInfo.state",description="State of the ACI."

func (*AgentClusterInstall) DeepCopy

func (in *AgentClusterInstall) DeepCopy() *AgentClusterInstall

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

func (*AgentClusterInstall) DeepCopyInto

func (in *AgentClusterInstall) DeepCopyInto(out *AgentClusterInstall)

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

func (*AgentClusterInstall) DeepCopyObject

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

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

type AgentClusterInstallList

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

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true AgentClusterInstallList contains a list of AgentClusterInstalls

func (*AgentClusterInstallList) DeepCopy

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

func (*AgentClusterInstallList) DeepCopyInto

func (in *AgentClusterInstallList) DeepCopyInto(out *AgentClusterInstallList)

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

func (*AgentClusterInstallList) DeepCopyObject

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

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

type AgentClusterInstallSpec

type AgentClusterInstallSpec struct {

	// ImageSetRef is a reference to a ClusterImageSet. The release image specified in the ClusterImageSet will be used
	// to install the cluster.
	ImageSetRef *hivev1.ClusterImageSetReference `json:"imageSetRef,omitempty"`

	// ClusterDeploymentRef is a reference to the ClusterDeployment associated with this AgentClusterInstall.
	ClusterDeploymentRef corev1.LocalObjectReference `json:"clusterDeploymentRef"`

	// ClusterMetadata contains metadata information about the installed cluster. It should be populated once the cluster install is completed. (it can be populated sooner if desired, but Hive will not copy back to ClusterDeployment until the Installed condition goes True.
	ClusterMetadata *hivev1.ClusterMetadata `json:"clusterMetadata,omitempty"`

	// ManifestsConfigMapRef is a reference to user-provided manifests to
	// add to or replace manifests that are generated by the installer.
	// +optional
	// Deprecated: this field is ignored when ManifestsConfigMapRefs is set.
	ManifestsConfigMapRef *corev1.LocalObjectReference `json:"manifestsConfigMapRef,omitempty"`

	// ManifestsConfigMapRefs is an array of references to user-provided manifests ConfigMaps to
	// add to or replace manifests that are generated by the installer.
	// Manifest names in each ConfigMap should be unique across all referenced ConfigMaps.
	// +optional
	ManifestsConfigMapRefs []ManifestsConfigMapReference `json:"manifestsConfigMapRefs,omitempty"`

	// Networking is the configuration for the pod network provider in
	// the cluster.
	Networking Networking `json:"networking"`

	// SSHPublicKey will be added to all cluster hosts for use in debugging.
	// +optional
	SSHPublicKey string `json:"sshPublicKey,omitempty"`

	// ProvisionRequirements defines configuration for when the installation is ready to be launched automatically.
	ProvisionRequirements ProvisionRequirements `json:"provisionRequirements"`

	// ControlPlane is the configuration for the machines that comprise the
	// control plane.
	// +optional
	ControlPlane *AgentMachinePool `json:"controlPlane,omitempty"`

	// Compute is the configuration for the machines that comprise the
	// compute nodes.
	// +optional
	Compute []AgentMachinePool `json:"compute,omitempty"`

	// APIVIP is the virtual IP used to reach the OpenShift cluster's API.
	// +optional
	APIVIP string `json:"apiVIP,omitempty"`

	// APIVIPs are the virtual IPs used to reach the OpenShift cluster's API.
	// Enter one IP address for single-stack clusters, or up to two for dual-stack clusters (at
	// most one IP address per IP stack used). The order of stacks should be the same as order
	// of subnets in Cluster Networks, Service Networks, and Machine Networks.
	// +kubebuilder:validation:MaxItems=2
	// +optional
	APIVIPs []string `json:"apiVIPs,omitempty"`

	// IngressVIP is the virtual IP used for cluster ingress traffic.
	// +optional
	IngressVIP string `json:"ingressVIP,omitempty"`

	// IngressVIPs are the virtual IPs used for cluster ingress traffic.
	// Enter one IP address for single-stack clusters, or up to two for dual-stack clusters (at
	// most one IP address per IP stack used). The order of stacks should be the same as order
	// of subnets in Cluster Networks, Service Networks, and Machine Networks.
	// +kubebuilder:validation:MaxItems=2
	// +optional
	IngressVIPs []string `json:"ingressVIPs,omitempty"`

	// HoldInstallation will prevent installation from happening when true.
	// Inspection and validation will proceed as usual, but once the RequirementsMet condition is true,
	// installation will not begin until this field is set to false.
	// +optional
	HoldInstallation bool `json:"holdInstallation,omitempty"`

	// IgnitionEndpoint stores the data of the custom ignition endpoint.
	// +optional
	IgnitionEndpoint *IgnitionEndpoint `json:"ignitionEndpoint,omitempty"`

	// DiskEncryption is the configuration to enable/disable disk encryption for cluster nodes.
	// +optional
	DiskEncryption *DiskEncryption `json:"diskEncryption,omitempty"`

	// Proxy defines the proxy settings used for the install config
	// +optional
	Proxy *Proxy `json:"proxy,omitempty"`

	// PlatformType is the name for the specific platform upon which to perform the installation.
	// +optional
	PlatformType PlatformType `json:"platformType,omitempty"`

	// ExternalPlatformSpec represents generic infrastructure provider.
	// Platform-specific components should be supplemented separately.
	// +optional
	ExternalPlatformSpec *ExternalPlatformSpec `json:"external,omitempty"`

	// Set to true to allow control plane nodes to be schedulable
	// +optional
	MastersSchedulable bool `json:"mastersSchedulable,omitempty"`
}

AgentClusterInstallSpec defines the desired state of the AgentClusterInstall.

func (*AgentClusterInstallSpec) DeepCopy

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

func (*AgentClusterInstallSpec) DeepCopyInto

func (in *AgentClusterInstallSpec) DeepCopyInto(out *AgentClusterInstallSpec)

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

type AgentClusterInstallStatus

type AgentClusterInstallStatus struct {
	// Conditions includes more detailed status for the cluster install.
	// +optional
	Conditions []hivev1.ClusterInstallCondition `json:"conditions,omitempty"`

	// Progress shows the installation progress of the cluster
	// +optional
	Progress ClusterProgressInfo `json:"progress,omitempty"`

	// ControlPlaneAgentsDiscovered is the number of Agents currently linked to this ClusterDeployment.
	// +optional
	ControlPlaneAgentsDiscovered int `json:"controlPlaneAgentsDiscovered,omitempty"`
	// ControlPlaneAgentsDiscovered is the number of Agents currently linked to this ClusterDeployment that are ready for use.
	// +optional
	ControlPlaneAgentsReady int `json:"controlPlaneAgentsReady,omitempty"`
	// WorkerAgentsDiscovered is the number of worker Agents currently linked to this ClusterDeployment.
	// +optional
	WorkerAgentsDiscovered int `json:"workerAgentsDiscovered,omitempty"`
	// WorkerAgentsDiscovered is the number of worker Agents currently linked to this ClusterDeployment that are ready for use.
	// +optional
	WorkerAgentsReady int `json:"workerAgentsReady,omitempty"`

	ConnectivityMajorityGroups string `json:"connectivityMajorityGroups,omitempty"`
	// MachineNetwork is the list of IP address pools for machines.
	// +optional
	MachineNetwork []MachineNetworkEntry `json:"machineNetwork,omitempty"`
	// DebugInfo includes information for debugging the installation process.
	// +optional
	DebugInfo DebugInfo `json:"debugInfo"`

	// APIVIP is the virtual IP used to reach the OpenShift cluster's API.
	// +optional
	APIVIP string `json:"apiVIP,omitempty"`

	// APIVIPs are the virtual IPs used to reach the OpenShift cluster's API.
	// +kubebuilder:validation:MaxItems=2
	// +optional
	APIVIPs []string `json:"apiVIPs,omitempty"`

	// IngressVIP is the virtual IP used for cluster ingress traffic.
	// +optional
	IngressVIP string `json:"ingressVIP,omitempty"`

	// IngressVIPs are the virtual IPs used for cluster ingress traffic.
	// +kubebuilder:validation:MaxItems=2
	// +optional
	IngressVIPs []string `json:"ingressVIPs,omitempty"`

	// UserManagedNetworking indicates if the networking is managed by the user.
	// +optional
	UserManagedNetworking *bool `json:"userManagedNetworking,omitempty"`

	// PlatformType is the name for the specific platform upon which to perform the installation.
	// +optional
	PlatformType PlatformType `json:"platformType,omitempty"`

	// ValidationsInfo is a JSON-formatted string containing the validation results for each validation id grouped by category (network, hosts-data, etc.)
	// +optional
	ValidationsInfo common.ValidationsStatus `json:"validationsInfo,omitempty"`
}

AgentClusterInstallStatus defines the observed state of the AgentClusterInstall.

func (*AgentClusterInstallStatus) DeepCopy

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

func (*AgentClusterInstallStatus) DeepCopyInto

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

type AgentMachinePool

type AgentMachinePool struct {
	// Hyperthreading determines the mode of hyperthreading that machines in the
	// pool will utilize.
	// Default is for hyperthreading to be enabled.
	//
	// +kubebuilder:default=Enabled
	// +optional
	Hyperthreading HyperthreadingMode `json:"hyperthreading,omitempty"`

	// Name is the name of the machine pool.
	// For the control plane machine pool, the name will always be "master".
	// For the compute machine pools, the only valid name is "worker".
	Name string `json:"name"`
}

AgentMachinePool is a pool of machines to be installed.

func (*AgentMachinePool) DeepCopy

func (in *AgentMachinePool) DeepCopy() *AgentMachinePool

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

func (*AgentMachinePool) DeepCopyInto

func (in *AgentMachinePool) DeepCopyInto(out *AgentMachinePool)

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

type CaCertificateReference

type CaCertificateReference struct {
	// Namespace is the namespace of the secret containing the CA certificate base64 encoded.
	Namespace string `json:"namespace"`
	// Name is the name of the secret containing the CA certificate.
	Name string `json:"name"`
}

func (*CaCertificateReference) DeepCopy

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

func (*CaCertificateReference) DeepCopyInto

func (in *CaCertificateReference) DeepCopyInto(out *CaCertificateReference)

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

type CloudControllerManager

type CloudControllerManager string

CloudControllerManager describes the type of cloud controller manager to be enabled. +kubebuilder:validation:Enum="";BareMetal;None;VSphere;Nutanix;External

type ClusterNetworkEntry

type ClusterNetworkEntry struct {
	// CIDR is the IP block address pool.
	CIDR string `json:"cidr"`

	// HostPrefix is the prefix size to allocate to each node from the CIDR.
	// For example, 24 would allocate 2^8=256 adresses to each node. If this
	// field is not used by the plugin, it can be left unset.
	// +optional
	HostPrefix int32 `json:"hostPrefix,omitempty"`
}

ClusterNetworkEntry is a single IP address block for pod IP blocks. IP blocks are allocated with size 2^HostSubnetLength.

func (*ClusterNetworkEntry) DeepCopy

func (in *ClusterNetworkEntry) DeepCopy() *ClusterNetworkEntry

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

func (*ClusterNetworkEntry) DeepCopyInto

func (in *ClusterNetworkEntry) DeepCopyInto(out *ClusterNetworkEntry)

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

type ClusterProgressInfo

type ClusterProgressInfo struct {
	// Estimated installation progress (in percentage)
	TotalPercentage int64 `json:"totalPercentage"`
}

func (*ClusterProgressInfo) DeepCopy

func (in *ClusterProgressInfo) DeepCopy() *ClusterProgressInfo

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

func (*ClusterProgressInfo) DeepCopyInto

func (in *ClusterProgressInfo) DeepCopyInto(out *ClusterProgressInfo)

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

type DebugInfo

type DebugInfo struct {
	// EventsURL specifies an HTTP/S URL that contains events which occurred during the cluster installation process
	// +optional
	EventsURL string `json:"eventsURL"`

	// LogsURL specifies a url for download controller logs tar file.
	// +optional
	LogsURL string `json:"logsURL"`
	// Current state of the AgentClusterInstall
	State string `json:"state,omitempty"`
	//Additional information pertaining to the status of the AgentClusterInstall
	// +optional
	StateInfo string `json:"stateInfo,omitempty"`
}

func (*DebugInfo) DeepCopy

func (in *DebugInfo) DeepCopy() *DebugInfo

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

func (*DebugInfo) DeepCopyInto

func (in *DebugInfo) DeepCopyInto(out *DebugInfo)

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

type DiskEncryption

type DiskEncryption struct {
	// Enable/disable disk encryption on master nodes, worker nodes, or all nodes.
	//
	// +kubebuilder:default=none
	// +kubebuilder:validation:Enum=none;all;masters;workers
	EnableOn *string `json:"enableOn,omitempty"`

	// The disk encryption mode to use.
	// +kubebuilder:validation:Enum=tpmv2;tang
	Mode *string `json:"mode,omitempty"`

	// JSON-formatted string containing additional information regarding tang's configuration
	TangServers string `json:"tangServers,omitempty" gorm:"type:text"`
}

func (*DiskEncryption) DeepCopy

func (in *DiskEncryption) DeepCopy() *DiskEncryption

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

func (*DiskEncryption) DeepCopyInto

func (in *DiskEncryption) DeepCopyInto(out *DiskEncryption)

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

type ExternalPlatformSpec

type ExternalPlatformSpec struct {
	// PlatformName holds the arbitrary string representing the infrastructure provider name, expected to be set at the installation time.
	// This field is solely for informational and reporting purposes and is not expected to be used for decision-making.
	// +kubebuilder:default:="Unknown"
	// +default="Unknown"
	// +kubebuilder:validation:XValidation:rule="oldSelf == 'Unknown' || self == oldSelf",message="platform name cannot be changed once set"
	// +optional
	PlatformName string `json:"platformName,omitempty"`

	// CloudControllerManager when set to external, this property will enable an external cloud provider.
	// +kubebuilder:default:=""
	// +default=""
	// +kubebuilder:validation:Enum="";External
	// +optional
	CloudControllerManager CloudControllerManager `json:"cloudControllerManager,omitempty"`
}

ExternalPlatformSpec holds the desired state for the generic External infrastructure provider.

func (*ExternalPlatformSpec) DeepCopy

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

func (*ExternalPlatformSpec) DeepCopyInto

func (in *ExternalPlatformSpec) DeepCopyInto(out *ExternalPlatformSpec)

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

type HyperthreadingMode

type HyperthreadingMode string

HyperthreadingMode is the mode of hyperthreading for a machine. +kubebuilder:validation:Enum="";Enabled;Disabled

const (
	// HyperthreadingEnabled indicates that hyperthreading is enabled.
	HyperthreadingEnabled HyperthreadingMode = "Enabled"
	// HyperthreadingDisabled indicates that hyperthreading is disabled.
	HyperthreadingDisabled HyperthreadingMode = "Disabled"
)

type IgnitionEndpoint

type IgnitionEndpoint struct {
	// Url stores the URL of the custom ignition endpoint.
	// +optional
	Url string `json:"url,omitempty"`

	// CaCertificateReference is a reference to the secret containing CA certificate to be used when contacting the URL via HTTPS.
	// +optional
	CaCertificateReference *CaCertificateReference `json:"caCertificateReference,omitempty"`
}

IgnitionEndpoint stores the data to of the custom ignition endpoint.

func (*IgnitionEndpoint) DeepCopy

func (in *IgnitionEndpoint) DeepCopy() *IgnitionEndpoint

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

func (*IgnitionEndpoint) DeepCopyInto

func (in *IgnitionEndpoint) DeepCopyInto(out *IgnitionEndpoint)

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

type MachineNetworkEntry

type MachineNetworkEntry struct {
	// CIDR is the IP block address pool for machines within the cluster.
	CIDR string `json:"cidr"`
}

MachineNetworkEntry is a single IP address block for node IP blocks.

func (*MachineNetworkEntry) DeepCopy

func (in *MachineNetworkEntry) DeepCopy() *MachineNetworkEntry

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

func (*MachineNetworkEntry) DeepCopyInto

func (in *MachineNetworkEntry) DeepCopyInto(out *MachineNetworkEntry)

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

type ManifestsConfigMapReference

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

ManifestsConfigMapReference is a reference to a manifests ConfigMap

func (*ManifestsConfigMapReference) DeepCopy

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

func (*ManifestsConfigMapReference) DeepCopyInto

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

type Networking

type Networking struct {
	// MachineNetwork is the list of IP address pools for machines.
	//
	// +optional
	MachineNetwork []MachineNetworkEntry `json:"machineNetwork,omitempty"`

	// ClusterNetwork is the list of IP address pools for pods.
	// Default is 10.128.0.0/14 and a host prefix of /23.
	//
	// +optional
	ClusterNetwork []ClusterNetworkEntry `json:"clusterNetwork,omitempty"`

	// ServiceNetwork is the list of IP address pools for services.
	// Default is 172.30.0.0/16.
	//
	// +optional
	ServiceNetwork []string `json:"serviceNetwork,omitempty"`

	//NetworkType is the Container Network Interface (CNI) plug-in to install
	//The default value is OpenShiftSDN for IPv4, and OVNKubernetes for IPv6 or SNO
	//
	// +kubebuilder:validation:Enum=OpenShiftSDN;OVNKubernetes
	// +optional
	NetworkType string `json:"networkType,omitempty"`

	// UserManagedNetworking indicates if the networking is managed by the user.
	// For single-node installations (none or external platform), set to true or leave empty.
	// +optional
	UserManagedNetworking *bool `json:"userManagedNetworking,omitempty"`
}

Networking defines the pod network provider in the cluster.

func (*Networking) DeepCopy

func (in *Networking) DeepCopy() *Networking

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

func (*Networking) DeepCopyInto

func (in *Networking) DeepCopyInto(out *Networking)

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

type PlatformType

type PlatformType string

PlatformType is a specific supported infrastructure provider. +kubebuilder:validation:Enum="";BareMetal;None;VSphere;Nutanix;External

const (
	// BareMetalPlatformType represents managed bare metal infrastructure.
	BareMetalPlatformType PlatformType = "BareMetal"

	// NonePlatformType means there is no infrastructure provider.
	NonePlatformType PlatformType = "None"

	// VSpherePlatformType represents VMWare vSphere infrastructure.
	VSpherePlatformType PlatformType = "VSphere"

	// NutanixPlatformType represents Nutanix infrastructure.
	NutanixPlatformType PlatformType = "Nutanix"

	// ExternalPlatformType represents external cloud provider infrastructure.
	ExternalPlatformType PlatformType = "External"
)

type ProvisionRequirements

type ProvisionRequirements struct {

	// ControlPlaneAgents is the number of matching approved and ready Agents with the control plane role
	// required to launch the install. Must be either 1 or 3.
	ControlPlaneAgents int `json:"controlPlaneAgents"`

	// WorkerAgents is the minimum number of matching approved and ready Agents with the worker role
	// required to launch the install.
	// +kubebuilder:validation:Minimum=0
	// +optional
	WorkerAgents int `json:"workerAgents,omitempty"`
}

ProvisionRequirements defines configuration for when the installation is ready to be launched automatically.

func (*ProvisionRequirements) DeepCopy

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

func (*ProvisionRequirements) DeepCopyInto

func (in *ProvisionRequirements) DeepCopyInto(out *ProvisionRequirements)

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

type Proxy

type Proxy struct {
	// HTTPProxy is the URL of the proxy for HTTP requests.
	// +optional
	HTTPProxy string `json:"httpProxy,omitempty"`

	// HTTPSProxy is the URL of the proxy for HTTPS requests.
	// +optional
	HTTPSProxy string `json:"httpsProxy,omitempty"`

	// NoProxy is a comma-separated list of domains and CIDRs for which the proxy should not be
	// used.
	// +optional
	NoProxy string `json:"noProxy,omitempty"`
}

Proxy defines the proxy settings for the cluster. At least one of HTTPProxy or HTTPSProxy is required.

func (*Proxy) DeepCopy

func (in *Proxy) DeepCopy() *Proxy

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

func (*Proxy) DeepCopyInto

func (in *Proxy) DeepCopyInto(out *Proxy)

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL